西門子200smartPLC Modbus讀取絕對值編碼器的數據
通過modbus讀取絕對編碼器的數據,使用MBUS_CTRL和MBUS_MSG指令讀取數據
1.初始化
BAUD:波特率
Parity:校驗類型,這裏選擇的是,偶校驗。0為(wei) 無校驗,1為(wei) 奇校驗,2為(wei) 偶校驗。
Port:通訊端口號,這裏使用的是0端口,也就是CPU上的DB9針孔
Timeout:超時時間
2.讀取絕對值編碼器的位置數據
Sm0.5:每1秒接通0.5秒,也就是每1秒執行一次指令
Slave:從(cong) 站地址
RW:0讀取,1寫(xie) 入
Addr:編碼器儲(chu) 存位置數據的存儲(chu) 器起始地址
Count:需要讀取的存儲(chu) 器的數量
DATA:讀取的位置值存放進VB4000開始的存儲(chu) 器內(nei) 。
3.重新設置編碼器的位置數據
比如將當前位置設置為(wei) 0。可以在vb5000裏麵寫(xie) 進0,然後執行一次這個(ge) 指令即可。
4.計算實際體(ti) 的位移值,比如說編碼器轉動一圈會(hui) 產(chan) 生一個(ge) 脈衝(chong) 數的變化,根據這個(ge) 脈衝(chong) 數的變化與(yu) 實際的位移進行一個(ge) 換算,這樣可以將物體(ti) 實際產(chan) 生的位移在PLC內(nei) 部計算出來。大家可以看下這個(ge) 實例的的功能。看看能不能推出來,編碼器轉動一圈的脈衝(chong) 數和實際的位移。
注意事項:
編碼器不同,內(nei) 部的數據村存儲(chu) 地址也不同,在讀寫(xie) 編碼器的內(nei) 部地址時需要確定對應的地址是否正確。