メディア

6万人のメイドが“合体”!? EtherCATの通信方式江端さんのDIY奮闘記 EtherCATでホームセキュリティシステムを作る(5)(4/8 ページ)

» 2015年10月30日 08時30分 公開
[江端智一EE Times Japan]

スレーブたちに“2つの名前”を与える!?

 「SDO」のための通信では、マスタ(ご主人様)が、スレーブ(メイド)たちに、2つの名前(アドレス)を付けます。

SDO通信のアドレス

 1つ目は「インクリメントアドレス」といって、マスタの近くから、1、2、3、という数字が付与される「仮アドレス」、いわゆる「ゼッケン」です。

 2つ目が「コンフィギュアドアドレス」といって、文字通り「固定アドレス」のことです。イメージはマスタ(ご主人様)が決めるスレーブ(メイド)の名前という感じですね(とは言っても16ビットアドレス(0x0000〜0xFFFF)で命名しなければならないのですが)。

 なんで2つも名前(アドレス)を持つかというと、固定アドレス(16bitアドレス(0×0000〜0×FFFF))をスレーブに伝えるためには、最初に仮アドレス(ゼッケン)が必要になる為です。それに、運用後に、スレーブが故障で取り除かれたり、逆に追加されたりすれば、ゼッケンの番号がずれて、アドレスとしては役に立たなくなってしまいます。それを避ける為には、どうしても固定アドレスが必要になるのです。

メモリ番地=オフセット

 スレーブ(メイド)の中にあるメモリ番地を「オフセット」と呼びます。このオフセットとは、メイドたちの部位(手、足、身長、体重)と考えればよいでしょう。

 SDO用のメモリのオフセット番号は、基本的な部分は全てのスレーブで共通です。例えば、メモリ番地“0”には、スレーブの製造メーカ名が、メモリ番地“1”には、スレーブの種類(モータ、温度計など)が記載されている、という感じです。また、メモリ番地“6”を0→1に書き換えると、スレーブの起動モードが切り変わる、などのように、「オフセット」にはスイッチの役割もあります。

 スレーブはそのタイプや用途それに製造元によって、異なるオフセット番号が割り当てられることがあります。この割り当てに関しては、スレーブの設計図に相当するENI(EtherCAT Network Information)を、マスタに事前に渡しておくことで解決を図ります(ENIについては次回以降でお話します)。

 こうして、マスタ(ご主人様)は、スレーブ(メイド)の身上調査や命令を、[インクリメントアドレス]+[オフセット]、または[コンフギュアドアドレス]+[オフセット]の組合せで、実施することができるわけです。

 「オートインクリメントアドレス通信」も「コンフィギュアドアドレス通信」も、つまるところ、マスタ(ご主人様)が、特定のスレーブ(メイド)と会話がしたい、指示を出したい時に使う通信です。

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.