メディア
連載
» 2015年06月22日 09時45分 公開

「老人ホーム 4.0」がやって来る江端さんのDIY奮闘記 EtherCATでホームセキュリティシステムを作る(3)(3/5 ページ)

[江端智一,EE Times Japan]

SDO通信とは?

 こんにちは、江端智一です。

 前回は、実際にスレーブに制御データを送って、制御システムを稼働させる通信、プロセスデータオブジェクト(Process Data Object:PDO)通信と、PCベースのEtherCATマスタSOEM(Simple Open EtherCAT Master)について説明しました。

 今回は、EtherCATのもう一つの通信である、サービスデータオブジェクト(Service Data Object:SDO)通信と、PCベースのEtherCATスレーブ(light ethercat slave)についてお話したいと思います(なお、今回も、EtherCATマスタ→ご主人様、EtherCATスレーブ→メイドで押し通します)。

 PDO通信は、前回ご紹介したように「ご主人様が全メイド(最大65000人)に対して、1秒間に100回以上もの指示を出し続ける」大変せわしない通信です。

photo

 これに対して、SDO通信は、PDO通信を始める前に、『ご主人様が全てのメイドの素性を調べ上げる』、またはPDO通信の合間に『メイドたちの(健康)状態をチェックする』ことを目的とする通信です。

 何しろ、メイドたちは、1秒間に100〜1000回以上もの指示を出して、それを実行しているのですから、息切れする(制御が間に合わない、同期が外れる)ことだってあります。

 SDO通信は、マスタが1人のメイドとだけメッセージを交換することから、「メールボックス(直訳すると「郵便ポスト」)通信」とも言われています。

 私、『これ、センスのあるネーミングだなぁ』と感心しているんです。

 ツンデレなご主人様は、メイドの家の郵便ポストに、こっそりメイド個人宛ての手紙を投げ込んでおきます。メイドが、忙しい仕事(PDO通信とロボット制御の仕事)の合間に、ときどきメールボックス(郵便ポスト)を開くと、そこには、ご主人さまからの私信メールが入っているわけです。

 まるで、小学生の女の子向けのラブコメ漫画のようじゃないですか。

photo

 実際は、そんなロマンチックな話ではないんですけどね。

 メイドは、メールボックス通信のメッセージに対しては、(PDO通信のように、最短125μ秒(1秒/8000回)以内というような、瞬速の対応をしなくても)都合の良いタイミングで応答してもいい――。SDOは、そんな通信です。

 そして、所定のタイムアウト時間を超えてメイドから返信が戻ってこないと、ご主人様は「メイドが(故障で)倒れた!」と判断して、所定のトラブルシューティングの準備に入ることになります。

 タイムアウトは、メイドが担当する機械(ロボット、センサー、スイッチ)によって、0.1秒から10秒以上までさまざまです(ずいぶん短い時間のように思われるかもしれませんが、100μ秒単位のタイミングで動作する制御システムにとって、10秒は、「永遠」と同義です)。

 さて、EtherCATでは、この「メイドたちを(製造)ラインに徐々に慣れさせて行く」とか「メイドが(故障で)倒れた」などの状態(ステータス)を、以下の4段階で把握し、コントロールします。

photo

 基本的に、メイドたちの健康状態を決めるのは、ご主人様です。ご主人様が「O.K.」と言ってくれない限り、メイドは仕事に出ることができない、または、その仕事の内容を制限されることになります。

 ただ、メイドは自分の状態が悪いと判断した場合に限り、ご主人様の許可を得ず、自分から「降格」を決めることができます。しかし、自分から「昇格」を申し出ることはできません。

photo

 EtherCATは、ご主人様とメイドからなる制御LANですが、厳しいサラリーマン社会の1つの姿でもあるわけです。

 紙面が押してきましたので、SDOの3つの通信手段、SDOオブジェクトの内容、6万5000人のメイドを統一管理するメモリ管理方法、その他については、次回以降でお話したいと思います(なんか、この連載長くなりそうな気がしてきました)。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.