楊鍵(天津渤化石化有限公司,天津 300452)
西門子PLC控制系統(tǒng)輪巡功能的設(shè)計與實現(xiàn)
楊鍵(天津渤化石化有限公司,天津 300452)
本文提出采用一種基于MODBUS RTU(RS485)通訊協(xié)議,實現(xiàn)西門子PLC系統(tǒng)作為master實現(xiàn)對多個slave站的通訊應(yīng)用,介紹了西門子PLC作為master的組態(tài)設(shè)計與實現(xiàn)。
MODBUS;PLC;通訊
在目前的工業(yè)控制領(lǐng)域,對同一廠區(qū)的不同控制系統(tǒng)之間要求遠程監(jiān)控控制的需求不斷加大。通過利用MODBUS RTU Master/Slave協(xié)議,實現(xiàn)主站PLC對多從站進行數(shù)據(jù)采集和控制,保證了可靠有效的實時數(shù)據(jù)傳遞和控制效果。
1.1 MODBUS通訊協(xié)議
Modbus協(xié)議是使用了一個可以使網(wǎng)絡(luò)上的各個控制器能夠識別的消息結(jié)構(gòu)。各個控制器之間通過識別消息,來完成需要的動作。Modbus協(xié)議可以將不同生產(chǎn)廠商的設(shè)備連接到一起形成控制網(wǎng)絡(luò),進行監(jiān)控控制。在中國,Modbus已經(jīng)成為國家標(biāo)準(zhǔn)GB/T19582-2008。Modbus網(wǎng)絡(luò)要求只可以有一個mas?ter,網(wǎng)絡(luò)上所有的消息都由它發(fā)出。每條網(wǎng)絡(luò)最大有247個slave控制器。
1.2 Modbus傳輸模式
Modbus協(xié)議有ASCII或RTU兩種傳輸模式。本文采用RTU模式。用RTU模式傳輸?shù)臄?shù)據(jù)是8位二進制字符且報文字符必須以連續(xù)數(shù)據(jù)流的形式傳送。
1.2.1 主機請求數(shù)據(jù)報文格式
如表1所示。(功能碼以03為例)
表1 主機請求數(shù)據(jù)報文格式表
1.2.2 從站響應(yīng)讀數(shù)命令報文格式
如表2所示。(功能碼以03為例)
表2 從站響應(yīng)讀數(shù)命令報文格式表
2.1 西門子PLC功能塊
2.1.1 DB塊構(gòu)建
我們以S7組態(tài)環(huán)境為例,因為Modbus協(xié)議通訊報文8位二進制字符固定格式,所以我們要先構(gòu)建第一個DB塊,起名以DB1為例,用來完成master站發(fā)送請求報文信息的收集。這個DB塊中需要定義一個字節(jié)的slave站地址(byte類型)、一個字節(jié)的功能碼(byte類型)、兩個字節(jié)的起始地址(word類型)、和兩個字節(jié)的數(shù)據(jù)長度(word類型)。然后,我們構(gòu)建第二個DB塊,起名DB2為例,這個DB塊主要用來接收slave站的回復(fù)數(shù)據(jù)。
2.1.2 FB7,FB8功能塊
PLC控制器要完成發(fā)送與接受功能,需要西門子功能塊庫中的FB7接收功能塊與FB8發(fā)送功能塊。而將它們使用的時候會自動生成背景DB塊,為了方便使用將DB命名為相應(yīng)的DB7與DB8。
2.1.3 FC功能塊
FC功能塊完成輪巡程序的寫入,最后將FC塊在OB1或OB35中調(diào)用即可完成輪巡。
2.2 輪巡程序
a.將第一個slave站地址,功能碼、起始地址、數(shù)據(jù)長度分別寫入DB1的對應(yīng)地址。
b.將第一個slave站接收DB塊的號碼(本文為2)寫入DB7的DBW4,將接收起始地址寫入DB7的DBW6。
c.重復(fù)前2步操作完成剩余slave站。
d.為每個slave站程序設(shè)置入口條件,條件滿足啟動,不滿足等待。
e.設(shè)置FB7的LADDR管腳為CP341卡件的地址,啟動條件為對應(yīng)的slave站的條件。設(shè)置FB8的LADDR管腳為CP341卡件的地址,DB_NO管腳填入1,DBB_NO管腳填入0,SF管腳填入'S',LEN管腳填入6,R_TYP管腳填入'X',REQ管腳為對應(yīng)的slave站啟動條件。
2.3 CP341卡件設(shè)置
在CP341中設(shè)置modbus master類型、波特率、停止位、奇偶效驗位等參數(shù)后load。
Modbus RTU通訊是現(xiàn)場兩個或幾個不同控制系統(tǒng)實現(xiàn)通訊的一個簡單例證,成功的解決了西門子PLC和第三方的通訊問題,節(jié)省了因標(biāo)準(zhǔn)儀表信號布線所需的大量電纜,并且可靠性得到了大幅度提高,是我們今后現(xiàn)場信號采集通訊值得借鑒的一個典型代表。
[1]潘洪躍.基于Modbus協(xié)議通信的設(shè)計與實現(xiàn).計量技術(shù), 2002,(4).
[2]封亞斌.采用串口通信技術(shù)實現(xiàn)Modbus數(shù)據(jù)通信.自動化儀表,2004,25(10):56-58.
[3]吉順平.西門子PLC與工業(yè)網(wǎng)絡(luò)技術(shù).機械工業(yè)出版社, 2008.
[4]王海波.基于CP341的Modbus RTU通信的設(shè)計與實現(xiàn).工礦自動化,2009,8:89-91.
[5]西門子技術(shù)手冊.CP340_CP341_CP440_CP441通訊及編程.2010:37-44.