运动轴时间凸轮 (MATC)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。运动轴时间凸轮 (MATC) 指令用于在一个轴上(随时间)或在两个轴之间(在主轴驱动模式下)实现电子凸轮传动。
执行后,指定的轴将与时间同步,或者使用凸轮廓线与主轴同步,该廓线由
Logix Designer
凸轮廓线编辑器或运动计算凸轮廓线 (MCCP) 指令生成。该指令还提供一种简单方法,可在凸轮执行期间在任何位置取消正在运行的时间凸轮,将其替换为其他廓线。在主轴驱动模式下,立即或计划在特定位置进行替换。
MATC 指令可针对时间驱动模式或主轴驱动模式进行配置。
- 时间驱动模式:执行时,从轴将使用凸轮廓线与时间同步。只有在时间驱动模式下可以立即替换凸轮。
- 主轴驱动模式:执行时,从轴将使用凸轮廓线与主轴同步。MDAC 指令用于设置主轴:主轴驱动模式的从轴关系。请参见 MDAC 指令以了解更多参考。
- 此为跳变指令。使用时,请遵循以下步骤:
- 在梯形逻辑中,插入一个指令,以便在每次执行该指令时,梯级输入条件均会由假切换为真。
- 在结构化文本例程中,插入指令的条件以便仅在转换时执行。
架构 | 标准 | 安全 |
|---|---|---|
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 | 否 |
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 是 | 否 |
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
MATC(Axis, MotionControl, Direction, CamProfile, DistanceScaling, TimeScaling, ExecutionMode, ExecutionSchedule, LockPosition, CamType, LockDirection, InstructionMode);
操作数
梯形图
操作数 | 类型
小贴士:
AXIS_CONSUMED 仅受
Compact GuardLogix 5580 和 CompactLogix 5380 控制器支持。 | 类型
小贴士:
只有
ControlLogix 5570 和 GuardLogix 5570 控制器支持 AXIS_GENERIC。 | 格式 | 说明 |
|---|---|---|---|---|
Axis | AXIS_CIP_DRIVE AXIS_VIRTUAL | AXIS_CIP_DRIVE AXIS_SERVO AXIS_SERVO_DRIVE AXIS_GENERIC AXIS_GENERIC_DRIVE AXIS_VIRTUAL | 标签 | 应用凸轮廓线的轴类型。单击省略号可打开“轴属性”对话框。 对于支持 REF_TO 运动数据类型的控制器,支持的轴操作数类型可以替换为等效的 REF_TO 类型。 |
Motion Control | MOTION_INSTRUCTION | MOTION_INSTRUCTION | 标签 | 用于访问块状态参数的结构。 |
Direction | DINT | DINT | 立即数 | 从轴相对于主轴的方向: 0 = 相同 - 从轴位置值与时间或主轴位置值相同。 1 = 相反 - 从轴位置值与时间或主轴位置值相反。 2 = 反向 - 执行时反转当前或之前的凸轮方向。如果选择“反向”,首次执行时,控制默认方向为“相反”。 3 = 不变 - 此设置可用于更改其他凸轮参数,而无需更改当前或之前的凸轮传动方向。如果选择“不变”,首次执行时,控制默认方向为“相同”。 |
Cam Profile | CAM_PROFILE CAM_PROFILE_EXTENDED
小贴士:
CAM_PROFILE_EXTENDED 仅受 Compact GuardLogix 5580 和 CompactLogix 5380 控制器支持。
| CAM_PROFILE CAM_PROFILE_EXTENDED | 数组 | 用于建立时间/从轴或主轴/从轴位置关系的计算凸轮廓线数组的标签名称。凸轮廓线数组仅可使用零数组元素 ([0])。单击省略号可打开凸轮廓线编辑器。 此操作数的 CAM_PROFILE_EXTENDED 类型用于实现对双精度(64 位 LREAL)凸轮数据成员的访问。 |
Distance Scaling | REAL | REAL | 立即数或标签 | 通过凸轮廓线变换从轴覆盖的总距离。 |
Time Scaling | REAL | REAL | 立即数或标签 | 当指令模式为时间驱动时,变换凸轮廓线覆盖的时间间隔。 当指令模式为主轴驱动时,通过凸轮廓线变换主轴覆盖的总距离。 |
Execution Mode | DINT | DINT | 立即数 | 确定凸轮廓线是仅执行一次还是重复执行: 0 = 一次 – 启动后,从轴将一直跟随凸轮廓线,直至穿过凸轮边界。穿过凸轮边界时,从轴上的凸轮运动停止,“处理完成”位将置位。“从轴运动”状态字中的“时间凸轮状态”位重置。如果时间或主轴运动回凸轮廓线范围以内,从轴运动不会恢复。 1 = 持续 – 凸轮廓线启动后会无限期地执行。该功能适用于需要凸轮位置以旋转或往复方式持续运行的旋转应用。 |
Execution Schedule | DINT | DINT | 立即数 | 选择用于执行凸轮廓线的方式。 0 = 立即 – 从轴会立即锁定到时间或主轴,凸轮传动过程开始。 1 = 待处理 - 正在进行的时间凸轮完成后,用户可以混合新的时间凸轮执行。选择了“待处理”时,将忽略锁定位置。 |
Lock Position | REAL | REAL | 立即数 | 当指令模式为主轴驱动时,“锁定位置”为主轴绝对位置,从轴会锁定到主轴,然后开始跟随主轴。 如果“执行计划”设为“待处理”或“立即”,则会忽略锁定位置。 如果“指令模式”为“时间驱动”,则会忽略锁定位置。 |
Cam Type | DINT | DINT | 立即数 | 0 = 新建凸轮 – 当用户希望设定的凸轮成为全新凸轮时,应使用“新建凸轮”。这是“凸轮类型”参数的默认值,为 Studio 5000 Logix Designer 应用程序提供向后兼容性。 1 = 替换并重新启动 - 替换凸轮将替换活动凸轮。替换操作不会考虑速度、加速度或急动度干扰。 2 = 替换并继续 – 替换凸轮会在活动凸轮行进时随时替换活动凸轮。在替换点,替换凸轮开始插补从轴。 此操作数是 Logix Designer 版本 34 的新增内容。 |
Lock Direction | DINT | DINT | 立即数 实数或 标签 | 当指令模式为主轴驱动时,根据凸轮廓线确定用来生成从轴运动的主轴方向。 0 = 无
小贴士:
如果指令模式为时间驱动,则锁定方向应为“无”。
1 = 仅立即正向 – 当主轴正向移动时,从轴立即锁定。 2 = 仅立即反向 - 当主轴反向运动时,从轴立即锁定。 3 = 仅位置正向 – 当主轴位置以正向经过锁定位置时,凸轮廓线启动。 4 = 仅位置反向 – 当主轴位置以反向经过锁定位置时,凸轮廓线启动。 |
Instruction Mode | DINT | DINT | 立即数 | 指定是否应在以下位置执行 MATC: 0 = 时间驱动模式 - 执行时,从轴将使用凸轮廓线与时间同步。 1 = 主轴驱动模式 - 执行时,从轴将使用凸轮廓线与主轴同步 |
结构化文本
MATC (Axis, MotionControl, Direction, CamProfile, DistanceScaling, TimeScaling, ExecutionMode, ExecutionSchedule, LockPosition, CamType, LockDirection, InstructionMode);
操作数与继电器梯形图 MATC 指令的操作数相同。对于数组操作数,无需包含数组索引。如果不包含数组索引,指令将从数组中的第一个元素 ([0]) 开始执行。
对于数组操作数,无需包含数组索引。如果不包含索引,指令将从数组中的第一个元素 ([0]) 开始执行。
有关结构化文本中表达式语法的详细信息,请参阅结构化文本语法。
对于需要从可用选项中进行选择的操作数,请按照下表说明输入选择的值:
此操作数 | 可选择以下输入方式 | |
|---|---|---|
输入文本 | 或输入数字 | |
ExecutionMode | 一次 持续 | 0 1 |
ExecutionSchedule | 立即数 待处理 | 0 1 |
CamType | 新建凸轮 替换并重新开始 替换并继续 | 0 1 2 |
LockDirection | 无 仅立即正向 仅立即反向 仅位置正向 仅位置反向 | 0 1 2 3 4 |
指令模式 (Instruction Mode) | 时间驱动模式 主轴驱动模式 | 0 1 |
MOTION_INSTRUCTION 结构
助记符 | 说明 |
|---|---|
.EN (Enable) Bit 31 | 梯级出现假到真跳变时,该位将置位,并在梯级变为假前保持置位状态。 |
.DN (Done) Bit 29 | 启动时间凸轮后,该位将置位。 |
.ER (Error) Bit 28 | 该位置位时,表明指令检测到错误,例如指定的轴未配置等。 |
.IP (In Process) Bit 26 | 发生梯级上升沿跳变时,该位将置位;指令由另一运动轴时间凸轮命令代替,或因停止命令、合并、关闭或伺服故障终止时,该位清零。 |
.AC (Active) Bit 23
小贴士:
仅在以下控制器上受支持:
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370、GuardLogix 5570、Compact GuardLogix 5380、CompactLogix 5380、ControlLogix 5580、GuardLogix 5580 和 ControlLogix 5590 控制器。在适用的情况下会注明控制器的差异。对于其他控制器,.AC 位显示在指令面板上,但处于非活动状态,且始终为假。 | 当凸轮开始从轴的插补时,该位将置位。 当活动凸轮执行完成或因停止命令、合并、关闭或伺服故障取消执行时,此位重置。 |
.PC (Process Complete) Bit 27 | 发生梯级上升沿跳变时,该位清零;在执行模式设为“一次”且时间驱动模式中的时间或主轴驱动模式中的主轴位置超出活动凸轮廓线所定义的范围时,该位将置位。 |
小贴士:
版本 34 及更高版本:MOTION_INSTRUCTION 结构表中与 .AC 位相关的信息仅适用于 Compact GuardLogix (5380)、CompactLogix (5380)、ControlLogix (5580 和 5590), GuardLogix (5580) 和 Logix 仿真系列控制器。对于其他控制器,.AC 位显示在指令面板上,但处于非活动状态,且始终为假。
说明
MATC 指令执行由运动计算凸轮廓线 (MCCP) 指令或 Studio 5000 Logix Designer 应用程序凸轮廓线编辑器设置的时间凸轮廓线。此指令不使用最大速度、加速度或减速度限值。从相关凸轮表中获得的指定凸轮廓线决定了从轴的速度、加速度和减速度。
警告:
轴配置期间确定的最大速度、加速度或减速度限值不适用于电子凸轮传动。
“方向”输入参数用于定义从轴相对于主轴的运动方向。应用于从轴时,凸轮传动方向可明确设为“相同”或“相反”,也可以相对于当前凸轮传动方向设为“反向”或“不变”。
用户可使用“距离标定”和“时间标定”功能根据标准凸轮廓线变换从轴运动,而无需创建凸轮表和计算新的凸轮廓线。
通过指定所需的“执行模式”,凸轮廓线可以采用“一次”或“持续”模式执行。
用户还可以通过“执行计划”参数配置凸轮廓线,以立即执行凸轮廓线或等待当前正在运行的凸轮廓线完成。
若要将从轴位置精确同步到主轴位置,用户可在指令模式为主轴驱动时,为主轴指定“执行计划”设置和相关锁定位置。如果在时间驱动模式下执行,则会忽略锁定位置。
通过选择“凸轮类型”,用户可以取消正在运行的凸轮,立即将其替换为另一个凸轮,或将其计划为在主轴驱动模式中的特定位置执行。
指令模式允许将凸轮执行配置为主轴驱动模式或时间驱动模式。
凸轮方向
凸轮可配置为在轴给定位置的基础上加减凸轮增量。此行为通过“方向”参数控制。
同向凸轮传动
如果选择或输入“相同”作为 MATC 指令的“方向”,则在轴给定位置的基础上加上由凸轮廓线计算所得的轴位置值。这是最常见的操作,使用的廓线位置值与原始凸轮表中输入的值方向相同。即,连续增加廓线值会导致轴一直沿正向运动,反之亦然。
反向凸轮传动
如果选择或输入“相反”作为“方向”,会在轴给定位置的基础上减去由凸轮廓线计算所得的从轴位置值。因此,轴运动方向与原始凸轮表中指示的方向相反。换句话说,连续增加廓线值会导致轴一直沿反向运动,反之亦然。
保留当前凸轮传动方向
如果选择或输入“不变”作为“方向”,会在保留当前或之前的凸轮传动方向(相同或相反)的情况下更改其他位置凸轮参数。此功能适用于当前方向未知或不重要的情况。如果选择“不变”,首次执行凸轮时,控制默认方向为“相同”。
反转当前凸轮传动方向
如果选择“反向”,当前或之前的位置凸轮方向会从“相同”更改为“相反”,或从“相反”更改为“相同”。如果选择“反向”,首次执行凸轮时,控制默认方向为“相反”。
指定凸轮廓线
要执行 MATC 指令,必须指定一个用于存储计算所得凸轮廓线数据数组的标签。用户可以通过以下方式生成凸轮廓线数组标签:使用
Logix Designer
标签编辑器;通过 MATC 指令使用内置凸轮廓线编辑器;通过在现有凸轮数组上执行运动计算凸轮廓线 (MCCP) 指令。
编译期间,可使用凸轮廓线编辑器修改凸轮廓线数组中的数据,运行期间则可使用运动计算凸轮廓线 (MCCP) 指令进行修改。在运行时发生更改时,应创建凸轮数组以便使用 MCCP 指令。有关转换凸轮数组的更多详细信息,请参见 MCCP 指令规范。
MATC 支持两种类型的凸轮廓线数组:CAM_PROFILE 和 CAM_PROFILE_EXTENDED。CAM_PROFILE 通过 CAM 数组计算而得出。CAM_PROFILE_EXTENDED 通过 CAM_EXTENDED 数组计算而得出,该数组提供更高的精度。
对于 CAM_PROFILE 数组,除状态和类型元素外,CAM_PROFILE 数组元素结构的所有元素在 Studio 5000 Logix Designer 标签编辑器中都处于隐藏状态。状态参数用于指示已计算的 CAM_PROFILE 数组元素。如果凸轮传动指令开始执行时使用了 CAM_PROFILE 中的未计算元素,则会出错。类型参数决定应用于该凸轮数组元素和下一凸轮元素之间的插补类型(例如,线性或三次)。
对于 CAM_PROFILE_EXTENDED 数组,状态、主轴值和从轴值、类型以及 C0、C1、C2、C3 系数在 Studio 5000 Logix Designer 标签编辑器中可见。状态参数用于指示已计算的 CAM_PROFILE 数组元素。如果凸轮传动指令开始执行时使用了 CAM_PROFILE 中的未计算元素,则会出错。主轴和从轴定义凸轮元素的 x 和 y 值。类型参数决定应用于该凸轮数组元素和下一凸轮元素之间的插补类型(例如,线性或三次)。C0、C1、C2 和 C3 是用于定义两个凸轮元素之间形状的系数。
警告:
请勿直接修改凸轮廓线数组。修改凸轮廓线数组可能会导致意外运动或运动故障。
始终使用运动计算凸轮廓线 (MCCP) 或凸轮廓线编辑器调整凸轮廓线数组。
凸轮廓线数组检查
凸轮廓线数组中第一个元素的状态成员为特殊成员,用于检查数据完整性。为此,MATC 必须始终指定起始索引设置为 0 的凸轮廓线。第一个凸轮廓线元素状态成员可以具有以下值:
状态变量 | 说明 |
|---|---|
0 | 未计算凸轮廓线元素。 |
1 | 正在计算凸轮廓线元素。 |
2 | 已计算凸轮廓线元素 |
n | 已计算凸轮廓线元素,且当前正在由 (n-2) MAPC 或 MATC 指令使用。 |
在启动指定轴上的凸轮之前,MATC 指令会检查第一个凸轮廓线元素的状态成员值,确定是否已计算凸轮廓线数组。如果状态为 0 或 1,则表示尚未计算凸轮廓线,MATC 指令发生错误。如果已完成凸轮廓线数组计算(状态 > 1),则指令会将状态成员值递增,指示该轴正在使用该成员。
凸轮完成或终止时,第一个凸轮廓线数组元素的状态成员值会递减,以便跟踪主动使用相关凸轮廓线的凸轮数。
线性和三次插补
时间凸轮已完全插补。这意味着,如果当前主轴时间值未正好对应于与凸轮廓线相关的凸轮表中的点,则从轴位置将通过相邻点之间的线性或三次插补确定。如此一来,可以尽可能地实现最平滑的从轴运动。
凸轮数组中用于生成凸轮廓线的各点可配置为采用线性或三次插补。
通过后续执行的任何从轴点动或运动过程,电子凸轮传动保持激活状态。这样,可使电子凸轮传动运动与点动或运动曲线叠加,生成复杂的运动和同步。
标定时间凸轮
在执行时间凸轮廓线时,可从时间和距离上进行标定。这种标定功能非常有用,因为它允许将存储的凸轮廓线仅用于特定形式的运动,即,使用标定功能定义廓线的执行时间和距离的运动。

