これを解決する、EtherCATの2大技巧、FMMU(Fieldbus Memory Management Unit)と、SyncManagerを説明します(これが理解できれば、EtherCATの学習はほぼ完了と言っても良いと思います)。
では、最初にFMMUについて説明しましょう。
FMMUとは、「Ehternetフレームのどこに何の情報が書き込まれているか」を示す、地図情報のようなものです。
(1)の部分のここは、実際のプロセス通信を開始する前に、Ethernetフレームのどこに何の情報を搭載するかを、ご主人様(SOEM)とメイド(Slave1:コンフィギュアードアドレス1001)が、事前に話し合って決めたものです。
WireSharkでキャプチャーしたEthernetフレームの図と、併せて表記してみましょう。
つまり、FMMUは、これまで私のような制御系のエンジニアが、何週間もかけてガリガリと書いていたスレーブのメモリマップ設計仕様書を、ご主人さまとメイドの話し合いだけで、数秒程度の時間内に自動的に作り上げてしまう、ということです。
―― これはラクだ
と思いましたよ、本気で*)。
*)制御系のエンジニアには、このような動的な自動構築(ダイナミックオートコンフィギュレーション)を嫌う人は多いです。障害が発生した時に、その設計図が手元にないと、原因を特定するのが難しくなるからです。
また、このFMMUのすごいところは、従来の通信では必ず必要となっていた、通信フレームのバッファリングと、通信フレームの中にある情報を探し回るという手間を、完全に一掃してしまったということです。
これが、EtherCATが、ゼロバッファで、超高速通信を実現している理由です(第2回「EtherCAT通信の仕組みを知ろう〜メイドは超一流のスナイパー!?」参照)。
さて、前半はここまでと致します。
後半では、SyncManager(SM)と、実際にステッピングモーターを動かすプログラムの作り方(simple_test.cの改造)の説明をしたいと思います。
来月、モーターを回してみたい方は、DI/DOのEtherCATスレーブとモーターと“TD62003AP”を準備して、お待ちください。
⇒「EtherCATでホームセキュリティシステムを作る」連載バックナンバー
江端智一(えばた ともいち)
日本の大手総合電機メーカーの主任研究員。1991年に入社。「サンマとサバ」を2種類のセンサーだけで判別するという電子レンジの食品自動判別アルゴリズムの発明を皮切りに、エンジン制御からネットワーク監視、無線ネットワーク、屋内GPS、鉄道システムまで幅広い分野の研究開発に携わる。
意外な視点から繰り出される特許発明には定評が高く、特許権に関して強いこだわりを持つ。特に熾烈(しれつ)を極めた海外特許庁との戦いにおいて、審査官を交代させるまで戦い抜いて特許査定を奪取した話は、今なお伝説として「本人」が語り継いでいる。共同研究のために赴任した米国での2年間の生活では、会話の1割の単語だけを拾って残りの9割を推測し、相手の言っている内容を理解しないで会話を強行するという希少な能力を獲得し、凱旋帰国。
私生活においては、辛辣(しんらつ)な切り口で語られるエッセイをWebサイト「こぼれネット」で発表し続け、カルト的なファンから圧倒的な支持を得ている。また週末には、LANを敷設するために自宅の庭に穴を掘り、侵入検知センサーを設置し、24時間体制のホームセキュリティシステムを構築することを趣味としている。このシステムは現在も拡張を続けており、その完成形態は「本人」も知らない。
本連載の内容は、個人の意見および見解であり、所属する組織を代表したものではありません。
Copyright © ITmedia, Inc. All Rights Reserved.