EtherCAT通信の仕組みを知ろう〜メイドは超一流のスナイパー!?:江端さんのDIY奮闘記 EtherCATでホームセキュリティシステムを作る(2)(4/8 ページ)
今回は、EtherCATの仕組みを信号レベルでご説明します。「ご主人様(EtherCATマスタ)」と「メイド(EtherCATスレーブ)たち」が、何をどのようにやり取りをしているのかを見てみると、「メイドたち」が某有名マンガのスナイパーも腰を抜かすほどの“射撃技術”を持っていることが分かります。後半では、SOEM(Simple Open EtherCAT Master)を使ったEtherCATマスタの作り方と、簡単なEtherCATの動作チェックの方法を紹介しましょう。
流れているイーサネットフレームを見てみる
では、EtherCATスレーブ3台(GX MD-1611)を用いて、実際に流れているイーサネットフレームを見てみましょう。
こちらが稼働中の動画になります。
下記が、ネットワークアナライザ「Wireshark」でキャプチャした、イーサネット上のフレームの内容です(一周してマスタに戻ってきたフレームです)。
このフレームは、マスタが、3つのスレーブのLEDを点滅するように指示したものになります。マスタは、3つのスレーブに対して、同じ命令「点(1) 点(1) 消(0) 消(0)消(0) 消(0) 消(0) 消(0) = 1100 0000 = &0c00」を出しています。
今回は、4つのパターンを切り替えて、LEDを点滅させています。
このように、実際にスレーブに制御データを送って、制御システムを稼働させる通信を、プロセスデータオブジェクト(Process Data Object:PDO)通信と言います。
ちなみに、EtherCATのPDO通信は、とても「せわしない」です。マスタは、毎秒100〜1000個のフレームを流し続けるのです。
例えば、上述したLEDの点滅の制御を例に取りますと、LEDを点滅させない時でも、マスタは、同じ内容のフレームを送信しています。
―― なんと、無駄なことを……。
LEDのパターンを変化させる時だけ、PDO通信すればよさそうなものです。EtherCATスレーブをつないだイーサネットのハブのLEDがすごい勢いで点滅しているのを見ると、「電気がもったいない」という気持ちになってきます。
しかし、この「せわしない」通信こそが、EtherCATを含む、制御LANの最大の強みなのです。
例えば、通信不良が発生した時(雷による瞬時停電など)や、スレーブが目標時間内に制御を完了できなかった時(過重量によるロボットアームの動作遅延など)でも、その直後に同じ制御データがやってくるので、安心です。
EtherCATのPDO通信は、TCP/IP通信とは異なり、スレーブは、フレームが到着したことを、いちいちマスタに報告したりしません。
『ワシは難しいことはよう分からん。じゃけん、不安なら100回でも、同じこと繰り返せば、ええんじゃろう?』
この、ヤクザ映画に登場する、物事を深く考えない古いタイプの親分の考え方こそが、EtherCATの超高速のリアルタイム通信と、抜群の通信信頼性を担保しているのです(そりゃ、同じことを100回行って、全て失敗するのは確かに難しいですよね)。
以上が、制御データの通信、「プロセスデータオブジェクト(Process Data Object:PDO)通信」の概要になります。
Copyright © ITmedia, Inc. All Rights Reserved.