当 MATC 指令指定凸轮廓线数组时,凸轮廓线数组定义的主轴坐标值将采用时间单位(秒),而从轴值将采用从轴的单位。相比之下,时间和距离标定参数都是“无单位”值,用作凸轮廓线的倍数。
默认情况下,时间标定和距离标定参数都设为 1。若要标定时间凸轮廓线,可输入除 1 之外的时间标定值或距离标定值。
增加凸轮廓线的“时间标定”值会降低廓线的速度和加速度,而增加“距离标定”值则会增加廓线的速度和加速度。要使已标定曲线与未标定曲线的速度和加速度近似相等,“时间标定”值和“距离标定”值应该相等。例如,如果曲线的“距离标定”值为 2,则“时间标定”值也应该为 2,这样才可在执行已标定时间凸轮期间保持近似相等的速度和加速度。
警告:
如果减小位置凸轮的主轴标定值或增大从轴标定值,所需的轮廓轨迹的速度和加速度会增大。在超出驱动系统容量时,这将造成运动故障。
执行模式
新凸轮和替换凸轮的执行模式可为“一次”或“持续”。可以选择执行模式,以确定时间超出原始凸轮表定义的凸轮廓线终点时凸轮运动的行为。
一次
如果选择“一次”(默认值),则指定的凸轮廓线一旦启动,将一直执行到穿过凸轮边界为止。主轴运动到廓线范围以外时,从轴上的凸轮运动会停止,MATC 指令的处理完成 (.PC) 位将置位,“从轴运动”状态字中的“时间凸轮状态”位重置。
下图说明了在“执行计划”为“立即”且“执行模式”为“一次”时,新凸轮在时间驱动模式下的执行情况。
当活动凸轮启动时,.IP 和 .AC 位将置位。“从轴运动”状态字中的“时间凸轮状态”位也会置位。当时间超出凸轮廓线范围时,活动凸轮 .PC 位将置位且 .IP 和 .AC 位将重置。“从轴运动”状态字中的“时间凸轮状态”位重置。

