运动轴停止 (MAS)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。“运动轴停止”(MAS) 指令用于使轴上的特定运动过程停止或使轴完全停止。
架构 | 标准 | 安全 |
|---|---|---|
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 | 否 |
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 是 | 否 |
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
MAS(Axis,MotionControl,StopType,ChangeDecel,DecelRate,DecelUnits,ChangeDecelJerk,DecelJerk,Jerk Units)
操作数
梯形图
操作数 | 类型
小贴士:
AXIS_CONSUMED 仅受
Compact GuardLogix 5580 和 CompactLogix 5380 控制器支持。 | 类型
小贴士:
只有
ControlLogix 5570 和 GuardLogix 5570 控制器支持 AXIS_GENERIC。 | 格式 | 说明 | |
|---|---|---|---|---|---|
Axis | AXIS_CIP_DRIVE AXIS_VIRTUAL | AXIS_CIP_DRIVE AXIS_VIRTUAL AXIS_GENERIC AXIS_GENERIC_DRIVE AXIS_SERVO AXIS_SERVO_DRIVE ControlLogix 5570、GuardLogix 5570、ControlLogix 5580、GuardLogix 5580 和 ControlLogix 5590 控制器 | 标签 | 轴名称。对于支持 REF_TO 运动数据类型的控制器,支持的轴操作数类型可以替换为等效的 REF_TO 类型。 | |
Motion Control | MOTION_INSTRUCTION | 标签 | 指令的控制标签。 | ||
Stop Type | DINT | 立即数 | 要停止以下运动 | Choose this Stop Type | |
All motion in process for this axis. | 全部 = 0 使用此选项时,指令将停止轴上的所有运动。停止操作在计算减速度和停止协调运动的组件时,会将轴上的所有协调运动都考虑在内。协调运动的其他轴组件不受影响,可继续原有运动。 如果该指令停止“运动驱动启动”(MDS) 指令,则会禁用“直接控制功能”,并使用指令参数将受影响的轴减速停止。 | ||||
Only a certain type of motion but leave other motion processes running. | 选择要停止的运动类型: | ||||
Jog = 1 | |||||
Move = 2 | |||||
Gear = 3 | |||||
Home = 4 | |||||
Tune = 5 | |||||
Test = 6 | |||||
Time Cam = 7 | |||||
Position Cam = 8 | |||||
Master Offset Move = 9 | |||||
Direct Control = 10 (1) | |||||
The axis could still be moving when the MAS instruction is complete. | |||||
Change Decel | DINT | 立即数 | 如果希望 | Then Choose | |
Use the Maximum Deceleration rate of the axis. | 否 = 0 | ||||
Specify the deceleration rate. | 是 = 1 | ||||
Decel Rate | REAL | 立即数或标签 |
重要提示:
如果在运动过程中减小减速度,轴可能会超出其目标位置。
轴的减速度。仅当“更改减速度”设为“是”时,该指令才会使用此值。 | ||
Decel Units | DINT | 立即数 | 使用的减速度单位。
| ||
Change Decel Jerk | DINT | 立即数 | 如果希望 | Then Choose | |
Use the Maximum Deceleration Jerk rate of the axis. | 否 (0) | ||||
Program the deceleration jerk rate. | 是 (1) | ||||
Decel Jerk | REAL | 立即数或标签 |
重要提示:
如果在运动过程中减小减速急动度,轴可能会超出其目标位置。
必须 始终输入减速急动度操作数的值。仅当将曲线操作数配置为 S 曲线时,此指令才会使用此值。“减速急动度”操作数表示轴的减速急动度。 使用以下值开始操作。 减速急动度 = 100(时间百分比) 0 = 单位/秒 3 1 = 最大值百分比 2 = 时间百分比(使用该值开始操作) | ||
Jerk Units | DINT | 立即数 | |||
(1)
当 MAS 指令与“全部”或“DirectVelocityControlStatus 命令停止类型”搭配时,该选项也会将 MDS 正在处理 (.IP) 位清零,并将“运动状态”属性中的轴 DirectVelocityControlStatus 位清零结构化文本
此操作数 | 可选择以下输入方式 | |
|---|---|---|
输入文本 | 或输入数字 | |
停止类型 | all 点动 运动 传动 home tune test timecam positioncam masteroffsetmove directcontrol | 0 1 2 3 4 5 6 7 8 9 10 |
Change Decel | no yes | 0 1 |
Decel Units | 单位/秒 2 %ofmaximum | 0 1 |
更改减速急动度 | no yes | 0 1 |
减速急动度 | 无枚举值 | You must always enter a value for the Decel Jerk operand. This instruction only uses the value if the Profile is configured as S-curve.Decel Jerk is the deceleration jerk rate of the axis. Use this value to get started. Decel Jerk = 100 % of Time (2) |
Jerk Units | unitspersec 3 最大值百分比 时间百分比 | 0 1 2 |
有关结构化文本中表达式语法的详细信息,请参阅结构化文本语法。
MOTION_INSTRUCTION 结构
要查看是否出现以下情况 | 检查该位是否置位 | 数据类型 | 备注 |
|---|---|---|---|
是否通过假到真跳变使指令开始执行。 | EN | BOOL | EN 位保持置位,直到过程完成且梯级变为假。 |
已成功启动停止。 | DN | BOOL | |
是否发生错误。 | ER | BOOL | |
轴正在停止。 | IP | BOOL | 以下操作会结束 MAS 指令并将 IP 位清零:
|
轴已停止。 | PC | BOOL | PC 位保持置位,直至梯级进行假到真跳变。 |
说明
若要使轴上进行的任何受控运动减速停止,可使用 MAS 指令。该指令会将运动停止,而不会禁用伺服环。对于停止类型设为“全部”的 MAS 指令,减速时始终使用梯形曲线,不受设定的曲线类型影响。此指令用于:
- 停止特定运动过程,如点动、运动或传动等
- 使轴完全停止
- 中止由“运动运行连接诊断”(MRHD) 指令或“运动运行轴调谐”(MRAT) 指令启动的测试或调谐过程。如果停止类型为MAS 指令使用此曲线点动与启动点动的“运动轴点动”(MAJ) 指令的曲线类型相同的曲线。运动与启动运动的“运动轴运动”(MAM) 指令的曲线类型相同的曲线。其他情况梯形。
在与坐标系统相关的任何轴上使用 MAS(停止类型 = 全部),并且正在其上运行协调运动指令时,使用坐标系统的最大减速度停止其余轴。如果坐标系统中包含姿态轴,则使用坐标系统的最大姿态减速度停止其余 Rx、Ry 或 Rz 轴。
示例
假设使用“运动轴点动”(MAJ) 指令搭配 S 曲线来启动点动。然后,使用 MAS 指令搭配“点动”停止类型使点动停止。在这种情况下,MAS 指令使用 S 曲线使点动停止。
编程原则
警告:
速度和/或结束位置过冲的风险
如果通过任意方法动态更改运动参数,即通过更改运动动力学参数 [“运动变化动态”(MCD) 指令或“运动协调变化动态”(MCCD)] 或在上一条指令完成前启动新指令,请注意存在速度和/或结束位置过冲的风险。
如果在运动减速或接近减速点时最大减速度减小,则梯形速度曲线可能会过冲。
而在下列情况下,S 形速度曲线可能会过冲:
- 如果在运动减速或接近减速点时最大减速度减小;或者
- 最大加速急动度减小,且轴正在加速。但要记住,如果急动度以时间百分比的形式指定,则可间接更改。
有关更多信息,请参见“排查轴运动故障”部分。
指导原则 | 详细信息 | |
|---|---|---|
在梯形图中,每次要执行该指令时,应切换梯级条件。 | 此为跳变指令:
| |
在结构化文本中,为指令设置限定条件,以便仅在出现跳变时才执行此指令。 | 在结构化文本中,指令会在每次被扫描时执行。
有关更多信息,请参见“结构化文本语法”部分。 | |
选择是停止所有运动还是仅停止特定类型的运动。 | 若要停止以下运动 | Then Choose This Stop Type |
该轴正在进行的所有运动。 | 清除 该指令使用梯形曲线并将轴停止。 | |
仅停止特定类型的运动,其他运动过程继续进行。 | 要停止的运动类型 MAS 指令执行完成后,轴仍在运动。 仅在以下条件下,该指令会使用S 曲线将轴停止:
| |
示例: 假设轴同时执行点动和运动。假设仅要将点动停止,但仍保持运动继续进行。在这种情况下,选择“点动”停止类型。 | ||
若要停止传动或凸轮传动,可选择从轴。 | 要停止传动或位置凸轮传动过程,请输入要关闭特定过程的 从 轴,并将该轴停止。如果主轴是伺服轴,则可停止主轴从而使从轴停止,而无需禁用传动或位置凸轮。
小贴士:
如果在主轴已禁用时手动移动主轴,则无论 MAPC 指令的 MasterReference 设为“实际”还是“给定”,从轴的实际位置都将继续跟踪主轴位置。
| |
若要停止“主轴偏移”运动,使用主轴单位输入从轴。 | 若要停止绝对式或增量式主轴偏移运动:
| |
如果指令会使运动参数发生变化,请务必谨慎使用。 | 执行 MAS 指令时,对于正在进行的运动,轴将使用新的减速度和急动度。这可能会导致轴超出其速度、超出其结束位置或者反向。S 曲线对参数变化更为敏感。 有关详细信息,请参见 排查轴运动故障 部分。 | |
针对 S 曲线使用急动度操作数。 | 急动度操作数用于下列情况
在上述情况下,指令使用 S 曲线将轴停止。对于所有其他类型的停止,该指令都使用恒定的减速度。无论哪种停止类型,用户都必须输入急动度操作数。 | |
为简化急动度的编程和调谐,应使用“时间的百分比”单位。 | 要简化急动度的编程和调谐,应输入为加速或减速时间的百分比。 有关详细信息,请参见 调谐 S 曲线 部分。 | |
主轴驱动速度控制 (MDSC) 和 MAS 指令
如果以主轴驱动模式在从轴上执行 MAS 指令(进入 IP 状态),则 MDSC 关系会立即断开。无论激活模式是时间驱动模式还是主轴驱动模式,从轴都始终以时间驱动模式停止。
MAS 停止类型
MAS 指令的行为取决于“停止类型”参数:
- 时间凸轮、停止类型运动和点动 - 在以主轴驱动模式运行的轴上调用 MAS 指令且“停止类型 = 时间凸轮”时,轴会终止主轴驱动模式,切换为时间驱动模式,并以指定方式停止。
- 主轴偏移运动 - 在以主轴驱动模式运行并控制位置凸轮的轴上调用 MAS 指令且“停止类型 = 主轴偏移运动”时,偏移轴会终止主轴驱动模式,切换为时间驱动模式,并以指定的减速度和减速急动度停止。
- 全部 - 当调用 MAS 指令且“停止类型 = 全部”时,MDSC 关系会立即断开。指定轴上的所有运动轨迹规划器将终止主轴驱动模式,轴会以时间驱动模式按指定的减速度和减速急动度停止。
如果部分轴已参与任何协调运动(以主轴驱动模式),则这些轴将与协调运动轨迹规划器断开,而坐标系统中的其他轴将继续运动。主轴驱动轴控制 (MDAC) 指令的 IP 位清零。
请注意,主轴上的 MAS(全部)不会将 MDSC 关系断开。对于在主轴驱动模式下对受控轴执行 MAS 指令所使用的所有其他停止类型,运动轨迹规划器将在所请求的轴上针对所请求的“停止类型”终止主轴驱动模式,切换为“时间驱动模式”,并在时间驱动模式下以指定的减速度和减速急动度停止。其他停止类型不会将 MDAC 指令的 IP 位清零。
MDAC 指令的 AC 位在轴停止时复位。
MAS(全部)可将 MDAC 的 IP 位复位。其他停止类型不会复位 IP 位。
请注意,如果发出的停止命令十分接近设定端点,实际停止位置可能超过设定端点,尤其是在主轴驱动模式下运行时。
执行 MAS 时(进入 IP 状态),MAS 指令的激活运动指令状态字中的状态位 CalculatedDataAvailable 会复位。不会重新计算 CalculatedData。
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。如果将未初始化的引用或类型不正确的引用传递给轴操作数,则可能发生严重故障。有关操作数相关的故障,请参阅 通用属性。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | .EN、.DN、.ER 和 .IP 位设置为假。 |
梯级输入条件为假 | 如果 .DN 或 .ER 位为真,则 .EN 位设置为假。 |
梯级输入条件为真 | .EN 位设置为真,指令执行。 |
后扫描 | 不适用 |
结构化文本
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参见“梯形图”表中的“预扫描”行 |
正常执行 | 请参见“梯形图”表中的“梯级输入条件为假”行,然后参见“梯级输入条件为真”行。 |
后扫描 | 请参见“梯形图”表中的“后扫描”行。 |
错误代码
请参阅 运动错误代码 .ERR。
扩展错误代码
使用扩展错误代码 (.EXERR) 可获取有关错误的更多说明。请参阅 运动错误代码 .ERR。
如果 ERR 为 | 且 EXERR | 则 | ||
|---|---|---|---|---|
原因 | Corrective Action | |||
13 | 变化 | 操作数超出其范围。 | The EXERR is the number of the operand that is out of range. The first operand is 0. For example, if EXERR = 4, then check the Decel Rate. | |
EXERR | MAS 操作数 | |||
0 | 轴 | |||
1 | 运动控制 | |||
2 | 停止类型 | |||
3 | Change Decel | |||
4 | Decel Rate | |||
MAS 单轴状态位变化
运动状态位
如果停止类型为 | 则 | ||
|---|---|---|---|
非“全部” | 指令会将停止的运动过程对应的运动状态位清零。 | ||
清除 | 指令会将所有运动状态位清零。 | ||
位名称 | 状态 | Meaning | |
MoveStatus | 假 | Axis is not Moving. | |
JogStatus | 假 | Axis is not Jogging. | |
GearingStatus | 假 | Axis is not Gearing. | |
HomingStatus | 假 | Axis is not Homing. | |
StoppingStatus | 真 | Axis is Stopping. | |
PositionCamStatus | 假 | Axis is not Position Camming. | |
TimeCamStatus | 假 | Axis is not Time Camming. | |
PositionCamPendingStatus | 假 | Axis does not have a Position Cam Pending. | |
TimeCamPendingStatus | 假 | Axis does not have a Time Cam Pending. | |
GearingLockStatus | 假 | Axis is not in a Gear Locked condition. | |
PositionCamLockStatus | 假 | Axis is not in a Cam Locked condition. | |
DirectVelocityControlStatus | 假 | Axis is not under Direct Velocity Control. | |
DirectTorqueControlStatus | 假 | Axis is not under Direct Torque Control. | |
提供反馈