S7-200 MODBUS從站通訊地址?
劉玉蓉
發(fā)布于2014-11-07 17:36
498
0
標簽:
問一個問題:是不是S7-200 MODBUS通訊:00001 至 0*x 對應(yīng) 開關(guān)量輸出 QX.X ,10001 至 1*x 對應(yīng) 開關(guān)量輸入 IX.X,30001 至 3*x 對應(yīng) 模擬量輸入 AIW.X ,40001 至 4*x 對應(yīng) 模擬量輸出 AQW.X,這些MODBUS 地址與西門子的I/O模塊的數(shù)據(jù)地址是不是固定的?如果這樣的話我只能把0-32000的數(shù)據(jù)傳給上位機,給上位機處理了?我如想把VD32中的數(shù)值傳給上位機該怎么做?設(shè)備的啟M0.0 和停M0.1該如何傳給上位機?
佳答案
1.00001 至 0*x 對應(yīng) 開關(guān)量輸出 QX.X ,10001 至 1*x 對應(yīng) 開關(guān)量輸入 IX.X,30001 至 3*x 對應(yīng) 模擬量輸入 AIW.X ,40001 至 4*x 對應(yīng) 模擬量輸出 AQW.X,這些MODBUS 地址與西門子的I/O模塊的數(shù)據(jù)地址是不是固定的?
你的理解不能說對的,0、1、3、4四種地址是針對施耐德PLC中的地址進行定義的,也就是你所說的,0對應(yīng)開出和中間線圈、1對應(yīng)開入,以此類推。但是對于西門子PLC來說沒有Modbus地址編碼這一說,也就是說不支持0、1、3、4這幾種地址,因此,0、1、3、4并不對應(yīng)開出、開入等地址。
2. 把VD32中的數(shù)值傳給上位機該怎么做?設(shè)備的啟M0.0 和停M0.1該如何傳給上位機?
在做Modbus通訊時,DataPtr的地址為&VB,也就是說所有數(shù)據(jù)全部打包到VB中,因此,不論任何數(shù)據(jù),打包到VB實現(xiàn)數(shù)據(jù)中進行發(fā)送和接收。因此,如果需要將M、或VD數(shù)據(jù)送到上位,只需Move到VB中即可。