Modbus數(shù)據(jù)通信總線在質量流量計量監(jiān)測中的應用
中海瀝青股份有限公司儲運車間擔負著向濱化集團環(huán)氧丙烷裝置輸送丙烯的任務,現(xiàn)場選用的是艾默生高準CMF300+1700AN質量流量計,利用其電流輸出端口(1、2端口),將HART數(shù)字信號加載到傳統(tǒng)的(4~20)mA信號,操作員站的上位機安裝了西門子SIMATICS7系統(tǒng),實時采集質量流量計的瞬時流量信息。
本文引用地址:http://butianyuan.cn/article/201609/303334.htm實際工作中,為計量結算的需要,需要將質量流量計的瞬時流量、累積流量等信息通過CDMA網絡遠傳到能源計量遠程監(jiān)控系統(tǒng)。為了防止系統(tǒng)沖突,生產車間不允許繼續(xù)接流量計的電流輸出端口(1、2端口)。最后我們利用RS485端口(5、6端口),采用Mod-busRTU協(xié)議很好地解決了該問題。
一、Modbus數(shù)據(jù)通信網絡結構
本案例充分利用了Modbus技術的優(yōu)點來設計、開發(fā)系統(tǒng),并滿足了系統(tǒng)對可靠性和靈活性的要求。
該Modbus網絡結構為RS485通信環(huán)網,通信介質為雙絞線,通信協(xié)議為ModbusRTU,輸送丙烯的瞬時流量、累積流量等信息通過流量計檢測后,利用Mod-bus網絡傳遞到宏電DTU,宏電DTU再將信號通過CD-MA網絡與Internet網絡傳遞到遠程操作站。遠程操作站軟件選用的是國產軟件組態(tài)王,總線結構安全、簡潔,具有很高的可靠性和實用性。
在接DTU之前,需要用手操器修改RS485默認設置:將默認協(xié)議由HART修改為ModbusRTU,其余采用默認設置即可。
二、Modbus數(shù)據(jù)通信介紹
該系統(tǒng)采用的Modbus總線是一種串行總線結構,在串行通信中,不論數(shù)據(jù)類型如何,它們都以幀的形式進行傳輸。其基本數(shù)據(jù)幀格式如下:
地址碼:8位地址碼為通信傳送的第一個字節(jié)。這個字節(jié)表明由用戶設定地址碼的從機將接收由主機發(fā)送來的信息。每個從機都具有唯一的地址碼,并且響應回送均以各自的地址碼開始。主機發(fā)送的地址碼表明將發(fā)送到的從機地址,而從機發(fā)送的地址碼表明回送的從機地址。
功能碼:8位,是通信傳送的第二個字節(jié)。Modbus通信規(guī)約定義功能碼為1~127。作為主機請求發(fā)送,通過功能碼告訴從機執(zhí)行什么動作。作為從機響應,從機發(fā)送的功能碼與從主機發(fā)送來的功能碼一樣,并表明從機已響應主機進行操作。
數(shù)據(jù)區(qū):N×8位,數(shù)據(jù)區(qū)包含需要從機執(zhí)行什么動作或由從機采集的返送信息。這些信息可以是數(shù)值、參考地址等。例如,功能碼告訴從機讀取寄存器的值,則數(shù)據(jù)區(qū)必須包含要讀取寄存器的起始地址及讀取長度。對于不同的從機,地址和數(shù)據(jù)信息都不相同。
差錯校驗碼:16位,主機或從機可用校驗碼進行判別接收信息是否出錯。有時,由于電子噪聲或其他一些干擾,信息在傳輸過程中會發(fā)生細微的變化,差錯校驗碼保證主機或從機對傳送過程中出錯的信息不起作用。這樣增加了系統(tǒng)的安全性和效率。錯誤校驗所有位采用CRC-16進行計算。
當通信命令發(fā)送至上游設備時,符合相應地址碼的設備接通信命令,并除去地址碼,讀取信息,如果沒有出錯,則執(zhí)行相應的任務;然后把執(zhí)行結果返送給發(fā)送者。返送的信息中包括地址碼、執(zhí)行動作的功能碼、執(zhí)行動作后結果的數(shù)據(jù)以及差錯校驗碼。如果出錯就不發(fā)送任何信息。
三、Modbus實現(xiàn)質量流量監(jiān)測
系統(tǒng)采用國產軟件“組態(tài)王6.52”為上位監(jiān)控軟件,宏電DTU設為虛擬設備KVCOM1,通過在組態(tài)王中配置完成Modbus的通信功能,實現(xiàn)數(shù)據(jù)交換。
具體配置如下:
1.由于艾默生質量流量計具有標準Modbus通信協(xié)議,在組態(tài)王中定義IO設備時,選擇PLC→莫迪康→Modbus(RTU)→串行,并按如下參數(shù)配置:
波特率:1200bps∥數(shù)據(jù)位:8位∥校驗位:1位(奇校驗)∥停止位:1位
2.每臺質量流量計配置唯一的設備地址,地址范圍為1~32。
3.建立數(shù)據(jù)字典,定義通信數(shù)據(jù)的寄存器地址和數(shù)據(jù)類型。
組態(tài)王寄存器、數(shù)據(jù)類型說明如表1所示。
表1 組態(tài)王寄存器、數(shù)據(jù)類型
另外,在Modbus規(guī)約驅動中,SWAP寄存器用于改變浮點數(shù)的字節(jié)順序,只有0、1、2、3等4種取值,且只對FLOAT數(shù)據(jù)類型起作用。例如,在通信時從0001地址讀取的4個十六進制值為HV1、HV2、HV3、HV4,則
(1)當SWAP=0時,轉換后浮點數(shù)對應的內存值為:HV4、HV3、HV2、HV1。
(2)當SWAP=1時,轉換后浮點數(shù)對應的內存值為:HV3、HV4、HV1、HV2。
(3)當SWAP=2時,轉換后浮點數(shù)對應的內存值為:HV1、HV2、HV3、HV4。
(4)當SWAP=3時,轉換后浮點數(shù)對應的內存值為:HV2、HV1、HV4、HV3。
所定義的寄存器與設備參數(shù)的對應關系如表2所示。
表2 寄存器與設備參數(shù)的對應關系表
4.高準質量流量計主要參數(shù)寄存器地址
經查閱高準流量計Modbus的說明書《ModbusMappingAssignmentsforMicroMotionTransmittersIn-structionManual》,發(fā)現(xiàn)寄存器地址如表3所示。
表3 高準質量流量計主要參數(shù)寄存器地址表
5.生成組態(tài)王數(shù)據(jù)監(jiān)測主畫面
需監(jiān)控質量流量計的主要參數(shù)在數(shù)據(jù)詞典中的定義如表4所示。
表4 高準質量流量計的主要參數(shù)在數(shù)據(jù)詞典中的定義表
經測試,SWAP必須取3,需在應用程序命令語言啟動時定義。
配置完成,總線系統(tǒng)上電設備工作過程如下:初始化硬件;初始化Modbus驅動器、初始化串行通信口;等待流量計配制命令;初始化模塊寄存器;打開驅動端口。以上工作完成后,上位PC就可與其節(jié)點進行實時通信,實現(xiàn)質量流量計量的監(jiān)測。
四、結束語
該Modbus總線通信系統(tǒng)充分利用了數(shù)據(jù)通信網絡技術,并已成功投入運行,其性能可靠、數(shù)據(jù)傳輸速率快,完全能滿足工藝要求。該系統(tǒng)符合當前控制的需求,真正實現(xiàn)了“集中控制,分散風險”。
評論