A. 請問MCGS組態王和單片機modbus rtu通信,當通信幾分鍾就失敗了,
你可以通過串口工具查看數據幀,看通信中斷的時候是什麼幀結構,一般能有一個初步的判斷
(1)設備回了數據幀,並且是對的,問題出在組態王
(2)設備回了數據幀,是錯誤的,檢查單片機程序
(3)設備沒有回數據幀,檢查鏈路或者程序
B. 組態王和單片機通信出現如下的問題可能是什麼原因呢
考慮一下這個問題:
讀取模擬量輸入的03功能碼(用於兼容組態王)
需要新增一個03功能碼應答。
組態王的Modbus RTU驅動會發送一個查詢報文。使用功能碼03,EIO-S需要應答此報文,如果不應答,組態王會等到超時之後才會執行下一條指令,從而嚴重影響拖慢執行時間。
01 03 00 00 00 02
組態王發送查詢報文:[01] [03] [0000] [0002] [C40B]
[01]:設備地址
[03]:03功能碼讀取模擬量
[0000]:開始地址
[0002]:要讀取的寄存器數量,1個寄存器2個位元組,2個寄存器就是需要返回4個位元組。
[C40B]:CRC校驗
EIO-S應答:[01] [03] [04] [00 00 00 00] [FA 33]
[01]:地址碼
[03]:功能碼
[04]:返回的數據位元組數,發送報文要讀取2個寄存器,所以返回4個位元組。
[00 00 00 00]:4個數據位元組,目前只返回00,以後可以放入溫濕度、模數值等。
[FA 33]:CRC校驗。
01 03 04 00 00 00 00
C. 單片機作為組態王的連接設備時,設備地址的設置
組態王HMI是主站,你單片機是從站,這個地址指的是你的從站地址,首先你用的什麼通訊協議,一般是modbus,你看下你單片機里協議是怎麼寫的,這個首先要在單片機里寫協議的,設定從站地址是幾,這里就寫幾
D. 組態王與單片機通訊變數實時顯示時不能接收。我用串口監視精靈監視發現組態王只發送部接收數據。為什麼啊
第一,檢查通信物理連接是否正確
第二,檢查通信協議是否一致
第三,檢查數據是否正確
第四,檢查單片機方有否回應