EtherCAT - イーサネットフィールドバス

このセクションではイーサネットベースのフィールドバスであるEtherCAT (Ethernet for Control Automation Technology)について詳しく紹介します。EtherCATは新しい性能基準を構築します。トポロジの柔軟さと設定の容易性のおかげで操作性は直感的であり、フィールドバスと変わることはありません。さらに、EtherCATは非常に費用対効果よく実装でき、このシステムは今までフィールドバスネットワークが選択肢とならなかったようなアプリケーションでも使用可能です。

 

1. イントロダクション

1.1 イーサネットとリアルタイム性能

2. EtherCATの動作原理

3. EtherCATの特徴

3.1 プロトコル
3.2 トポロジ
3.3 ディストリビュートクロック
3.4 パフォーマンス
3.5 診断
3.6 高可用性
3.7 Safety over EtherCAT (FSoE)
3.8 PCIに代わるEtherCAT
3.9 デバイスプロファイル
3.9.1 CAN application protocol over EtherCAT (CoE)
3.9.2 IEC 61491準拠のServo drive profil over EtherCAT (SoE)
3.10 Ethernet over EtherCAT (EoE)
3.11 File Access over EtherCAT (FoE)

4. 敷設コスト

5. EtherCATの実装

5.1 マスター
5.1.1 マスター実装サービス
5.1.2 マスターサンプルコード
5.2 スレーブ
5.2.1 EtherCATスレーブコントローラ
5.2.2 スレーブ評価キットとスレーブサンプルコード

6. 要点

7. 文献

1. イントロダクション 

 

フィールドバスはオートメーション技術に統合される構成要素となっています。数多くの試みがなされ、今では確立し幅広く使用されています。その1つにPCベースの制御システムで広範囲のアプリケーションを可能とするフィールドバス技術があります。 (特に産業用PCにおいて) CPUの性能が飛躍的に高速化する一方で、従来のフィールドバスシステムは制御システムが実現可能な性能の点で制約 (ボトルネック) となってきました。他の要因として、複数の下位 (通常、周期的) システムからなる階層化した制御アーキテクチャの問題があります。それらの各層は、実際の制御タスク、フィールドバスシステムとI/Oシステム内のおそらく局所的なバス、あるいは周辺デバイス内の局所的なファームウェアサイクルなどです。応答時間はコントローラ周期時間よりも一般的に3~5倍高速ですが、十分な性能が得られるわけではありません (図1を参照)。


図1: 従来のフィールドバスシステムの応答時間

イーサネットはネットワークコントローラとして既に最先端の技術であり、フィールドバスシステムのレベルを超えるものです。近年ではドライブまたはI/Oレベルのアプリケーションにまで採用されています。つまり、以前はフィールドバスシステムが独占してきた分野で採用されるようになりました。この種のアプリケーションで最も要求されることは高いリアルタイム性能、小さな量のデータへの適応、そしてもちろん低コストであることです。EtherCATはこれらの要件に適合すると同時にI/Oレベルでインターネット技術を利用可能にします。

1.1 イーサネットとリアルタイム性能 

イーサネットにリアルタイム性能を追加するため数多くの試みがなされてきました。例えば、CSMA/CDメディアアクセス手順をより高いプロトコル階層レベルで無効とし、時分割手順またはポーリングに置き換えるものがあります。他の提案としては、イーサネットパケットを高度に時間的制御を行う方法で配送する特殊なスイッチを使用するものがあります。これらの解決法によってデータパケットをそれなりに高速かつ正確に接続したイーサネットノードへ送信することが可能となる一方、出力やドライブへ転送したり入力データを読み出すのに必要な時間はその実装に強く依存します。

個々のイーサネットフレームを各デバイスに用いる場合、利用可能なデータレートは原理的に非常に小さくなります。最小のイーサネットフレームは (内部パケットギャップ IGPを含んで) 84バイトの長さです。例えば、ドライブが実データと状態情報として4バイトを周期的に送信し、その結果コマンドと制御ワード情報として4バイトを受信する場合、 (ドライブの反応時間を無限小として) 100%のバス負荷では利用可能なデータレートはわずか 4/84 = 4.8% しか得られないことになります。平均反応時間を10µsとすると、このレートは1.9%まで下がります。この制約はイーサネットフレーム内で使用されるプロトコルに関係なく、イーサネットフレームを各デバイスに送信する (または、各デバイスからフレームを受信する) 全てのリアルタイムイーサネットのアプローチに当てはまります。

2. EtherCATの動作原理 

 

