5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

宅内EtherCATのすゝめ

Last updated at Posted at 2019-12-19

この記事は EtherCATについて語る Advent Calendar 2019 の20日目です。
昨日は@lipoyangさんの ロボットの体内ネットワークとしてのEtherCAT でした。

#はじめに
さて、いよいよクリスマスまで、後5日!
今回のネタは、宅内EthertCATのススメです。

#宅内でEtherCATを始める方法

宅内でEtherCAT初めたい方が居るかわかりませんが、まとめておきます。

マスター 
EtherCATの制御処理を行う親の様な物です。主にPCが多いですが、RaspberryPiやJetson Nanoで動かすことが出来ます。
また、本場のEtherCATではリアルタイムが重要となり、リアルタイムカーネルパッチなどのテクニックを追加することが多いです。宅内では・・・無くても良い気がします。

スレーブ
EtherCATで制御される側の子の様な物です。スレーブは何台でも(65536台まで)接続可能です。展示会で見た所、機器にサーボモータを25機必要な際は、EtherCATスレーブを25機接続していました。この様に、1機能1スレーブという細かい機能に分解が可能です。
逆に言えば、1スレーブは1機能に集中して専門的処理をするのが良いです。

その他
EtherCATは有線LANの規格に成りますので、有線のLANポート(希望は1Gbpsですが100MBpsの規格なので100Mbpsでも問題ないです)が必要に成ります。ノートPCで試す際はUSB−LANポートでも試せます。ただリアルタイムは減りますので目をつぶりましょう。

LANケーブルが何本か必要になります。今どき無線LANの時代に有線LANケーブルを買って親に怒られる方は、隠れながら遊びましょう。

また、電源に関しても必要に成る場合があります。5Vや12V、24Vの物が殆どです。産業用は200VACや三相交流などが家庭には無い電源もあるので、宅内で試す際はDC24V以内の物がオススメです。

#マスターを用意する

まず、マスターと呼ばれる機能を実現するPCを用意します。

オススメとしては、RaspberryPiやJetsonNanoがオススメです。
EtherCATの仕組みは少し特殊になるため、OSの深層までいじってしまう場合があります。
そのため、手軽に安全にOSを再度インストールが出来るRaspberryPiが実験する上でおすすめです。
たが、PCと比べるとスペックが下がりますので、開発用LinuxPCを用意するのが一番面白いです。

#スレーブを用意する
スクリーンショット_2019-12-19_21-43-08.png

早速自分の宣伝をしつつ、同じチップを使ってるEasyCATもオススメです。
これらに関しては、同じチップなので凡そ把握が出来ますが、以下のものに関してはどの様に開発をすればよいかイマイチ分からず、人柱を求めます。

また、産業用の中でも触りやすい機器もあります。
スクリーンショット_2019-12-19_21-32-57.png
スクリーンショット_2019-12-19_21-32-43.png

1台実機を持ってますが、使い方が分からず来年の課題としたい所です。

#あ〜あと何だっけ?
宅内EtherCAT、あとなんだっけなぁ。
EtherCATについて語る Advent Calendar 2019の過去日にヒントが隠されているかも知れません。

このネタは今後もススメていこうと思います。宅内EthertCAT、面白いよ。

#おわりに

え?おわり?
ハイ、すみません。宅内EtherCATという言葉が使いたかっただけです。

別に宅内ならEtherCATじゃなくて良くね?いやいやいや・・・
皆さん、宅内サーバーラックの方々をご存知ですか?あの方々も仕事で使用する機材で構築する事で現場でのノウハウを高めているのです!!
我々も真似をして、技術的好奇心現場で使用するかもという観点から、**自宅でもEtherCATを触っておくとノウハウが貯まる!**という点があります。

もしもEtherCATをルーターに接続してしまったら・・・

早速、宅内EtherCATの成果を話しましょう。
宅内EtherCATですから、一般の御家庭通り、ルーターとスイッチングハブがありますよね。
そこにEtherCATを接続してしまったらどうなるでしょう!

答えは直ちに問題はないが、ゆくゆく問題になるです。

何が問題ないのか。EtherCATはブロードキャストパケットになります。ブロードキャストパケットは言わば全方位発射みたいなものです。
本来はEtherCATは 1-to-1の接続となるため、ブロードキャストでも問題はありませんが、ルーターやスイッチングハブにブロードキャストが流れるとご丁寧に全員にパケットを流してくれます
そのため、EtherCATパケットは全てのPCへとパケットが流れていきます。

それって害があるんじゃない?難しい話ですが、見かけ上は問題なく動きます。
というのも、PC側は受け取ったパケットを判別して、不要なものは破棄します。なので不明なブロードキャストパケットはPC側で破棄されます。

破棄するなら問題なくない?確かにそうです。では、何が問題あるのでしょうか。
それはネットワークの帯域です。
EtherCATパケットは物凄く高速にパケットを流し続けます。そのため、ルーターやスイッチングハブにアクセスが集中し、他のパケットが入り込む余地が無くなったり、順番待ちを行ったり、負荷が固まればフリーズしてしまうこともあります。
ただ、今のEtherCATでは100Mbps
が最大帯域で、実際は数十Mbpsしか出ません。そのため、1Gbpsに耐えられるスイッチングハブやルーターですと問題なく動いてしまいます。

まぁ、おわかり頂ける等に、余りやらないほうが良いと言ったところでしょうか。

この様な現場でやったら間違いなく怒られる内容を、先に自宅で試すって言うのも、気軽に出来てとても良かったです。

と、そんな所で、今日の記事を終えたいと思います。
宅内EtherCAT、いい響きですね。今後も使っていきたいと思いました。
ではでは
北神(@nonnoise)

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?