S7-200 modbus讀數(shù)據(jù)
劉玉蓉
發(fā)布于2014-11-25 17:49
141
0
標(biāo)簽:
用S7-200往變頻器的3000H寄存器里讀取數(shù)據(jù),正常來說addr填412289是可以的,為什么我用狀態(tài)表查看&vb112里沒有數(shù)據(jù)呢,并且mbus-msg的error值為4.圖片是我的程序。
問題補充:
我前面的幾個寫數(shù)據(jù)都沒有問題,就是讀數(shù)據(jù)的時候讀不出來。我又把addr的值從412289改為48193(即我寫入數(shù)據(jù)的地址),狀態(tài)表顯示&vb112為0,但&vb110里有我寫入的正確數(shù)據(jù),不知道這是為什么。
圖片說明: 1,圖片
佳答案
1.你M2.5復(fù)位的同時置位M2.6 然后用M0.7這個完成位做你下一個輪訓(xùn)的開始,ADDR這塊你再用412288這個地址看看。
2.你說的錯誤代碼是4,你看看這個:
保持寄存器地址大于9999
Modbus保持地址通常在40001到49999的范圍內(nèi)。該范圍對大多數(shù)應(yīng)用程序來說足夠了,但是某些數(shù)據(jù)映射到保持寄存器的Modbus從站所具有的地址超過9999。這些設(shè)備不適合常規(guī)的
Modbus尋址方案。
Modbus主設(shè)備指令支持通過可選的尋址方法對大于9999的保持寄存器進行尋址。MBUS_MSG指令允許參數(shù)"地址"具有附加范圍以支持保持寄存器地址的擴充范圍。
400001至465536用于保持寄存器
例如:要訪問保持寄存器16768,MBUS_MSG的"地址"參數(shù)應(yīng)該設(shè)置為416768。
擴充尋址允許訪問Modbus協(xié)議支持的65536個可能地址的全部范圍。該擴充尋址僅支持保持寄存器。