EtherCAT
From Wikipedia, the free encyclopedia
概要
自動化機械 (automation) で使用する通信機器 (device) はデジタルやアナログ入出力であり、モーション用の高機能なデバイスでも1つの通信機器で必要なデータは高々10バイト程度となる。このデータ通信単位はイーサネットフレームの最小サイズよりも小さく、そのままイーサネットに載せるのは帯域の無駄遣いとなる。産業用のネットワークではコントローラ(PLC)と通信ユニット(マスタ)が機能デバイス(スレーブ)に対して1対多通信を行うことから、EtherCATではこの解決手段として、論理的にリングネットワーク[注釈 1]になるよう接続したスレーブデバイスに対しコントローラは、1つのイーサネットフレームにてすべてのスレーブあてのデータを送信する[3]。各スレーブデバイスはEtherCAT起動時に1つ以上のアドレス空間がコントローラにより与えられ(重複も可能)[3]、コントローラはメモリマップドI/Oを行う。フレームのペイロードになる各スレーブあての電文はデータグラムと呼ばれ、各データグラムにはアドレスとそれに対する読み書きの種別を記したヘッダが付く[3]。各スレーブは受信フレームのうち自らに与えられたアドレスのデータグラムに対してのみ変更を加え、残りは透過的に転送することをフレームを受信しつつ実行する(オンザフライ処理)[3][4][2]。また機器相互間の時刻同期についてはマスタコントローラによる集中同期ではなく各デバイスノードごとにローカル時計を持たせる分散時刻同期方式を採用した。コントローラが定期的に送出する時刻同期フレームは、最初に受け取ったスレーブデバイスにより全スレーブノードを通過し、かつ、送出元のスレーブデバイスまで戻ってくるというプロトコルの仕様により各スレーブデバイスも遅延時間を知ることができる[3]。これによりEtherCATフレーム到達範囲内においての高精度(1 μs以下)な時刻同期機能を実現している[3][4]。