持续
如果选择“持续”模式,凸轮廓线会无限期地执行。对于持续运行,当时间超出凸轮廓线终点时,从轴位置会重置,从而导致凸轮廓线无限期地重复执行。该功能适用于需要时间凸轮以旋转或往复方式持续运行的旋转应用。但是,要使用该技术生成平滑的连续运动,必须谨慎设计凸轮表中的凸轮点,以便计算所得凸轮廓线的起点和终点之间不存在位置、速度或加速度不连续现象。
下图说明了在“执行计划”为“立即”且“执行模式”为“持续”时,新凸轮在时间驱动模式下的执行情况。当时间值为 2 时,活动凸轮廓线穿过凸轮边界,凸轮廓线第二循环开始;当时间值为 4 时,凸轮廓线第二循环完成,第三循环开始,此操作会无限期地进行。

执行计划
“执行计划”参数控制 MATC 指令的执行计划。在主轴驱动模式和时间驱动模式下,都会使用执行计划“立即”(0) 和“待处理”(1)。
立即数
默认情况下,MATC 指令的执行计划为“立即”。在立即执行时,从轴会根据指定的凸轮廓线立即锁定到时间主轴坐标。启用时间凸轮传动过程时不会出现延迟。
活动凸轮
在“立即活动凸轮”情况下,时间凸轮的执行不会出现延迟。在这种情况下,锁定位置参数无关紧要。
下图说明了在时间驱动模式和“一次”执行模式下启动的“立即活动凸轮”。启动凸轮传动过程后,从轴会与时间同步,并跟随凸轮廓线。“时间凸轮状态”位在开始时置位,“从轴运动”状态字的“时间凸轮锁定状态”保持不变,因为在时间驱动模式下不使用。当时间超出凸轮廓线范围时,活动凸轮的 .PC 位将置位。“从轴运动”状态字位的“时间凸轮状态”随后重置。