EtherCAT技術は他のイーサネットソリューションで生じるこの制約を解消しています。イーサネットパケットはもはや各デバイスごとに受信→解釈→プロセスデータという手順はとりません。EtherCATスレーブデバイスはそのノード内でフレームを通過させながら自身にアドレス指定されたデータを読み出します。同様に入力データは、テレグラムを通過させながら挿入されます (図2を参照)。フレームはわずか数nsしか遅延しません。

Process data is inserted in telegrams
図 2: テレグラム内に挿入されるプロセスデータ

イーサネットフレームは多数のデバイスに対する送信および受信方向のデータを含んでいるために利用可能なデータレートは90%以上になります。100BASE-TXの全二重機能を完全に活用しているので実効のデータレートは100Mb/s (2 x 100 Mb/s の90%以上) を超えることになります。


図 3: バンド幅の利用率の比較

IEEE 802.3に準拠したイーサネットプロトコルが個々のデバイスまでそのまま使用されるため、補助的なバスは必要ありません。電気ターミナルブロックのようなモジュールデバイスの要件に適合するために組み合わせるデバイス間の物理層は撚り対線や光ファイバからLVDS (代替のイーサネット物理層、[4, 5]で標準化) へ変換します。このようにモジュールデバイスは非常に低コストで拡張できます。バックプレーン物理層 LVDS から 100BASE-TX 物理層への変換もいつでも可能です。

3. EtherCATの特徴 

 

3.1 プロトコル 

EtherCATプロトコルはプロセスデータに対して最適化されており、専用のEtherTypeによってイーサネットフレーム内で直接送信されます。このイーサネットフレームは複数のEtherCATテレグラムからなる場合があり、4Gbyte までの容量を設定できる論理プロセスイメージの特定のメモリ領域をそれぞれが供給します。データの順番はネットワーク内のイーサネットターミナルの物理的な順番に依存しません。アドレス指定はどのような順番でも可能です。ブロードキャスト、マルチキャストおよびスレーブ間通信が可能です。最高性能が要求される場合には直接イーサネットフレーム送信 (Direct Ethernet frame trasnfer) を使用し、EtherCATノードはコントローラと同一のサブネット内で運用します。

しかしながら、EtherCATアプリケーションは1つのサブネット内に限定されるわけではありません。EtherCAT UDPではEtherCATプロトコルを UDP/IP データグラム内に包含します (図4を参照)。これにより、どのような制御ユニットもイーサネットプロトコルスタックでEtherCATシステムへアドレス指定できます。ルータを経由した他のサブネットへの通信も可能です。この形態ではシステムの性能が制御対象のリアルタイム特性やイーサネットプロトコルの実装に依存することは明らかです。このことで、EhterCATネットワーク自身のレスポンスタイムが制限を受けることはほとんどなく、UDPデータグラムを最初のステーションでアンパックする必要があるだけです。


図 4: EtherCAT: IEEE 802.3に準拠した標準フレーム [3]

マスタ/スレーブ原理によるデータ交換に加え、EtherCATはコントローラ間 (マスタ/マスタ) の通信にも対応します。任意にアドレス指定されたプロセスデータに対するネットワーク変数、パラメータ化に対する一連のサービス、診断、プログラムおよび遠隔制御で広範囲の要求をカバーします。マスタ/スレーブやマスタ/マスタ通信のデータインタフェースは同一です。

スレーブ間通信については、2つのメカニズムがあります。上流側のデバイスは下流側のデバイスに同じサイクルタイム内で通信でき、この場合非常に高速となります。この方法はトポロジに依存するため、例えば印刷機や包装機のように、機械設計時にスレーブ間通信の関係を決定できるような場合に適しています。任意に設定可能なスレーブ間通信では、2番目のメカニズムを適用します。このとき、データはマスタで中継され、2周期が必要になります。しかし、この場合でもEtherCATの極めて高速な性能により他のネットワークよりも高速です。

EtherCATは [3] に準拠した標準フレームしか使用しません。つまり、フレームの短縮化などは行いません。EtherCATフレームはどのイーサネットMACからでも送信でき、標準ツール (例:モニタ) を使用できます。

3.2 トポロジ 

ライン型、ツリー型またはスター型:EtherCATはほぼ全てのトポロジをサポートします (図5を参照)。フィールドバスで使われているバス型やライン型構造もまたイーサネット上で使用でき、カスケード接続されたスイッチやハブによる量的制限はありません。


図 5: 柔軟なトポロジ: ライン型、ツリー型またはスター型

