當(dāng)前位置:機電之家首頁 >> PLC技術(shù)>> plc應(yīng)用 >> ab plc應(yīng)用 >> AB PLC與MODBUS網(wǎng)絡(luò)的通信的應(yīng)用
AB PLC與MODBUS網(wǎng)絡(luò)的通信的應(yīng)用

The communication between AB PLC and MODBUS network

摘要:介紹了應(yīng)用3100/3150-MCM模塊實現(xiàn)AB PLC與MODBUS網(wǎng)絡(luò)通訊的方法,該方法使用MODBUS協(xié)議,通過開發(fā)AB PLC的應(yīng)用程序,從而實現(xiàn)主從結(jié)構(gòu)網(wǎng)絡(luò)通信。
關(guān)鍵詞:3100/3150-MCM模塊,AB PLC,MODBUS,主從通信

Abstract:This paper introduces the application of 3100/3150-MCM in the communication between AB PLC and MODBUS network. By using MODBUS protocol and developing program of PLC,a master-slave structure network can be setup.
Keywords:3100/3150-MCM,AB PLC, MODBUS, master-slave communication

一.引言
    目前的工業(yè)控制現(xiàn)場大量使用了PLC和各種智能儀表用于生產(chǎn)過程控制。隨著控制規(guī)模的擴大和控制功能的復(fù)雜化,常需要多臺PLC及一定數(shù)量的外設(shè)儀表組成一個控制系統(tǒng)。
MODBUS是美國MODICON公司制訂的一種串行傳輸協(xié)議,可實現(xiàn)主從命令響應(yīng)型通信。作為一種工業(yè)通信和分布式控制系統(tǒng)協(xié)議,已經(jīng)得到多家公司的PLC和智能儀表支持。
    A-B公司(Allen-Bradley)是美國生產(chǎn)可編程控制器的主要廠家之一,具有先進的通信和數(shù)據(jù)處理功能。在水處理行業(yè)中,使用大量的可編程控制器用于生產(chǎn)過程控制,其中A-B公司的PLC占了相當(dāng)?shù)谋戎亍?BR>由于不同硬件廠商支持不同的工業(yè)通信和分布式控制系統(tǒng)協(xié)議,要實現(xiàn)AB PLC與MODBUS儀表組成控制網(wǎng)絡(luò),實現(xiàn)設(shè)備的連網(wǎng),就存在著互相通信協(xié)議轉(zhuǎn)換問題。
    3100/3150-MCM模塊是PROSOFT TECHNOLOGY公司推出的在AB PLC通用框架上安裝的MODBUS通信接口模塊。該模塊可以實現(xiàn)AB PLC與MODBUS現(xiàn)場設(shè)備之間的通信,從而使AB PLC通信能力得到增強,靈活實現(xiàn)AB PLC與MODBUS網(wǎng)絡(luò)的互連,完成復(fù)雜的控制要求。
    本文基于自來水廠泵站集散控制系統(tǒng)的設(shè)計,著重介紹AB公司的SLC系列的PLC通過3150-MCM模塊和MODBUS網(wǎng)絡(luò)連接的實現(xiàn)方法。
二. 系統(tǒng)聯(lián)網(wǎng)方案
    自來水廠泵站集散控制系統(tǒng),不僅實現(xiàn)一般的邏輯控制,還具備了包括模擬量在內(nèi)的數(shù)值處理和網(wǎng)絡(luò)通信等功能。在現(xiàn)場的實際應(yīng)用中,系統(tǒng)使用的電機保護裝置Sepam2000采用了MODBUS通信協(xié)議,出于系統(tǒng)控制功能的需要,要求在AB PLC中實現(xiàn)對MODBUS協(xié)議的支持。我們利用3150-MCM模塊建立起MODBUS設(shè)備網(wǎng)。
    系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)遵循MODBUS協(xié)議的規(guī)范,采用標準簡單的主從總線結(jié)構(gòu),以PLC作為主機發(fā)起通信,多臺電機保護裝置Sepam2000作為從機,各從機在進行傳輸之前必需要等待來自主機的允許信號。主機可以發(fā)送和接收來自通信鏈上從機的信息,而從機則始終處于被動狀態(tài),隨時準備響應(yīng)來自主機的通信請求。設(shè)備層部分網(wǎng)絡(luò)結(jié)構(gòu)如圖1。
 
