EtherCAT開発方法 概要編

2023/04/19に公開

※Quiitaからの転記です
投稿日 2019年12月07日

この記事は EtherCATについて語る Advent Calendar 2019 の7日目です。

昨日はlipoyangさんの EtherCAT関連の名称まとめ でした。

はじめに

EtherCATを開発する上で、知っておくべき内容や開発手法について説明していきます。

シリーズものなので、以下にリンクをまとめる(予定)

開発方法

1.png

この図は、EtherCATマスターブック 第1巻にて書き出した図で、最初に大きな分岐がある。

EtherCATには、二つの役割があり、

一括して集中管理を行う => マスター

自分の機能や処理だけに集中する => スレーブ

といった感じで、マスターとスレーブの2役がEtherCATを構成させる。

それぞれの開発方法やデバック方法が違うため、一般的にはどちらか一方に集中して開発を行うが、
著者は研究者でマニアな事もあり、両方開発する事でEtherCATの理解を深めている。

マスター開発

マスターとは、スレーブを一括して管理を行ったり、それぞれのスレーブに情報を伝達するとなる部分である。
マスターを開発する際は、最低限1台はスレーブが必要となる。

マスター側の開発は、主にデスクトップPCやノートPCなど、コンピュータで以下のような環境で開発する事が出来る。

自分はPyEtherCATの開発者で最も簡単な部分しか実装されていないが、EtherCATを理解するには最も適したシンプルなライブラリだと思っている。
(要するに高度な機能が実装できてなく、仕様通りの仕組みを丁寧に実装したまで)

また、大手ベンダーが手を出していないLinuxでの実装がよかったのかRaspberryPiでも動作するため、軽く試したい方は気にして見れいただければと思います。

PyEtherCATについての使い方は次回にご紹介いたします。

スレーブ開発

さて、スレーブ側ですが、スレーブとは、制御したいモータや機械もしくは制御に使うスイッチやセンサー側を開発するという事です。

スレーブを開発するには以下の物を準備する必要があります。

あぁ大変。

オススメは以下の機構で簡単に実験ができます。

##ArtifactNoiseモデル

これらを組み合わせると、簡単なEtherCATについての理解する事ができる。


とりあえず、概要はこんな所で。

仕事でEtherCATを学ぶ方は、マスター側を攻めるのか、スレーブ側を攻めるのかを理解し、
ロボットや研究開発で使用する方は、両方を学ぶ必要があるんだなと覚悟をし、
マニアなのでどっちも触る!って方は、ぜひ次回も読んでいただければと思います!!

それでは、次回また!

北神 @nonNoise

Discussion