AB PLC與MODBUS網(wǎng)絡(luò)的通信講課教案_第1頁
AB PLC與MODBUS網(wǎng)絡(luò)的通信講課教案_第2頁
AB PLC與MODBUS網(wǎng)絡(luò)的通信講課教案_第3頁
AB PLC與MODBUS網(wǎng)絡(luò)的通信講課教案_第4頁
AB PLC與MODBUS網(wǎng)絡(luò)的通信講課教案_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。AB PLC與MODBUS網(wǎng)絡(luò)的通信-ABPLC與MODBUS網(wǎng)絡(luò)的通信ThecommunicationbetweenABPLCandMODBUSnetwork摘要:介紹了應(yīng)用3100/3150-MCM模塊實現(xiàn)ABPLC與MODBUS網(wǎng)絡(luò)通訊的方法,該方法使用MODBUS協(xié)議,通過開發(fā)ABPLC的應(yīng)用程序,從而實現(xiàn)主從結(jié)構(gòu)網(wǎng)絡(luò)通信。關(guān)鍵詞:3100/3150-MCM模塊,ABPLC,MODBUS,主從通信Abstract:Thispaperintroducestheapplicationof3100/3

2、150-MCMinthecommunicationbetweenABPLCandMODBUSnetwork.ByusingMODBUSprotocolanddevelopingprogramofPLC,amaster-slavestructurenetworkcanbesetup.Keywords:3100/3150-MCM,ABPLC,MODBUS,master-slavecommunication引言目前的工業(yè)控制現(xiàn)場大量使用了PLC和各種智能儀表用于生產(chǎn)過程控制。隨著控制規(guī)模的擴大和控制功能的復(fù)雜化,常需要多臺PLC及一定數(shù)量的外設(shè)儀表組成一個控制系統(tǒng)。MODBUS是美國MODICON公

3、司制訂的一種串行傳輸協(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ù)谋戎?。由于不同硬件廠商支持不同的工業(yè)通信和分布式控制系統(tǒng)協(xié)議,要實現(xiàn)ABPLC與MODBUS儀表組成控制網(wǎng)絡(luò),實現(xiàn)設(shè)備的連網(wǎng),就存在著互相通信協(xié)議轉(zhuǎn)換問題。3100/3150-MCM模塊是PROSOFTTECHNOLOGY公司推出的在ABPLC通用框架上安裝的MODBUS通

4、信接口模塊。該模塊可以實現(xiàn)ABPLC與MODBUS現(xiàn)場設(shè)備之間的通信,從而使ABPLC通信能力得到增強,靈活實現(xiàn)ABPLC與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)控制功能的需要,要求在ABPLC中實現(xiàn)對MODBUS協(xié)議的支持。我們利用3150-MCM模

5、塊建立起MODBUS設(shè)備網(wǎng)。系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)遵循MODBUS協(xié)議的規(guī)范,采用標(biāo)準(zhǔn)簡單的主從總線結(jié)構(gòu),以PLC作為主機發(fā)起通信,多臺電機保護裝置Sepam2000作為從機,各從機在進行傳輸之前必需要等待來自主機的允許信號。主機可以發(fā)送和接收來自通信鏈上從機的信息,而從機則始終處于被動狀態(tài),隨時準(zhǔn)備響應(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)的通

