楼主最近还看过
我看有好多回复的,可能没有回复到你说的问题点上,你说的是用MODBUS协议来控制伺服,并不是简单读写指令那么简单。
我这里不说MODBUS协议来如何读写变频器/伺服等参数了,专门讲下如何控制伺服定位。
物理层为485.使用MODBUS RTU协议。伺服驱动器必须要特殊的,带点位控制的。比如我下面介绍安川伺服的点位控制模式。
PLC与伺服通过485物理层连接 一共三根线 485+ 485- GND 多台伺服使用总线超过30CM建议加终端电阻120欧姆。
要实现MODBUS RTU控制伺服 必须要有伺服的 “控制字” “状态字”
伺服电机使用绝对值编码器,设备无需回零,直接绝对定位。
由于属于串行异步半双工通讯 PLC编程必须做好轮循,也就是读写不能同时进行。比如信捷PLC的顺序功能块,往下排即可。
控制字:
状态字:
设定数据组位置:
读电机位置方法:
私信发程序:
使用方法:
伺服电机初次装设备上,先多圈清零,然后给绝对定位位置为0,让电机走到绝对0位置,以后可以根据这个0位置进行绝对定位,当然初次不归零,直接读实际位置计算也行,只不过程序蛮烦些。
总之伺服用485控制定位是可行的。不管CANopen,Profinet,EtherCAT去定位均可行。
看应用场合和高级程度,总结如下:
EtherCAT>Profinet>CANopen>MODBUS RTU。