メディア

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

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

ブロードキャスト通信の役割は?

 このように考えれば、最初に行われる「ブロードキャスト通信」の役割は明確です。

 スレーブ(メイド)の数を調べることです。

 なにしろ、最初の状態では、マスタ(ご主人様)は、スレーブ(メイド)が6人いるのか、600人いるのか、60000人いるのか、全く分からないのです。

 なので、ご主人様は、『番号ー!』と号令を出すと同時に、ブロードキャスト通信のフレームを流し、メイドは、そのフレームを受けると『いち!に!さん!よん!』と順番に叫びながら、叫んだ番号をそのフレームに上書きして、次のメイドに回していきます。

 その時、メイドが叫んだ数が、「仮アドレス(要するにゼッケン)」になるわけです。

 また、ご主人様は、戻ってきたフレームに記録されたカウントで、メイド全員の数を確認することができます。これをWorking Count(WC)と言います。

 ブロードキャスト通信は、メイド全員に一斉に同じ命令を出したい時にも使われます。

 例えば、全てのスレーブ(メイド)の起動モードを、一斉に変更したい時などは、いちいち特定のスレーブ(メイド)を指定する必要はなく、特定の「オフセット」だけを指定すれば、例えば、全員の起動モードをたった一回のEtherCATフレームの送信だけで変えることができます。

だからSDO通信には、3タイプもある!

 以上をまとめますと、SDOのための通信に3タイプ(も)ある理由は、

(1)まずブロードキャスト通信で、スレーブに仮アドレスを与える必要があり、
(2)次に、その仮アドレスを使ったオートインクリメントアドレス通信で、スレーブに固定アドレスを与える必要があり、
(3)その固定アドレスを使って、マスタと個々のスレーブとの通信を実現する必要がある

ためなのです(かなり乱暴なざっくり説明ですが)。

 ―― なんと、まあ、「回りくどい」ことしているんだ?

と思われるかもしれませんが、これには理由があるのです。

 例えば、EtherCATと同じく制御LANの1つであるDeviceNetでは、スレーブの外側についているスイッチで、アドレスを1つ1つ手動で設定しなければなりません。

 スレーブが10台や20台程度ならともかく、これが100〜1000台のオーダーになれば、人間のやることですから、間違いなくアドレスの設定ミスが発生します*)

*)DeviceNetの構築ツールに、この「設定ミス防止機能」を組み込んでいた、この私が言うのですから間違いありません。

 比して、EtherCATでは、アドレス設定に関して人間様の出る幕はありません。

 EtherCATは、ヒューマンエラーを回避して、アドレスを安全に自動的に付与する為にも、3つのSDOの通信方式を用意したのです*)

*)制御LANの世界の、DHCP(Dynamic Host Configuration Protocol)の様なものだ、と言えば(分かる人には)分かるでしょう。

 下記は、それぞれの通信フレームの1つを取り出して、Wiresharkでキャプチャしたものを図示したものです。

SDO通信のアドレス

 このように、アドレスのタイプが、異なっていることが分かります。

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.