机器自动化控制器——第三章 轴指令 8
MC_MoveFeed
- 指定自外部输入的中断输入发生位置起的移动距离,进行定位。
- 可实现中断标准定位的控制为绝对值定位、相对值定位、速度控制。
指令 | 名称 | FB/ FUN |
图形表现 | ST表现 |
---|---|---|---|---|
MC_MoveFeed | 中断标准定位 | FB | ![]() |
MC_MoveFeed_instance ( Axis :=《参数》 , TriggerInput :=《参数》 , TriggerVariable :=《参数》 , Execute :=《参数》 , WindowOnly :=《参数》 , FirstPosition :=《参数》 , LastPosition :=《参数》 , ReferenceType :=《参数》 , Position :=《参数》 , Velocity :=《参数》 , Acceleration :=《参数》 , Deceleration :=《参数》 , Jerk :=《参数》 , Direction :=《参数》 , MoveMode :=《参数》 , FeedDistance :=《参数》 , FeedVelocity :=《参数》 , BufferMode :=《参数》 , ErrorDetect :=《参数》 , Done =>《参数》 , InFeed =>《参数》 , Busy =>《参数》 , Active =>《参数》 , CommandAborted =>《参数》 , Error =>《参数》 , ErrorID =>《参数》 ); |
变量
▶输入变量
输入变量 | 名称 | 数据类型 | 有效范围 | 初始值 | 内容 |
---|---|---|---|---|---|
Execute | 启动 | BOOL | TRUE, FALSE | FALSE | 在上升沿开始指令。 |
WindowOnly | 窗口有效 | BOOL | TRUE, FALSE | FALSE | 指定窗口的有效/无效。 |
FirstPosition | 起始位置 | LREAL | 负数、正数、“0” | 0 | 指定锁定有效的位置。 单位为[指令单位]。 *1 |
LastPosition | 终止位置 | LREAL | 负数、正数、“0” | 0 | 指定锁定无效的位置。 单位为[指令单位]。*1 |
ReferenceType | 位置类型 选择 |
_eMC_ REFERENCE_ TYPE |
1: _mcFeedback | 1 *2 | 指定位置类型。 1:反馈位置(同一任务周期 *3下 的取值) |
Position | 目标位置 | LREAL | 负数、正数、“0” | 0 | MoveMode为[0:绝对值定位]时, 指定绝对坐标的目标位置。 MoveMode为[1:相对值定位]时, 指定移动距离。 MoveMode为[2:速度控制]时,无 需指定。 单位为[指令单位]。*1 |
Velocity | 目标速度 | LREAL | 正数*4 | 0 | 指定目标速度。 单位为[指令单位/s]。*1 |
Acceleration | 加速度 | LREAL | 正数或“0” | 0 | 指定加速度。 单位为[指令单位/s2]。*1 |
Deceleration | 减速度 | LREAL | 正数或“0” | 0 | 指定减速度。 单位为[指令单位/s2]。*1 |
Jerk | 跃度 | LREAL | 正数或“0” | 0 | 指定跃度。 单位为[指令单位/s3]。*1 |
Direction | 方向选择 | _eMC_ DIRECTION |
0: _mcPositiveDirection 1: _mcShortestWay 2: _mcNegativeDirection 3: _mcCurrentDirection 4: _mcNoDirection |
0 *2 | MoveMode为[0:绝对值定位] *5, 计数模式为[旋转模式]时,指定旋 转方向。 0:指定为正方向 1:指定为附近 2:指定为负方向 3:指定为当前方向 4:无方向指定 |
MoveMode | 移动方法 选择 |
_eMC_MOVE_ MODE |
0: _mcAbsolute 1: _mcRelative 2: _mcVelocity |
0 *2 | 选择移动方法。 0:绝对值定位 1:相对值定位 2:速度控制 |
FeedDistance | 标准距离 | LREAL | 负数、正数、“0” | 0 | 指定中断输入后的移动距离。 沿着与中断输入前动作方向相同 的方向使之按照标准距离动作时, 设为正数;反方向动作时,设为 负数。 单位为[指令单位]。*1 |
FeedVelocity | 标准速度 | LREAL | 正数 | 0 | 指定中断输入后的移动目标速度。 单位为[指令单位/s]。*1 |
BufferMode | 缓存 模式选择 |
_eMC_ BUFFER_ MODE |
0: _mcAborting 1: _mcBuffered |
0 *2 | 指定多重启动运动指令时的动作。 0:中断 1:等待 |
ErrorDetect | 错误检测 选择 |
BOOL | TRUE, FALSE | FALSE | 无中断输入时,指定是否执行异 常检测。 TRUE:执行异常检测 FALSE:不执行异常检测 |
- 1.关于指令单位,请参阅“NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)”或“NY系列工业用平板电脑/工业用台式电脑用户手册运动控制篇(SBCE-379)”的“单位转换设定”。
- 2.有效范围为枚举体的变量,其实际初始值不是数值,而是枚举元素。
- 3.任务周期分为原始恒定周期任务的周期和固定周期任务(执行优先度5)的周期。
- 4.MoveMode中指定“2:_mcVelocity”时,也可以为“0”。
- 5.MoveMode为[0:绝对值定位],计数模式为[线性模式]时,移动到指定位置。MoveMode为[1:相对值定位]时,移动方向由Position的符号决定。MoveMode为[2:速度控制]时,无论计数器模式如何,均无法选择“1:_mcShortestWay”和“4:_mcNoDirection”。
▶输出变量
输出变量 | 名称 | 数据类型 | 有效范围 | 内容 |
---|---|---|---|---|
Done | 完成 | BOOL | TRUE, FALSE |
指令执行完毕时变为TRUE。 |
InFeed | 标准传送中 | 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 | *1 | 发生异常时,输出错误代码。16#0000为正常。 |
- 1.请参阅“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时 |
InFeed | 中断输入后,开始标准距离动作时*1 | • Done变为TRUE时 • Error变为TRUE时 • CommandAborted变为TRUE时 |
CommandAborted | • 利用其它指令多重启动运动指令(中断),中止本 指令时 • 因发生异常,中止本指令时 • 发生异常过程中,启动本指令时 • 执行MC_Stop指令中,启动本指令时 |
• Execute为TRUE时,与Execute的FALSE同时 • Execute为FALSE时,1个周期后 |
Error | 本指令的启动条件或输入参数中含有异常因素时 |