替换并重新启动凸轮
在“立即替换并重新启动凸轮”的情况下,替换凸轮会立即替换活动凸轮。
下图说明了在主轴驱动模式、“一次”执行模式和“仅立即正向”锁定方向下的“立即替换并重新启动凸轮”执行情况。活动凸轮启动凸轮传动过程,并且立即启动替换凸轮。
“从轴运动”状态字的“时间凸轮状态”和“时间凸轮锁定状态”置位。当时间超出替换凸轮廓线范围时,替换凸轮的 .PC 位将置位。

替换并继续凸轮
在“立即替换并继续凸轮”的情况下,替换凸轮会在启动替换的点处立即替换活动凸轮。
下图说明了采用以下配置的“立即替换并继续凸轮”的执行情况:
- 从轴方向:相同
- 执行模式:一次
- 执行计划:立即数
- 锁定方向:无
- 锁定位置:0
- 指令模式:时间驱动模式
活动凸轮启动凸轮传动过程,替换凸轮立即替换活动凸轮。从轴与时间同步,并跟随替换凸轮廓线。
“从轴运动”状态字的“时间凸轮状态”置位。当时间超出替换凸轮廓线范围时,替换凸轮的 .PC 位将置位。

待处理凸轮执行:或者,可以延迟 MATC 指令的执行,并等待时间凸轮完成执行。可通过将“执行计划”选为“待处理”,在不停止运动的情况下混合两个时间凸轮廓线。
对于从轴必须锁定到主轴并使用特定的廓线加速到适当速度的高速封装等应用,待处理执行功能非常有用。当此加速廓线完成时,必须混合到通常持续执行的运行廓线中。若要停止从轴,运行的廓线需混合到减速廓线中,从而使轴在已知位置停止,如下图所示。

