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

響應(yīng)幀:

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

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

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

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

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

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

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

吳小姐 【求購】  粉碎機(jī)  2025-12-5
 【求購】  冶煉用的重...  2025-12-5
柳女士 【求購】  斷路器  2025-12-5
林志揚(yáng) 【求購】  無石棉墊片  2025-12-4
張一帆 【求購】  首件測試儀  2025-12-4
王飛 【求購】  gf流量計(jì)  2025-12-4
 【求購】  全自動(dòng)印刷...  2025-12-4
 【求購】  LED屏  2025-12-3
VIP公司推薦