パス精度の許容差
軸グループにはパス精度の許容値を設定できます。動的座標系が予期しない動きをした場合、これらの許容値により軸グループはエラーで停止するのではなく、この座標系に追いつくことができます。 SMC_AXIS_GROUP_MAX_AXIS_LAG_EXCEEDED
、 SMC_AXIS_GROUP_MAX_POSITION_LAG_EXCEEDED
、 または SMC_AXIS_GROUP_MAX_ORIENTATION_LAG_EXCEEDED
。
概要
パスの精度に許容誤差が必要なのはなぜですか?理想的には、軸グループはパスに正確に従う必要があります。ただし、動的座標系(ベルトや回転テーブル上のオブジェクト、別の軸グループで指定された座標系など)を使用している場合、パスをたどることができない場合があります。
例: ロボットは部品をコンベア ベルト上に配置する必要があります。ベルトは一定速度で移動しますが、ロボットが部品を配置する位置に到達する直前にベルトが予期せぬ加速をします。この状況では、部品を配置するための軌道はすでに計算されていますが、ベルトが一定の速度で動き続けることが前提となっています。したがって、残りの動作により、ロボットのいずれかの軸の最大加速度の違反が発生する可能性があります。
このような状況では、公差が重要になります。これらにより、軸グループが指定された制限内でパスから逸脱し、再び座標系に追いつくことができます。
パスの精度はフィルターによって制御されます。フィルターは計画された軌道を受け取ります (q_ref
) と最後に計算されたターゲット位置 (q_set
) を入力として使用します。フィルターの出力はターゲット位置 (q_set
)、ドライブに転送されます。もし q_ref
軸の制限の 1 つに違反すると、フィルターはパスを離れ、軸の制限に違反することなく、計画された軌道にできるだけ近づきます。間のラグがある限り、 q_set
そして q_ref
許容範囲内であれば、エラーは出力されません。

パス精度の許容値は、次のいくつかの値で構成されます。
TCP の最大ラグ (技術単位) (デフォルト値:
1 u
)TCP の最大方向誤差 (角度単位) (デフォルト値:
1 deg
)軸の技術単位での各軸の最大許容ラグ (デフォルト値: 無限大)
管理機能ブロックへの影響
によって返される位置、速度、加速度、ジャークの値。 SMC_GroupReadSetPosition
、 SMC_GroupReadSetVelocity
、 SMC_GroupReadSetAcceleration
、 そして SMC_GroupReadSetJerk
機能ブロックは計画された軌道に基づいて計算されます (q_ref
)。したがって、フィルターの影響は含まれていません。
一方、位置、速度、ジャークの実際の値は、 MC_GroupReadActualPosition
、 MC_GroupReadActualVelocity
、 そして MC_GroupReadActualAcceleration
機能ブロック – 軸グループのドライブの実際の位置に基づいて計算されます。したがって、これらにはフィルターの影響も含まれます。
によって返されるパス ダイナミクス SMC_GroupReadPathDynamics
と Source = MC_SOURCE.SET
計画された軌道に基づいています (q_ref
) なので、フィルターの影響を受けません。 (その他の値については、 Source
入力にはフィルターの寄与が含まれます)
トリガーは常に計画された軌道を参照します (q_ref
)。によって返される時刻 MC_GroupReadTrigger
計画された軌道がトリガーに到達する時刻です。フィルターが有効な場合 (q_ref<>q_set
)、軸グループは通常、トリガの位置や時間に正確に到達しません。
注: 移動レポート Done
計画された軌道 (q_ref
) 動作の終わりに達し、フィルターはアクティブではありません (またはもはやアクティブではありません) (つまり、遅延の可能性が排除されています)。次に、設定位置 (q_set
) は移動の目標位置に対応します。
許容値の設定とパス偏差の監視
公差は次を使用して設定できます。 SMC_GroupSetPathTolerance ファンクションブロック。
フィルターのステータスと計画された軌道間の現在の遅れ q_ref
と設定値 q_set
軸グループの状態をモニタできます。 InSync
、 PositionLag
、 そして OrientationLag
の出力 MC_GroupReadStatus。 InSync = TRUE
という意味です q_ref = q_set
そしてフィルターがアクティブではないこと。 InSync = FALSE
という意味です q_ref<>q_set
フィルターがアクティブであることを確認します。