组态王与网关设备的通讯(京金华TNode-M多网口网关)
1.網關設備選取的是京金華多網口網關,網關采取透明傳輸的模式,進行數據透傳。
2.組態王需安裝Modbus TCP驅動(可從組態王官網下載)
第一步:首先設置京金華網關,選擇工作模式為Server模式
然后設置波特率停止位,以及串口所對應的TCP IP端口。
這樣一來,網關設置完畢
第二步:配置組態王
選擇志誠油機下的TCP通訊
這里選擇志誠油機的原因是,京金華所對應的ModbusTCP協議不是標準的莫迪康下ModbusTCP協議,因為莫迪康下載的是Modbus Master協議,只是在Master協議下包含了TCP協議,而志誠油機則是單獨的ModbusTCP協議,故選擇志誠油機。一般情況下都是在莫迪康下選擇,這個大家根據自己的網關做相應的選擇。
這樣基本設置已經完成,其次創建變量
然后在組態王建立變量并運行,運行結果如下
注意點:
1.在調試Modbus RTU通訊,和Modbus TCP通訊時,發現在傳輸速率上,RTU明顯超過了TCP,后來進行相關資料的查閱發現是因為所帶的485設備,經過網關后轉成了TCP協議的數據包,步驟上多了,其次多了繁瑣的校驗,所以在最終傳輸的速率上慢了下來,延遲的時間大概在1到2秒左右。而485基本可以做到ms級別,這個是正常的。
2.有時候會遇到,串口助手調試的值與組態王的值,對應不上,這個問題的解決,首先要從使用產品的手冊查看,一般廠家會標明,如何讀取傳感器正確的數值,而這樣讀取的數值就是標準值。
以此為標準來調整組態王,調整組態王首先找到協議驅動的安裝地址,以組態王軟件安裝在C盤為例子,驅動地址在C:\Program Files (x86)\kingview\Driver
找到安裝的驅動文件ModbusTCP.ini (因為我們之前安裝的驅動就是ModbusTCP.dll)
打開ini文件
調整,SwapF,SwapL,就會得出正確的結果,用戶根據組態王設定的變量類型,來調整。
swapf寄存器是修改浮點型數據的高低位的
swapl寄存器是修改長整型數據的高低位的
在組態王數據詞典中建立變量高地位調整,關聯swapf寄存器,讀寫,然后在畫面中建立文本,關聯此變量,往里面寫0,1,2,3
當SWAP = 0時,轉換后浮點數對應的內存值為: HV4 HV3 HV2 HV1。
當SWAP = 1時,轉換后浮點數對應的內存值為: HV3 HV4 HV1 HV2。
當SWAP = 2時,轉換后浮點數對應的內存值為: HV1 HV2 HV3 HV4。
當SWAP = 3時,轉換后浮點數對應的內存值為: HV2 HV1 HV4 HV3。
TCP連接方式:
[PackLen_]IP[:Port] Address[/TimeOut] [|SwapF|SwapL|SwapC]
PackLen 0-200 打包長度
IP 0-255 設備IP地址或域名
Port 0-65535 設備IP地址端口,(不寫時默認為502)
Address 0-255 設備地址
TimeOut 0-65535 網絡超時(不寫時默認3秒)
SwapF 0-3 浮點數的字節順序,默認為配置文件中所寫
SwapL 0-3 長整型的字節順序,默認為配置文件中所寫
SwapC 0-1 CRC校驗的字節順序,默認為配置文件中所寫
每個廠家對寄存器地址存儲的方式不盡相同,可能存在高低位的差別,用戶根據安裝驅動手冊的說明,進行相應的調整。
調試過程結束。
總結
以上是生活随笔為你收集整理的组态王与网关设备的通讯(京金华TNode-M多网口网关)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一款可自定义自动字典生成器---火花
- 下一篇: AOP 主要应用场景