前述のケースでは、マスタは、A出力、B出力、C出力、A入力、B入力、C出力の順にデータが並べているようです。このように、必ずしも、データがスレーブ単位でまとまっているわけではありません。
イーサネットフレームのどこに何のデータを割り当てるかは、マスタ側の裁量(マスタの実装)であり、原則としてオペレータやアプリケーションからはコントロールできません。
ところで、ご主人様(マスタ)は、EtherCATがPDO通信を始める前に、自分の配下にあるメイド(スレーブ)達の素性を全部調べ上げます。
名前(製品名)、出身地(製造メーカー)、得意分野(モータ、計測)、今、誰と手をつないでいるか(デイジーチェーンの対向スレーブ)を、完全に調べあげた上で、各スレーブに設定情報(イーサネットフレームの何番目を使え、など)を命じることで、処理を始められるようになります。
このように、PDO通信の前に、マスタが、スレーブの設定のために行う通信を、サービスデータオブジェクト(Service Data Object:SDO)通信というのですが ―― これが、気が遠くなりそうなほど面倒くさいのです。
しかし、SDO通信を突破すれば、EtherCATを『分かったような気になれます』。
次回は、たくさんのメイドたち全員が力を合わせて、制御システム全体を単一メモリI/O空間と見たてて制御システムを稼働させる、EtherCATの粋なパラダイムをご紹介したいと思います。
では、ここからは、先月お約束したSOEM(Simple Open EtherCAT Master)を使ったEtherCATマスタの作り方(暫定版)と、一番簡単なEtherCATの動作チェックを始めたいと思います。
(1)準備していただくもの
SOEMソースコード
PCでEtherCATマスタを作るため
Copyright © ITmedia, Inc. All Rights Reserved.