MoveLinearAbsolute
命令轴群之工具中心点自当前位置进行直线插补运动至指定坐标系之绝对位置。
语法
KsCommandStatus MoveLinearAbsolute(
int Index,
int Length,
double* Position,
double Velocity,
double Acceleration,
double Deceleration,
double Jerk,
McCoordSystem CoordSystem,
McBufferMode BufferMode,
McTransitionMode TransitionMode,
double* TransitionParameter
);
参数
Index [in]:轴组索引,索引以零为起点。最多可有 32 个轴组。
Length [in]: 位置 (Position) 阵列长度。
Position [in]:指定坐标系中每个维度的绝对终点位置阵列 [1..N],其中 N 为 64。
Velocity [in]:定义路径中坐标系路径的最大速度,永远为正值,非必要到达,[单位/秒]。
Acceleration [in]:最大加速度,永远为正值,非必要到达,单位由 McProfileType 类型决定,为 [单位/秒2] 或 [秒]。
Deceleration [in]:最大减速度,永远为正值,非必要到达,单位由 McProfileType 类型决定,为 [单位/秒2] 或 [秒]。
Jerk [in]:最大加加速度。永远为正值,非必要到达,单位由 McProfileType 类型决定,为 [单位/秒3] 或 [秒]。
CoordSystem [in]:座标系统,请见 McCoordSystem 类型。
BufferMode [in]:定义如何融合两功能的速度,请见 McBufferMode 类型。
TransitionMode [in]:插入转换曲线。请见 McTransitionMode 类型。
TransitionParameter [in]:转换模式的附加参数,若将 TransitionMode 设为 mcNone
,则此参数无效。
回传值
返回 KsCommandStatus 结构。
备注
- 更多关于绝对、相对与附加的运作方式之资讯请见: 概念解说 > 运动。
- 更多关于融合模式的运作方式之资讯请见: 概念解说 > 融合运动。
-
当在 MoveLinear 函式中使用融合,需选择 TransitionMode 并填入TransitionParameter,若用融合模式将函式传送至
mcNone
与NULL
,将会发生错误。
范例
VOID MoveAbsolute(INT Group, DOUBLE PositionX, DOUBLE PositionY) {
DOUBLE Position[2] = { PositionX, PositionY };
//Start an absolute move.
KsCommandStatus move = WaitForCommand(30, TRUE, MoveLinearAbsolute(Group, 2, Position,
3600, 36000, 36000, 3600000,
mcAxisCoordSystem, mcAborting, mcNone, NULL));
GetGroupActualPosition(Group, mcAxisCoordSystem, mcActualValue, 2, Position);
RtPrintf("Current Position: %d,%d\n", (int)Position[0], (int)Position[1]);
}
使用需求
RT | Win32 | |
---|---|---|
最低支援版本 | 4.0 | 4.0 |
标头档 | ksmotion.h | ksmotion.h |
程式库 | KsApi_Rtss.lib | KsApi.lib |
参见