Skip to main content

バスサイクルタスク –EtherCAT

開始時の動作

原則として、各IECタスクに使用される入力データは、タスクの開始時に読み取られます(_1_r.png)出力データはタスクの最後にI/Oドライバに書き込まれます(_3_r.png)。I/Oドライバの実装は、I/Oデータの追加転送において決定的な役割を果たします。これにより、対応するバスシステムへの実際の転送が行われる時間枠と時刻が決まります。

PLCのバスサイクルタスクは、PLC設定ですべてのフィールドバスに対してグローバルに定義できます。ただし、一部のフィールドバスでは、グローバル設定とは独立して変更できます。バスサイクルタスクとして、サイクル時間が最も短いタスクが使用されます(設定:未指定の中でPLC設定)。このタスクでは、メッセージは通常バス上で送信されます。

その他のタスクは、バス サイクル タスク内の物理ハードウェアとのみ交換される内部バッファーからの I/O データのみをコピーします。

タスク開始時のフレーム

もしFrameAtTaskStartプロパティは次のように設定されているFALSE、タイミングは次のようになります。

_ecat_frame_at_task_start_set_false.png

もしFrameAtTaskStartプロパティは次のように設定されているTRUE、タイミングは次のようになります。

_ecat_frame_at_task_start_set_true.png
  • _1_r.png入力バッファから入力を読み込み

  • _2_r.png IECタスク

  • _3_r.png出力バッファに出力を書き込む

  • _4_r.pngバスサイクル

  • _5_r.png入力バッファ

  • _6_r.png出力バッファ

  • _7_r.pngバスへの/からのデータのコピー

  • _9_r.pngバスサイクルタスク、優先度1、1ミリ秒

  • _10_r.pngバスサイクルタスク、優先度5

  • _11_r.pngバスサイクルタスク、優先度10、タスク5によって割り込まれる

詳細については、以下を参照してください。プロパティ: "IoDrvEtherCAT.FrameAtTaskStart"

タスクの使用状況

そのタスクの展開タブには、使用されている I/O チャネル、設定されたバス サイクル タスク、およびチャネルの使用状況の概要が表示されます。

警告

出力がさまざまなタスクに書き込まれる場合、その都度上書きされる可能性があるため、ステータスは未定義になります。

複数のタスクで同じ入力が使用される場合、タスクの処理中に入力が変化する可能性があります。これは、タスクがより優先度の高いタスクによって割り込まれ、プロセスイメージが再度読み込まれる場合に発生します。

解決策: IEC タスクの開始時に、入力変数を変数にコピーし、コードの残りの部分ではローカル変数のみを操作します。

結論: 複数のタスクで同じ入力と出力を使用することは意味がなく、場合によっては予期しない反応につながる可能性があります。

詳細については、以下を参照してください。「タスク構成」

バスサイクルの挙動EtherCAT

IEC 入力がコピーされる前に、最後のサイクルの保留中のネットワーク メッセージが読み取られます。

_ecat_task_diagram11.png

いつタスクごとのメッセージオプションは設定で有効になっていますEtherCATマスターでは、タスクおよび使用される入力または出力ごとに、使用されるデバイスに追加のテレグラムが送信されます。低速タスクで使用されるチャネルも送信頻度が低くなります。その結果、バス負荷を軽減できます。

_ecat_img_task_diagram_ethercat2.png