三.Sepam2000及MODBUS協(xié)議的介紹
    Sepam2000作為電機保護裝置,提供了所有保護、測量、控制、通信等功能。Sepam2000與遠程監(jiān)控系統(tǒng)之間的通信是采用MODBUS協(xié)議的通信方式。
    MODBUS的通信采用的是一種主/從式數(shù)據(jù)傳輸,在主從結(jié)構(gòu)的通信方式中,有一臺主機,多臺從機,主機可與各個從機作雙向通信,而各從機之間不能通信。主機與各個從機通信的報文形式為請求/響應(yīng)幀方式。每次通信均由主機發(fā)起,不需握手。主機發(fā)出請求幀后,等待從機返回響應(yīng)幀直至響應(yīng)時間超時。從機只能通過提供數(shù)據(jù)響應(yīng)主機的請求,或根據(jù)請求做出相應(yīng)的動作。
    MODBUS協(xié)議定義了主機請求的格式,包括:請求的編址,要求動作的功能編碼,傳輸數(shù)據(jù)和錯誤校驗等。請求中的編址(即地址碼)提供接收主機報文的從機地址,從機根據(jù)地址判別是否接受該請求,用戶必須設(shè)置每臺從機的地址。功能編碼告訴指定編址的從機完成什么樣的動作。數(shù)據(jù)字段中包含了從機執(zhí)行任務(wù)時所需的附加信息。例如,功能編碼03表示讀取從機的保持寄存器并返回其中的內(nèi)容,數(shù)據(jù)區(qū)中的信息就必須告訴從機從哪個寄存器開始讀,需要讀的寄存器數(shù)。錯誤校驗字段為從機提供了信息完整性校驗的方法。同樣,響應(yīng)的格式也是采用MODBUS協(xié)議結(jié)構(gòu),從機響應(yīng)的功能編碼與接受的請求的功能編碼相對應(yīng),數(shù)據(jù)字段包含根據(jù)請求返回的數(shù)據(jù),錯誤校驗字段允許主機確認信息內(nèi)容是否有效。
    MODBUS協(xié)議共有24種功能編碼,但是并不都適用于Sepam2000,實際應(yīng)用中Sepam2000只是支持下面有限的幾種:
01讀取輸出狀態(tài)
02讀取輸入狀態(tài)
03讀取內(nèi)部寄存器內(nèi)容
04讀取輸入寄存器內(nèi)容
05強制單個輸出狀態(tài)
06刷新單個寄存器內(nèi)容
07讀取異常事件狀態(tài)
08診斷測試
11讀取計數(shù)器和狀態(tài)字
15強制多個輸出狀態(tài)
16刷新多個寄存器內(nèi)容
如果主機希望讀取2號Sepam2000從機中寄存器0805h-080Ah的內(nèi)容,則需要調(diào)用功能03。主機請求和從機響應(yīng)的幀格式如下:
請求幀:

響應(yīng)幀:

而如果主機希望刷新2號Sepam2000從機中寄存器0810h的內(nèi)容并把寄存器內(nèi)容設(shè)置為1000,則需要調(diào)用功能06。主機請求和從機響應(yīng)的幀格式如下:
請求幀:

響應(yīng)幀:(返回收到的請求幀)

  Sepam2000的幀格式以及所執(zhí)行的功能都有明確的定義,不能隨意更改。在通信過程中,要確保主機和各從機的對應(yīng)關(guān)系正確。此外,用戶可以根據(jù)實際需要配置合適的傳輸波特率、字符奇偶校驗、停止位的個數(shù)等通信參數(shù)設(shè)置。
四.AB PLC中MODBUS協(xié)議的實現(xiàn)
1.MCM模塊的通信控制
    PROSOFT TECHNOLOGY公司的3100/3150-MCM通信模塊,相當(dāng)于網(wǎng)絡(luò)接口,PLC通過MCM模塊與MODBUS總線相連。MCM模塊能快速、可靠地在AB PLC中實現(xiàn)MODBUS協(xié)議。 
    3100/3150-MCM通信模塊可供用戶選擇使用主機模式或者從機模式。當(dāng)MCM模塊設(shè)定為主機,它對連接到總線上的從機進行控制,支持MODBUS協(xié)議中(01、02、03、04、05、06、15、16)8種功能編碼,可以發(fā)送多達一百條定制的請求指令,并支持以“廣播”方式發(fā)出請求。當(dāng)MCM模塊指定為從機,它響應(yīng)主機的請求,此時能夠支持MODBUS協(xié)議中(01、02、03、04、05、06、08、15、16)9種功能編碼。同時,無論是主機模式或者是從機模式,3100/3150-MCM通信模塊都支持ASCII和RTU兩種傳輸模式。
    當(dāng)AB PLC配置了3100/3150-MCM通信模塊作為主機模式時,PLC采用周期掃描方式,按請求指令的順序與從機交換數(shù)據(jù)。每次掃描期間,處理器使用邏輯寫指令將主機內(nèi)存中要輸出到各從機的數(shù)據(jù)傳送到3100/3150-MCM通信模塊中的發(fā)送緩沖區(qū),模塊根據(jù)存儲的功能指令,發(fā)送到指定的從機;而各從機響應(yīng)后返回的數(shù)據(jù),3100/3150-MCM通信模塊將其先存放在接收緩沖區(qū),然后PLC使用邏輯讀指令把數(shù)據(jù)移入相應(yīng)的輸入數(shù)據(jù)存儲區(qū)。周而復(fù)始,使主機與從機中的數(shù)據(jù)得到周期性的刷新。整個數(shù)據(jù)流程如圖2所示:
 
