Ethercat
5
どのような問題がありますか?

この記事は最終更新日から1年以上が経過しています。

投稿日

EtherCAT開発方法 概要編

この記事は 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

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
記事投稿イベント開催中
2022年に流行る技術予想
~
5
どのような問題がありますか?
ユーザー登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
ユーザー登録ログイン
ストックするカテゴリー