15
7

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開発方法 概要編

Posted at

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

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

#はじめに

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

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

#開発方法
1.png

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

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

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

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

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

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

#マスター開発

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

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

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

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

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

#スレーブ開発

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

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

あぁ大変。

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

##ArtifactNoiseモデル

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


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

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

それでは、次回また!

北神 @nonNoise

15
7
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
15
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?