为确认在转换期间平滑运动,廓线必须设计为在当前廓线终点和新廓线起点之间不存在位置、速度或加速度不连续现象。这可通过使用 Studio 5000 Logix Designer 应用程序凸轮廓线编辑器实现。
如果在未进行相应的活动凸轮廓线的情况下将“执行计划”选为“待处理”,则 MATC 指令会执行,但不会发生凸轮传动运动,直到启动另一个具有非待处理“执行计划”的 MATC 指令。这允许在执行初始凸轮之前预加载待处理凸轮廓线。该方法可处理立即执行凸轮在待处理凸轮可靠加载前完成的情况。
替换凸轮对待处理凸轮的影响:此图举例说明在替换凸轮启动时,待处理凸轮所受的影响。在该图中,状态转换由垂直虚线表示。当替换凸轮执行时,待处理凸轮的 .IP 位将置位,“替换并重新启动凸轮廓线”将运行。
(1) 活动凸轮在时间驱动模式下启动,锁定方向为“仅立即正向”。
(2) 待处理凸轮已启用,并等待活动凸轮完成。待处理凸轮的 .IP 和 .DN 位将置位。
(3) 替换凸轮在活动凸轮廓线结束前在时间驱动模式下执行。待处理凸轮的 .IP 位重置且 .AC 位不变。
(4) 凸轮完成。替换凸轮 .PC 位将置位。
如果凸轮类型为“替换并重新启动”或“替换并继续”且“执行计划”为“待处理”,则 MATC 指令的 .ER 标志置位。
待处理凸轮和活动凸轮必须处于相同的指令模式 - 两者必须都处于时间驱动模式,或两者必须都处于主轴驱动模式。若指令使凸轮延迟成为采用另一模式的活动凸轮,则会导致活动凸轮 .ER 置位。
所有待处理凸轮的锁定方向都必须设为“立即正向”或“立即反向”。若待处理凸轮采用指定的锁定位置且锁定方向设为“仅位置正向”或“仅位置反向”,则会生成 LOCK_DIRECTION_CONFLICT (95) 错误。(有关运行错误代码的列表,请参见“MDSC 错误代码”部分。)在内存中,第二个待处理凸轮会覆盖第一个待处理凸轮。

