ご主人様とメイドはテレパシー通信をしている?:江端さんのDIY奮闘記 EtherCATでホームセキュリティシステムを作る(4)(3/9 ページ)
さて、今回はEtherCATのメモリについてお話します。EtherCATのPDO通信、SDO通信は、ご主人様(マスタ)とメイド(スレーブ)は、このメモリを介した“テレパシー通信”によって、完璧なコミュニケーションを実現しています。それを説明した後に、いよいよ、本連載の山場の1つとして、SOEM(Simple Open EtherCAT Master)のデバッグ&トレース環境の作り方を紹介します。
各メモリを細かく見てみる
このEtherCATのPDO用のメモリと、SDO用のメモリをもう少し細かく見てみましょう。
まず、SDOの中にある「(1)ステートマシン」と「(2)メールボックス」通信については、前回お話した、『ご主人様とメイドのプライベートな手紙のやりとり』で実現されます。
「(3)プロセスデータ」とは、PDO用のメモリにロボットアームの角度や動かす速度などが読み書きされるデータのことです。1秒間に最大8000回のPDO通信と、イーサネットのNICとロボットと繋がったAPIの両方から読み書きされ続けます ―― と、ここまでは、前回までの復習です。
さて、最後の最後まで訳が分らなかったものが(私だけかもしれませんが)、(4)のAoEやらFoEやらCoEというモノでした。
例えば、CoEの説明で、
『広範囲のデバイスクラスとアプリケーションで利用でき、I/Oコンポーネント、ドライブ、エンコーダ、比例バルブや油圧コントローラなど、例えばプラスチックや繊維機械のアプリケーションプロファイルに対し使用されています』
―― うん、はっきり言って、私には、何が書かれているのかさっぱり分からん。
ですので、ここでは、現状の私の理解で押し通します(業界関係者の方のツッコミをお待ちします)。
まず、今は、CoE以外のことは全部忘れてしまいましょう。AoEやらFoEが登場してくることは(多分)ないと思いますので。
CoEとは、CAN application protocol over EtherCATの略称です。ここでCANとは、Controller Area Networkのことで、車載ネットワークの事実上の標準です。ですから、“Car Area Network”と間違う人が多いのです(例えば「私」)。
CoEは、ひと言で言えば、スレーブまたはスレーブの管理するロボットの仕様書(マニュアル)です。要するに、定型フォーマットに従って、メイドが取り扱う機器(ロボットなど)の仕様を記載したもので、これをプロファイルと呼びます。エクセルのテンプレートに従って記載されたファイル、あるいは、お役所に提出する「出生届け」と同じものと言ってもよいでしょう。
EtherCATが登場するずっと前から、CAN用のプロファイルは沢山ありました。自動車はもちろん、産業用ロボット、医療機器、鉄道、ビルオートメーションなど、それはもう山ほどです。
プロファイルには、機器の名称や、製品番号、メーカー名などの他にも、入出力用のインタフェースや、そのデータ形式なども記載されることになります。
ここで、EtherCATの開発者は、このように考えたのかもしれません。
・EtherCAT用にプロファイルを、一から作るのって面倒だなぁ
・それなら、CANのプロファイルをそのままパクって……もとい、活用できるといいなぁ
・うまくいけば、CANを使っていた人も、簡単にEtherCATに乗り変えてもらえそうだなぁ
(あくまで江端の推測ですよ、推測)
このように、「EtherCATでCANのアプリケーションのプロファイルを使えるようにする」という内容を、英語にすれば、“CAN application protocol over EtherCAT”、すなわち、「CoE」になるわけです。
このスレーブの情報を、マスタが手に入れることによって、マスタはスレーブが管理している機器の動かし方が分かるようになり、前述した「テレパシー通信」で、ご主人様がメイドを直接コントロールできるようになるのです。
Copyright © ITmedia, Inc. All Rights Reserved.