MoveAxisVelocity
下达一个永远照特定速度移动之运动指令。
语法
KsCommandStatus MoveAxisVelocity(
int Index,
double Velocity,
double Acceleration,
double Deceleration,
double Jerk,
McDirection Direction,
McBufferMode BufferMode
);
参数
Index [in]:轴索引。索引以零为起点;别名将影响此参数。
Velocity [in]:指定速度的值,[单位/秒]。
Acceleration [in]:加速度值,单位由 McProfileType 类型决定,(马达的增加能源) [单位/秒2] 或 [秒]。
Deceleration [in]:减速度值,单位由 McProfileType 类型决定,(马达的减少能源) [单位/秒2] 或 [秒]。
Jerk [in]:加加速度值,单位由 McProfileType 类型决定,为 [单位/秒3] 或 [秒]。
Direction [in]:轴移动的方向,请见 McDirection 类型(不适用 mcShortestWay
)。
BufferMode [in]:定义如何融合两功能的速度,请见 McBufferMode 类型。
回传值
返回 KsCommandStatus 结构。
备注
范例
VOID RecordPosition(INT Index, DOUBLE Velocity, McDirection Direction) {
double PosRecord = 0;
//Configure the probe
McProbeTrigger ProbeTrigger = { 0 };
ProbeTrigger.TouchProbeId = 0;
ProbeTrigger.Software = FALSE;
ProbeTrigger.IndexPulse = TRUE;
ProbeTrigger.Edge = TRUE;
ProbeTrigger.AxisSwitch = FALSE;
ProbeTrigger.Index = 0;
ProbeTrigger.Offset = 0;
KsCommandStatus probe = SetAxisTouchProbe(Index, ProbeTrigger, FALSE, 0, 0, &PosRecord);
//Start moving
MoveAxisVelocity(Index, Velocity, 36000, 36000, 3600000, Direction, mcAborting);
//Wait for the position to be recorded
probe = WaitForCommand(30, TRUE, probe);
RtPrintf("Recorded position: %d\n", (int)PosRecord);
WaitForCommand(30, TRUE, HaltAxis(Index, 36000, 3600000, mcAborting));
}
使用需求
RT | Win32 | |
---|---|---|
最低支援版本 | 4.0 | 4.0 |
标头档 | ksmotion.h | ksmotion.h |
程式库 | KsApi_Rtss.lib | KsApi.lib |
参见