凸轮类型
“凸轮类型”参数指示设定的凸轮为新的或替换的凸轮。
通过该选项,用户可选择:
- 新建凸轮
- 替换并重新开始
- 替换并继续
新建凸轮
当用户希望设定的凸轮成为全新凸轮时,应使用“新建凸轮”。这是“凸轮类型”参数的默认值,为 Studio 5000 Logix Designer 应用程序提供向后兼容性。
新建凸轮会在开始时启动其廓线,或在活动凸轮完成后启动待处理凸轮时启动其廓线。
下图说明了新凸轮的执行情况。左侧显示时间驱动模式下的执行情况,其中从轴使用凸轮廓线与时间同步。右侧显示同一廓线在从轴锁定到主轴的主轴驱动模式下的执行情况。

替换并重新开始
使用“替换并重新启动”枚举值替换当前正在运行的凸轮。替换操作不会考虑速度、加速度或急动度干扰。
用户负责通过正确的凸轮设计最大程度地减少任何速度、加速度或急动度干扰。
下图说明了在“执行计划”为“立即”且“执行模式”为“一次”时,“替换并重新启动”在时间驱动模式下的执行情况。
活动凸轮启动时,从轴将使用凸轮廓线与时间同步。活动凸轮廓线在启动后将替换为替换凸轮,然后从轴将沿着实时同步的替换凸轮廓线开始运动,直至凸轮完成。

替换并继续
使用“替换并继续”枚举值可在活动凸轮行进时随时替换活动凸轮。在替换点,替换凸轮开始插补从轴。
下图说明了在“执行计划”为“立即”且“执行模式”为“持续”时,“替换并继续”在主轴驱动模式下的执行情况。
绿色虚线表示在替换凸轮与活动凸轮同时启动时从轴的位置。蓝色虚线表示在活动凸轮继续执行到替换点以外范围时从轴的位置。从轴位置在替换点处发生变化的原因是,为替换凸轮定义了凸轮廓线。

锁定方向
“锁定方向”指示用来生成从轴运动的主轴的方向。在时间驱动模式下,时间凸轮的锁定方向设为“无”。
在主轴驱动模式下,时间凸轮设定为以下锁定方向,并用于凸轮类型“替换并重新启动”和“替换并继续”。
仅立即正向:当主轴正向运动时,替换凸轮立即替换活动凸轮。
仅立即反向:当主轴反向运动时,替换凸轮立即替换活动凸轮。
下图说明了在主轴驱动模式、“一次”执行模式和“仅立即反向”锁定方向下的“立即替换并重新启动凸轮”执行情况。
(1) 活动凸轮启动:当主轴正向运动时,锁定方向为“仅立即正向”的活动凸轮会启动。“从轴运动”状态字位的“时间凸轮状态”和“时间凸轮锁定状态”置位。
(2) 活动凸轮解锁:由于主轴反向,活动凸轮解锁,“从轴运动”状态字的“时间凸轮锁定状态”重置。
(3) 替换凸轮启动:当主轴反向运动时,替换凸轮立即替换活动凸轮,替换凸轮 .AC 位将置位,表示替换凸轮正在插补从轴。“从轴运动”状态字的“时间凸轮锁定状态”置位。
当主轴运动超出替换凸轮廓线范围时,替换凸轮的 .PC 置位。“从轴运动”状态字位的“时间凸轮状态”和“时间凸轮锁定状态”随后重置。