システムの配線で特に便利なのは幹線と支線またはスタブの組み合わせです。必要となるインタフェースは多くのデバイス (例:I/Oモジュール内) 内にあります。必要なインタフェースはカプラ上にあるので、追加のスイッチは不要です。もちろん、従来のスイッチベースのイーサネットのスタートポロジーの使用できます。

配線の柔軟性は様々なケーブルの選択でも発揮されます。柔らかく安価な標準イーサネットのパッチケーブルでイーサネット (100BASE-TX) の信号を送信できます。プラスチック光ファイバはより長距離を接続するようなアプリケーションで使用できます。スイッチやメディアコンバータを使用すれば、光ファイバと銅線ケーブルが混在するような状況でもイーサネットの全帯域が利用できます。

ファーストイーサネットの物理層はデバイス間の距離は100mまでであり、E-Busラインはモジュラーデバイス用です。最大65535台のデバイスを接続できるのでネットワークのサイズはほぼ無制限と考えられます。

3.3. ディストリビュートクロック 

正確な時刻同期は、広範囲に分散し、同時動作が要求されるようなプロセスの場合に特に重要になります。例えば、複数のサーボ軸が同時に協調動作を実行するような場合が考えられます。

時刻同期の最も強力なアプローチは新しいIEEE 1588規格で規定されている方法で各機器に分散した時計を正確に調節することです。完全時刻同期通信と比べて、通信エラーが時刻同期の品質に直結するような場合は分散して調節された時計を使用すれば、通信システム内で発生しうるエラーに起因する遅延に対して許容範囲が大きくなります。

EtherCATではデバイスの時刻同期は完全にハードウェア機能に基づいています。通信経路が論理的 (全二重イーサネットにより物理的) なリング構造となることをを使用し、タイムスタンプが各デバイス内で受信と返信のフレームを受け取った際にサンプリングされます。これらのタイムスタンプを用い、マスタは個々のスレーブの時計への伝送遅延オフセットを簡単かつ正確に決定できます。ディストリビュートクロックはこの値を用いて時刻の調整を行います。つまり、非常に高精度なネットワーク全域の時刻基準をわずか1?s以内のジッタで調整することが可能です (図6を参照) 。設備間のような外部の時刻同期はIEEE 1588に基づく方法で行います。
.


図 6: 共時性と同時性:300ノード、ノード間ケーブル120mの場合の
2つのディストリビュートクロックデバイスのオシロスコープ画面

しかしながら、高解像度のディストリビュートクロックは時刻同期のためだけに使用されるわけではなく、データの取得の各所でのタイミングに対して正確な情報を提供するためにも使用できます。例えば、モーションコントローラは一般に連続的に測定した位置情報から速度を計算するような場合があります。特に非常に短い時間間隔でサンプリングを行うときは、移動計測で一時的に小さなジッタが発生しても速度の計算に大きな影響を与えます。EtherCATでは論理的な拡張としてタイムスタンプデータ型を導入しています。このデータ型では測定値に対して高解像度の局所時刻をリンクします。これはイーサネットの広いバンド幅によって可能となります。このため速度計算の計算精度にはもう通信システムのジッタは影響しません。ジッタフリーの通信技術による計測技術よりも時刻情報をリンクすることで高い精度のサンプリングデータが得られます。

3.4 パフォーマンス 

EtherCATはネットワーク性能の新次元に到達しました。スレーブノード内のハードウェア統合とマスタ内のネットワークカードのDMAアクセス機能によって、全てのプロトコル処理はハードウェアによって行われ、プロトコルスタックのランタイム、CPU性能やソフトウェア実装から切り離されています。I/Oサイクルタイムを含めて1000点の分散I/Oの更新時間はわずか30µsです (表1を参照)。1つのイーサネットフレームでは1486バイトまでのプロセスデータを交換でき、このサイズのフレームは12000点のデジタルI/Oに相当します。このデータ量の送信には300µsしかかかりません。


表 1: EtherCATパフォーマンスの概要

100軸のサーボの通信もまた極めて高速です。100µsごとに全ての軸へ設定値と制御データを送信し、現在の位置情報やステータスを受け取ります。ディストリビュートクロック技術では1µsを大きく下回る誤差の範囲内でこれらの軸の時刻同期が可能となります。このペースで通信を行ってもTCP/IP、パラメータダウンロードや診断データのアップロードのような非同期通信を行うのに十分以上なバンド幅があります。

