引言
“超驰“ Override”这个词在日常生活中非常罕见,而且即使在书面语中也是很难见到。从历史上看,首先是在自动控制领域中出现的超驰这个翻译,但是扩展到运动控制领域,这个翻译对应的含义却和自动控制领域不同。
在运动控制中,经常需要一个运动动作即将结束时,平滑顺利的过渡到下一个运动控制指令,运动不停止从而提升效率。又存在一些情况下,不同的运动类型需要切换,而这种切换就需要指令之间进行替换。
指令的衔接和替换就是在运动控制领域中Override这个超驰功能所对应的含义了。
本文“S7-1200运动控制的超驰功能”对此进行了详细的比对和时间片上的分析,可以帮助深入了解超驰行为的特点和作用。
S7-1200运动控制的超驰功能
超驰功能介绍
S7-1200 PLC运动控制指令之间存在相互覆盖和中止的情况,这种特性叫做“超驰”,利用超驰功能,轴不用停止,可以平滑地过渡到新的指令或是同一个指令的新参数。
超驰功能示例
下面通过示例说明超驰的特性:
(1)实验条件
软件:
TIA STEP7 Professional V16
硬件:
CPU1215C DC/DC/DC
订货号:6ES7 215-1AG40-0XB0,固件版本V4.4
SINAMICS V90 PTI 200V 100W
订货号:6SL3210-5FB10-1UA1
SIMOTICS S-1FL6 motor 100W
订货号:1FL6024-2AF21-1AG1
(2)实验内容
通过TIA STEP7 V16软件添加新设备,选择CPU1215C,并组态工艺对象TO_PositioningAxis V7.0版本,选择驱动器为PTO,如图所示。然后调用运动控制指令。
组态工艺对象
实验一:两个绝对位移指令的超驰功能
在主程序OB1中,调用两个“MC_MoveAbsolute”指令(注:在执行“MC_MoveAbsolute”指令前,需要通过“MC_Power”指令对轴使能,并通过“MC_Home”指令对轴进行回原点操作)。第一个“MC_MoveAbsolute”指令的Position = 1000 mm,Velocity = 100 mm/s;第二个“MC_MoveAbsolute”指令的Position = 1500 mm,Velocity = 200 mm/s。程序如图所示:
超驰功能程序
程序执行过程通过Trace曲线记录,如图3所示:
超驰功能的Trace曲线一
结论:从图3中可以看出,在第一个绝对位移指令运行中,触发第二个绝对位移指令,利用超驰功能,轴不停止,直接过渡到新的指令,并按照新指令的参数执行。
实验二:绝对位移指令和回原点指令的超驰功能
对于回原点指令“MC_Home”,超驰响应取决于所选的模式:当模式Mode = 0, 1, 6, 7时,任何其它运动控制命令均无法中止“MC_Home”指令。同时“MC_Home”指令也不会中止任何激活的运动控制命令。当按照新的回原点位置(输入参数“Position”的值)进行回原点操作后,将继续执行与位置相关的运动命令。
在主程序OB1中,调用一个“MC_MoveAbsolute”指令。参数Position = 1000 mm,Velocity = 100mm/s;再调用一个“MC_Home”指令,Position = 0 mm,Mode = 0。程序如图所示:
超驰功能程序二
程序执行过程通过Trace曲线记录,如图所示:
超驰功能的Trace曲线二
结论:从后图中可以看出,执行回原点指令“MC_Home”,当模式Mode = 0时,不会中止正在执行的绝对位移指令,按照新的回原点位置进行回原点操作后,将继续执行绝对位移指令。
指令响应时间
S7-1200将一个位置移动按时间细分成若干片段,对PTO轴,执行每个时间片的时间为10ms。执行一个时间片时,下一时间片会在队列中等待执行。如果执行该轴的一个新运动任务,可能等待最大20ms(当前时间片+排队时间片)。
在TIA STEP7 Professional V16的工艺对象TO_PositioningAxis V7.0版本中,可以设置时间片的时间,参数为PTOSliceTime,如图6所示,int类型,范围是2-20(默认值为10),单位为ms。
PTOSliceTime参数
下面以两个相对位移指令的超驰功能为例,说明PTOSliceTime参数的作用。
实验三:超驰功能指令的响应时间
设置PTOSliceTime = 5ms,在循环中断OB30中,调用一个“MC_MoveRelative”指令,Distance = 100000脉冲,Velocity = 10000 脉冲/s;调用一个“MC_ReadParam”指令,读取Velocity参数,并保存在MD100(变量名称:Velocity,数据类型:REAL)中。在硬件中断OB40中(通过I0.0的上升沿触发),调用第二个“MC_MoveRelative”指令,Distance = 300000脉冲,Velocity = 60000 脉冲/s。程序执行过程通过Trace曲线记录,如图所示:
超驰功能的Trace曲线三
图中的红色方框内的曲线,放大后如下图所示:
超驰功能的Trace曲线四
结论:从后图可以看出,第二个“MC_MoveRelative”指令的超驰响应时间约为7.45ms,即当前时间片加排队时间片的时间。
本文版权归西门子工业1847俱乐部所有,转载或者引用本文内容需注明来源及作者。