机器自动化控制器------第三章 轴指令 7
MC_MoveZeroPosition
- 将绝对坐标"0"设为目标位置进行定位,返回原点。
指令 | 名称 | FB/ FUN | 图形表现 | ST表现 |
---|---|---|---|---|
MC_MoveZeroPosition | 高速 原点复位 | FB | MC_MoveZeroPosition_instance ( Axis :=《参数》 , Execute :=《参数》 , Velocity :=《参数》 , Acceleration :=《参数》 , Deceleration :=《参数》 , Jerk :=《参数》 , BufferMode :=《参数》 , Done =>《参数》 , Busy =>《参数》 , Active =>《参数》 , CommandAborted =>《参数》 , Error =>《参数》 , ErrorID =>《参数》 ); |
变量
▶输入变量
输入变量 | 名称 | 数据类型 | 有效范围 | 初始值 | 内容 |
---|---|---|---|---|---|
Execute | 启动 | BOOL | TRUE, FALSE | FALSE | 在上升沿开始指令 |
Velocity | 目标速度 | LREAL | 正数 | 0 | 指定目标速度。*1 单位为[指令单位/s]。 *2 |
Acceleration | 加速度 | LREAL | 正数或"0" | 0 | 指定加速度。 单位为[指令单位/s2]。*2 |
Deceleration | 减速度 | LREAL | 正数或"0" | 0 | 指定减速度。 单位为[指令单位/s2]。*2 |
Jerk | 跃度 | LREAL | 正数或"0" | 0 | 指定跃度。 单位为[指令单位/s3]。*2 |
BufferMode | 缓存 模式选择 | eMC_BUFFER MODE | 0: _mcAborting 1: _mcBuffered | 0 *3 | 指定多重启动运动指令时的动作。 0:中断 1:等待 |
- 1.请务必设定目标速度。不作设定就执行动作,将发生异常。
- 2.关于指令单位,请参阅"NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)"或"NY系列工业用平板电脑/工业用台式电脑用户手册运动控制篇(SBCE-379)"的"单位转换设定"。
- 3.有效范围为枚举体的变量,其实际初始值不是数值,而是枚举元素。
▶输出变量
输出变量 | 名称 | 数据类型 | 有效范围 | 内容 |
---|---|---|---|---|
Done | 完成 | BOOL | TRUE, FALSE | 指令执行完毕时变为TRUE。 |
Busy | 执行中 | BOOL | TRUE, FALSE | 接收指令后变为TRUE。 |
Active | 控制中 | BOOL | TRUE, FALSE | 控制中变为TRUE。 |
CommandAborted | 执行中断 | BOOL | TRUE, FALSE | 指令中止时,变为TRUE。 |
Error | 错误 | BOOL | TRUE, FALSE | 发生异常时变为TRUE。 |
ErrorID | 错误代码 | WORD | * | 发生异常时,输出错误代码。16#0000为正常。 |
- 请参阅 "A-1 错误代码一览(P.A-2)"。
► 输出变量的反映时间
变量 | 变为TRUE的时间 | 变为FALSE的时间 |
---|---|---|
Done | 定位完成后 | • Execute为TRUE时,与Execute的FALSE同时 • Execute为FALSE时,1个周期后 |
Busy | Execute的上升沿 | • Done变为TRUE时 • Error变为TRUE时 • CommandAborted变为TRUE时 |
Active | 轴开始移动后 | • Done变为TRUE时 • Error变为TRUE时 • CommandAborted变为TRUE时 |
CommandAborted | • 利用其它指令多重启动运动指令(中断),中止本 指令时 • 因发生异常,中止本指令时 • 发生异常过程中,启动本指令时 • 执行MC_Stop指令中,启动本指令时 | • Execute为TRUE时,与Execute的FALSE同时 • Execute为FALSE时,1个周期后 |
Error | 本指令的启动条件或输入参数中含有异常因素时 | 异常已解除时 |
▶输入输出变量
输入输出变量 | 名称 | 数据类型 | 有效范围 | 内容 |
---|---|---|---|---|
Axis | 轴 | _sAXIS_REF | - | 指定轴。 *1 |
- 请使用在Sysmac Studio的轴基本设定画面中创建的用户定义变量的轴变量名称(默认 "MC_Axis***")或系统定义变量的 轴变量名称(_MC_AX[], _MC1_AX[], _MC2_AX[*])。
功能说明
- 向原点位置移动。
- 可在输入变量中指定Velocity(目标速度)、Acceleration(加速度)、Deceleration(减速度)、Jerk(跃度)。
- 使用注意事项
- 在原点已确定的状态下执行MC_MoveZeroPosition(高速原点复位)指令。
- 如果原点未确定,则发生"原点未确定状态下的指令启动异常(错误代码:5466 Hex)"。
▶指令详情
- 下面对指令详细说明。
► 方向指定
- 计数模式为[旋转模式]时,迎着到原点位置的距离较短的方向进行定位(附近)。
- 指令当前位置相应的本指令的动作示例如下所示。
- 使用注意事项
- 在轴参数的[环计数器上限设定值]和[环计数器下限设定值]的范围外存在原点的状态下启动本指令时,发生"超过目标位置环计数器范围(错误代码:549C Hex)"。
► 超调
- 超调对本指令生效。
► 到位检查
- 根据轴参数的[到位宽度]、[到位检查时间]的设定,进行本指令的到位检查。
► 动作示例
- 将加速度、或减速度指定为"0"并启动后,不作加减速而达到目标速度。
- 加速度为"0"时的动作示例如下所示。
- 需要平稳加减速时指定Jerk(跃度)。
- 指定Jerk(跃度)后的动作示例如下所示。
- 关于Jerk(跃度)的详情,请参阅"NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)"或"NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)"。
▶时序图
- 执行MC_MoveZeroPosition(高速原点复位)指令后的时序图如下所示。
▶指令的中止
- 本指令中止,CommandAborted(执行中断)变为TRUE时,也不会变成原点未确定状态。
▶重启运动指令
- 在定位动作中变更输入变量,再次将Execute(启动)设为TRUE,可变更本指令的动作。
- 重启运动指令可变更的输入变量有Velocity(目标速度)、Acceleration(加速度)、Deceleration(减速度)。
- 重启运动指令的详情,请参阅"NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)"或"NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)"。
▶多重启动运动指令
- 多重启动运动指令的详情,请参阅"NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)"或"NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)"。
► 其它指令执行中的本指令启动
- 对当前正在执行的指令启动本指令,可切换或缓存到本指令。
- 各轴可缓存到1个。
- 多重启动时的本指令的动作由BufferMode(缓存模式选择)指定。
缓存模式选择 | 说明 |
---|---|
中断 | 立即中止当前正在执行的指令,切换为本指令。 轴的动作方向因指令切换而反转时,根据轴参数中的"反转时动作"进行反转。 |
等待 | 当前正在执行的指令正常完成后,已缓存的本指令自动启动。 |
- 关于BufferMode(缓存模式选择),请参阅"NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)"或"NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)"。
► 本指令执行中的其它指令启动
- 对本指令进行多重启动运动指令时,可选择中断、等待。
- 无法实现基于合并的指令多重启动。
► 在本指令执行中执行MC_SetPosition(当前位置变更)指令后
- 由于MC_SetPosition(当前位置变更)指令中原点未确定,因此在本指令执行中执行该指令将发生异常。
- 也就是说无法执行。
- 执行MC_SetPosition( 当前位置变更) 指令发生异常时,本指令停止减速,CommandAborted(执行中断)变为TRUE。
▶异常
- 在执行本指令中发生异常时,Error(错误)变为TRUE,轴停止动作。
- 可查看ErrorID(错误代码)的输出值,了解发生异常的原因。
► 发生异常时的时序图
► 错误代码
- 关于指令发生的异常,请参阅"A-1 错误代码一览(P.A-2)"。