仅位置正向:当凸轮在主轴沿正向运动的情况下到达替换点时,替换凸轮将替换活动凸轮。
仅位置反向:与“仅位置正向”相同,唯一不同之处是主轴沿反向运动。
下图说明了在主轴驱动模式下“立即替换并继续凸轮”的执行情况。
(1) 活动凸轮启动:当主轴正向运动时,锁定方向为“仅立即正向”的活动凸轮会启动。“从轴运动”状态字位的“时间凸轮状态”和“时间凸轮锁定状态”置位。
(2) 活动凸轮解锁:由于主轴反向,活动凸轮解锁,“从轴运动”状态字的“时间凸轮锁定状态”重置。
(3) 替换凸轮启动:当主轴反向运动时,替换凸轮启动,活动凸轮仍处于解锁状态,并采用以下配置:
- 执行计划:立即数
- 锁定方向:仅位置反向
- 执行模式:一次
- 锁定位置:10
- 指令模式:主轴驱动模式
- 锁定位置处的替换
当主轴开始反向运动并到达锁定位置 10 单位时,替换凸轮 .AC 位将置位,表示替换凸轮正在插补从轴。
当主轴运动超出替换凸轮廓线范围时,替换凸轮的 .PC 位将置位。“从轴运动”状态字位的“时间凸轮锁定状态”随后重置。