2.MCM模塊與MODBUS的硬件連接
   MCM模塊使用的是與RS232C兼容的標準通訊接口,但在實際應(yīng)用中由于要實現(xiàn)多點通信,所以采用RS485方式。圖3是3150-MCM模塊9芯串行口與MODBUS的連接圖
 
3. MCM模塊的緩沖區(qū)管理
    PLC與MCM模塊之間是通過模塊輸入、輸出映像文件進行數(shù)據(jù)傳送。PLC寫數(shù)據(jù)時,將數(shù)據(jù)寫入輸出映像文件,然后3100/3150-MCM通信模塊把數(shù)據(jù)映射到相應(yīng)的緩沖區(qū)位置上;PLC讀數(shù)據(jù)時,根據(jù)映射地址,從輸入映像文件中讀取模塊緩沖區(qū)中對應(yīng)地址的數(shù)據(jù)。映像文件的數(shù)據(jù)傳送單位為一個50字節(jié)的數(shù)據(jù)塊,PLC必須循環(huán)地一次傳送一個數(shù)據(jù)塊。
    MCM把緩沖區(qū)按數(shù)據(jù)傳送的單位大小,分為若干個塊,并一一標號,用塊號對應(yīng)起來,并且劃分為三個區(qū),分別用于數(shù)據(jù)、指令、參數(shù)設(shè)置。數(shù)據(jù)存儲區(qū)從0塊號開始,結(jié)束于79塊號,中間有4000個字節(jié)的空間,用于存儲接收的數(shù)據(jù)和發(fā)送的數(shù)據(jù),是主機、從機交換數(shù)據(jù)的場所;指令存儲區(qū)從第80塊至第99塊,共1000個字節(jié),用于存儲主機模式下,模塊的功能指令表,每次掃描,順序按功能指令列表向從機發(fā)出請求幀;第255塊號前40個字節(jié)則專門定義為模塊設(shè)置參數(shù)存儲區(qū),用于初始化模塊。
    在通信過程中,首先要對主機進行初始化,即對第255塊號對應(yīng)的緩沖區(qū)內(nèi)容進行參數(shù)配置,主要是定義通信端口的設(shè)置,模塊緩沖區(qū)的詳細劃分。設(shè)置的有以下參數(shù):
〈1〉定義MCM通信模塊兩個獨立的通訊接口設(shè)置。包括:選擇主機模式或者從機模式、定義字符奇偶校驗、停止位的個數(shù),傳輸?shù)牟ㄌ芈?,響?yīng)延時等參數(shù)。
〈2〉定義模塊的緩沖區(qū)中存儲接收數(shù)據(jù)的數(shù)據(jù)存儲區(qū)。包括:接收數(shù)據(jù)存儲區(qū)的起始塊號,存儲區(qū)的連續(xù)塊數(shù)。
〈3〉定義模塊的緩沖區(qū)中存儲發(fā)送數(shù)據(jù)的數(shù)據(jù)存儲區(qū)。包括:發(fā)送數(shù)據(jù)存儲區(qū)的起始塊號,存儲區(qū)的連續(xù)塊數(shù)。
〈4〉定義模塊的緩沖區(qū)中指令存儲區(qū)。由于指令存儲區(qū)固定從80號數(shù)據(jù)塊開始,所以只需指定存儲區(qū)的塊數(shù)。
4.MCM模塊的功能指令設(shè)置
    MCM模塊處于主機模式下時,功能指令列表存放在模塊緩沖區(qū)中的指令存儲區(qū)。主機向從機發(fā)出請求時,模塊從指令存儲區(qū)逐條讀出功能指令,并按照MODBUS請求幀格式發(fā)送數(shù)據(jù)。
