産業用イーサネット(9)EtherCAT の基本動作

EtherCAT の基本動作

EtherCAT は ライン・トポロジが基本で、1台のマスタと複数のスレーブで構成する。図1 は1台のマスタと3台のスレーブで構成される例だ。マスタが送信した1つのイーサネットフレームが全てのノードを巡回し、マスタに戻る。各ノードは、イーサネットフレームを受信すると、あらかじめ自分自身に割り当てられた領域を読み書きし、次段のノードに渡す。この時、On The Fly 方式で「受信・内部処理・送信」を同時に行う。イーサネットでは一般的な Store & Forward では、フレームを内部に取り込む最大124マイクロ秒の遅延が発生するが、 On The Fly 方式では、僅かな内部処理遅延しか発生せず高速処理ができる。

マスタが送信したフレームがスレーブを巡回し、各スレーブでデータの読出しと応答データの書き込みを行うことで、コマンドに対する「応答」の必要がないユニークで高速な仕組みだ。

マスタと各ノード間は、100BASE-TXまたは100BASE-FX の全2重モードで接続する。全2重モードは送信線と受信線が分離されているため、1本の 100BASE-TX/100BASE-FX でフレームが巡回できる。ネットワークを半2重に設定すると、各所で衝突(送信と受信が同時)が発生し、通信できなくなる。EtherCAT では全2重が必須だ。

図1 EtherCAT 基本動作
図1 EtherCAT 基本動作

強力な「ハードリアルタイム性」を実現するためには、高速で安定した通信サイクルと巡回時間の短縮が必要だ。EtherCAT は、1つのフレームを Store & Forward ではなく通過させることでフレーム格納時間をなくし、応答をなくすことで通信サイクルの短縮を実現している。ノードの数が決まれば、フレームの巡回時間も定まり、安定した通信サイクルを実現できる(図2)。
工作機械やロボットの制御データには、通信サイクルが一定な「定期通信」を行い、ノードの初期設定や CANopen や イーサネットなどの制御データ以外のデータを通過させるためには、「定期通信」の隙間で「不定期通信」を使用する。

図5 ハード・リアルタイム
図2 ハード・リアルタイム

処理時間と処理サイクルを短縮するためには、スレーブ内での滞留時間短縮がカギになる。図3 はスレーブの内部構造だ。RJ45 コネクタ、パルストランスと物理層 LSI は、一般的なイーサネットと同じだが、MAC 層は異なる。On The Fly 処理を実現するため、EtherCAT 専用の ESC を実装する。図3 左ポートから受信し、ESC で自分自身に割り当てられた領域の読み書きを行い、右側ポートから次段のノードに向け送信される。フレーム受信/処理/フレーム送信が同時進行する方式だ。

ESC の内部滞留時間を限界まで短縮するため、受信段のFIFOFirst In First Out)バッファの大きさを設定できるようになっている。更に、送信バッファは削除されている。

図6 スレーブの内部構造
図3 スレーブの内部構造

On The Fly

On The Fly は、図4 のように高速で移動する列車や車の自分自身の指定席に飛び乗るイメージだ。割り当てられた領域を読み書きする時もフレームは動き続ける。具体的には、スレーブの内部構造図(図3)の「処理ステージ」にフレームの一部が居る間に読み書きを行う。

On The Fly のイメージ
図4 On The Fly のイメージ

On The Fly スレーブの処理手順をいくつかの例で説明する。図5 はマスタと3台のスレーブで構成される例だ。マスタが送信したフレームは、スレーブの中をうねりながら通り抜けてゆく。往路で各自の決められた箇所の読み書きを行い、末端に到達すると折り返し、復路(帰り道)では何もしない。各部での処理は図5 の1~11の順序になる。

マスタが送信したフレームが最終段のスレーブに到達し、最終段スレーブの読み書きが完了したところでマスタからの情報が全て行き渡る。フレームが逆ルートをたどり、マスタがフレーム全体を受信したところでサイクルが完了する。たった1つのフレーム送受信で、全ノードへの情報配信と応答受信が完了する。もちろん、集配信するデータが増えれば、複数フレームが巡回する場合もある。

