这个功能块位于CODESYS SoftMotion 函数库 ⇘ “SM3_CNC”。其中的变量类似于 ⇘ “SMC_ControlAxisByPos”但是轴不是通过位置控制而是通过速度控制。
FUNCTION_BLOCK SMC_ControlAxisByVel
类型 |
初始值 |
描述 |
|
---|---|---|---|
VAR_IN_OUT |
|||
Axis |
AXIS_REF |
映射到轴,参阅 ⇘ “AXIS_REF_SM3” |
|
VAR_INPUT |
|||
iStatus |
SMC_INT_STATUS |
SMC_Interpolator 的输出状态 |
|
bEnable |
BOOL |
FALSE |
必须被设置为 TRUE 以激活功能块的处理 |
bAvoidGaps |
BOOL |
TRUE |
如果为 TRUE,模块将监控速度和位置。如果轴到达存储在轴参数 (存储在AXIS_REF_SM3. fSWMaxVelocity 或者通过驱动器对话框中的“最大速度值”)中的最大速度, 模块将置位输出 bStopIpo 并根据参数 fGapVelocity,fGapAcceleration以及fGapDeceleration定义的速度将轴移动到指定位置。之后复位输出 bStopIpo。 |
fSetVelocity |
LREAL |
每秒钟按照定义单位设置速度值 |
|
fGapAcceleration |
LREAL |
1 |
减少间隙的加速度 |
fGapDeceleration |
LREAL |
1 |
弥补间隙的减速度 |
VAR_OUTPUT |
|||
bBusy |
BOOL |
TRUE |
TRUE,如果功能块的处理没有完成。功能块没有空闲 |
bCommandAborted |
BOOL |
TRUE,如果命令被另一个命令中止。 |
|
bError |
BOOL |
功能块内部发生错误信号。 |
|
iErrorID |
SMC_ERROR |
错误ID,参阅 ⇘ “SMC_ERROR”. |
|
bStopIpo |
BOOL |
FALSE |
如果为 TRUE,模块将会有一个速度或者位置上的跳跃,此动作受限于新的位置。由于这个原因输出应该连接到 SMC_Interpolator 的 EmergencyStop-输入,这样插补就会等待直到轴位于合适的位置。 |