西门子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。可以在vb5000里面写进0,然后执行一次这个指令即可。
4.计算实际体的位移值,比如说编码器转动一圈会产生一个脉冲数的变化,根据这个脉冲数的变化与实际的位移进行一个换算,这样可以将物体实际产生的位移在PLC内部计算出来。大家可以看下这个实例的的功能。看看能不能推出来,编码器转动一圈的脉冲数和实际的位移。
注意事项:
编码器不同,内部的数据村存储地址也不同,在读写编码器的内部地址时需要确定对应的地址是否正确。