IMotion.SetAxisCam 方法
连结轴并开始凸轮运动。
命名空间:IntervalZero.KINGSTAR.Base.Api组合: IntervalZero.KINGSTAR.Base.Api (于 IntervalZero.KINGSTAR.Base.dll) 版本:4.4.0.0
语法
KsCommandStatus SetAxisCam(
int Master,
int Slave,
bool Permanent,
double MasterOffset,
double SlaveOffset,
double MasterScaling,
double SlaveScaling,
McCamStartMode StartMode,
double StartParameter,
McSource MasterValueSource,
int Cam,
McBufferMode BufferMode
)
Function SetAxisCam(
Master As Integer,
Slave As Integer,
Permanent As Boolean,
MasterOffset As Double,
SlaveOffset As Double,
MasterScaling As Double,
SlaveScaling As Double,
StartMode As McCamStartMode,
StartParameter As Double,
MasterValueSource As McSource,
Cam As Integer,
BufferMode As McBufferMode
) As KsCommandStatus
参数
Master [in]
型别:int
主轴的索引。索引以 0 为起始;别名将影响此参数。
Slave [in]
型别:int
从轴的索引。索引以 0 为起始;别名将影响此参数。从轴数量最多为 32。
Permanent [in]
型别:bool
决定马达停用后是否保留凸轮状态。
true:即使马达停用仍保留凸轮状态,例如当主轴启用时从轴也会跟著启用,而当主轴发生错误从轴也会发生错误。
false:马达停用后不会保留凸轮状态。
MasterOffset [in]
型别:double
凸轮表中主轴位置的偏移量。
SlaveOffset [in]
型别:double
凸轮表中从轴位置的偏移量。
MasterScaling [in]
型别:double
主轴设定档因子(预设值 = 1.0),以从轴的角度来看,整个主轴设定档会被乘以这个因子。
SlaveScaling [in]
型别:double
从轴设定档因子(预设值 = 1.0),整个从轴设定档会被乘以这个因子。
StartMode [in]
轴所使用的凸轮模式。
StartParameter [in]
型别:double
依照所选的起始斜坡而定,若为 camRampDistance
,StartParameter 即为从轴移动的距离,单位为计数;若为 camRampTime
,StartParameter 即为从轴移动的时间,单位为秒。该参数使用主轴的资讯来决定如何移动从轴,而距离取决于主轴移动的距离。
MasterValueSource [in]
型别:McSource
定义同步的来源。
- mcSetValue – 同步主轴设定值,建议使用此设定。
- mcActualValue – 同步主轴实际值,此设定可能不稳定。
- mcSecondEncoderValue – 轴的第二编码器的实际值。
注意:尚未支援 mcSecondEncoderValue。
Cam [in]
型别:int
凸轮表的索引,连结到 SetCamTable 的输出。
BufferMode [in]
型别:McBufferMode
定义如何融合两方法的速度。
回传值
回传 KsCommandStatus 类别。
备注
- 这种方法未与 SetCamTable 合并,因为这种分离可以实现即时更改。
- 机械类比之于从轴偏移就好比在凸轮上焊了一层额外的恒定厚度,因此,从轴位置具有一个恒定的偏移量,若采用线性导向从动件,则该偏移量可表示主轴的轴偏移量。
- 欲分离从轴,请使用 ReleaseAxis。
- 当模数轴启用时,SetAxisCam 将不受影响,该轴不会将凸轮表中的位置视为模数位置。例如,假设主轴与从轴同步运行,且两者的模数值皆设定为 360。在凸轮表中,下一个 MasterPosition 和 SlavePosition 分别设定为 360 和 540。在此情况下,主轴将旋转 1 圈,而从轴将旋转 1.5 圈,以达到设定的位置。启用模数轴后,建议使用者:
- 使用 SetAxisPositionOffset 重设位置,以防止显示位置与内部位置不一致。例如,当模数值设为 360 时,使用者可能会看到位置为 0,而内部位置为 360000。
- 使用速度或距离 API 来移动主轴。
范例
N/A
参见