6、信方式中,有一臺主機,多臺從機,主機可與各個從機作雙向通信,而各從機之間不能通信。主機與各個從機通信的報文形式為請求/響應(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表示

7、讀取從機的保持寄存器并返回其中的內(nèi)容,數(shù)據(jù)區(qū)中的信息就必須告訴從機從哪個寄存器開始讀,需要讀的寄存器數(shù)。錯誤校驗字段為從機提供了信息完整性校驗的方法。同樣,響應(yīng)的格式也是采用MODBUS協(xié)議結(jié)構(gòu),從機響應(yīng)的功能編碼與接受的請求的功能編碼相對應(yīng),數(shù)據(jù)字段包含根據(jù)請求返回的數(shù)據(jù),錯誤校驗字段允許主機確認(rèn)信息內(nèi)容是否有效。MODBUS協(xié)議共有24種功能編碼,但是并不都適用于Sepam2000,實際應(yīng)用中Sepam2000只是支持下面有限的幾種:讀取輸出狀態(tài)讀取輸入狀態(tài)讀取內(nèi)部寄存器內(nèi)容讀取輸入寄存器內(nèi)容強制單個輸出狀態(tài)刷新單個寄存器內(nèi)容讀取異常事件狀態(tài)診斷測試讀取計數(shù)器和狀態(tài)字強制多個輸出狀態(tài)刷新多

8、個寄存器內(nèi)容如果主機希望讀取2號Sepam2000從機中寄存器0805h-080Ah的內(nèi)容,則需要調(diào)用功能03。主機請求和從機響應(yīng)的幀格式如下:請求幀:地址功能號數(shù)據(jù)起始寄存器編址寄存器數(shù)目錯誤校驗字段2030C0506CRC16響應(yīng)幀:地址功能號字節(jié)計數(shù)數(shù)據(jù)寄存器(0805)數(shù)據(jù)寄存器(080A)錯誤校驗字段2030CData1Data6CRC16而如果主機希望刷新2號Sepam2000從機中寄存器0810h的內(nèi)容并把寄存器內(nèi)容設(shè)置為1000,則需要調(diào)用功能06。主機請求和從機響應(yīng)的幀格式如下:請求幀:地址功能號寄存器編址設(shè)置值錯誤校驗字段2060C0E1000CRC16響應(yīng)幀:(返回收到的

9、請求幀)地址功能號寄存器編址設(shè)置值錯誤校驗字段2060C0E1000CRC16Sepam2000的幀格式以及所執(zhí)行的功能都有明確的定義,不能隨意更改。在通信過程中,要確保主機和各從機的對應(yīng)關(guān)系正確。此外,用戶可以根據(jù)實際需要配置合適的傳輸波特率、字符奇偶校驗、停止位的個數(shù)等通信參數(shù)設(shè)置。ABPLC中MODBUS協(xié)議的實現(xiàn)1MCM模塊的通信控制PROSOFTTECHNOLOGY公司的3100/3150-MCM通信模塊,相當(dāng)于網(wǎng)絡(luò)接口,PLC通過MCM模塊與MODBUS總線相連。MCM模塊能快速、可靠地在ABPLC中實現(xiàn)MODBUS協(xié)議。3100/3150-MCM通信模塊可供用戶選擇使用主機模式或

10、者從機模式。當(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)ABPLC配置了3100/3150-MCM通信模塊作為主機模式時,PLC采用周期掃描方式,按請求指令的順序與從機交換數(shù)據(jù)。每次掃描

11、期間,處理器使用邏輯寫指令將主機內(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所示:2MCM模塊與MODBUS的硬件連接MCM模塊使用的是與RS232C兼容的標(biāo)準(zhǔn)通訊接口,但在實際應(yīng)用中由于要實現(xiàn)多點通信,所以采用RS485方式。圖3是3150-MCM模塊9芯串行口與MODBUS的連接圖3MCM模塊的緩沖區(qū)管理PL

12、C與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ù)傳送的單位大小,分為若干個塊,并一一標(biāo)號,用塊號對應(yīng)起來,并且劃分為三個區(qū),分別用于數(shù)據(jù)、指令、參數(shù)設(shè)置。數(shù)據(jù)存儲區(qū)從0塊號開始,結(jié)束于79塊號,中間有4000個字節(jié)的空間,用于存儲接收的數(shù)據(jù)和發(fā)送的數(shù)據(jù),是主機、從機交換數(shù)據(jù)的場所;指令存儲區(qū)從第8

13、0塊至第99塊,共1000個字節(jié),用于存儲主機模式下,模塊的功能指令表,每次掃描,順序按功能指令列表向從機發(fā)出請求幀;第255塊號前40個字節(jié)則專門定義為模塊設(shè)置參數(shù)存儲區(qū),用于初始化模塊。在通信過程中,首先要對主機進行初始化,即對第255塊號對應(yīng)的緩沖區(qū)內(nèi)容進行參數(shù)配置,主要是定義通信端口的設(shè)置,模塊緩沖區(qū)的詳細劃分。設(shè)置的有以下參數(shù):定義MCM通信模塊兩個獨立的通訊接口設(shè)置。包括:選擇主機模式或者從機模式、定義字符奇偶校驗、停止位的個數(shù),傳輸?shù)牟ㄌ芈?,響?yīng)延時等參數(shù)。定義模塊的緩沖區(qū)中存儲接收數(shù)據(jù)的數(shù)據(jù)存儲區(qū)。包括:接收數(shù)據(jù)存儲區(qū)的起始塊號,存儲區(qū)的連續(xù)塊數(shù)。定義模塊的緩沖區(qū)中存儲發(fā)送數(shù)據(jù)

14、的數(shù)據(jù)存儲區(qū)。包括:發(fā)送數(shù)據(jù)存儲區(qū)的起始塊號,存儲區(qū)的連續(xù)塊數(shù)。定義模塊的緩沖區(qū)中指令存儲區(qū)。由于指令存儲區(qū)固定從80號數(shù)據(jù)塊開始,所以只需指定存儲區(qū)的塊數(shù)。4MCM模塊的功能指令設(shè)置MCM模塊處于主機模式下時,功能指令列表存放在模塊緩沖區(qū)中的指令存儲區(qū)。主機向從機發(fā)出請求時,模塊從指令存儲區(qū)逐條讀出功能指令,并按照MODBUS請求幀格式發(fā)送數(shù)據(jù)。指令存儲區(qū)中每條功能指令的具體內(nèi)容如下:1模塊通信端口選擇2從機的站地址。從機在接收數(shù)據(jù)時將本站編址的值與收到的站地址比較,以此判定信息是否是發(fā)給本站的。而主機在接收時則將收到的站地址與發(fā)送的站地址比較,以判斷是否是正確的從機響應(yīng)3指令的功能編碼4源

15、地址。即主機要發(fā)送或接收的數(shù)據(jù)在緩沖區(qū)中的起始數(shù)據(jù)地址5數(shù)據(jù)長度。即主機要發(fā)送或接收的數(shù)據(jù)的字節(jié)數(shù)6目的地址。即從機要接收或響應(yīng)的數(shù)據(jù)的寄存器地址7數(shù)據(jù)的類型。用于標(biāo)示讀、寫的數(shù)據(jù)是雙字節(jié)的浮點數(shù)還是單字節(jié)的整數(shù)8輪詢時間如果主機希望在1號通訊接口讀取2號Sepam2000從機中寄存器0805h-080Ah的內(nèi)容并存放到模塊緩沖區(qū)第50個字節(jié)開始的連續(xù)6個字節(jié)中,功能指令內(nèi)容如下:端口號從機地址功能編碼源地址數(shù)據(jù)長度目的地址類型時間1235060805005ABPLC通訊程序的開發(fā)程序執(zhí)行時,在第一個掃描周期,都必須設(shè)置MCM的狀態(tài),即初始化MCM模塊。通信程序中,PLC在輸入、輸出映像文件中

16、為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ù)囊蟆8鶕?jù)PLC的邏輯指令及M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論