実践! ご主人様とメイドがステッピングモーターを動かす:江端さんのDIY奮闘記 EtherCATでホームセキュリティシステムを作る(7)(2/7 ページ)
さて、今回は、前回に続きEtherCATの“2大技巧”の1つである「SyncManager」を解説したいと思います。その後、ステッピングモーターを動かすためのプログラムを作成してみましょう。
EtherCATの2大技巧「SyncManager」
こんにちは、江端智一です。
前回は、EtherCATを使ってステッピングモーターを回している動画、その回路図、slaveinfo.exeを使ったマスタのメモリマッピングの実体についてお話しました。
そして、EtherCATの2大技巧(と江端が勝手に呼んでいる)の1つ、FMMU(Fieldbus Memory Management Unit)の解説まで行いました。
今回は、もう1つのSyncManager(以下、SMと言います)について説明します。
SMとは、(乱暴に言えば)メッセージを記載した用紙を一時的に置いておく机のようなものです。しかも、その机には(原則として)1枚の用紙しか置けません(以下、簡単に「バッファ」と言ってしまいます)。
ただ、SM0とSM1、そしてSM2とSM3では、置かれるメッセージの内容と性質が、まるっきり違います(SM3とSM4がミカン箱の机*)のサイズなのに対して、SM0、SM1の机は、その100倍以上も大きいのです)。
*)たとえが古過ぎるかな
[SM0]は、メイド(スレーブ)が、仕事が比較的暇な時にチェックする、ご主人様(マスタ)からの手紙の受信用のバッファで、[SM1]は、逆にメイドからご主人様へ送付する手紙の送信用のバッファになります。非同期の通信用に使います。[SM0][SM1]を取り扱う時のメイドの稼働イメージは「のんびり/ほのぼのモード」です。
一方、[SM2]に到着するメッセージは、製造ラインを、ミリメートル、マイクロ秒単位の超絶高精度で制御するための、ご主人(マスタ)からの命令書用のバッファです。恐しく正確なタイミングで、最大毎秒8000回も届けられます。
メイド(スレーブ)は、そのメッセージを受けとるや否や、全力でその命令を実施し、その結果を、[SM3]のバッファからご主人様(マスタ)に返信します。
[SM2][SM3]は、周期プロセスデータ通信に使うもので、メイドの稼働イメージは「締め切り前/火事場モード」です。
(なお、1つのスレーブの中に「のんびり/ほのぼのモード」と「締切前/火事場モード」の2人のメイドがいるわけではなく、同一人物が2つの仕事を行っています)
上図のケースでは、SyncManagerのサイズが、メールボックス通信用に512バイト、プロセス通信用に2バイトとなっているのが分かります(机のサイズとしては、256倍の差があります)。
Copyright © ITmedia, Inc. All Rights Reserved.