S7-1200运动控制的超驰功能

2022-03-29 16:35:31 浏览数 (2)

1 S7-1200运动控制的超驰功能

1.1 超驰功能介绍

S7-1200 PLC运动控制指令之间存在相互覆盖和中止的情况,这种特性叫做“超驰”,利用超驰功能,轴不用停止,可以平滑地过渡到新的指令或是同一个指令的新参数。

1.2 超驰功能示例

下面通过示例说明超驰的特性:

(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,如图1所示。然后调用运动控制指令。

图1 组态工艺对象

实验一:两个绝对位移指令的超驰功能

在主程序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。程序如图2所示:

图2 超驰功能程序一

程序执行过程通过Trace曲线记录,如图3所示:

图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。程序如图4所示:

图4 超驰功能程序二

程序执行过程通过Trace曲线记录,如图5所示:

图5 超驰功能的Trace曲线二

结论:从图5中可以看出,执行回原点指令“MC_Home”,当模式Mode = 0时,不会中止正在执行的绝对位移指令,按照新的回原点位置进行回原点操作后,将继续执行绝对位移指令。

1.3 指令响应时间

S7-1200将一个位置移动按时间细分成若干片段,对PTO轴,执行每个时间片的时间为10ms。执行一个时间片时,下一时间片会在队列中等待执行。如果执行该轴的一个新运动任务,可能等待最大20ms(当前时间片 排队时间片)。

在TIA STEP7 Professional V16的工艺对象TO_PositioningAxis V7.0版本中,可以设置时间片的时间,参数为PTOSliceTime,如图6所示,int类型,范围是2-20(默认值为10),单位为ms。

图6 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曲线记录,如图7所示:

图7 超驰功能的Trace曲线三

图7的红色方框内的曲线,放大后如图8所示:

图8 超驰功能的Trace曲线四

结论:从图8中可以看出,第二个“MC_MoveRelative”指令的超驰响应时间约为7.45ms,即当前时间片加排队时间片的时间。

0 人点赞