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