EtherCATとその開発について


高木商会はオープン・フィールドネットワークのひとつであるEtherCATに注力しています。日本では半導体業界(前工程)が先導し、装置内制御に取り入れ製品化が進んでいます。最近ではロボット業界や工作機械、車業界などのメーカーも使用・開発・検討されています。
EtherCATとは
EtherCATはドイツのベッコフオートメーション社によって開発された通常のEthernetベースの通信回線を利用した高速フィールドネットワークシステムです。
EtherCATのネットワークはマスターと、入出力スレーブで構成され、デジタルやアナログ、エンコーダカウンターなどの入出力情報が連結されたプロセスデータをIEEE 802.3標準Ethernetフレームに載せてやりとりします。
マスターは通常の100BASE-TXにEtherCATマスタースタック(ドライバー)を搭載し、スレーブは専用コントローラーを使用します。通信方式はポーリングやブロードキャストとは異なる方式でハンドシェイクがありません。このためオーバーヘッドが無く、高速通信が可能になります。
方式としてはマスターからのパケットが各スレーブに順番に渡されていき、折り返してマスターに戻ります。各スレーブは渡されたパケット内の自分の領域のみを読み書きします。スレーブ数は最大65,535台まで接続できます。
各ノード間はCAT5以上のケーブルの場合、最大100mまで、光ファイバーを使用すると最大20kmまで伸ばせます。EtherCATの最新仕様であるEtherCAT Pは伝送ライン上に電源をのせるため、電圧降下によりノード間はもっと短くなります。各スレーブはあらかじめ指定されたパケット内の場所を読み書きし、整理された形でマスターまで届けます。このため、マスターはシンプル構造でオーバーヘッドが最小化されます(図1)。
トポロジーはライン型、ツリー型、デイジー・チェーン型、ドロップ・ライン型、スター型とフレキシブルに対応できます。ただし、スター型の場合、一般のハブは使用できません。EtherCAT専用の分岐スレーブが必要になります。EtherCATの同期処理には3種類の方法があります。
・フリーラン
通信サイクルとは関係なくスレーブコントローラー内のローカルタイマーでトリガーします。
・フレーム受信に同期
新しいプロセスデータの受信時にトリガーします。同期制度は受信のジッタと他ノード間の遅延に依存します。
・ディストリビューテッドクロック同期(DC)
ACサーボなど同時に協調動作を実行する場合に必要です。各スレーブの遅延時間がμsec単位で発生します。そのずれをDC(Distributed Clocks)という仕組みで補正します。最初のスレーブがマスタークロックとなり各スレーブ間の遅延時間を計測し、1μsec以下のジッタで補正します。これにより高速で正確な同期処理が可能になります(図2)。
EtherCATの通信データは周期的又は非周期的データで行います。周期的データはPDO(プロセスデータオブジェクト)と呼ばれ、マスターで設定された周期で通信します。非周期的データはSDOと呼ばれるメールボックス通信プロトコルがあります。
・CoE(CAN application protocol over EtherCAT)
PDOでも使用するプロトコルです。CANopenと同様な通信メカニズムです。CiA402ドライブプロファイルに対応しています。
・SoE (Servo drive profile over EtherCAT)
PDOでも使用するプロトコルです。SERCOSインターフェースはモーション制御用のインターフェースです。サーボドライブにはこのSoEで動作するものとCoEのCiA402ドライブプロファイルで動作するものがあります。
・EoE(Ethernet over EtherCAT)
通常のEthernetフレームはカプセル化されEtherCATプロトコルを経由して伝送されます。WEBサーバー、E-mail、FTPなどEtherCAT環境下で使用できます。
・FoE (File access over EtherCAT)
デバイスへのファームウェアのダウンロードなどで使用します。
・FSoE (Safety over EtherCAT)
EtherCATの機能安全に関する通信層を定義しています。IEC61508 SIL3の要件に適合し、通常通信と同じシステム上で制限無く通信することが可能です。
開発
EtherCATはオープンな規格のため、多くのベンダーが参入し、マスター、スレーブ機器を出しています。これらを組み合わせて装置制御を構築することも出来ますが、マスター・スレーブを開発することも可能です。
マスターは各OS用のプロトコルスタックをベンダーから購入し、搭載することも可能ですが、オープンソースで自前で構築することも可能です。
マスターのハードウェアは通常のEthernetチップで動作します。物理層より上位部分をEtherCATマスタースタックにすることにより、実現します。スレーブは専用コントローラーチップが必要になります。
スレーブ開発
スレーブ機器はESCと呼ばれるEtherCATスレーブコントローラーとSSI(Slave Information Interface)と呼ばれるEEPROM、PHY、パルストランスで構成されます。ESCとUserCPUの接続はパラレルIO、SPI等で接続されます。また、同期処理が必要な場合、ESCより、SYNC信号がUSER CPUに出力されます(図3)。
SSIにはESCの初期化情報、スレーブのアプリケーション通信設定のスペック値(Mailboxのデータサイズ値)、プロセスデータのマッピングなどの情報が設定されます。
またスレーブ機器にはESIファイル(EtherCAT Slave Information)と呼ばれるXML形式のファイルが必要です。 スレーブ固有の情報(ベンダー情報、製品情報、プロファイル、オブジェクト、プロセスデータ、同期の有無、Sync Manager設定等)の定義を記載しています。
マスターに接続されるすべてのスレーブにESIファイルが必要です。このESIファイルを元にConfiguration Toolを使用してENIファイル(EtherCAT Network Information)を作成します。
ENIファイルはマスター側で使用するファイルです。スレーブを識別する情報(ベンダー情報等)、各スレーブの初期化を行うための情報が入っており、マスターはENIに記載されている情報をもとにネットワークの初期化、構築を行います。スレーブ開発にあたっては必要な手続きがあります。
まず、ETG(EtherCAT Technology Group)への加盟が必要です。ETGはEtherCATをオープン化し、テクノロジーの普及促進をはかる世界的組織です。
次にFLA(EtherCAT Technology Family License Agreement)をBeckhoff Automation GmbHと締結します。FLAとはBeckhoff Automation GmbHのEtherCAT開発製品を活用してEtherCAT対応製品を開発販売するにあたり、Beckhoff Automation GmbHが保有するEtherCAT技術の知的財産権を保護し、開発された製品の互換性を確保するために必要な取り決めがまとめられた定型的な覚書(英文)です。
また、CTT(EtherCAT Conformance Test Tool)の購入が必要です。CTTによってEtherCATスレーブの自己テストを行えます。
CTTを使用した社内テストには必ず合格しなければなりません。CTTはEtherCATスレーブの開発を支援し、デバイスリリース前のコンフォーマンスの確認を補助し、ETGが認定したEtherCAT公式認証テストセンター(ETC)が実施する公式コンフォーマンステストの事前確認などに使用できます。これは一年毎のライセンス更新が必要です。
EtherCATスレーブ機器を販売する期間は必ず更新が必要です。テストセンターでの公式コンフォーマンステストは必須ではありませんが、合格するとETGから合格認定証が発行されます。合格したスレーブにはEtherCATコンフォーマンステスト済みロゴを使用できます。公式認証テストセンターはドイツ、日本、中国と米国にあります。
ESC(EtherCAT Slave Controller)には安価な専用チップからマルチプロトコル(EtherCAT、Profinet、Ethernet/IP等)対応のものまでご提供できます。また、チップだけではなく周辺回路を搭載したモジュール形式のものもございます。
高木商会ではEtherCATマスターコントローラーから、IO機器、駆動機器、安全機器、他ネットワークと接続するためのゲートウェイなど各社の商品を多数取り扱っています。