西門(mén)子請教西門(mén)子200系列modbus的DataPtr的設定首地址問(wèn)題
西門(mén)子請教西門(mén)子200系列modbus的DataPtr的設定首地址問(wèn)題
主站指定了一個(gè)接收數據的首地址,在編譯過(guò)后看交叉引用的字節使用,首地址會(huì )被使用,請問(wèn)是什么原因呢?還是默認是這樣?就是第二張圖里面看交叉引用,按理說(shuō)40001地址對應的讀取到的內容就存放入VW600中是嗎?請問(wèn)
剛才也測試了一下,確實(shí)是這樣,看樣子就是這樣的。
40001 VW100
40002 VW102
40003 VW104
如果讀來(lái)的是浮點(diǎn)數,則是兩個(gè)字
比如 40001、40002 合起來(lái)是 VD600
S7-200 SMART Modbus RTU通信常見(jiàn)問(wèn)題
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/020.html
&VB600里面是VW600,換個(gè)地址試試看下
這個(gè)是西門(mén)子200(smart)指針調用的規約,只能編輯指針的首字節地址,至于具體到底是位?字節?字?還是雙字(浮點(diǎn)數),看MSG指令其它管腳的定義。
具體有Addr及Count管腳數據定義,最后被分配到DataPtr管腳。
你理解的沒(méi)有錯,當Addr定義到40001地址后,DataPtr管腳的數據對應為字,首字節VB600,實(shí)際為VW600的地址中。
整體MSG指令含義:
讀取從站10#的40001數據,將讀取到的數據存放在VW600的地址中。
按照你說(shuō)的,剛才做了下測試,確實(shí)是你說(shuō)的這樣,之前還真沒(méi)注意這么回事,個(gè)人理解:
1.在西門(mén)子定義里面,你程序是采集1個(gè)對方地址,西門(mén)子默認就是以D方式來(lái)指針偏移
2.比如你采集的real、那么交叉里面的D,你全部占有
3.如果你采集的W,按照高低位來(lái)判斷位置 的話(huà),你也是VW600,而VW602一直處于0的狀態(tài)