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