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