組態(tài)王是北京亞控科技的一款SCADA產(chǎn)品,是一款國內(nèi)知名度很不錯的產(chǎn)品。這里不談產(chǎn)品本身,而是談?wù)勗诮M態(tài)王中,通過modbus的方式與PLC或者第三方設(shè)備通訊時,如果浮點(diǎn)數(shù)需要對其存儲器進(jìn)行字或者字節(jié)交換的問題。
做過PLC項(xiàng)目或者是DCS項(xiàng)目,也或者是搞系統(tǒng)維護(hù)等的自動化工控人都知道,PLC系統(tǒng)與現(xiàn)場設(shè)備或者是第三方PLC系統(tǒng)通過modbus進(jìn)行數(shù)據(jù)交換,在進(jìn)行數(shù)據(jù)交換時,特別是浮點(diǎn)數(shù)可能數(shù)據(jù)不能直接對上,需要對地址進(jìn)行字節(jié)或者是字進(jìn)行交換,兩個數(shù)據(jù)才能完全吻合。下面我來講講組態(tài)王是如何實(shí)現(xiàn)的。
一、實(shí)驗(yàn)工具
SCADA:組態(tài)王6.55版本
PLC或者第三方:用modsim來模擬
二、實(shí)現(xiàn)步驟
1、啟動modsin模擬器,通過modbus tcp的方式連接,IP地址:127.0.0.1,端口號:502,設(shè)備地址:1,寄存器地址:40001,40002,40003,40004,40005,40006,如下圖所示:
圖1 modsim仿真頁面
2、啟動組態(tài)王管理器,并打開測試的項(xiàng)目,如圖所示
圖2 組態(tài)工程瀏覽器窗口
3、配置設(shè)備通訊接口,本文采用莫迪康的MODBUS TCP方式。在工程瀏覽器窗口左側(cè)的設(shè)備---板卡---雙擊新建---PLC---莫迪康----modbus TCP---下一步。如下圖所示
圖3 通訊接口配置1
在上圖中下一步之后,填上邏輯名稱,然后下一步,然后接著選擇連接的串口號,這里的串口,必須選擇一個沒有使用的串口號,如COM15,然后下一步進(jìn)入下一個配置窗口,如圖所示
圖4 通訊接口配置2
在上圖點(diǎn)擊下一步后,進(jìn)入設(shè)備地址填寫界面,地址為:127.0.0.1:502 1/10,地址組成為:設(shè)備IP地址+:+端口號+空格+設(shè)備地址+/+超時時間。如圖所示
圖5 通訊接口配置3
上圖單擊下一步,直至完成。這樣新建的設(shè)備就創(chuàng)建完成,如圖所示
圖6 通訊接口配置4
4、組態(tài)王中,浮點(diǎn)數(shù)需要寄存器做字或者字節(jié)交換以及寄存器說明,如圖所示
圖6 浮點(diǎn)數(shù)交換的官方說明1
圖7 浮點(diǎn)數(shù)交換的官方說明2
圖8 浮點(diǎn)數(shù)交換的官方說明3
5、建點(diǎn)三個I/O實(shí)型點(diǎn),每個點(diǎn)占用2個字的modbus地址,如圖所示
圖9 變量建立說明1
圖10 新建的三個變量
6、本步驟比較重要,要充分理解組態(tài)王地址交換,這里需要建一個I/O整型的變量,寄存器選擇:連接設(shè)備:選擇組態(tài)王連接的設(shè)備,寄存器選擇:SwapF0,記住這里是SwapF0,不是SwapF,數(shù)據(jù)類型選擇:BYTE,讀寫屬性選擇:讀寫,如圖
圖11 新建的SWAPF測試變量窗口
說明:如果在通訊時從1地址讀取的四個十六進(jìn)制值為 HV1,HV2, HV3, HV4則:
當(dāng)SWAP測試變量 = 0時,轉(zhuǎn)換后浮點(diǎn)數(shù)對應(yīng)的內(nèi)存值為: HV4 HV3 HV2 HV1。
當(dāng)SWAP測試變量 = 1時,轉(zhuǎn)換后浮點(diǎn)數(shù)對應(yīng)的內(nèi)存值為: HV3 HV4 HV1 HV2。
當(dāng)SWAP測試變量 = 2時,轉(zhuǎn)換后浮點(diǎn)數(shù)對應(yīng)的內(nèi)存值為: HV1 HV2 HV3 HV4。
當(dāng)SWAP測試變量 = 3時,轉(zhuǎn)換后浮點(diǎn)數(shù)對應(yīng)的內(nèi)存值為: HV2 HV1 HV4 HV3。
7、新建一個測試畫面,并在畫面中建立三個變量的顯示,如圖所示
圖12 畫面動態(tài)連接圖
8、新建一個SWAP測試變量的動態(tài)顯示以及值得切換按鈕,如圖所示
圖13 SWPF測試變量的動態(tài)連接
9、運(yùn)行畫面,并通過切換SWAPF測試變量的值,查看變量的數(shù)據(jù)變化。如下圖所示:
圖14 Modsim寄存器的當(dāng)前值
圖15 SWAP測試變量值不同,組態(tài)王動態(tài)顯示值對比圖