Skip to main content

概述

缓冲模式

有些功能块有一个 BufferMode 输入用于控制运动的时间顺序。缓冲模式定义功能块是在非缓冲模式(“中止”,标准行为)下工作,还是在缓冲模式(“缓冲”)下工作。这两种模式之间的区别在于它们开始操作的时间:

  • “非缓冲模式”:即使中断了另一个运动,运动命令也会立即生效。命令运动的缓冲区将被删除。

  • “缓冲模式”:移动命令等待,直到当前功能块设置其输出 Done (或者 InPosition, 或者 InVelocity等)。缓冲模式还用于定义速度曲线在动作过渡时应如何表现。

38. BufferMode 输入是 MC_BUFFER_MODE 类型的 ENUM。

Aborting

无缓冲的默认模式。功能块立即启动并中止活动运动。命令在轴上立即生效。

Buffered

最后一个命令的运动完成后,功能块立即启动。这里不进行混合。新的运动以达到结束条件时前一个运动的速度开始(DoneInVelocityInEndVelocityInGearInSyncEndOfProfile等)。如果前一个动作是 MC_MoveAbsolute 或者 MC_MoveRelative,则新的运动从静止状态开始。

BlendingLow

最后一个命令的运动完成后,该功能块立即启动。轴在运动之间不会停止,而是以两个运动命令中较低的速度通过第一个运动的终点位置。

BlendingPrevious

最后一个命令运动完成后,该功能块立即启动。轴在运动之间不会停止,而是以第一个运动命令的速度通过第一个运动的终点位置。

BlendingNext

最后一个命令运动完成后,该功能块立即启动。轴在运动之间不会停止,而是以第二个运动命令的速度通过第一个运动的终点位置。

BlendingHigh

最后一个命令运动完成后,该功能块立即启动。轴在运动之间不会停止,而是以两个运动命令中较高的速度通过第一个运动的终点位置。



支持的功能块

所有可以指定为缓冲/混合命令的功能块都有以下输入和输出:

  • BufferMode 输入 (MC_BUFFER_MODE 类型)

  • Active 输出: (BOOL 类型)

当功能块切换到状态时,命令被接受 Busy 在发出新的动作指令之后。

功能块

可以定义为缓冲/混合命令

可以跟随缓冲/混合命令

激活下一个缓冲/混合 FB 的相关信号

MC_Power

MC_Home

MC_Stop

MC_Halt

MC_MoveAbsolute

MC_MoveRelative

是的

是的

Done

MC_MoveAdditive

是的 (Buffered 仅有的)

Done

MC_MoveSuperImposed

MC_HaltSuperImposed

有关详细信息,请参阅:For more information, see: MC_MoveSuperImposed 和 MC_HaltSuperImposed 的行为

MC_MoveVelocity

是的

是的 (Buffered 仅有的)

InVelocity

SMC_MoveContinuousAbsolute

SMC_MoveContinuousRelative

是的 (Buffered 仅有的)

InEndVelocity

MC_PositionProfile

MC_VelocityProfile

MC_AccelerationProfile

是的 (Buffered 仅有的)

Done

MC_CamIn

是(只有 BufferedBlendingPrevious)

是的,如果是定期的(仅 Buffered

EndOfProfile

MC_CamOut

是的 (Buffered 仅有的)

Done

MC_GearIn

是的 (BlendingPrevious 仅有的)

是的 (Buffered 仅有的)

InGear

MC_GearOut

是的 (Buffered 仅有的)

Done

MC_GearInPos

是的 (BlendingPrevious 仅有的)

是的 (Buffered 仅有的)

InSync

SMC_FollowPosition

SMC_FollowVelocity

SMC_FollowPositionVelocity

SMC_FollowSetValues

SMC_SetTorque

MC_Phasing

MC_Jog

SMC_Inch

当使用缓冲模式命令移动时,不应使用这些功能块 Buffered 或者 Blending*. 慢跑和指令动作可能会互相干扰。

SMC_BacklashCompensation

SMC_TrackAxis

SMC_TrackSetValues

注意 MC_GearInPosMC_GearIn:其他缓冲模式的行为如下 BlendingPrevious 很难建立。主要问题是这些功能块的速度可能随时根据主轴而变化。因为混合效果最好,因为混合速度越早越好,所以只有 BlendingPrevious 受支持。

如果是 BlendingPrevious主轴的方向也可以随时改变。这意味着,只有在混合完成时,从轴对于 MC_GearInPos 应具有的方向才为人所知。但是,我们需要在混合开始时就确定混合运动的方向。这就是为什么第一个运动既定义了混合速度,又定义了方向,而不管后续运动定义的方向如何 MC_GearIn(Pos)