この記事は EtherCATについて語る Advent Calendar 2019 の21日目です。
昨日は@nonnoiseさんの宅内EtherCATのすゝめでした。
#はじめに
このニッチなアドベントカレンダーもほぼほぼ埋まってきました。
ちょっと欠番っぽいので、埋め合わせ記事を残しておきます!
(遅れて21日目が出来たら教えてね!)
#何処まで作ったら良い?
まず、EtherCATのスレーブは何処まで作ったら良いか問題です。
マイコン開発をされている方なら、アレもコレも実装してと思いがちですよね。
自分もそう思う人でした。
ここは一つ失敗談を・・・(失敗談が多いな自分)
絶縁IO-2Aボード
EtherCATでGPIOが手軽に試せたので、LED以外に何か作らねば!と思い、パッと思いついたのが絶縁IOです。
今回話したい内容は絶縁IOではなく、絶縁IOに加え2A流れせるトランジスタアレーも付け、更に16ポート分用意し、コネクタも付けるという、てんこ盛り基板を作ってしまったことの話です。
何でこんな基板を作ってしまったのだろうか・・・
よく考えて見よう。16ポートの絶縁IOを使う場面というのがあるだろうか。
勿論、絶縁IOは電圧差があったりモーター駆動であったりで必要に成る場合があるが、それを16ポート必要だったのか。
ここでEtherCATらしい開発手法がある。
EtherCATでは、必要最小限の機能で実装したほうが良い。
この馬鹿げた基板を考えると、16ポートは8ポートに減らしたほうが良いだろう。
基板を小さくし、部品単価も減らし、値段を安くしたほうが良い。
逆に、2Aの出力が必要であれば、基板サイズの小ささと部品単価の安さを考慮しつつ、2ポートでも十分である。
EtherCATでは、基板を小さく、部品単価を減らしつつ、必須条件である機能を確実に実装していくスタイルが最も良いと思われる。
ただ、ケースとしては2A出力出来る絶縁IOが12ポート必要というイレギュラーな場面があるとしましょう。
いつもなら、**あぁ!作っておけば良かった!失敗だぁ!**と嘆くのですが、EtherCATなら大丈夫。
何と、2ポートの物を6個繋げてしまえば12ポートとなるんです!!
2ポートEtherCATスレーブ x6 です。
さて、先程言いましたよね。基板を小さく、部品単価を減らしつつ、必須条件である機能を確実に実装していく
もし2ポートEtherCATスレーブが上記の通りであれば、安くなっているはずですよね。
まぁ、メーカーサポート料やブランド料で安くなってない可能性もありますが。
ニッチな12ポート分をカスタムで作るよりも、2ポート分を6台繋げたほうが、安くなります。
なので、EtherCATを使えば、トータルのシステム開発費は安くなるはずです。
ただ、自分みたいに多く失敗を重ねると、その分の損失が出ますのでね、そこは腕の差が出てきます。
#実際の現場では?
正直自分は現場を見たことがありません。
なので井の中の蛙かも知れませんが、この間ロボット博で見た所、
以下の様な構成に出会いました。
サーボモータ32個使用の製造ラインデモ。
奥さん!サーボモータが32台ですよ?!凄くないですか??
カスタムで作ったんですか?制御ユニットだけでも滅茶苦茶大きくなるでしょ??
え?EtherCATスレーブ 32台分繋げただけですって???!!!
そう、32台のEtherCATスレーブを連携し、32台のステッピングモータを自在に扱っていたんです。
それぞれのスレーブは1個のサーボモータを的確に制御するように特化していました。
自分のミスの様に、折角だから**サーボモータ2個分やろうぜ!**とかせずに、1台動かすことに集中し、技術を安定させたんです。
#機能のコンポーネント化
余り産業界隈では聞き慣れない言葉かも知れませんが、WEBやソフトウェアではよく使われるコンポーネント化。
所謂、機能の部品化です。
今までは、A+B+Cで動いていた機能を、そのままにせずAだけやBだけと行った切り分けをし、新規にA+D+Qの様な設計に過去のAを利用することが出来るという考え方です。
これを行うことで、Aを再び開発するコストが削減出来るばかりじゃなく、Aを作り置きすることが出来る為、再利用が可能となります。
あ〜まぁ、この辺を深く語りたいのが山々ですが、自分が最もEtehrCATが気に入っているポイントが、この機能を部品化出来る点です。
勿論、他の通信仕様でも出来ると思いますが、EtherCATはこの機能に意識が強い規格と思っています。
#おわりに
え?ここで終わるの?!
ハイ、すみません。ここでおわります。
あまり書きすぎると、同人誌第2巻のネタが減ってしまいますし、
本来はこの辺りのコンサルを成り合いにして行こうかと思ったりしていますので、この辺で一旦お開きに。
それでは、また!
北神(@nonnoise)
kitagami @ artifactnoise.com