MC_MoveAbsolute

这个功能块位于函数库 SM3_Basic.library。用于实现一个控制轴达到指定绝对位置。

 

类型

初始值

描述

VAR_IN_OUT

     

Axis

AXIS_REF

 

参考轴,参阅 AXIS_REF_SM3

VAR_INPUT

     

Execute

BOOL

FALSE

此输入的上升沿将启动功能块的处理

Position

LREAL

0

运动轴的目标位置 (以unit [u]为单位) (正向或者反向)

Velocity

LREAL

0

最大速度值 (通常为正向) (不是必须设置的) [u/s].

Acceleration

LREAL

0

最大加速度值 (通常为正向) (不是必须设置的) [u/s2]

Deceleration

LREAL

0

最大减速度值 (通常为正向) (不是必须设置的) [u/s2]

Direction

MC_DIRECTION

shortest

MC_Direction;允许的值:用于线性/有限轴:正向,反向;用于旋转/模块轴:正向,反向,当前,最短,最快

VAR_OUTPUT

     

Done

BOOL

FALSE

TRUE,如果到达最终位置

Busy

BOOL

FALSE

TRUE,如果功能块的处理没有完成

CommandAborted

BOOL

FALSE

TRUE,如果命令被另一个命令中断

Error

BOOL

FALSE

功能块内部发生错误信号

ErrorID

SMC_ERROR

0

错误ID,参阅 SMC_Error

 

提示!

如果没有其他的的动作,这个命令将会使轴的速度为0。

如果在数学计算下只有一种情况能够达到命令位置(例如线性系统中),输入变量 Direction 的值将会被忽略。

对于旋转轴一个轴的绝对位置范围是 [0, 360[, (360 将会被处理),或者一个相应的范围内。应用程序将会移动命令 MC_MoveAbsolute 达到指定的相应范围内。对于相对系统,模块360 将会被应用。

枚举类型 ‘shortest’ 将会描绘运动的最短路径。方向的选择是基于命令发生时的当前位置。

示例:

以下表格中包含了两个功能块 MC_MoveAbsolute的实例,其中之一名为"First " 另一个为"Second":

时序图的左部分显示的情况是实例 "Second" 是在实例 "First"之后进行调用。当第一个实例达到位置 6000 (并且速度为 0),输出 Done 将会导致"Second" 运动到位置10000。

时序图的右半部分显示实例 "Second" 是在实例 "First" 仍旧在处理的时候启动的。在这种情况下第一个命令会被Test信号中止并继续保持速度值。第二个功能块将启动并将轴移动到10000位置,即使位置 6000 在第一个功能块处理时没有达到。

插图 119: MC_MoveAbsolute 的时间动态分析