指令存儲區(qū)中每條功能指令的具體內(nèi)容如下:

1、模塊通信端口選擇
2、從機的站地址。從機在接收數(shù)據(jù)時將本站編址的值與收到的站地址比較,以此判定信息是否是發(fā)給本站的。而主機在接收時則將收到的站地址與發(fā)送的站地址比較,以判斷是否是正確的從機響應(yīng)
3、指令的功能編碼
4、源地址。即主機要發(fā)送或接收的數(shù)據(jù)在緩沖區(qū)中的起始數(shù)據(jù)地址
5、數(shù)據(jù)長度。即主機要發(fā)送或接收的數(shù)據(jù)的字節(jié)數(shù)
6、目的地址。即從機要接收或響應(yīng)的數(shù)據(jù)的寄存器地址
7、數(shù)據(jù)的類型。用于標示讀、寫的數(shù)據(jù)是雙字節(jié)的浮點數(shù)還是單字節(jié)的整數(shù)
8、輪詢時間
如果主機希望在1號通訊接口讀取2號Sepam2000從機中寄存器0805h-080Ah的內(nèi)容并存放到模塊緩沖區(qū)第50個字節(jié)開始的連續(xù)6個字節(jié)中,功能指令內(nèi)容如下:
                       
5.AB PLC通訊程序的開發(fā)
    程序執(zhí)行時,在第一個掃描周期,都必須設(shè)置MCM的狀態(tài),即初始化MCM模塊。通信程序中,PLC在輸入、輸出映像文件中為MCM緩沖區(qū)設(shè)置當(dāng)前以及后續(xù)讀寫指針,分別指向當(dāng)前MCM緩沖區(qū)數(shù)據(jù)塊號,后續(xù)緩沖區(qū)數(shù)據(jù)塊號。若MCM處于數(shù)據(jù)傳送允許狀態(tài),即 I1:1/0 = 1 , O0:1/0 = 0時,PLC判別當(dāng)前讀寫指針,調(diào)用相應(yīng)讀寫邏輯指令。如果指針指向接收數(shù)據(jù)的數(shù)據(jù)存儲區(qū),則PLC從MCM模塊中接收數(shù)據(jù);如果指針指向發(fā)送數(shù)據(jù)的數(shù)據(jù)存儲區(qū),則PLC向MCM模塊發(fā)送數(shù)據(jù);如果指針指向指令存儲區(qū),則PLC向MCM模塊傳送功能指令。每次執(zhí)行一個數(shù)據(jù)塊的傳送,并在傳送后,把后續(xù)讀寫指針覆蓋當(dāng)前讀寫指針,從而在下個掃描周期進行下一個數(shù)據(jù)塊的傳送。PLC自動周期性掃描,按照編定的功能指令向從機的輸入/輸出數(shù)據(jù)進行發(fā)送/接收,以滿足數(shù)據(jù)傳輸?shù)囊蟆?BR>    根據(jù)PLC的邏輯指令及MCM的通信原理,畫出了圖4所示的主機通信程序結(jié)構(gòu)框圖。
 

五.結(jié)束語
    經(jīng)過現(xiàn)場調(diào)試,實現(xiàn)了1臺AB PLC與13臺SEPAM2000組成的MODBUS網(wǎng)絡(luò)連接。實際應(yīng)用證明,這種方式組成的系統(tǒng)結(jié)構(gòu)簡單,應(yīng)用方便,能滿足復(fù)雜的控制需要。
參考文獻
1、3100/3150 MCM USER Manual,ProSoft Technology ,1997.
2、AB PLC Programming Reference Manual,AB ,1997.
3、Sepam2000 Communication protocol , Schneider, 1999.

作者:未知 點擊:13246次 [打印] [關(guān)閉] [返回頂部]
本文標簽:AB PLC與MODBUS網(wǎng)絡(luò)的通信的應(yīng)用
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《AB PLC與MODBUS網(wǎng)絡(luò)的通信的應(yīng)用》相關(guān)權(quán)利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

楊異乾 【求購】  電涌保護器  2025-11-28
趙焱 【求購】  電氣溫控閥  2025-11-28
張揚瓊 【求購】  ABB火檢...  2025-11-27
張雪根 【求購】  固體除垢劑  2025-11-26
趙經(jīng)理 【求購】  變壓器  2025-11-26
羅經(jīng)理 【求購】  巡邏車跟蹤...  2025-11-26
趙經(jīng)理 【求購】  柴油發(fā)電機  2025-11-26
沈雙 【求購】  柴油過濾紙  2025-11-26
VIP公司推薦