此功能块让您能够通过自定义算法来控制轴,此算法能够计算轴的循环设定位置、速度和加速度。
为了对运动轨迹编程而创建的功能块必须扩展 MotionInterface 库的 FB_CustomJobBase。然后,此功能块在输入 CustomJob 处提供。
|
输入 |
数据类型 |
描述 |
|---|---|---|
|
Master |
Axis_Ref |
对将执行功能块的轴的引用。 如果自定义作业(输入 CustomJob 处提供)不使用主轴,则可以不进行分配。 如果分配了轴,那么在为定义运动轨迹而回调用户功能块时,会获取主轴的运动值。否则,主轴的运动值为零。 |
|
Axis |
Axis_Ref |
对将执行功能块的轴的引用。 |
|
Execute |
BOOL |
值范围:FALSE,TRUE。 缺省值: FALSE。 输入 Execute 的上升沿可启动功能块。功能块持续执行,且输出 Busy 设置为 TRUE。 此功能块可在执行期间重启。目标值将被上升沿出现时该点的新值所覆盖。 |
|
BufferMode |
当功能块在轴上激活时,轴的目标值(位置、速度、加速度)被运动任务循环中的新值覆盖。 缺省值:Aborting 缓冲模式。 可能的值:
有关值描述,请参阅 MC_Buffer_Mode。 |
|
|
OperationMode |
功能块的运行模式 缺省值:Position |
|
|
CustomJob |
MOIN.FB_CustomJobBase |
必须衍生自 FB_CustomJobBase 的用户创建功能块类型的实例。此功能块实例可以使用额外的参数(如,目标位置、速度、加速度、变化率等)根据自定义作业所使用的算法的要求来参数化。 覆盖以下方法:
不要覆盖此功能块的其他方法。 |
|
输出 |
数据类型 |
描述 |
|---|---|---|
|
InSteadyState |
BOOL |
值范围:FALSE,TRUE。 缺省值:FALSE,根据自定义作业的报告
|
|
Busy |
BOOL |
值范围:FALSE,TRUE。 缺省值:FALSE,根据自定义作业的报告
|
|
Active |
BOOL |
值范围:FALSE,TRUE。 缺省值: FALSE。
|
|
CommandAborted |
BOOL |
值范围:FALSE,TRUE。 缺省值: FALSE。
|
|
Error |
BOOL |
值范围:FALSE,TRUE。 缺省值: FALSE。
|
|
ErrorID |
此枚举提供诊断信息。 |
如果将功能块 MC_SetPosition 与功能块 MC_CustomJob 一起使用,那么在位置计算中不考虑偏移位置的情况下,则可能导致位置跳转。
| 警告 | |
|---|---|
为避免任何可能的位置跳转,应以轴的最后一个物理位置为基础(根据 Axis.lrPosition)计算下一个循环的轴位置,或者以其他方式检查位置计算中是否正确考虑了偏移位置。
如果将功能块 MC_CustomJob 用于模数轴,那么在发生模数溢出时,会对通过方法 CalculateMovement 生成的位置进行模数校正。此校正基于将模数偏移保存在 MC_CustomJob 中。这意味着,如果计算基于最后一个参考位置(根据 Axis.lrPosition),则下一个循环的位置将漂移模数跳转量。
| 警告 | |
|---|---|