MODBUS 地址超出9999
劉玉蓉
發(fā)布于2014-11-06 17:40
5
0
標簽:
硬件是這樣的:200PLC做MODBUS主站讀取從站地址為1的保持寄存器。在主站子程序里40001~4****為讀保持寄存器。但我現(xiàn)在的從站需要讀取的地址定義有些特殊,他的地址在51***(MODBUS地址是16位的字為單位,所以大支持地址單元為65535,51***仍在有效地址之內(nèi))。這樣的話問題就出來了,200直接讀取地址只能支持0001~9999,我現(xiàn)在想讀取超出這個范圍的地址。應(yīng)該如何處理?
問題補充:
我曾實驗過就是將MBUS_MSG子程序中地址直接設(shè)為451***,這時候會發(fā)現(xiàn)POTRO口將沒有任何數(shù)據(jù)發(fā)送,而ERR也指示出4錯誤。事實上,關(guān)于這個問題我咨詢過西門子客服,客服告訴我的就是這么做。但我實驗證明是行不通的。
wb210xa 提供了3種可行方式,不過因?qū)嶋H情況前兩種方法可能實施不了,第三種方法又沒有合適的網(wǎng)關(guān)選型。
實在不行,只有用后一招——用自由口自己編MDBUS主站程序了。
佳答案
超出了S7200的處理范圍,三種方法:
1. 采用施耐德的PLC,如Twido或M218來實現(xiàn),讀取從站時沒有地址范圍限制,而且實現(xiàn)比較簡單;
2. 如果從站數(shù)據(jù)區(qū)地址可以更改的話,可以改從站的數(shù)據(jù)區(qū)地址到9999之內(nèi);
3. 只能加別的網(wǎng)關(guān)產(chǎn)品來實現(xiàn)。