通过轴控制面板调试成功后,可以根据工艺要求编写运动控制程序。
1.运动控制指令
MC_Power:使能轴或禁用轴。在其他运动控制指令之前需一直调用并使能。相关参数见表12-23。
表12-23 MC_Power参数表
(续)
后续介绍的指令如果有含义相同的参数,将不再累述。
MC_Reset:用来确认伴随轴停止出现的运行错误和组态错误。相关参数见表12-24。
表12-24 MC_Reset参数表
MC_Home:使轴归位,设置参考点,用来将轴坐标与实际的物理驱动器位置进行匹配。轴做绝对位置定位前一定要触发“MC_Home”指令,相关参数见表12-25。
表12-25 MC_Home参数表
(续)
MC_Halt:停止所有运动并以组态的减速度停止轴。
MC_MoveAbsolute:使轴以某一速度进行绝对位置定位。在使能绝对位置指令之前,轴必须回原点,相关参数见表12-26。
表12-26 MC_MoveAbsolute参数表
MC_MoveRelative:使轴以某一速度在轴当前位置的基础上移动一个相对距离。相关参数见表12-27。
表12-27 MC_MoveRelative参数表
MC_MoveVelocity:使轴以预设的速度运行,相关参数见表12-28。
表12-28 MC_MoveVelocity参数表
MC_MoveJog:在点动模式下以指定的速度连续移动轴。正向点动和反向点动不能同时触发,如果两个参数同时为TRUE,轴将根据所组态的减速度停止。相关参数见表12-29。
表12-29 MC_MoveJog参数表
(www.xing528.com)
MC_CommandTable:根据用户定义的命令表,使轴顺序执行命令表中的命令。使用该指令的前提是用户已经组态了命令表工艺对象“TO_CommandTable”,相关参数见表12-30。
表12-30 MC_CommandTable参数表
MC_ChangeDynamic:更改轴的动态设置参数,包括:加速时间(加速度)值、减速时间(减速度)值、急停减速时间(急停减速度)值、平滑时间(冲击)值,相关参数见表12-31。
表12-31 MC_ChangeDynamic参数表
注意:
当触发“MC_ChangeDynamic”指令的Execute引脚时,使能修改的参数值将被修改,不使能的不会被更新。
MC_WriteParam:可在用户程序中写入轴工艺对象和命令表对象中的变量,指令使用如图12-80所示。
参数类型:选择Parameter参数的数据类型。相关参数见表12-32。
表12-32 MC_WriteParam参数表
MC_ReadParam:可在用户程序中读取轴工艺对象和命令表对象中的变量。指令使用如图12-81所示。
图12-80 MC_WriteParam指令使用
图12-81 MC_ReadParam指令使用
参数类型:选择Parameter参数的数据类型。
相关参数见表12-33。
表12-33 MC_ReadParam参数表
2.超驰功能
S7-1200 PLC运动控制指令之间存在相互覆盖和中止的情况。这种特性叫做“超驰”,利用超驰功能,轴不用停止,可以平滑地过渡到新的指令或是同一指令的新参数。以两个“MC_MoveRelative”指令为例进行说明,除了在程序里调用“MC_Power”指令和“MC_Reset”之外,还调用了两个“MC_MoveRelative”指令。第一个“MC_MoveRelative”指令的Distance=1000.0mm,Velocity=50.0mm/s;第二个“MC_MoveRela-tive”指令的Distance=500.0mm,Velocity=30.0mm/s。分为两种执行情况,如图12-82所示。
图12-82 超驰响应
情况①:当第一个“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”指令覆盖了第一个“MC_MoveRelative”指令。
也可以用其他的指令,比如“MC_MoveJog”、“MC_Home”、“MC_MoveAbsolute”和“MC_MoveVelocity”等来覆盖旧的“MC_MoveRelative”指令,也可以在当前“MC_Move- Relative”指令执行过程中,更新该指令的Distance和Velocity数值后,再次触发该“MC_MoveRelative”指令的Execute引脚,实现实时覆盖的功能。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。