Skip to main content

トリガー

トリガーを使用すると、パス上の定義された位置に到達したとき、または前後に時間をずらしてツールをオンにするなどのアクションを実行できます。この目的のために、 CODESYS SoftMotion は、動きに対するトリガーを設定し、その位置に到達するまでの残り時間を継続的に読み取る機能を提供します。

トリガーを使用する場合は、次の点に注意してください。

  • トリガ到達までの時間は、設定可能な予測時刻までに軸グループがトリガに近づいた場合のみ取得できます。この予測がどのように構成され、その設定がどのような影響を与えるかについては、「」で説明されています。 トリガーを使用するようにアプリケーションを構成する セクション。

  • トリガーを使用しても軌道は変更されません。特に、設定された予測に従うために軌道が減速されることはありません。たとえば、動きの開始時のトリガーの位置に 0.01 秒後にすでに到達している場合、その点に到達することを 0.01 秒以上前に通知することは、より高い予測でも実現できません。

詳細については、例を参照してください トリガーの例 1: 簡単な例トリガー例2:接着工程

トリガーを使用するようにアプリケーションを構成する

予測期間の構成

予測期間によって、計画がどのくらい先のことまで行われるかが決まります。これは、 fPlanningForecastDuration のパラメータ SMC_TuneCPKernel ファンクションブロック。このパラメータをどのように設定するかは、アプリケーションの要件によって異なります。基本的に相反する 2 つの要件があります。

  1. 可能な限り最長の予測期間

  2. 可能な限り低い遅延。最初に予測を確立する必要があるため、動きを開始するときの待ち時間が長くなります。この追加の遅延のサイズは、主に使用されるコントローラーのパフォーマンスに依存し、通常は構成された予測よりも大幅に低くなります。さらに、軸グループが中止動作や割り込みに反応するまでの遅延は、設定された予測によって増加します。予測には影響はありません MC_GroupHaltMC_GroupStop。どちらの機能ブロックも、構成された予測とは独立して、常に即座に動作します。

fPlanningForecastDuration のパラメータ SMC_TuneCPKernel したがって、機能ブロックは必要なだけ高く設定する必要がありますが、できるだけ低く設定する必要があります。予測が必要ない場合は、パラメータをデフォルト値の 0 のままにすることができます。

実際に利用可能な予測は、たとえば最後の動作の終わりに近づいている場合など、さまざまな理由により、設定された予測と異なる場合があります。現在利用可能な予測は、次の方法で監視できます。 CurrentPlanningForecast の出力 MC_GroupReadStatus

動作ごとのトリガーの最大数の設定

納品されたとおり、 CODESYS SoftMotion 動作ごとに最大 8 つのトリガーをサポートします。この数が十分でない場合は、 MAX_NUM_TRIGGERS_PER_MOVEMENT パラメータはライブラリパラメータとして変更できます。これは、 図書館管理者 およびそれぞれの編集者 ライブラリパラメータ。ライブラリパラメータを使用するには、 CODESYS バージョン SP19 以上を推奨します。

トリガーのコマンドと評価

トリガーのコマンドには 2 つの機能ブロックが使用できます。 SMC_グループ準備トリガーSMC_GroupReadTrigger

トリガーは動作に割り当てられます。個々のトリガーを使用して準備する必要があります。 SMC_GroupPrepareTrigger ファンクションブロック。位置は、相対的、絶対的、または平面との交点として指定できます (「 SMC_TriggerPositionType)。呼び出し順序は、 SMC_GroupPrepareTrigger 準備されたトリガーは同じサイクルで命令される次の動作に割り当てられるため、それぞれの動作は特に重要です。したがって、すべてのアプリケーションで次の点に注意する必要があります。

  1. SMC_GroupPrepareTrigger 移動機能ブロックの前に必ず呼び出す必要があります。

  2. トリガーとそれぞれの動きは常に同じサイクルで命令される必要があります。サイクル内で動きが開始されない場合、準備されたトリガーは破棄され、 CommandAborted の出力 SMC_GroupPrepareTrigger ファンクションブロックを設定します。

トリガーが動作に割り当てられている場合、トリガーに関する情報は次を使用して取得できます。 SMC_GroupReadTrigger。トリガーが利用可能な予測期間内になるとすぐに、ステータスは次のように変わります。 SMC_TRIGGER_STATUS.Active トリガーに達するまでの時間を読み取ることができます。時間は常に現在のサイクルの開始時間を指します。トリガーをいつトリガーすべきか (位置に到達する前、途中、または後) に応じて、アプリケーションで適切なサイクルで目的のアクションを実行できます。

トリガーが動作に割り当てられている場合、トリガーを中止することはできません。代わりに、単に無視することもできます。

動作が次の動作によって中止された場合、 MC_BUFFER_MODE.Aborting, すると、最初の動きに割り当てられたトリガーも消えます。

ブレンドによる動きのトリガー

での動きについては、 動きのバッファリングとブレンディング、トリガーがブレンディング パス上に投影されます。次の図は、P1 から P2 への移動とそれに続く移動をそれぞれブレンディングで指令した場合を定性的に示しています。最初の動きへのブレンドはポイント B で終了し、前の動きへのブレンドはポイント A から始まります。青いトリガーは P1 と B の間にあります。最初のブレンドの動きの後半に投影されます (青い線で強調表示されています)。 。同様に、A と P2 の間にある赤いトリガーが、2 番目のブレンド動作の前半分に投影されます (赤い線で強調表示されています)。緑のトリガーはブレンディング領域の外側にあり、シフトされていません。

_sm_img_digital_switches.png

トリガーとブレンドする場合、動きとそれぞれのトリガーのステータスに関する特別な機能があります。 P1 レポートから P2 レポートに移動するためのコマンド機能ブロック Done A点に到達するとすぐに。ただし、この動きに関連付けられた赤いトリガーは、それが投影されたブレンディング要素上の位置に到達するまでアクティブのままです。