S7-1200运动控制的超驰功能
超驰功能介绍
S7-1200PLC运动控制指令之间存在相互覆盖和中止的情况,这种特性叫做“超驰”,利用超驰功能,轴不用停止,可以平滑地过渡到新的指令或是同一个指令的新参数。
超驰功能示例
下面通过示例说明超驰的特性:
(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_PositioningAxisV7.0版本,选择驱动器为PTO,如图所示。调用运动控制指令。
组态工艺对象
实验一:两个juedui位移指令的超驰功能
在主程序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中可以看出,在第一个juedui位移指令运行中,触发第二个juedui位移指令,利用超驰功能,轴不停止,直接过渡到新的指令,并按照新指令的参数执行。
实验二:juedui位移指令和回原点指令的超驰功能
对于回原点指令“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时,不会中止正在执行的juedui位移指令,按照新的回原点位置进行回原点操作后,将继续执行juedui位移指令。
指令响应时间
S7-1200将一个位置移动按时间细分成若干片段,对PTO轴,执行每个时间片的时间为10ms。执行一个时间片时,下一时间片会在队列中等待执行。如果执行该轴的一个新运动任务,可能等待Zui大20ms(当前时间片+排队时间片)。
在TIA STEP7 Professional V16的工艺对象TO_PositioningAxisV7.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,即当前时间片加排队时间片的时间。