缓冲和混合动作
可以用以下方法缓冲移动命令 CODESYS SoftMotion。对于每个命令动作,可以指定如何缓冲动作,以及如何从前一个动作到新动作进行混合。通过使拐角变圆来调整命令路径,这样路径就可以不停地行驶
运动是否被缓冲以及如何缓冲动作,可以通过以下方式进行配置 BufferMode 运动方块的输入(例如, MC_MoveDirectAbsolute 或者 MC_MoveCircularRelative)。有关更多信息,请参阅以下内容: mc_buffer_mode。
这个 TransitionMode 和 TransitionParameter 输入决定圆角的圆角方式。有关更多信息,请参阅以下内容: MC_TRANSITION_MODE。
有关动作的更多信息,请参阅以下内容: 运动功能块
注意
在混合模式下, TransitionMode 一定不能等于 TMNone。
提示
两个乐章之间的融合最早始于第一乐章的中途,最晚于第二乐章的中途结束。
如果第一个动作已经计划得太远,那么使用设置的参数可能无法再进行混合。然后混合区域会缩小或无法再进行混合。为了保证成功混合,应在同一周期内命令两个动作。
混合时的路径动态
如果在 CP 运动之间(线性段和圆形段之间)进行混合,则应注意在混合过程中可能会超过最大路径加速度和最大路径加速度。混合范围越短,这种效果就越明显。但是,轴的极限(最大轴加速度和最大轴加速度)始终保持不
因此,如果最大路径加速度较低且最大轴加速度较高,则混合时可能会出现过高的加速度。这可以通过以下方式来抵消 AccFactor 例如,通过降低运动的最大轴加速度来输入运动块。
的特点 TMStartVelocity
混合点的计算基于理想的速度曲线,该曲线可能偏离实际速度曲线。此时,将在通往混合点的原始路径上模拟减速斜坡,同时模拟加速斜坡并远离混合点。使用编程路径速度和由轴极限得出的估计最大路径速度的最小值作为目标速度。
此外,在直线之间混合时,会考虑直线之间的角度。混合元素的最小曲率半径来自所需的路径速度和估计的动态极限。点 A' 和 B' 由该半径和直线之间的角度轮流产

如果尽管设定系数为 1,但混合过程中运动速度减慢,则增加系数可能会有所帮助。
示例
在一个小示例应用程序中,应该拾取工件。机器人应首先在工件上方移动,然后向下移动以将其捡起。为了尽可能快地到达工件,不应停止两个动作之间的移动,而应混合移动。在第一个动作结束之前,混合到第二乐章应该开始十个单位。
为了满足要求,必须指挥两次行动。第一乐章(moveAbove) 在工件上方和第二动作 (moveDown) 向下朝向工件。对于第二乐章,必须定义如何缓冲和混合动作
如下图所示, BlendingHigh 被选为 BufferMode。这定义了应在第一个动作之后对机芯进行缓冲,然后再进行混合。此外,对于 TransitionMode, TMCornerDistance 以 10 个单位的距离进行定义,以将第一动作平滑地融合到第二乐章中。为了设置两个输入 TransitionMode 和 TransitionParameter 恰当地, SMC_CornerDistance 使用功能块。
