三菱FX3U的PLC ,下面是一段找机械原点的程序,大家帮忙看看对不对?

其中X2是我想要设定的原点处的一个传感器,,,当按下开关X1,伺服转动,碰到X2电机停止,清零找到原点,对吗???

最好不要用DRVI来做回原点的指令,不准确。三菱的PLC里有个ZRN的指令是回原点的指令,指令的形式是这样的,ZRN KX KXX Xm y0 意思是这样的,当这个指令为ON时,先以KX的速度向回来的方向运行,当Xm为ON时,将速度降至KXX,当Xm由ON到OFF的瞬间,指令完成,标志位M8029置ON一个周期。追问

用这个指令就是外部一定要装一个Xm(接近信号),,,,可是我机器设计时没装。。。

而且我上面的程序是来找原点的 ,,,不是回原点。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-23
你这个程序只能运行一次,因为m0没有做复位。追问

就当一次找原点,那这样可以的嘛?

第2个回答  推荐于2017-12-16
程序存在以下问题:
1、DRVI的参数决定了只能正方向移动,若原点在负方向上,就不可能回到原点;
2、DRVI的参数决定了脉冲数只有3600,即使原点方向对,这个脉冲数是否能回到原点?
3、即时原点方向正确,脉冲数也够,是能回到原点了,清零应该用32位指令[DMOV K0 D8340]。
4、由于回到原点后没有复位M0,若机器一旦离开原点,就会自动接通回原点指令,造成冲突。

回原点的控制思路:
1、检测原点信号,判断回原点方向
2、快速移动回到原点附近
3、慢速移动,一旦准确到达原点,清零并复位指令。追问

1:我在负方向上也有传感器的,一旦碰到,伺服反转,
2:脉冲3600,我脉冲当量是0.1,所以360度肯定足够啦,
3:这一点是为什么呢??、为什么一定要用32位啊,我刚学PLC
4:如果清零M0,机器就可以离开原点了吧???还有确定的原点,那用DRVA K0 D1 Y0 Y3就可以回原点吧??求指教

追答

3、因为Y000脉冲当前值寄存器是D8341D8340,要使这两个寄存器同时清零。
4、清零M0可以了。用DRVA K0 D1 Y0 Y4也可以回原点,但存在隐患:由于齿轮正、反转吻合时会有脉冲误差,工作时间越长,累积脉冲误差越大,回原点的偏差也越大。所以实际工作中,在对好原点后,自动工作可以用DRVA K0 D1 Y0 Y4回原点提高效率,但隔一定的时间要进行一次回原点,以便消除脉冲累积误差。

本回答被提问者采纳