EtherCAT技術の極めて高いパフォーマンスによって従来のフィールドバスシステムでは実現不可能であった制御対象への適用が可能となります。EtherCATでは最新の産業用PCの卓越した計算性能に対応した通信技術が使用できます。バスシステムが制御対象のボトルネックとなることはありません。ほとんどのローカルI/Oインタフェースよりも高速に分散I/Oへ書き込みすることができます。EtherCAT技術の原理はスケーラブルであり、ボーレート100MBaudである必要はありません。ギガビットイーサネットへの拡張も可能です。

3.5 診断 

フィールドバスシステムでは経験上、可用性と運転時間は診断機能に大きく依存します。すばやく正確に検出され、明確に場所を特定できる障害だけしかすぐに回復できません。このため、EtherCATの開発時には診断機能に対して格別の注意を払いました。

運転中にはノード (例えば、ドライブやI/Oターミナル)の実際の設定内容は指定した設定と一致しているかを確認すべきです。トポロジーもまた設定と一致すべきです。個々のターミナルまでのトポロジーの確認のためには、この検証は起動時のみに実施するのではなく、自動的にネットワークから読み出すことも可能です (configuration upload)。

送信時のビットエラーはCRCチェックサムによって確実に検出できます。32ビットCRC多項式は最小ハミング距離として4となります。断線検知や位置特定は別として、プロトコル、物理層およびEtherCATシステムのトポロジーは各通信セグメントの個々の品質監視を可能にします。これに関係するエラーカウンターの自動評価は危険なネットワークセクションの正確な位置特定を可能にします。EMIの影響や欠陥のあるコネクタやダメージを受けたケーブルのような段階的またはエラー源が変わるようなものや、まだ故障状態にはいたらずネットワークが自己回復している場合でも検出し位置を特定します。

3.6 高可用性 

システムの可用性に対する要求の高まりを受け、ネットワークをシャットダウンしなくてもデバイスの交換が可能となるようにケーブルの冗長性をオプションで提供しています。冗長性の追加は非常に低コストで行うことができ、追加に必要なハードウェアは、マスタデバイスへの標準イーサネットポート (特別なカードやインタフェースは不要) とライントポロジーからリングトポロジーへと変更するための1本のネットワークケーブルだけです (図7を参照)。デバイスやケーブルで障害が発生した場合の切り替えはわずか1サイクルで行われ、要求レベルの高いモーションコントロールのアプリケーションでもケーブルの障害に対して問題なしに運転を継続できます。また、EtherCATはホットスタンバイ機能を持つ冗長マスタもサポートします。EtherCATスレーブコントローラは、障害発生時に直ちにフレームを自動返信し、デバイスの障害がネットワーク全体のシャットダウンとならないようにします。例えば制動チェーンのアプリケーションではケーブルの断線に備え、特別にスタブとして設定されています。


図 7: 標準スレーブによる低コストなケーブル冗長性

3.7 Safety over EtherCAT 

EtherCAT上の安全データ通信を実現するためにSafety over EtherCATプロトコルがEtherCAT Technology Group内で公開されました。EtherCATは安全と非安全の情報通信を1チャネルの通信システムで行います。伝送メディアは「ブラックチャネル」とみなされ、安全性の検討は含まれません (図8を参照)。安全プロセスデータと必須のバックアップデータを入れる安全フレームはEtherCATプロセスデータに含まれます。「コンテナ」はデバイス内ではアプリケーションレベルで安全に解析されます。通信は1チャネルのままです。これは、以前のIEC 61784-3の付録Model Aに相当します。


図 8: ブラックチャネル手法によるSafety over EtherCATのソフトウェアアーキテクチャ

Safety over EtherCATプロトコルはGerman Technical Inspection Agency (TUV)によって評価され、Safety over EtherCATデバイス間のプロセスデータ送信のプロトコルがIEC 61508に基づきSIL 3にまで対応していると認証されました。デバイスへのSafety over EtherCATプロトコルの実装は安全ターゲットの要件に適合する必要があります。関連する製品固有の要件も考慮しなければなりません。


図 9: Safety over EtherCAT システム

