在该系统中,为了开机方便,我用了绝对位置控制,所以在PLC的程序中,要编写“绝对位置恢复”指令。相关手册上的程序例子如下图所示:
此主题相关图片如下,点击图片看大图:
由于我设计的系统为两轴系统,所以我编写的程序如下图所示:
此主题相关图片如下,点击图片看大图:
因为绝对位置恢复要用到连续的三点,所以根据程序,我在进行硬件接线时,将Y15、Y16、Y17接到了第一轴伺服的相应点上。将Y18、Y19、Y1A接到了第二轴伺服的相应点上。
可是,在进行设备调试时,问题出现了。在进行绝对位置恢复时,第一轴没有问题,可第二轴有时会有报警,有时会有不对的数值。我当时很纳闷,因为是同样的编程,怎么会一个轴没问题,一个轴有问题呢!
后来经过仔细查看,发现我忽略“MOV D44 K1Y15”这条指令的意义。这里的K1代表4,指令的含义是将D44.0,D44.1,D44.2,D44.3分别传送给Y15,Y16,Y17,Y18。虽然第一轴绝对位置恢复时,没有用到D44.3,但也给Y18传送了0。所以做第二轴绝对位置恢复时,就不能再用到Y18这个点了,同样这个点也不能用于其它的用途了。
我重新接线,将Y18点空开,把Y19,Y1A,Y1B接到了第二轴伺服的相应点上,Y1C点空开。同时将程序修改如下图示,结果调试成功。
此主题相关图片如下,点击图片看大图:
我在手册上找到了相关的位编程的介绍,帖图如下:
此主题相关图片如下,点击图片看大图:
另补充一点,在绝对值恢复前,不要给伺服“PLC READY”信号,否则绝对位置恢复失败。相关程序编写如下图示:
此主题相关图片如下,点击图片看大图: