运动计算变换位置 (MCTP)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。运动计算变换位置 (MCTP) 指令用于计算一个坐标系统中的点在另一个坐标系统中等效点的位置。
重要提示:
用于指令运动控制属性的标签只能使用一次。在其他指令中重复使用运动控制标签可能导致意外操作,从而可能造成设备损坏或人员受伤。
架构 | 标准 | 安全 |
|---|---|---|
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 | 否 |
Compact GuardLogix 5380、CompactLogix 5380、ControlLogix 5580、GuardLogix 5580 和 ControlLogix 5590 控制器 | 是 | 否 |
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
MCTP(Source System, Target System, Motion Control, Orientation, Translation, Transform Direction, Reference Position, Transform Position);
操作数
梯形图和结构化文本
操作数 | 类型 | 格式 | 说明 | |
|---|---|---|---|---|
Source System | COORDINATE_SYSTEM | 标签 | 机器人笛卡尔坐标位置的笛卡尔坐标系统 对于支持 REF_TO 运动数据类型的控制器,坐标系统操作数类型可以替换为 REF_TO_COORDINATE_SYSTEM 类型。 | |
Target System | COORDINATE_SYSTEM | 标签 | 控制实际设备的非笛卡尔坐标系统。对于支持 REF_TO 运动数据类型的控制器,坐标系统操作数类型可以替换为 REF_TO_COORDINATE_SYSTEM 类型。 | |
Motion Control | MOTION_INSTRUCTION | 标签 | 指令的控制标签。 | |
Translation | REAL[3] | 数组 | 是否希望沿 X1、X2 或 X3 轴偏移目标位置? | |
If | 则 | |||
No | 将数组值保留为零。 | |||
Yes | 将偏移距离输入数组中。应以坐标单位输入偏移距离。将 X1 的偏移距离放在数组的第一个元素中,依此类推。 | |||
Use an array of three REALs even if a coordinate system has only one or two axes. | ||||
操作数 | 类型 | 格式 | 说明 | ||||
|---|---|---|---|---|---|---|---|
Transform Direction | DINT | 立即数 | 对于以下机器人类型 | To calculate | With the base turned to the | And the robot is | Select |
All | 笛卡尔坐标位置 | ![]() | ![]() | Forward | |||
Cartesian Delta 2D Delta 3D SCARA Delta | 关节角度 | ![]() | ![]() | Inverse | |||
Articulated Independent Articulated Dependent SCARA Independent | 关节角度 | 点的相同象限 | 右臂配置 | Inverse Right Arm | |||
Left Arm Configuration | 反向左臂 | ||||||
Opposite Quadrant from the Point | 右臂配置 | 反向右臂镜像 | |||||
Left Arm Configuration | 反向左臂镜像 | ||||||
Reference Position | REAL[3] | 数组 | 如果变换方向为: | Then enter an array that has the: | |||
Forward | 关节角度 | ||||||
Inverse | 笛卡尔坐标位置 | ||||||
Transform Position | REAL[3] | 数组 | 存储所计算位置的数组 | ||||
输入变换方向时,不应包含空格。例如,“反向左臂”的变换方向输入为 InverseLeftArm。
有关结构化文本中表达式语法的详细信息,请参阅结构化文本语法。
MOTION_INSTRUCTION 数据类型
要查看是否出现以下情况 | 检查该位是否置位 | 数据类型 | 备注 |
|---|---|---|---|
梯级是否为真 | EN | BOOL | 有时,即使梯级变为假,EN 位仍保持置位。如果在指令完成之前梯级变为假或发生错误,则会发生这种情况。 ![]() |
指令是否完成 | DN | BOOL | |

MCTP 指令与 MCT 指令相似,不同之处在于 MCTP 指令不启动变换。每次执行时,它将计算一次位置。
编程原则
使用 MCTP 指令应遵循下列编程原则。
MCTP 指令原则
指导原则 | 示例和说明 |
|---|---|
将梯级由假跳变为真可执行该指令。 | 此为跳变指令。在梯形图中,每次要执行该指令时,将梯级输入条件由假切换为真。 |
在结构化文本中,为指令设置限定条件,以便仅在出现跳变时才执行此指令。 | 在结构化文本中,指令会在每次被扫描时执行。调整指令,使其仅在跳变时执行。可使用下列方法之一: SFC 操作的限定符 结构化文本结构 |
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。如果将未初始化的引用或类型不正确的引用传递给坐标系统操作数,则可能会发生严重故障。有关操作数相关的故障,请参阅 通用属性。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | .EN、.DN、.ER 和 .IP 位设置为假。 |
梯级输入条件为假 | 如果 .DN 或 .ER 位为真,则 .EN 位设置为假。 |
梯级输入条件为真 | .EN 位设置为真,指令执行。 |
后扫描 | 不适用 |
结构化文本
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参阅“梯形图”表中的“预扫描”行。 |
正常执行 | 请参见“梯形图”表中的“梯级输入条件为假”行,然后参见“梯级输入条件为真”行。 |
后扫描 | 请参见“梯形图”表中的“后扫描”行。 |
错误代码
有关运动指令,请参阅 运动错误代码 .ERR。
扩展错误代码
使用扩展错误代码 (EXERR) 可获取有关错误的更多说明。如果将未初始化的引用或类型不正确的引用传递给坐标系统操作数,则可能会发生严重故障。有关运动指令,请参阅 运动错误代码 .ERR。
状态位变化
无
两个坐标系统之间 MCTP 指令的数据流
下图显示了执行 MCTP 指令时进行正向变换和反向变换的数据流。CS1 指示符代表作为 MCTP 指令源坐标系统的笛卡尔坐标系统,坐标系统中包含 X1、X2 和 X3 轴。CS2 指示符代表作为 MCTP 指令目标坐标系统的关节坐标系统,坐标系统中包含 J1、J2 和 J3 轴。
使用 MCTP 指令执行运动时的数据流 - 正向变换

使用 MCTP 指令执行运动时的数据流 - 反向变换

示例
梯形图

结构化文本
MCTP(myMctpSourceSystem, myMctpTargetSystem, myMctpMotionControl, myMctpOrientation, myMctpTranslation, InverseRightArmMirror, myMctpReferencePos, myMctpTransformPos);
提供反馈