図9のアプリケーションはこの技術の利点を活用しています。安全コンポーネントはオートメーションシステム内の必要な箇所に分散配置されています。スケーラブルなローカルI/Oコンポーネントがシステム内で使用されています。安全または非安全バスターミナルを使えば柔軟に必要なだけI/Oの追加を行うことができます。安全ロジックもネットワークに組み込まれています。このように標準のPLCは安全機能を追加することなく制御タスクを行うことができます。安全I/O機能はインテリジェントな安全バスターミナルでローカルの安全ロジックに接続します。その他のネットワークでは高価な安全PLCが必要であるのに対し、コストの削減になり、近くのタスクに従ってシステムを構築することでロジックのスケーリングが可能となります。Safety over EtherCATマスタと割り付けられた安全スレーブ間の通信だけが非安全標準PLC経由でルーティングされます。

  • 安全プロセスデータ長、通信メディアまたは転送率についてのプロトコル上の制限は全くありません。
  • EtherCAThs「ブラックチャネル」として使用されます。つまり、通信システムには安全機能を考慮する必要がありません。
  • プロトコルはIEC 61508 SIL 3の要件に適合するように規定され、認定されています。
  • Safety over EtherCATプロトコルを提供する製品が2005年から提供されています。

3.8 PCIに代わるEtherCAT 

PC部品の小型化が進み、産業用PCのサイズは必要なスロット数によって決まってしまいます。EtherCAT通信ハードのデータ幅とともにファーストイーサネットのバンド幅は新しい方向性を可能します。EtherCATでは従来から産業用PC (IPC)に内蔵していたインタフェースでインテリジェントなEtherCATインタフェースターミナルへ送信します (図10を参照)。分散I/O、モーション軸や制御ユニットは別として、フィールドバスマスタや高速シリアルインタフェース、ゲートウェイや他の通信インタフェースのような複雑なシステムにも対応できます。


図 10: 分散的フィールドバスインタフェース

さらにイーサネットデバイスさえも、プロトコルの違いによる制限を除けば分散した分散したスイッチポートデバイス経由で接続できます。中核となるIPCはより小型化し、費用対効果はより高くなり、周辺装置への全ての通信は1つのイーサネットインタフェースがあれば十分です (図11を参照)。


図 11: EtherCAT採用によるコントローラの小型化

3.9 デバイスプロファイル 

デバイスプロファイルはアプリケーションのパラメータとデバイスクラス固有のステートマシンを含めたデバイスの機能的動作を記述します。多数のデバイスクラスに対し、フィールドバス技術は既に信頼性のあるデバイスプロファイルを提供しています。例えば、I/Oデバイス、ドライブやバルブなどがあります。ユーザーはこれらのプロファイルや関連するパラメータに精通しています。このため、EtherCAT固有のデバイスプロファイルはこれらのデバイスクラスに対して開発していません。代わりに既存のデバイスプロファイルのための簡単なインタフェースを提供しています。これにより、ユーザーやデバイス製造者にとって既存のフィールドバスからEtherCATへの移行が非常に容易になりました。

3.9.1 CAN application protocol over EtherCAT (CoE) 

CANopen®*デバイスとアプリケーションプロファイルは広範囲のデバイスクラスとアプリケーションで利用でき、I/Oコンポーネント、ドライブ、エンコーダ、比例バルブや油圧コントローラなど、例えばプラスチックや繊維機械のアプリケーションプロファイルに対し使用されています。EtherCATは普及しているCANopen [7] と同一の通信メカニズムを提供できます。このメカニズムではオブジェクトディクショナリ、PDO (process data object)とSDO (service data object)があり、ネットワーク管理も互換性があります。このようにEtherCATはCANopenの機能を持つデバイス上に最小限の労力で実装することが可能です。CANopenファームウェアの大部分を再利用できます。オブジェクトについては、EtherCATの広いバンド幅に対応した拡張をオプション機能として行っています。

3.9.2 IEC 61491準拠のServo drive profil over EtherCAT (SoE) 

SERCOSインタフェース™** は高性能なリアルタイム通信インタフェースとして世界中で広く認知され、評価されており、特に、モーション制御分野で使用されています。サーボドライブに対するSERCOSプロファイルと通信技術はIEC 61800-7規格になっています。このプロファイルのEtherCATへのマッピングがパート3 [8] に規定されています。ドライブに属するサービスチャネル、それを使用した全てのパラメータと機能へのアクセスはEtherCATメールボックスに対応します (図12を参照)。ここでも、焦点となるのは既存のプロトコルとの互換性 (IDNの値、アトリビュート、名前、ユニットなどへのアクセス) と、データ長の制限に対する拡張です。SERCOSのATやMDTデータ形式のプロセスデータはEtherCATスレーブコントローラメカニズムで送信されます。マッピングはSERCOSマッピングと似ています。EtherCATスレーブステートマシンもSERCOSプロトコルの段階で容易にマッピングできます。EtherCATは特にCNCアプリケーションで普及しているドライブプロファイルに対し先進のリアルタイムイーサネット技術を提供します。このドライブプロファイルの利点はEtherCATによってもたらされる利点と相乗効果をもたらします。ディストリビュートクロックはネットワーク全体に渡って正確な時刻同期を行います。位置、速度、トルクから指示する内容を選択して送信できます。実装に依存しますが、ドライブに対して同じ設定ツールを使用することも可能です。