図5 On The Fly の動作シーケンス
図5 On The Fly の動作シーケンス(出典:いまさら聞けない EtherCAT入門:産業用ネットワーク技術解説 – MONOist

図6 は On The Fly 時間変化による動作イメージだ。デイジーチェーンの上位(例えばマスタ)からフレームを受信しながら、自分自身に割り当てられた領域を読み書きする。同時に下位のSlaveに送信を行う。

図7 はEtherCAT のフレーム概要だ。イーサネットフレームの中に EtherCAT フレームがある。EtherCAT フレームの中は、各ノードの読み書き領域があらかじめ割り当てられている。

図6 On The Fly 動作(時間変化)
図6 On The Fly 動作(時間変化)
図7 前図(図6)のOn The Fly フレーム構造
図7 前図(図6)のOn The Fly フレーム構造

ポーリングとの比較

EtherCAT では、制御ネットワークで一般的な各ノードへの「ポーリング」や各ノードからの個別の「応答」がない。EtherCAT の高速性を理解するため、状態監視で一般的に使われる標準イーサネットでのポーリングと比較したい。

次のようなモデルケースで比較してみよう。

  • システム構成は、図8
  • 標準イーサネットも EtherCAT も1台のマスタに50台のスレーブ構成
  • スレーブごとに、問合せ/応答がセットになる
  • スレーブ1台当たりの送信データ(問合せ)は10バイト
  • スレーブ1台当たりの受信データ(応答)は10バイト
  • スレーブの送受信データは合計20バイト
  • EtherCAT のスレーブデータは、(10+10)×50台=1000バイト(1500バイトのペイロードに収まる)
  • 標準イーサネットのフレーム長は、64バイト+20バイト(物理層で付加)
  • EtherCAT のフレーム長は、1518バイト+20バイト(物理層で付加)
  • 伝送速度はいずれも 100Mbps
図11-1 イーサネット-EtherCAT 性能比較(システム構成)
図8 イーサネット/EtherCAT 性能比較(システム構成)

50台のスレーブに問合せを行い、全ての応答を受信するまでの時間を比較する(図9)。

標準イーサネットでは、スレーブが問い合わせフレームを受信してから応答フレームを送信開 始するまで、約6.7マイクロ秒とする。この応答時間は実現が困難なほど高速だ。50個の問い合わせフレームを連続送信し、いずれのスレーブからも6.7マイクロ秒後に応答フレームを受信する。全ての応答フレームの受信完了までの時間は、52個のフレーム時間と同じで、約349マイクロ秒必要だ。

EtherCATでは、最大長の1518バイトフレームに50台分の送受信データ領域を確保し、フレー ムを送信する。1518バイトフレームはペイロードが1000バイトあり、50台分の送受信データ1000バイトを十分格納できる。各 EtherCAT スレーブで20ビット分の遅延が発生する。50台で は10マイクロ秒の遅延だ。自分自身が送信した1518バイトのフレームを受信する時間は約123 マイクロ秒だ。サイクルが終了するまで、約133マイクロ秒とかなり早い。

このケースで、EtherCAT の所要時間は標準イーサネットの約38%ですむ。

図11-2 イーサネット-EtherCAT 性能比較(処理時間比較)
図9 イーサネット-EtherCAT 性能比較(処理時間比較)

工場・物流現場のネットワークの現状

この記事を書いた人

岩崎 有平

早稲田大学 理工学部 電子通信学科にて通信工学を専攻。
安立電気(現 アンリツ)に入社後、コンピュータ周辺機器の開発を経てネットワーク機器の開発やプロモーションに従事する。
おもにEthernetを利用したリアルタイム監視映像配信サービスの実現や、重要データの優先配信、映像ストリームの安定配信に向けた機器の開発行い、Video On Demandや金融機関のネットワークシステム安定化に注力した。
現在は、Ethernetにおけるリアルタイム機能の強化・開発と普及に向けて、Ethernet TSNの普及活動を行っている。