MC_CustomJob

功能描述

此功能块让您能够通过自定义算法来控制轴,此算法能够计算轴的循环设定位置、速度和加速度。

为了对运动轨迹编程而创建的功能块必须扩展 MotionInterface 库的 FB_CustomJobBase。然后,此功能块在输入 CustomJob 处提供。

图形表示形式

输入

输入

数据类型

描述

Master

Axis_Ref

对将执行功能块的轴的引用。

如果自定义作业(输入 CustomJob 处提供)不使用主轴,则可以不进行分配。

如果分配了轴,那么在为定义运动轨迹而回调用户功能块时,会获取主轴的运动值。否则,主轴的运动值为零。

Axis

Axis_Ref

对将执行功能块的轴的引用。

Execute

BOOL

值范围:FALSETRUE

缺省值: FALSE

输入 Execute 的上升沿可启动功能块。功能块持续执行,且输出 Busy 设置为 TRUE

此功能块可在执行期间重启。目标值将被上升沿出现时该点的新值所覆盖。

BufferMode

MC_Buffer_Mode

当功能块在轴上激活时,轴的目标值(位置、速度、加速度)被运动任务循环中的新值覆盖。

缺省值:Aborting

缓冲模式。

可能的值:

  • Aborting

  • Buffered

有关值描述,请参阅 MC_Buffer_Mode

OperationMode

MC_OperationMode

功能块的运行模式

缺省值:Position

CustomJob

MOIN.FB_CustomJobBase

必须衍生自 FB_CustomJobBase 的用户创建功能块类型的实例。此功能块实例可以使用额外的参数(如,目标位置、速度、加速度、变化率等)根据自定义作业所使用的算法的要求来参数化。

覆盖以下方法:

  • CalculateMovement

  • Prepare

  • ResetJob

不要覆盖此功能块的其他方法。

输出

输出

数据类型

描述

InSteadyState

BOOL

值范围:FALSETRUE

缺省值:FALSE,根据自定义作业的报告

  • FALSE:尚未达到稳定状态或已检出错误。

  • TRUE:已达到稳定状态。这样,自定义作业就会指示缓存的作业可被激活。

Busy

BOOL

值范围:FALSETRUE

缺省值:FALSE,根据自定义作业的报告

  • FALSE:功能块不处于正被执行状态。

  • TRUE:功能块正在执行中。

Active

BOOL

值范围:FALSETRUE

缺省值: FALSE

  • FALSE:功能块不控制轴的运动。

  • TRUE:功能块控制轴的运动。

CommandAborted

BOOL

值范围:FALSETRUE

缺省值: FALSE

  • FALSE:执行尚未中止。

  • TRUE:执行已被另一个功能块所中止。

Error

BOOL

值范围:FALSETRUE

缺省值: FALSE

  • FALSE:功能块正在执行,且执行期间未检测到错误。

  • TRUE:已在执行功能块时检出错误。

ErrorID

ET_Result

此枚举提供诊断信息。

如果将功能块 MC_SetPosition 与功能块 MC_CustomJob 一起使用,那么在位置计算中不考虑偏移位置的情况下,则可能导致位置跳转。

 警告
意外的设备操作
在不调整偏移位置的情况下,不得将功能块 MC_SetPosition 与功能块 MC_CustomJob 一起使用。
未按说明操作可能导致人身伤亡或设备损坏等严重后果。

为避免任何可能的位置跳转,应以轴的最后一个物理位置为基础(根据 Axis.lrPosition)计算下一个循环的轴位置,或者以其他方式检查位置计算中是否正确考虑了偏移位置。

如果将功能块 MC_CustomJob 用于模数轴,那么在发生模数溢出时,会对通过方法 CalculateMovement 生成的位置进行模数校正。此校正基于将模数偏移保存在 MC_CustomJob 中。这意味着,如果计算基于最后一个参考位置(根据 Axis.lrPosition),则下一个循环的位置将漂移模数跳转量。

 警告
意外的设备操作
如果将功能块 MC_CustomJob 用于模数轴,请确认在位置计算中正确考虑了模数跳转的所有影响。
未按说明操作可能导致人身伤亡或设备损坏等严重后果。

注:

如果轴用于输入 Master,则会在触发 MC_CustomJob 之前,计算主轴的用于正在运行的实时循环的新目标值或参考值。因此,当被调用来计算从轴的相应值时,自定义作业的实现会从主轴获取最新(从实时循环中新计算得到的)值。

如果通过输入 OperationMode 将运行模式设置为 Velocity,并且如果驱动器无法在 Cyclic Synchronous Velocity 运行模式下运行,则功能块 MC_CustomJob 会检测到错误。轴不受影响。