>导读:我们在使用1200PLC 编程控制步进或者伺服电机的时候,可能会同时出现两个以上的定位指令,如果两个定位指令没有协调好,那么我们编写的程序可能就达不到控制要求。为此我们一起来聊聊如何更好地协调设备的运动轨迹。 基本上除了MC_Power指令,每种指令都有被Override的情况,就是说用户可以用新的指令覆盖正在执行的命令以中止当前动作切换到新的命令的执行。用两个MC_MoveRelative为例进行说明,如下图所示,除了在程序里调用了MC_Power指令和MC_Reset之外,还调用了两个MC_MoveRelative指令。 第一个MC_MoveRelative指令的Distance = 1000.0mm,Velocity = 50.0mm/s; 第二个MC_MoveRelative指令的Distance = 500.0mm,Velocity = 30.0mm/s。 情况①,当第一个MC_MoveRelative指令执行完时触发第二个MC_MoveRelative指令; 情况②,在第一个MC_MoveRelative指令执行过程中触发第二个MC_MoveRelative指令。 情况①时,第一个MC_MoveRelative指令让轴移动到了A点,触发第二个MC_MoveRelative指令后,轴在A点的基础上以30.0mm/s的速度移动了500.0mm的距离。 情况②,在第一个MC_MoveRelative指令执行过程中立即触发了第二个MC_MoveRelative指令,轴从A'点的位置立即以二个MC_MoveRelative指令的参数运行,轴从当前的50.0mm/s的速度以减速度降到30.0mm/s,在A'的基础上运行500.0mm的距离达到B'点。 『结论』以MC_MoveRelative指令为例说明Override的特点 - 可以用第二个MC_MoveRelative指令覆盖第一个MC_MoveRelative指令
- 可以用其他的指令,比如MC_MoveJog、MC_Home,MC_MoveAbsolute,MC_MoveVelocity等来覆盖旧的MC_MoveRelative指令
- 也可以在当前MC_MoveRelative指令执行过程中,更新该指令的Distance和Velocity数值后,再次触发该MC_MoveRelative指令的Execute管脚,也可以实现实时Override的功能
『优点』轴不用停止,可以平滑过渡到新的指令或是同一指令的新参数。 最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |