国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MODBUS RTU的組態(tài)王與智能儀表通訊

2013-07-11 07:43汪韓韓朱淑云
制造業(yè)自動化 2013年8期
關鍵詞:智能儀表組態(tài)王寄存器

汪韓韓,楊 輝,張 華,朱淑云

(1. 南昌大學 機器人研究所,南昌 330031;2. 華東交通大學 科研處,南昌 330013;3. 南昌大學 教務處,南昌330031;4. 南昌大學 科學技術學院,南昌 330031)

0 引言

MODBUS RTU協(xié)議是莫迪康公司發(fā)明的一種廣泛應用于自動化控制領域的工業(yè)通訊標準。協(xié)議規(guī)定,控制器之間通訊采用主從技術,即主機可對各從機尋址,發(fā)出廣播信息,從機返回信息作為對查詢的響應[1]。該協(xié)議支持RS-232、RS-422、RS-485和Ethernet等多種接口類型的通訊設備。而本文研究的是基于RS-485接口,采用MODBUS RTU通信協(xié)議,組態(tài)王作為主端,智能儀表為從端,進行相互握手、互相數據交換,并且利用KingView6.5開發(fā)平臺對通訊過程進行實時監(jiān)測和管理,從而完成整個通信系統(tǒng)的設計和實現。

1 MODBUS RTU數據傳輸

控制器以RTU模式在MODBUS總線上通訊時,具體信息格式定義如表1所示。

MAC_ID:設備地址,組態(tài)王對智能儀表從端的訪問地址,定義為01,如若是多機通訊,可以依次疊加02,03…;

Function ID:功能代碼,組態(tài)王對智能儀表從端的命令操作;

Ptr Addr:待查詢數據起始地址,2字節(jié),首字節(jié)為高地址;

Ptr Numb:待查詢數據數量,2字節(jié),從起始地址開始,地址依次加一;

CRC:循環(huán)冗余校驗碼,2字節(jié),從MAC_ID至Ptr numb計算CRC值,如計算值與實際值相同則傳送正確;若不相同證明錯誤,丟棄該幀,重新檢測;

T1-T2-T3-T4:靜止時間,當發(fā)送或接收數據時需延時>3.5個字符;

除主機查詢模式下的數據格式外,還有主機寫數據、從機應答等數據格式,具體見MODBUS協(xié)議標準,這里不再重復敘述。

2 組態(tài)王通訊設置

基本通訊參數配置為:波特率9600bps,數據位8位,無奇偶校驗,停止位1位,通訊方式RS485總線傳輸模式,通訊超時時間1000ms。

從站設備COM配置可按配置向導依次進行。選擇驅動——莫迪康MODBUS RTU(COM),定義邏輯名稱——智能儀表01,選擇串行口——COM1,選擇設備地址——1.0(1為設備地址,不打包),嘗試恢復時間與最長恢復時間——30s和24h。如需配置多臺智能儀表,方法類似[2]。

配置完設備端口之后,則需要在數據詞典定義變量,如表2所示。

表1 數據傳輸格式

表2 數據詞典用戶變量

3 智能儀表通訊設置

智能儀表作為從機端,硬件配置為485總線接口,軟件一般使用固化好的通信協(xié)議或自主開發(fā)編程設計,這里給出示例。以Stc89c52為例,利用串行中斷進行MODBUS RTU通訊設計,其中T2計數器用于產生9600bps波特率,22M晶振下,初始值設置為TL2=0xCC,TH2=0xCD,中斷服務子程序如圖1所示。

圖1 發(fā)送接收串行中斷服務子程序

單片機應答程序是主程序Main()函數中的,詳細流程圖如圖2所示。為滿足通訊需求,我們需要分析串口接收的命令,對不同的功能指令做出相應的答復。首先,對接收命令中數據依次進行校驗,包括地址碼校驗、功能碼校驗、CRC校驗、地址范圍校驗等,若出錯則給出相應的出錯指令。其次,根據功能碼把與單片機相對應的地址、數據等一一寫入待發(fā)送數組中,具體發(fā)送格式依功能碼的不同而不同,詳細參考《MODBUS中文協(xié)議手冊》。最后,啟動發(fā)送函數BeginSend(),將發(fā)送數據發(fā)送至發(fā)送接收緩存區(qū)[3]。

