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 结构。

备注

范例

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

参见

MoveLinearAdditive

MoveLinearRelative