1. 绝对定位和相对定位区别?
答:相对定位是指在轴当前位置的基础上正方向或负方向移动一段距离;绝对定位指的是当轴建立了绝对坐标系后,轴的每个位置都有固定的坐标,无论轴的当前位置值是多少,当轴指令了绝对运行指令后相同的坐标值,轴最终都定位到同一个位置。
2. 如何设置MC_MoveRelative方向运行?
答:将MC_MoveRelative指令中的“Distance”设置成负值就可以让轴向负方向运行了。如下图所示。
3. 为什么有时用户在监控程序的时候看不到指令的完成位Done的为1?
答:带有Execute管脚的指令,例如MC_MoveRelative等指令的Done和Execute之间有下图中描述的关系:
如上图所示,如果"Execute"在命令执行完成之前设置为 FALSE,则"Done"的值仅在一个执行周期内为 TRUE。因此,如果用户用|P|指令触发带有“Execute”管脚的指令,则该指令的“Done”只在一个扫描周期内为1,因此在监控程序时看不到Done位为1。用户可以通过在程序中添加指令用Done置位一个位来判断,如下图所示,用MC_MoveRelative为例进行说明。
4. 回原点已完成信号什么时候会丢失?
答:最常见的就是S7-1200CPU重新上电后,回原点已完成信号会丢失,用户需要重新启动MC_Home指令。
• 通过"MC_Power"运动控制指令禁用轴
• 在自动模式和手动控制之间切换,也就是用户使用控制面板和程序切换时会丢失回原点已完成信号
• 在启动主动回原点时。 在成功完成回原点操作之后,轴回原点将再次可用。
• CPU 重新启动后(RUN-STOP -> STOP-RUN),包括CPU断上电。
5. 什么时候需要执行回原点命令?
答:用户需要使用MC_MoveAbsolute指令之前执行回原点指令。
6. 如果实际没有原点开关和限位开关,可以使用绝对定位指令MC_MoveAbsolute吗?
答:可以,用MC_Home指令的Mode=0和Mode=1方式,让轴完成绝对坐标定位。然后就可以调用MC_MoveAbsolute指令进行绝对运动了。MC_Home指令的Mode 0 和Mode 1在MC_Home指令部分有详细说明。
7. 用户在实际执行回原点指令时,轴遇到原点开关没有变化,直到运行到硬件限位开关停止报错?
答:首先要测试原点开关是否起作用,也就是说当轴碰到原点开关时,原点开关的DI点的指示灯是否点亮。
可能的原因如下:
①寻找原点开关的速度过快,可以减小“逼近速度”和“参考速度”
②原点开关有效时间过短,可以设置DI点滤波时间,例如上图原点开关是I0.4,则在“设备视图”中减小I0.4的滤波时间,默认情况下DI的滤波时间是6.4millisec,用户根据DI点有效时间选择合适的滤波时间。
8. 为什么轴在执行主动回原点命令时,初始方向没有找到原点,当需要碰到限位开关掉头继续寻找原点开关时并没有掉头,而是直接报错停止轴,报错原因是由于轴碰到了限位开关?
答:有几种可能:
①用户没有使能“允许硬件限位开关处自动反转”的选项。
②增大组态的加速度/减速度,因为轴在主动回原点期间到达硬件限位开关,轴将以组态的减速度减速(不是以紧急减速度),然后反向运行寻找原点开关。
③增大硬件限位开关和机械停止块间的距离。如下图所示,正常情况下,轴按照下图的方式掉头寻找原点开关:
如果硬件限位开关和机械停止块间的过近,无论如何增大“减速度”,仍旧不能正常掉头,如下图所示:
则需要增大硬件限位开关和机械停止块间的距离,为上图中D。
9. S7-1200 CPU上电后轴的位置是多少?
答:S7-1200 CPU每次上电后轴的位置都是0,不会保留断电前的位置值。