図 12: 複数のデバイスプロファイルやプロトコルの共存

3.10 Ethernet over EtherCAT (EoE) 

EtherCAT技術は完全にイーサネット互換であるだけでなく、「設計上の」オープン性や柔軟な適応性似も特徴があります。このプロトコルでは、他のイーサネットベースのサービスやプロトコルを同じ物理ネットワーク上で使用することも可能であり、通常はその性能の低下は最小限で済みます。スイッチポート経由でEtherCATセグメント内に接続されるイーサネットデバイスの種類への制限は全くありません。イーサネットフレームはEtherCATプロトコル経由でトンネル化されます。これは、VPNやPPPoE(DSL)などで使用される一般的なインターネットアプリケーションに対する標準的な方法です。EtherCATネットワークはイーサネットデバイスに対して完全に透過的であり、リアルタイム性能の低下はありません (図13を参照)。


図 13: 全イーサネットプロトコルの透過性

EtherCATデバイスは、追加機能として他のイーサネットプロトコルを処理し、標準イーサネットデバイスのように振る舞うこともできます。マスタはレイヤー2スイッチの様に振る舞い、アドレス情報に従ってそれぞれのデバイスへフレームをリダイレクトします。このため、組込のWebサーバー、メール、FTPなどの全てのインターネット技術をEtherCAT環境で使用できます。

3.11 File Access over EtherCAT (FoE) 

このTFTPに似た非常に単純なプロトコルはデバイス内のあらゆるデータ構造へのアクセスを可能にします。TCP/IPをサポートしているかに関わりなく、デバイスへの標準化されたファームウェアのアップロードが可能となります。

4. 敷設コスト 

 

EtherCATにはハブやスイッチが不要なため、これらのデバイスに関する電源や導入のコストをさくげんできます。環境条件が厳しくなければ、標準イーサネットケーブルと標準的な低価格のコネクタを使用できます。動作環境によってはIEC規格の防水コネクタが規定されています。

5. EtherCATの実装 

 

EtherCAT技術は、I/Oターミナル、センサーや組込コントローラという非常に低コストなデバイスを想定して開発されています。EtherCATはIEEE 802.3に基づく標準イーサネットフレームのみを使用しています。これらのフレームはマスタデバイスから送信され、スレーブデバイスはオンザフライでデータの取り出しと挿入を行います。このようにEtherCATは標準のイーサネットMACを使います。これはマスタデバイスにとって意味があります。そして、EtherCATスレーブコントローラが使用されます。この専用チップには大きな意味があります。スレーブデバイスではハードウェアでプロセスデータプロトコルを処理し、デバイスのCPUパワーやソフトウェアの効率に関係なく最大限のリアルタイム性能を提供します。

5.1 マスタ 

EtherCATは1つのイーサネットフレーム内に複数のプロセスデータを入れ、最大1486バイトまで送信できます。マスタデバイスが各ネットワークサイクルごとに各ノードの送信フレームと受信フレームを処理しなければならない他のソリューションとは違い、EtherCATシステムは全てのノードに対して1サイクルあたり1, 2個のフレームを送信するだけ全ての通信が行えます。このため、EtherCATマスタは専用の通信プロセッサを必要としません。マスタの機能としては、アプリケーションプログラムを処理するほかにホストCPUへの負荷はほとんどなくタスクを容易に実行できます。従って、EtherCATでは特別かつ高価のアクティブプラグインカードは不要であり、パッシブなNICカードかオンボードのイーサネットMACを使うだけでよくなります。EtherCATマスタの実装は、特に小規模から中規模の制御システムや用途が明確なアプリケーションに対して非常に容易です。

例えば、1つのプロセスイメージを持つPLCの場合、1486バイトを超えなければPLCのサイクルタイムで1つのイーサネットフレームを周期的に送信するだけになります (図14を参照)。ランタイムではヘッダは変更されないので必要なことの全ては、定型のヘッダにプロセスイメージを追加しイーサネットコントローラへ送信することだけになります。

