動きのバッファリングとブレンド
移動コマンドは以下でバッファリングできます CODESYS SoftMotion。命令された動きごとに、動きをバッファする方法と、前の動きから新しい動きまでどのようにブレンドするかを指定できます。指令された経路は、その経路が止まることなく移動できるように、角を丸めることで調整されます
動きをバッファリングするかどうか、またどのように行うかは、次の方法で設定できます。 BufferMode ムーブメントブロックの入力 (例: MC_MoveDirectAbsolute または MC_MoveCircularRelative)。詳細については、以下を参照してください MC_Buffer_Mode。
ザ・ TransitionMode と TransitionParameter 入力によって角の丸み付け方法が決まります。詳細については、以下を参照してください MC_TRANSITION_MODE。
ムーブメントの詳細については、以下を参照してください。 ムーブメント用ファンクションブロック
注記
ブレンディングモードでは、 TransitionMode 次の値と等しくならないようにしてください。 TMNone。
ヒント
2 つの楽章の融合は、早くても第 1 楽章の半ばで始まり、遅くても第 2 楽章の半ばで終わります。
最初の動作がすでに計画されすぎている場合は、設定されたパラメータでブレンドができなくなる可能性があります。その場合、ブレンド領域が縮小されるか、ブレンドができなくなります。ブレンドが確実に成功するためには、両方の動作を同じサイクルでコマンドする必要があります。
ブレンド時のパスダイナミクス
CPの動きの間(直線セグメントと円形セグメントの間)でブレンドを行う場合、ブレンド中に最大パス加速度と最大パスジャークを超える可能性があることに注意してください。ブレンド範囲が短いほど、この効果はより顕著になります。ただし、軸の制限 (最大軸加速度と最大軸ジャーク) は常に維持されます
したがって、最大パス加速度が低く、最大軸加速度が高い場合、ブレンド時に高すぎる加速度が発生する可能性があります。これは、次の方法で相殺できます AccFactor 動きの最大軸加速度を下げるなどして、モーションブロックに入力します。
の特徴 TMStartVelocity
ブレンドポイントの計算は理想的なベロシティカーブに基づいており、実際のベロシティカーブとは異なる場合があります。このとき、ブレンドポイントに向かう元の経路で減速ランプがシミュレートされ、ブレンドポイントから離れる加速ランプがシミュレートされます。プログラムされた経路速度の最小値と、軸の限界値から得られる推定最大経路速度の両方が目標速度として使用されます
また、直線同士をブレンドする場合、直線間の角度が考慮されます。ブレンディングエレメントの最小曲率半径は、目的の経路速度と推定されるダイナミクス制限値によって決まります。点A' と B' は、この半径と直線間の角度から順番に得られます

係数を1に設定したにもかかわらず、ブレンドプロセス中に動きが遅くなる場合は、係数を増やすとよいでしょう。
例
小さなサンプルアプリケーションでは、ワークピースをピックアップすることになっています。ロボットはまずワークピースの上を移動し、次に下に移動してワークピースを拾う必要があります。ワークピースにできるだけ速く到達するには、2 つの動きの間を止めるのではなく、混ぜ合わせる必要があります。2 番目の楽章へのブレンドは、1 番目の楽章の終わりに達する 10 単位前に開始する必要があります
要件を満たすには、2つの動きを指揮する必要があります。最初の楽章moveAbove) ワークピースの上と 2 番目の動き (moveDown) ワークピースに向かって下向きに。2 番目の動きでは、動きをどのように緩衝してブレンドするかを定義する必要があります
次の画像に示すように、 BlendingHigh に選ばれたのは BufferMode。これにより、最初の動きの後に動きをバッファリングしてからブレンドする必要があると定義されます。さらに、 TransitionMode、 TMCornerDistance 最初の動きが2番目の動きにスムーズに溶け込むように、10単位の距離で定義されています。2 つの入力を設定するには TransitionMode と TransitionParameter 適切には、 SMC_CornerDistance ファンクションブロックが使用されています。
