SetCamTable
透过设置与相关表的连接来设置凸轮表。
语法
KsCommandStatus SetCamTable(
int Index,
McCamTable Table,
double* MasterPositions,
double* SlavePositions,
double* PointParameters
);
参数
Index [in]:凸轮表索引。索引以零为起点;别名将影响此参数。
Table [in]:定义凸轮表。请见 McCamTable 结构。
MasterPositions [out]:凸轮表中储存主轴位置的阵列。
SlavePositions [out]:凸轮表中储存从轴位置的阵列。
PointParameters [out]:表点的附加参数,取决于其插补类型。
直线插补:null。
Poly5 插补:有四个点类型,"!=" 表示 "不等于"。
- StopPoint: Vel = 0; Acc = 0;
- VelocityPoint: Vel != 0; Acc = 0;
- AccelerationPoint: Vel = 0; Acc != 0;
- MovePoint: Vel != 0; Acc != 0;
回传值
返回 KsCommandStatus 结构。
备注
- 更多关于凸轮表的运作方式之资讯请见: 概念解说 > 凸轮。
- 模拟轴可用作主轴。
- 凸轮表的索引为特定供应商的资料类型。
- SetCamTable 允许选择包含数据的凸轮表以进行凸轮移动,包含:
- 下载凸轮曲线的起点。
- 开始生成凸轮曲线。
- KsCommandStatus 内的
Done
设定后,凸轮表的索引即有效并可在 SetAxisCam 中使用。
范例
BOOL DefineCamTable(INT Index) {
McCamTable Table = { 0 };
Table.MasterAbsolute = MASTER_ABSOLUTE;
Table.SlaveAbsolute = SLAVE_ABSOLUTE;
Table.Periodic = PERIODIC;
Table.InterpolationType = INTERPOLATION_TYPE;
Table.Length = TABLE_LENGTH;
double MasterPositions[TABLE_LENGTH] = MASTER_POSITIONS;
double SlavePositions[TABLE_LENGTH] = SLAVE_POSITIONS;
double PointParameters[TABLE_LENGTH] = POINT_PARAMETERS;
KsCommandStatus cam = WaitForCommand(5, FALSE, SetCamTable(Index, Table,
MasterPositions, SlavePositions, PointParameters));
return TRUE;
}
使用需求
RT | Win32 | |
---|---|---|
最低支援版本 | 4.0 | 4.0 |
标头档 | ksmotion.h | ksmotion.h |
程式库 | KsApi_Rtss.lib | KsApi.lib |
参见