EtherCATマッピングはスレーブ側で発生しマスタでは発生しないため、プロセスイメージは既にソートされています。周辺デバイスは通過するフレームの各自の対応する位置に自身のデータを挿入します。これはホストCPUの負荷をさらに逓減します。ホストCPU上に完全にソフトウェアで実装したEtherCATマスタが使用する処理パワーは、EtherCATより低速なフィールドバスシステムでアクティブプラグインカードを実装したものよりも小さく、アクティブカードのDPRAMのサービスの方がホスト上の負荷よりも大きいことが判明しています。

システム設定ツールは複数のベンダーから提供されており、デバイスの起動シーケンスを含めネットワークやデバイスのパラメタは標準XML形式で提供されます。

 
図 14: プロセスイメージのマスタへの実装

5.1.1 マスタ実装サービス 

EtherCATマスタは数多くのRTOSに実装されています。例えば、以下のようなOSがありますが、これらに限定されるわけではありません:eCos, INtime, MICROWARE OS-9, MQX, On Time RTOS-32, Proconos OS, Real-Time Java, RT Kernel, RT-Linux, RTX, RTXC, RTAI Linux, PikeOS, Linux with RT-Preempt, QNX, VxWin + CeWin, VxWorks, Windows CE, Windows XP/XPE with CoDeSys SP RTE, Windows NT/NTE/2000/XP/XPE/Vista with TwinCAT RTE, Windows 7, XENOMAI Linux

マスタスタックにはオープンソースプロジェクト、サンプルコードまたは商用ソフトウェアとして提供されているものがあります。実装サービスもまた多くのベンダーから多種のハードウェアプラットフォームに対して提供されています。この分野が急速に成長していることは、EtherCATウェブサイト内の「製品」セクションからもわかります [1]。

5.1.2 マスタサンプルコード 

EtherCATマスタを実装するその他の方法は、妥当な価格で提供されているサンプルコードを使用することです。ソフトウェアはソースことで供給され、Ethernet over EtherCATを含め、全てのEtherCATマスタ機能があります (図15を参照)。全ての開発者はコードをターゲットのハードウェアとRTOSに適合させる作業を行う必要があります。サンプルコードはWindows環境で作成されています。現在までに多数のシステムがサンプルコードから開発されています。


図 15: マスタサンプルコードの構成

5.2 スレーブ 

費用対効果のよいEtehrCATスレーブコントローラがスレーブデバイスで使用されています。EtherCATではスレーブに必ずマイクロコントローラが必要というわけではありません。I/Oインタフェースで値を取得するシンプルデバイスはESCとイーサネットPHYだけで実装できます。スレーブアプリケーションへのプロセスデータインタフェース (PDI) は32ビットI/Oインタフェースです。設定可能なパラメタを持たないこのようなスレーブはソフトウェアやメールボックスプロトコルは不要です。EtherCATステートマシンはESCが処理します。ESCへの起動情報はEEPROMから供給され、このEEPROMにはスレーブのアイデンティティ情報も記録されています。設定可能な複雑なスレーブはボード上にホストCPUを持ちます。このCPUはESCと8ビットまたは16ビットのパラレルインタフェースかシリアル接続 (SPI) で接続されます。ホストCPUの性能はスレーブアプリケーションによって決定します。オプションでEtherCATプロトコルソフトウェアも動作させることができます。EtherCATスタックはEtherCATステートマシンと通信プロトコルを管理します。これは通常CoEプロトコルやファームウェアダウンロードをサポートするFoE (File Access over EtherCAT) を意味します。オプションでEoEプロトコルを実装することも可能です。

5.2.1 EtherCAT スレーブコントローラ 

複数のベンダーからEtherCATスレーブコントローラが提供されています。スレーブコントローラの機能は、非常に費用対効果のよいFPGAを使用することも可能であり、そのバイナリコードはライセンス買い取りで提供されています。

スレーブコントローラは一般的に内部DPRAMを持つことが特徴で、このアプリケーションメモリへのアクセスにいくつかのインタフェースを提供しています:

  • シリアルSPI (serial peripheral interface) は一般に小さなプロセスデータサイズのデバイス向きです。例えば、アナログI/Oモジュール、センサー、エンコーダやシンプルなドライブがあります。このインタフェースは一般にMicrochip PIC、DSPicやIntel 80C51などの8ビットのマイクロコントローラで使用されます (図16を参照)。
  • パラレル8/16ビットマイクロコントローラインターフェースは従来からのフィールドバスコントローラとDPRAM間のインタフェースに相当します。これはやや大きめのデータサイズを持つ複雑なデバイスに適しています。このインタフェースを使用するマイクロコントローラとしては一般にInfineon 80C16x, Intel 80x86, Hitachi SH1, ST10, ARMまたはTI TMS320シリーズなどがあります (図16を参照)。
  • 32ビットパラレルI/Oインタフェースは32点のデジタルI/Oだけでなく32データビットで動作できるシンプルなセンサーやアクチュエーターの接続に適しています。このデバイスではホストCPUは不要です (図17を参照)。


