さて、今回はEtherCATのメモリについてお話します。EtherCATのPDO通信、SDO通信は、ご主人様(マスタ)とメイド(スレーブ)は、このメモリを介した“テレパシー通信”によって、完璧なコミュニケーションを実現しています。それを説明した後に、いよいよ、本連載の山場の1つとして、SOEM(Simple Open EtherCAT Master)のデバッグ&トレース環境の作り方を紹介します。
FA(ファクトリオートメーション)を支える「EtherCAT」。この超高度なネットワークを、無謀にも個人の“ホームセキュリティシステム”向けに応用するプロジェクトに挑みます……!!⇒「江端さんのDIY奮闘記 EtherCATでホームセキュリティシステムを作る」 連載一覧
前回、私は、「老人ホーム4.0」というコンセプトを紹介しました。
研究者も政府も当てにせず、―― 私の老後の人生のために、私の自宅の隅々に、私のために必要な介護アシスト機器を「自分で作り、自分だけのために動かす」―― ホームセキュリティシステムの作る、と宣言しました。
なぜ私が、「自分で作る(Do It Yourself : DIY)」ことにこだわっているかというと、市場原理やメーカーの経営戦略なんぞを当てにしていたら、100年たったとしても、私の考える「老人ホーム4.0」が決して実現されないことを、私は「知っている」からです。
「思っている」のではありません。「知っている」のです。
初版の原稿では、私は、この導入部に、何かが取りついたかのように、その「理由」を書きまくっていました。しかし、この原稿をレビューした後輩の乾いたひと言が、私を現実に引き戻しました。
―― EtherCATの連載なんですよね? 江端さん、あなた、一体何やってるんですか?
われに返った私は、担当のMさんと相談して、その「理由」を全部、「付録」に回すことにしました。
しかし、私が、エンジニアであるあなたに本当に読んでいただきたいのは、この「付録」の方です。EtherCATの内容なんか、全部飛ばしたって構いません*)。
*)江端さん。冗談でも、そーゆーことは書かないで下さい(担当M)
江端の企業エンジニアの半生の「憎悪」と「怨念」と「悲哀」、そして、私が「週末研究員」という概念を獲得するに至った経緯を、是非皆さんと共有したいのです。
本文より文字数が多いという、EE Times Japan連載史上、前代未聞の「付録」。ぜひ、ご一読ください。
こんにちは、江端智一です。
前回は、EtherCATのSDO通信を使ったステータスとその管理方法について説明しました。今回は、EtherCATのざっくりとしたアーキテクチャと動作原理についてお話したいと思います(なお、今回も、EtherCATマスタ→ご主人様、EtherCATスレーブ→メイドで押し通します)。
結局のところ、EtherCATは、ご主人様もメイドも同じアーキテクチャからできています。ハードウェア構成はPCと同様に、アプリケーションインタフェース(API)と、記憶装置(メモリ)と、通信装置(ネットワークインターフェース:NIC)の3つです。
違いといえば、APIの上で動くアプリケーションが、エクセルやワードではなく、マスタ用の制御プログラム、スレーブが動かす介助ロボット、各種センサーであるところです。
さらに、EtherCATがPCと決定的に異なる点としては、上記のAPIとメモリとNICの3つが、お互いの存在を無視するかのようにバラバラに動いているという点です。
メモリに何が書き込まれようとも(あるいは、書き込まれなくても)、NICは、1秒間に最大8000回の通信を続け、APIは、介助ロボット、各種センサーが要求するタイミングで、制御に必要なデータ(ロボットアームの角度や動かす速度)を受け渡すだけです。
PCであれば、APIの上で動くアプリケーションが、メモリ、NICにそれぞれ指示を出します。しかし、EtherCATでは、ご主人様またはメイドが、分裂した3つの多重人格を持っていて、それぞれの人格が勝手に自分の仕事を黙々と続けているだけです。
「なんで、そんな効率悪いことやってんの?」と問われれば、制御システムのリアルタイム性と同期を確保するためなのです。
ご主人様(マスタ)とメイド(スレーブ)はぴったりと息を合わせなければ、全体として制御システム(製造ラインなど)を動かすことができません。もし、通信のタイミングがちょっとでもズレるようなことがあれば、たちまち、その制御システムは「止まる」か「暴走」してしまいます。
例えば、Webブラウザのように、表示されるまでの時間が事前に分かっていないようなプログラムでは、到底、制御システムでは使えないのです。
Copyright © ITmedia, Inc. All Rights Reserved.