运动解除输出凸轮 (MDOC)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。在适用情况下会注明 controller 的差异。运动解除输出凸轮 (MDOC) 指令用于启动与指定轴相连的一个或多个输出凸轮的解除装备。根据解除类型,MDOC 指令会解除所有输出凸轮或某个特定输出凸轮。相应输出会保持解除装备后的最后状态。
架构 | 标准 | 安全 |
|---|---|---|
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 | 否 |
Compact GuardLogix 5380、CompactLogix 5380、ControlLogix 5580、GuardLogix 5580 和 ControlLogix 5590 控制器 | 是 | 否 |
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
MDOC(Axis, ExecutionTarget, MotionControl, DisarmType);
操作数
梯形图和结构化文本
操作数 | 类型 CompactLogix 5370, Compact GuardLogix 5370, Compact GuardLogix 5380, CompactLogix 5380 | 类型 ControlLogix 5570、GuardLogix 5570、ControlLogix 5580、GuardLogix 5580,以及 ControlLogix 5590 控制器 | 格式 | 说明 |
轴 | AXIS_CIP_DRIVE AXIS_VIRTUAL AXIS_CONSUMED
小贴士:
只有
Compact GuardLogix 5580 和 CompactLogix 5380 控制器支持 AXIS_CONSUMED。 | AXIS_CIP_DRIVE AXIS_VIRTUAL AXIS CONSUMED AXIS_SERVO AXIS_SERVO_DRIVE AXIS_GENERIC_DRIVE AXIS_GENERIC
小贴士:
仅
ControlLogix 5570 和 GuardLogix 5570 控制器支持 AXIS_GENERIC。 | 标签 | 轴的名称,为输出凸轮提供位置输入。单击省略号可打开“轴属性”(Axis Properties) 对话框。 对于支持 REF_TO 运动数据类型的控制器,支持的轴操作数类型可以替换为等效的 REF_TO 类型。 |
执行目标 (Execution Target) | SINT、INT 或 DINT | SINT、INT 或 DINT | 立即数或标签 | 执行目标用于定义与指定轴相连的组中的具体输出凸轮。行为由以下值确定: 0...7 – 输出凸轮已在 Logix 控制器中执行。 8...31 – 保留供将来使用。 |
运动控制 | MOTION_INSTRUCTION | MOTION_INSTRUCTION | 标签 | 用于访问指令状态参数的结构。 |
解除类型 (Disarm Type) | SINT、INT 或 DINT | SINT、INT 或 DINT | 立即数 | 为指定轴选择要解除的一个或所有输出凸轮。选择其中之一: 0 = 全部 – 解除与指定轴相连的所有输出凸轮。 1 = 特定 – 解除与特定轴相连、由执行目标定义的输出凸轮。 |
结构化文本
有关结构化文本中表达式语法的详细信息,请参阅结构化文本语法。
对于需要从可用选项中进行选择的操作数,请按照下表说明输入选择的值:
此操作数 | 可选择以下输入方式 | |
输入文本 | 或输入数字 | |
解除类型 (Disarm Type) | all specific | 0 1 |
MOTION_INSTRUCTION 结构
助记符 | 说明 |
.DN(完成)位 29 | 成功解除输出凸轮后,该位设置为真。 |
.ER(错误)位 28 | 该位设为真时,表明指令检测到错误。 |
说明
MDOC 指令根据所选解除类型为指定轴解除特定或所有输出凸轮。轴为输出凸轮提供位置输入。执行目标用于定义与指定轴相连的组中的具体输出凸轮。
在此跳变指令中,每次要执行该指令时,继电器梯形图都会将梯级输入条件由清零切换为置位。
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。如果将未初始化的引用或类型不正确的引用传递给轴操作数,则可能发生严重故障。有关操作数相关的故障,请参阅 通用属性。
执行
梯形图
条件/状态 | 执行的操作 |
预扫描 | .EN、.DN、.ER 和 .IP 位设置为假。 |
梯级输入条件为假 | 如果 .DN 或 .ER 位设置为真,则 .EN 位设置为假。否则,.EN 位不受影响。 .DN、.ER 、.IP 和 .PC 位不受影响。 |
梯级输入条件为真 | .EN 位设置为真,指令执行。 |
后扫描 | 不适用 |
结构化文本
条件/状态 | 执行的操作 |
预扫描 | 请参阅“梯形图”表中的“预扫描”行。 |
正常执行 | 请参见“梯形图”表中的“梯级输入条件为假”行,然后参见“梯级输入条件为真”行。 |
后扫描 | 请参见“梯形图”表中的“后扫描”行。 |
错误代码
请参阅 运动错误代码 .ERR。
扩展错误代码
“扩展错误代码”针对许多指令通用的“错误代码”提供指令特定的附加信息。参数超出范围 (13) 错误代码的扩展错误代码列出了一个数字,该数字对应于面板中自上而下列出的操作数的编号,第一个操作数的编号为零。因此,对于 MDOC 指令,扩展错误代码 4 指的是“解除类型”操作数的值存在问题。然后,需要对照该指令可接受的值范围对操作数的值进行检查。
执行
如果 ERR 为 | 且 EXERR | 则 | 纠正措施 |
原因 | |||
36 | 变化 | 输出凸轮数组的大小不受支持,或者至少一个成员的值超出范围: 输出位小于 0 或大于 31。 锁定类型小于 0 或大于 3。 解锁类型小于 0 或大于 5。 左侧或右侧位置超出凸轮范围,且闭锁或解锁类型设为“位置”或“位置和使能”。 持续时间小于或等于 0,且解锁类型设为“持续时间”或“持续时间和使能”。 使能类型小于 0 或大于 3,且闭锁或解锁类型设为“使能”、“位置和使能”、或“持续时间和使能”。 使能位小于 0 或大于 31,且闭锁或解锁类型设为“使能”、“位置和使能”或“持续时间和使能”。 闭锁类型设为“未激活”,且解锁类型设为“持续时间”或“持续时间和使能”。 | 非法输出凸轮 |
37 | 变化 | 输出补偿数组的大小不受支持,或者其中一个成员的值超出范围。 | 非法输出补偿 |
与错误 36 和 37 相关的数组索引存储在运动指令数据类型的 .SEGMENT 中。若存在多个错误,仅会存储其中的第一个。检测到的具体错误存储在扩展错误代码中。 由于能够动态修改输出凸轮表,因此在 MAOC 执行过程中可能发生非法输出凸轮错误 36。通常,将跳过检测到错误的凸轮元素。以下所列为将继续处理的异常状况。 错误 2,锁定类型无效。闭锁类型默认设为未激活。 错误 3,解锁类型无效。解锁类型默认设为未激活。 错误 8,解锁类型为“持续时间和使能”。相当于“使能”解锁类型。 | |||
状态位
MDOC 作用状态位
MDOC 指令会对运动轴结构中的以下状态字产生影响:
- OutputCamStatus
- OutputCamPendingStatus
- OutputCamLockStatus
- OutputCamTransitionStatus
以上所列为一个 DINT 型值,其中位 0 至位 7 对应于 8 个执行目标。位 0 对应于执行目标 0;位 1 对应于执行目标 1,依此类推。
示例
梯形图

结构化文本
MDOC(Axis1, ExecutionTarget1, MDOC_2, All);
提供反馈