停止凸轮
与其他运动发生器(例如,点动、运动、传动)相同,活动凸轮必须通过各种停止指令、MAS 或 MGS 停止。当 ControlLogix 处理器切换 OS 模式时,凸轮运动也必须停止。特别是,MAS 指令必须能够专门停止凸轮传动过程。此行为应当与用来停止传动过程的 MAS 功能相同。
从凸轮合并
与其他运动发生器(例如,点动、运动、传动)相同,活动凸轮必须与运动合并功能兼容。特别是,运动和点动必须能够从活动的凸轮传动合并。此行为应与应用于传动过程的合并功能相同。
重要提示:
MATC 指令在单次扫描中执行完成,因此完成 (.DN) 位和正在处理 (.IP) 位将立即置位。正在处理 (.IP) 位会保持置位,直到启动的时间凸轮传动过程由另一条 MATC 指令代替、或因运动轴停止命令、合并操作或伺服故障动作停止。
结构
有关通过主轴驱动速度控制 (Master Driven Speed Control, MDSC) 功能可用于 MATC 指令的输入和输出参数,请参见“单轴运动指令的输入和输出参数结构”部分。在任意参数激活之前,必须执行 MDAC 指令,并且该指令必须激活(IP 位置位)。
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。如果将未初始化的引用或类型不正确的引用传递给轴操作数,则可能发生严重故障。对于数组索引故障,请参阅 数组索引编制。
执行条件
在结构化文本中,EnableIn 在普通扫描期间始终为真。如果指令处于由逻辑激活的控制路径中,指令将会执行。
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | .EN、.DN、.ER、.IP、.AC 和 .PC 位设置为假。 |
后扫描 | 不执行任何操作 |
EnableIn 为假 这种情况仅在普通扫描模式期间才会出现。 | 如果 .DN 或 .ER 位为真,则 .EN 位设置为假。 |
EnableIn 为真,.EN 位为假 这种情况仅在普通扫描模式期间才会出现。 | .EN 位设置为真,指令根据最新版本的运动指令 PISD 文档执行。 |
EnableIn 为真,.EN 位为真 这种情况仅在普通扫描模式期间才会出现。 | 不执行任何操作 |
错误代码
有关运动指令,请参阅 运动错误代码 .ERR。
扩展错误代码
“扩展错误代码”针对许多指令通用的“错误代码”提供指令特定的附加信息。PARAMETER_OUT_OF_RANGE(13) 错误代码的扩展错误代码列出了一个数字,该数字对应于面板中自上而下列出的操作数的编号,第一个操作数的编号为零。因此,对于 MATC 指令,扩展错误代码 5 指的是“时间标定”操作数的值存在问题。然后,需要对照该指令可接受的值范围对操作数的值进行检查。
SEGMENT 字段
ILLEGAL_CAM_TYPE (28)、ILLEGAL_CAM_ORDER (29) 或 INVALID_CAM_PROFILE_ELEMENT (179) 错误代码的 .SEGMENT 字段表示凸轮廓线数组元素,其中分别包含无效的凸轮廓线类型(非线性或三次)、非升序主轴位置或无效值(例如溢出或非数字)。因此,.SEGMENT 字段值为 3 的 INVALID_CAM_PROFILE_ELEMENT 表示凸轮廓线数组的第四个元素(或 [3])包含无效数字。“运动计算凸轮廓线 (MCCP)”指令或凸轮廓线编辑器用于重新计算凸轮廓线,并确保主轴和从轴值不包含无效值。
状态位
时间凸轮状态
该状态位指示 MATC 廓线正在进行,当在从轴启动 MATC 命令时置位。
在以下任一种条件下重置:
- 活动凸轮或替换凸轮以“一次”执行模式完成。
- 使用“全部停止类型”或“时间凸轮”停止(MAS、MCS)从轴。
- 从轴关闭(MASD、MGSD 和 MCSD)。
执行模式 | |||
|---|---|---|---|
位名称 | 语句 | 一次 | 持续 |
时间凸轮状态 | 当在从轴上启动 MATC 命令时置位 | 真 | TRUE |
当主轴穿过凸轮边界时重置。 | 真 | 假 | |
时间凸轮锁定状态
只有在主轴驱动模式下以及执行计划为“立即”时,“时间凸轮锁定状态”位才有效。“时间凸轮锁定状态”位指示主轴根据凸轮廓线和从轴方向开始驱动从轴时的状态,当主轴满足以下条件时置位:执行模式、锁定方向和锁定位置。
在以下任一种条件下重置:
- 当执行模式为“一次”时,主轴穿过凸轮边界。
- 主轴沿锁定方向中指定的相反方向运动。
- 使用“全部停止类型”或“时间凸轮”停止(MAS、MCS)从轴。
- 从轴关闭(MASD、MGSD 和 MCSD)。
执行模式 | |||
|---|---|---|---|
位名称 | 语句 | 一次 | 持续 |
时间凸轮锁定状态 | 当主轴沿着凸轮廓线开始驱动从轴时置位。 | 真 | TRUE |
当主轴穿过凸轮边界时重置。 | 真 | 假 | |
位名称 | 语句 | 锁定方向 |
|---|---|---|
时间凸轮锁定状态 | 当主轴满足以下条件时置位:执行模式、锁定方向。忽略锁定位置。 | 仅立即正向 仅立即反向 |
当主轴满足以下条件时置位:执行模式、执行计划、锁定方向和锁定位置。 | 仅位置正向 仅位置反向 |
时间凸轮待处理状态
此状态位指示 MATC 廓线正在等待凸轮廓线完成执行,并在满足以下条件时置位:
- 启动“执行计划”为“待处理”的 MATC。
- 使用“主轴驱动”指令模式和锁定方向启动替换凸轮。
在以下任一种条件下重置:
- 当前时间凸轮过程完成(.PC 位)置位。
- 时间凸轮锁定状态置位。
- 使用“全部停止类型”或“时间凸轮”停止(MAS、MCS)从轴。
- 从轴关闭(MASD、MGSD 和 MCSD)。
执行计划 | |||
|---|---|---|---|
位名称 | 语句 | 立即数 | 待处理 |
时间凸轮待处理状态 | 执行计划中的位状态 | 假 | TRUE |
位名称 | 语句 | 执行计划 |
|---|---|---|
时间凸轮待处理状态 | 当主轴满足以下基于执行模式、锁定方向和锁定位置的条件时置位。 | 替换凸轮采用: 仅立即正向 仅立即反向 仅位置正向 仅位置反向 |
下图说明了在主轴驱动模式下“立即替换并继续凸轮”的执行情况。
(1) 活动凸轮启动
当主轴正向运动时,锁定方向为“仅立即正向”的活动凸轮会启动。“从轴运动”状态字位的“时间凸轮状态”和“时间凸轮锁定状态”置位。“从轴运动状态”位的“时间凸轮待处理状态”位不变。
(2) 活动凸轮解锁
由于主轴反向,替换凸轮解锁,“从轴运动”状态字的“时间凸轮锁定状态”重置。“从轴运动状态”位的“时间凸轮状态”不变。
(3) 替换凸轮启动
当主轴反向运动时,替换凸轮启动,活动凸轮仍处于解锁状态,并采用以下配置:
- 执行计划:立即数
- 锁定方向:仅位置反向
- 执行模式:一次
- 锁定位置:10
- 指令模式:主轴驱动模式
“从轴运动”状态字位的“时间凸轮待处理状态”置位。“从轴运动状态”位的“时间凸轮状态”和“时间凸轮锁定状态”不变。
(4) 锁定位置处的替换
当主轴开始反向运动并到达锁定位置 10 单位时,“从轴运动”状态字位的“时间凸轮锁定状态”置位,“从轴运动”状态字的“时间凸轮待处理状态”位重置。“从轴运动状态”位的“时间凸轮状态”不变。

主轴驱动速度控制 (MDSC) 和运动直接命令支持
运动直接命令无法用在 MATC 指令的指令树中。在时间驱动模式下执行 MAM 或 MAJ 之前,必须以支持的编程语言对 MATC 编程。如果未事先在主轴驱动模式下在 MAM 和 MAJ 中执行 MATC,则发生运行时错误。
示例
继电器梯形逻辑

结构化文本
MATC(Axis1,matc_motion_ctrl,1,cam_profile[0],2,2,Once,Immediate,0,NewCam,None,TimeDrivenMode);
提供反馈