図 16: スレーブハードウェア: ホストCPU付きのFPGA


図 17: スレーブハードウェア: ダイレクトI/OのFPGA

EtherCATスレーブコントローラの選択に関する最新情報はEtherCATウェブサイトを参照してください [1]。

5.2.2 スレーブ評価キットとスレーブサンプルコード 

Beckhoff社のスレーブ評価キットは上記の全てのインタフェースに容易にアクセスできます。EtherCATには強力な通信プロセッサはふようであり、このスレーブ評価キットには8ビットのマイクロコントローラを内蔵し、設定でホストCPUとして使用できます。キットにはスレーブホストソフトウェアが付属します。これはプロトコルスタックに相当し、ソースコード(スレーブサンプルコード)で提供されます。また、リファレンスマスタソフトウェア一式 (TwinCAT) も付属します。)

6. 要点 

EtherCATは他のプロトコルと比べ、極めて優れた性能、非常に簡単な配線、そしてオープン性を特徴としています。EtherCATは従来のフィールドバスの性能の限界を打ち破る新しい標準を規定します:1000点のI/Oで30 μsのサイクルタイム、ツイストペアケーブルと光ファイバとの選択利用、イーサネットやインターネット技術の利用、最適な垂直統合。EtherCATでは高コストのイーサネットスタートポロジーは単純なライン型に置き換えられます。高価な設備コンポーネントは不要です。EtherCATでは他のイーサネットデバイスを統合するために従来のスイッチを使用した配線も可能です。他のリアルタイムイーサネット技術ではコントローラで特別な接続ハードウェアが必要となりますが、EtherCATでは費用対効果のよい標準イーサネットカード (NIC) が使用できます。.

EtherCATは多機能です。マスタ・スレーブ間、スレーブ・スレーブ間やマスタ・マスタ間通信をサポートします (図18を参照)。Safety over EtherCATが利用可能です。EtherCATはイーサネットをI/Oレベルにまで技術的に適用可能とし、採算の合う低コストを実現しています。シンプルデバイスに於いても完全なイーサネット互換、インターネット技術、イーサネットの広いバンド幅とその最大限の使用効率、優れたリアルタイム性能と低コストがこのネットワークの特徴です。


図 18: ネットワークアーキテクチャの多機能性

7. 文献 

 

[1] EtherCAT Technology Group (ETG)
http://www.ethercat.org/
[2] IEC 61158-3/4/5/6-12 (Ed.1.0), Industrial communication networks – Fieldbus specifications – Part 3-12: Data-link layer service definition – Part 4-12: Data-link layer protocol specification – Part 5-12: Application layer service definition – Part 6-12: Application layer protocol specification – Type 12 elements (EtherCAT)
[3] IEEE 802.3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications
[4] IEEE 802.3ae-2002: CSMA/CD Access Method and Physical Layer Specifications: Media Access Control (MAC) Parameters, Physical Layers, and Management Parameters for 10 Gb/s Operation
[5] ANSI/TIA/EIA-644-A, Electrical Characteristics of Low Voltage Differential Signaling (LVDS) Interface Circuits
[6] IEEE 1588-2002: IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems
[7] EN 50325-4: Industrial communications subsystem based on ISO 11898 (CAN) for controller-device interfaces. Part 4: CANopen
[8] IEC 61800-7-301/304 (Ed.1.0), Adjustable speed electrical power drive systems – Part 7-301: Generic interface and use of profiles for power drive systems – Mapping of profile type 1 to network technologies – Part 7-304: Generic interface and use of profiles for power drive systems – Mapping of profile type 4 to network technologies
[9] SEMI E54.20: Standard for Sensor/Actuator Network Communications for EtherCAT.
http://www.semi.org/
[10] IEC 61784-2 (Ed.1.0), Industrial communication networks – Profiles – Part 2: Additional fieldbus profiles for real-time networks based on ISO/IEC 8802-3

* CANopenはCAN in Automation e.Vの商標です。
** SERCOSインタフェースはSERCOS International e.Vの商標です。