應答流程圖中只給出了1、3、5、16四種功能碼指令,即足以滿足實現本文對組態(tài)王中離散變量和模擬變量讀寫操作要求,如需添加強制多個線圈、預置單個寄存器等功能指令,可進行額外拓展,見圖中省略部分。

4 組態(tài)王與智能儀表的通訊實現

為滿足實時調試和監(jiān)控相關的參數與狀態(tài),開發(fā)相應的組態(tài)王通訊調試界面,如圖3所示。其中1號參變量設定為:DI1~DI8分別用兩組黃、綠、紅、藍的按鍵顯示輸入狀態(tài)10101100,當為1時按鍵按下,當為0時按鍵彈起;DO1~DO8分別用兩組黃、綠、紅、藍的LED燈表示輸出狀態(tài)01010011,當為1時燈亮,當為0時燈滅;AI1~AI8分別顯示輸入寄存器值11,22,33,444,555,666,7777,8888;AO1~AO8則分別表示預置寄存器值8888,7777, 666, 555,444,33,22,11。另外,2號參變量設置:DI1~DI8分別讀入00111000;DO1~DO8分別寫出11000111;AI1~AI8分別讀入6,216,56,7676,356,46,1986,66;AO1~AO8分別寫出66,1986,46,356,7676,56,216,6。

從通信結果來看,效果良好,能夠實時穩(wěn)定地讀和寫數據。針對測試過程中遇到的問題,給出了解決方案,主要有以下兩點:1)寄存器數值超出上限0~65535。解決方案——設置智能儀表中變量初始值和原始值,并將實際數據縮小至一定倍數,然后在組態(tài)王中將相應的參變量擴大適當的倍數即可。2)多機通訊測試時,部分監(jiān)控參數錯亂變化且無規(guī)律。由于在組態(tài)王中設置的各從機通訊參數中“采集頻率”都是相同的,導致采集數據時出現了數據沖突,因此,設置不同的“采集頻率”能夠很好地解決以上問題。

5 結束語

在本文設計的組態(tài)王與智能儀表通信系統(tǒng)中,采用標準的MODBUS RTU數據傳輸格式,詳細描述了通信參數配置,并給出了《組態(tài)王與單片機通信工程》平臺的調試方案與測試結果。實驗結果表明該方法簡單有效、穩(wěn)定可靠。

圖2 單片機應答流程圖

圖3 組態(tài)王與2臺單片機通信工程測試平臺

[1] MODBUS Application Protocol Specification V1.1b [k].MODBUS-IDA,2006.

[2] 北京亞控科技發(fā)展有限公司.組態(tài)王6.5使用手冊[Z].2010.

[3] 尤慧芳.MODBUS RTU單片機通信程序編寫方法[J].工業(yè)控制計算機,2009,22(12):86-87.

[4] 胡雄峰,鄭應霞.基于MODBUS-RTU通訊協(xié)議的組態(tài)王與TOP9500通訊[J].工業(yè)控制計算機,2010,23(3):9-10.

[5] 劉杰,王慧.組態(tài)王與單片機多機串口通信的設計[J].電子設計工程,2009,17(7):7-11.

[6] 呂國芳,唐海龍,李進.基于Modbus RTU的串口調試軟件的實現[J].計算機技術與發(fā)展,2009,19(9):236-241.

猜你喜歡
智能儀表組態(tài)王寄存器
智能儀表的抗干擾和故障診斷研究
Lite寄存器模型的設計與實現
二進制翻譯中動靜結合的寄存器分配優(yōu)化方法
智能儀表軟件開發(fā)自動化技術分析
智能儀表技術及工業(yè)自動化應用發(fā)展分析
移位寄存器及算術運算應用
智能儀表在動態(tài)稱重系統(tǒng)中的應用
基于組態(tài)王軟件和泓格PIO-D64 板卡的流水燈控制
液壓系統(tǒng)電氣控制虛擬實驗系統(tǒng)的開發(fā)
Lx5280模擬器移植設計及實施