予報
予測機能を使用すると、軸の将来の動きに関する情報を照会できます。予測の重要な用途は、位置に到達するまでの時間を決定することです (トリガー機能と同様)。もう 1 つの用途は、特定の時間に軸が持つ位置と速度を決定することです。この方法では、たとえば接着ノズルがオンになったときなど、アクチュエータがオンになったときにデッド タイムを補正できます。また、デッド タイムのあるアクチュエータを正確に制御するために使用することもできます。たとえば、100 ミリ秒後の軸速度に基づいて接着出力を制御するなどです。
これらのアプリケーションを実装するには、 SMC_Get旅行時間 そして SMC_ReadSetValues 予測期間を設定した後の機能ブロック SMC_予測設定。
使用例については、以下を参照してください。 単軸の動きの予測
予測機能を備えた移動機能ブロック
機能ブロック | 予報 |
---|---|
| -- |
| ✓ |
| ✓ |
| ✓ |
| ✓ |
| ✓ |
| ✓ |
| ✓ |
| -- |
| ✓ |
| ✓ |
| ✓ |
| ✓ |
| ✓ |
| -- |
| -- |
| ✓ |
| ✓ |
| ✓ |
予測機能を有効にする
予測機能はデフォルトでは無効になっています。つまり、 SMC_ReadSetValues
有効な値のみを返します TimeOffset
0秒(現在のタスクサイクルの開始)からタスク間隔(現在のタスクサイクルの終了)の間、および SMC_GetTravelTime
このサイクルで到達した位置に対してのみ有効な時間を返します。
の SMC_予測設定 ファンクションブロックは、必要な予測期間と SMC_予測を取得 ファンクションブロックは読み取りに使用されます。
ノート:
予測期間はいつでも変更できます。
予測計算には計算時間がかかるため、予測期間を不必要に長くしないでください。アプリケーションに十分な最小値を選択してください。
マスター/スレーブ機能ブロック(
MC_CamIn
)の場合、マスター軸とスレーブ軸の両方で予測を有効にする必要があります。
コールオーダー
予測関数が最良の結果をもたらすためには、マスター/スレーブ関数ブロックが正しい順序で呼び出されることを確認することが重要です。これは、 MC_CamIn
、 MC_GearIn
、 MC_GearInPos
、 MC_Phasing
、 SMC_BacklashCompensation
、 そして SMC_TrackAxis
マスター軸の移動機能ブロックは、マスター/スレーブ機能ブロックの前に呼び出す必要があります。
予測がなくても、呼び出し順序が正しければ軌道は良くなります。順序が間違っていると、スレーブの動きが 1 サイクル遅れます。
のために MC_SetOverride
、このファンクションブロックも軸の移動ファンクションブロックの前に呼び出される必要があります。オーバーライドを変更すると、同じタスクサイクルで軸の動きが変更されます。その結果、予測に基づいて以前に決定された値は有効性を失います。次回に再び決定されます。 SMC_GetTravelTime
または SMC_ReadSetValues
と呼ばれます。
バッファモード
予測機能は単一の動きに限定されません。ブレンディング モードまたはバッファ バッファ モードでコマンドされる後続のすべての動きにも適用されます。
軸上で中止動作が実行されると、このタスクサイクルにおける軸の動作が変更されます。その結果、予測に基づいて以前に決定された値は有効性が失われます。次回に再度決定されます。 SMC_GetTravelTime
または SMC_ReadSetValues
と呼ばれます。
有効な予測/制限
理想的には、有効な予測期間は、構成された予測期間と等しくなります。ただし、有効な予測が構成された予測よりも短くなる要因がいくつかあります。
マスター/スレーブ移動が実行されると、スレーブの有効予測は、マスターの有効予測とスレーブの構成済み予測の最小値になります。
論理軸とエンコーダ軸の場合、有効な予測は常に 0 になります。
アクティブ移動機能ブロックが予測機能をサポートしていない場合、有効な予測も 0 になります。
それ以外の場合、有効な予測は構成された予測と同じになります。