数据类型 MC_AxisDirection 是 MotionInterface 库的枚举 ET_AxisDirection 的别名。有关详细信息,请参阅 MotionInterface 库指南。
此数据类型定义新/缓存的运动相对于正在进行的运动的启动方法。
名称 |
值 |
描述 |
---|---|---|
Aborting |
0 |
正在进行的运动被中止,且在下一个可能的实时循环中立即执行新运动。 |
Buffered |
1 |
一旦正在进行的运动达到其稳定状态,便执行新/缓存的运动,这对应于功能块输出 Done、InVelocity、InSync 或 EndOfProfile,具体取决于正在进行的运动。当前一个作业达到其稳定状态时,缓存的作业在实时循环中立即激活。它不需要等到输出随后在下一个应用程序任务循环中编程 TRUE。 |
BlendingLow(1) |
2 |
一旦正在进行的运动已完成,便执行新/缓存的运动,但这两种运动之间不存在静止状态。转换是以正在进行的运动和新/缓存的运动的两个速度值中较低的速度值来执行的。 |
BlendingPrevious(1) |
3 |
一旦正在进行的运动已完成,便执行新/缓存的运动,但这两种运动之间不存在静止状态。转换是以正在进行的运动的速度值来执行的。 |
BlendingNext(1) |
4 |
一旦正在进行的运动已完成,便执行新/缓存的运动,但这两种运动之间不存在静止状态。转换是以新/缓存的运动的速度值来执行的。 |
BlendingHigh(1) |
5 |
一旦正在进行的运动已完成,便执行新/缓存的运动,但这两种运动之间不存在静止状态。转换是以正在进行的运动和新/缓存的运动的两个速度值中较高的速度值来执行的。 |
StartAtMasterposition(1) |
6 |
用于缓冲要通过 MC_CamIn 从指定主轴位置开始运动的凸轮。 |
(1) 仅适用于功能块 MC_MoveVelocity、MC_MoveAbsolute、MC_MoveAdditive 和 MC_MoveRelative |
下表详细介绍了不同功能块的缓存 (MC_BufferMode.Buffered) 是如何工作的:
功能块 |
可以将功能块的运动指定作为缓存的运动 |
缓存的运动可以沿循功能块的运动 |
缓存命令的激活条件 |
---|---|---|---|
MC_Power |
否 |
无 (1) |
- MC_Power 不是运动功能块。 |
MC_MoveVelocity |
是 |
是 |
InVelocity |
MC_MoveAbsolute |
是 |
是 |
Done |
MC_MoveAdditive |
是 |
是 |
Done |
MC_MoveRelative |
是 |
是 |
Done |
MC_Home |
否 |
否 |
无 |
MC_Stop |
否 |
是 |
Done 和输入 Execute 设置为 FALSE |
MC_Halt |
是 |
是 |
Done |
MC_CamIn |
是 |
是(1) |
EndOfProfile,无论输入 Periodic 是设置为 TRUE 还是设置为 FALSE |
MC_GearIn |
否 |
是 |
InGear |
MC_PhasingAbsolute |
否 |
否 |
- |
MC_MoveSuperImposed |
否 |
否 |
- |
MC_CustomJob |
是 |
是 |
InSteadyState |
(1) 不同于 PLCopen Motion Control Part 1, Version 2.0 规范。 |
控制器在与(比如计算循环参考和目标值的)实时运动任务分开的任务中执行(调用运动控制功能块的)用户应用程序任务。如要在已激活的功能块达到其稳定状态(Done、inVelocity、EndOfProfile、InGear)的同一 Sercos 循环中启动功能块,则需要提前缓存此功能块。如果通过(比如)前一个功能块的 EndOfProfile 信号而不是通过缓存此信号来触发下一个功能块的启动 (Execute),则会导致一个或多个延迟循环,在此延迟循环期间,没有功能块被激活,且轴保持在静止状态。有关详细信息,请参阅任务概念。
数据类型 MC_CamSwitch 是 MotionInterface 库的结构 ST_CamSwitch 的别名。有关详细信息,请参阅 MotionInterface 库指南。
数据类型 MC_CamSwitchMode 是 MotionInterface 库的枚举 ET_CamSwitchMode 的别名。有关详细信息,请参阅 MotionInterface 库指南。
数据类型 MC_CamSwitch_Ref 是 MotionInterface 库的结构 ST_CamSwitch_Ref 的别名。有关详细信息,请参阅 MotionInterface 库指南。
数据类型 MC_CAM_ID 是 CommonMotionTypes 库的结构 ST_MultiCam 的别名。有关详细信息,请参阅 CommonMotionTypes 库指南。
此数据类型定义运动方向。
对于 MC_MoveVelocity 和 MC_MoveRelative,此方向能够(通过反转速度或距离的正负符号来)使运动方向反转。这一操作不受轴类型(模式或线性)影响。
对于 MC_MoveAbsolute 以及 MC_CamIn 的斜坡逼近功能,方向输入指定的是逼近绝对目标位置时所沿循的方向。对于这些功能块,仅为模数轴考虑此方向。对于线性轴,则会忽略此方向(因为线性轴上的绝对位置逼近发生在仅算术上可能的方向)。
名称 |
值 |
描述 |
---|---|---|
PositiveDirection |
0 |
正运动方向 |
NegativeDirection |
1 |
负运动方向 |
ShortestWay(1) |
2 |
运动方向取决于距离目标位置行程最短的是正向运动还是负向运动。 |
(1) 仅适用于功能块 MC_MoveAbsolute 和 MC_CamIn。 |
数据类型 MC_Interpolation_Mode 是 MotionInterface 库的枚举 ET_InterpolationMode 的别名。有关详细信息,请参阅 MotionInterface 库指南。
数据类型 MC_Interpolation_Parameter 是 MotionInterface 库的结构 ST_Interpolation_Parameter 的别名。有关详细信息,请参阅 MotionInterface 库指南。
名称 |
值 |
描述 |
---|---|---|
Absolute |
0 |
凸轮在等于运动开始时的绝对主轴位置的 X 坐标处开始。 |
Relative |
1 |
凸轮在等于第一个凸轮点的 X 坐标的 X 坐标处开始,此第一个凸轮点被假设为与运动开始时的主轴位置相关。 |
数据类型 MC_OperationMode 通过输入 OperationMode 指定 MC_MoveVelocity 的运行模式。
名称 |
值 |
描述 |
---|---|---|
Position |
0 |
速度控制,且驱动器中激活了位置控制回路 (Cyclic Synchronous Position)。 |
Velocity |
1 |
Cyclic Synchronous Velocity,纯速度控制。 |
Position 值以功能块 MC_MoveVelocity 的输入 Velocity 处设置的速度执行运动。在这个运行模式下,驱动器的位置控制回路保持激活 (Cyclic Synchronous Position)。这是功能块 MC_MoveVelocity 的缺省运行模式。
Velocity 值激活 Cyclic Synchronous Velocity 运行模式。在这个运行模式下,驱动器的位置控制回路不激活(纯速度控制)。
当功能块 MC_MoveVelocity 的输入 OperationMode 的值为 Velocity 且输入 Execute 的值从 FALSE 改为 TRUE 时,启动 Cyclic Synchronous Velocity 运行模式。
必须勾选“功能配置”选项卡上的复选框 VelocityOperationMode,才能启用 Cyclic Synchronous Velocity 运行模式。
如果轴的驱动器不支持 Cyclic Synchronous Velocity 运行模式,或者如果尚未为轴启用此运行模式,那么在此运行模式下为这个轴执行 MC_MoveVelocity 时,会导致 MC_MoveVelocity 检测到错误,但轴行为不受影响。
如果已激活的运行模式是 Cyclic Synchronous Velocity 且执行了功能块 MC_Stop 或 MC_Halt,或者如果检测到错误并导致转换到 ErrorStop 运行状态,那么 Cyclic Synchronous Velocity 运行模式会保持激活状态。
如果正在 Cyclic Synchronous Velocity 运行模式下执行 MC_MoveVelocity 时,试图启动运动功能块(比如,MC_MoveAbsolute),那么便不会执行该运动功能块,且其输出 Error 设置为 TRUE。MC_MoveVelocity 继续在 Cyclic Synchronous Velocity 运行模式下运行。
如要从 Cyclic Synchronous Velocity 运行模式切换到别的运行模式,请使用功能块 MC_Stop 或 MC_Halt 停止轴。若执行除 MC_MoveVelocity 之外的任何运动功能块,则运行模式会从 Cyclic Synchronous Velocity 切换到该功能块所使用的运行模式。例如,如要在不启动运动的情况下从 Cyclic Synchronous Velocity 运行模式切换到 Cyclic Synchronous Position 运行模式,可以使用值为 0 的距离执行功能块 MC_MoveRelative。如要在不执行运动功能块的情况下离开 Cyclic Synchronous Velocity 运行模式,请通过功能块 MC_Power 禁用、然后再重新启用驱动器的输出级。
如果驱动器未在 30 个 Sercos 循环内确认所请求的运行模式,则会检测到错误(发出请求的功能块的暑促 Error 设置为 TRUE)。
名称 |
值 |
描述 |
---|---|---|
Absolute |
0 |
如要启动凸轮,从轴的位置应直接设置为第一个计算 Y 值。从轴位置基于凸轮定义以及“从站所见的主站”来计算。这与从站启动模式 Relative 和 RampIn 不同,在这两种模式下,不存在偏移和叠加运动。参考速度和加速度与凸轮定义来计算。 如果从站的位置与其针对凸轮的计算起始位置(Y 值)之间不存在位置差,并且如果此起始位置无法在一个任务扫描内到达,则会报错。然而,如果尽管存在位置差,但仍能够到达此起始位置,那么此运动可能是以突然位置跳跃的形式进行的。 |
Relative |
1 |
凸轮在 f(X start) 定义的 Y 坐标处开始,其中 f() 是凸轮函数,X start 由主站起始模式决定 (MC_Master_Start_Mode)。这个 Y 坐标与当前从轴位置相关。 |
RampIn |
2 |
假设绝对从轴位置应等于用于要同步的凸轮的凸轮Y 坐标。 在一开始,凸轮以类似于相对于从站运动的方式开始,这就意味着,在凸轮开始时,f(X start) 与绝对从轴位置相关。然后执行斜坡逼近运动,这会使从轴偏移以便使得轴位置的坐标系与 Y 轴坐标系一致。 |
警告 | |
---|---|
数据类型 MC_Track_Ref 是 MotionInterface 库的结构 ST_Track_Ref 的别名。有关详细信息,请参阅 MotionInterface 库指南。
MC_Trigger_Ref 是 DAL.IF_Trigger 的别名。这是一种用于 MC_TouchProbe 和 MC_AbortTrigger 的输入类型,旨在将功能块连接到相应的 TouchProbe,类似于 Axis_Ref。
接口 MC_Trigger_Ref/DAL.IF_Trigger 提供 UINT 类型的属性 CaptureEdge,此属性的值可以在 0 至 2 的范围内。
名称 |
值 |
描述 |
---|---|---|
FallingEdge |
0 |
下降沿 |
RisingEdge |
1 |
上升沿 |
BothEdges |
2 |
上升沿和下降沿 |
VAR
fb_MC_TriggerRef: PLCO.MC_Trigger_Ref;
fb_MC_Touchprobe : PLCO.MC_TouchProbe;
END_VAR
fb_MC_TriggerRef := DRV_Lexium32S.triggerCap1;
fb_MC_TriggerRef.CaptureEdge := MOIN.ET_CaptureEdge.RisingEdge;
fb_MC_Touchprobe(Axis := DRV_Lexium32S.Axis, ifTrigger := fb_MC_TriggerRef);