EtherCAT通信の仕組みを知ろう〜メイドは超一流のスナイパー!?:江端さんのDIY奮闘記 EtherCATでホームセキュリティシステムを作る(2)(5/8 ページ)
今回は、EtherCATの仕組みを信号レベルでご説明します。「ご主人様(EtherCATマスタ)」と「メイド(EtherCATスレーブ)たち」が、何をどのようにやり取りをしているのかを見てみると、「メイドたち」が某有名マンガのスナイパーも腰を抜かすほどの“射撃技術”を持っていることが分かります。後半では、SOEM(Simple Open EtherCAT Master)を使ったEtherCATマスタの作り方と、簡単なEtherCATの動作チェックの方法を紹介しましょう。
メイドの素性を徹底的に調べるご主人様
前述のケースでは、マスタは、A出力、B出力、C出力、A入力、B入力、C出力の順にデータが並べているようです。このように、必ずしも、データがスレーブ単位でまとまっているわけではありません。
イーサネットフレームのどこに何のデータを割り当てるかは、マスタ側の裁量(マスタの実装)であり、原則としてオペレータやアプリケーションからはコントロールできません。
ところで、ご主人様(マスタ)は、EtherCATがPDO通信を始める前に、自分の配下にあるメイド(スレーブ)達の素性を全部調べ上げます。
名前(製品名)、出身地(製造メーカー)、得意分野(モータ、計測)、今、誰と手をつないでいるか(デイジーチェーンの対向スレーブ)を、完全に調べあげた上で、各スレーブに設定情報(イーサネットフレームの何番目を使え、など)を命じることで、処理を始められるようになります。
このように、PDO通信の前に、マスタが、スレーブの設定のために行う通信を、サービスデータオブジェクト(Service Data Object:SDO)通信というのですが ―― これが、気が遠くなりそうなほど面倒くさいのです。
しかし、SDO通信を突破すれば、EtherCATを『分かったような気になれます』。
次回は、たくさんのメイドたち全員が力を合わせて、制御システム全体を単一メモリI/O空間と見たてて制御システムを稼働させる、EtherCATの粋なパラダイムをご紹介したいと思います。
SOEMでEtherCATを作ってみる
では、ここからは、先月お約束したSOEM(Simple Open EtherCAT Master)を使ったEtherCATマスタの作り方(暫定版)と、一番簡単なEtherCATの動作チェックを始めたいと思います。
(1)準備していただくもの
SOEMソースコード
PCでEtherCATマスタを作るため
- 本連載では、SOEM1.3.0を前提とします
Copyright © ITmedia, Inc. All Rights Reserved.