トヨタが全面的に採用を決定したEtherCAT。
自作するためにEtherCATを調査したときの情報です。
EtherCAT調査
2023/01/12 リンク切れを修正
初めてのEtherCAT・・・初心者丸出し(^^;
EtherCATとは何者?
ベッコフ?マスター?スレーブ?TwinCAT?EC-1?R-IN32M3?
知らない言葉だらけだと、まずは第一歩。
その1 その2 その3
その3
2020/11/3
あちこちに親切な記事が出てきたのでリンクを追加。
EtherCATって素性が良いから、必ずメジャーになると思ってる。
なんだかんだで4年かかったけど、待ってたらやっぱり記事が出始めた。
ラズパイでマスターを作る:OMRONのスレーブを使う例など
こちら:開発用の実記事が多数
SOEMをDLL化してC#から使う Wiresharkでパケットを覗き見 RX72MはESC内蔵
GR-SAKURAでEtherCAT Arduinoで開発の2020/11最新記事
ここ(Arduinoで動かす記事)やここも同じで、ここではテスト用のボードを売ってる。
ベッコフの日本語の記事:これによるとマスターアプリの開発環境がVisualStudioに統合されているようだ(インストール方法などもある)
マスターアプリの開発ツール名は”TwinCAT XAE”(VisualStudioに統合されている)と言う名前だ。なおこいつはリアルタイムのLANドライバを使うので要注意。
”EtherCAT スレーブ 自作”の検索結果
その2
2016/12/17
真っ暗闇だったのが、なんとはなしに見えてきたのでベッコフのスレーブ実装ガイドを読んでまとめてみる。
間違いだらけなはずだから、分かったら書き直すつもり。
TwinCAT
ベッコフのマスターアプリの名前
- ESIファイル(EtherCAT Slave Information)
スレーブの身上書でXML形式で記述してあるファイル(スレーブ作成者が作る)。 ベッコフのESIファイルの仕様書DL - ENIファイル
上記のESIをマスターアプリが使う用に変換したファイル。
マスターアプリは先にこのファイルを読み込んで、スレーブと通信するための情報を得る。
ESIをENIに変換するツールのことを「設定ツール(Configuration Tool) 」と呼んでいる(TwinCATは内蔵してるので不要) ベッコフの変換ツールET9000 - コンフォーマンステスト
スレーブがちゃんとマスターに繋がるかどうかを公式認証テストすること。 ベッコフの詳細ページ
ルネサスのミドルウエアを使えば、このテストで落第することが減るらしい。
ESIファイルの正当性を含め、テストで落第しないかを事前に確認するためのWindowsツールがある。 ベッコフのCTT - ESC(EtherCAT Slave Controller)
スレーブに内蔵されている、マスターとの通信を司るハードウエア。
これがリアルタイムで通信を処理し、GPIO/SPIやDPRAMなどに結果を出すらしい。
ルネサスではベッコフからライセンスを導入して自社のワンチップCPUに載せてると言う事だ。 - SSCTool(EtherCAT Slave Stack Code Tool)
スレーブ用のC言語のソースを出力するツールらしい ベッコフのSSC(ET9300)
もしかしたらこれの使い方を覚えるのが先って話かも? - スレーブに使うコードを販売したりもしてるようだ
スレーブとマスターはこんな感じで繋がる。
「スレーブ機器を作る」と言う事は緑色景部分を作ることだ。
EC-1にてスレーブ開発の練習をするのに必要な機材など(ここのP8に記述有り)。
ベッコフ社のツールを使うので事前にETGに会員登録しておく必要がある。
なおベッコフサイトのアカウントはETGとは別なので、ETG入会後に取得する必要がある。
IDE
IARのARM版のIDEを使う(EC-1はCPUコアがARMのCortex-R4)。
このページのARMをDL(コードサイズ制限版でOK) インストール方法
スレーブとして使う評価ボード
ルネサスの最新型(2016/10サンプル発売、2017/5量産予定)
EC-1評価ボード 販売店
ルネサスのスレーブソフトウエアなど ドキュメントTOPページ
スレーブ作成方法PDF(R01AN3326JJ0100) プロジェクト一式
コード自動生成ツールSlave Stack Code(SSC) Tool
マスタソフトウエアなど
TwinCAT3を使うが、このソフトは無茶をしてるソフトなんで、開発とは別のPCに専用にインストした方が安全だと思う。
スレーブ作成方法PDF内のP24の指示に従って実際にコンパイルしてみた。
事前にSSCとIARのIDEの無料版(32KB制限付きの方)をインストールしておいた。
ワーニングが一つ出ただけで無事にコンパイル完了した。
と言う事は32KB以内に収まってるって事だと思う。
後は実物の評価ボードとデバッガが無いと進めないんで、取り敢えずここまでで一段落。
その1
- 2016/11/2
- ドイツのベッコフ社が作った。
日本に支社がある。 - メッセージの往復回数は最大毎秒8000回(最短送出間隔は125μ秒)、65535スレーブ、スレーブ間距離100m以内、最長36.4km。
イーサネットフレームをバッファリング(ため込み)もルーティグ(振り分け)もせず、受け取ったビットを隣のスレーブに渡すことで高速なデータ転送を可能とした。
これは最長のイーサネットフレームが送出を開始して完了するまでの時間(121.44μ秒)とほとんど同じ。つまりEtherCATはこれ以上高速にできないというところまでチューンされている。ちなみに送出間隔125μ秒の時、マスタはスレーブに1秒間に8000回(1秒÷125μ秒)の命令を出せることになる。
情報系ネットワークの常識(アドレス通信、プロトコル処理、バッファリング、ルーティング)を採用せず、逆転の発想で超高速なリアルタイム通信を実現している。 - 1μs同期。
スレーブ機器はデータが伝送されてくる時間差を計測してタイミングを調節する。このDistributed Clocksメカニズムにより1μsという機器間の同期性能を実現している。 - EtherCATスレーブではデータの送受信処理をEtherCAT Slave Controller(ESC)がハードウエアで行っているため、ネットワークパフォーマンスはスレーブのマイコンの性能に依存しない。なおESCとCPUはDPRAMで接続する。 アルテラ
- スレーブ構成の自動検出。
スレーブを入れ替えたり追加しても自動で認識する。 - 電源配線が不要なEtherCAT P。
1本の標準的な4線のEthernetケーブルで電源供給(24V DC)も可能とした。
EtherCATとは ここ ここ トヨタが採用 ベッコフ社の詳細ページ
単純な制御ではFPGAだけで良いようだ。FPGA詳細(32bitDIO/SPIなど内蔵)
「EtherCAT ASICを使うことでマイクロコントローラを必要としないシンプルな電子モジュールや、処理装置を内蔵したインテリジェントデバイスを実現できます。」
それなりの動作をする機器を作るならFPGA+CPU(またはワンチップ)の構成になる。
なお開発した物はテストに合格しないとならないらしい(色んなメーカーの機器が数珠つなぎになるから当然か)。
現時点でのスレーブ開発用製品 ETGへの入会が必要
現時点ではベッコフ製のFPGAにCPUを組み合わせたタイプと、ルネサスのESC内蔵ワンチップタイプがある。
ベッコフのトレーニング
今後は値段の点からもESC内蔵ワンチップが主流になると思われる。
疑問1:ベッコフで行くかルネサスで行くか? → ベッコフのトレーニング?ワンチップのルネサス?
疑問2:ルネサスの新旧のどちらで行くか? → 新製品のEC-1は資料が少ない
<ESC内蔵ワンチップ製品群>
- 2016/8発売のルネサスのEC-1。
このCPUはEtherCAT専用で他の通信プロトコルは載っていない。
評価ボード 取説R01AN3326JJ0100(2016/10リリースでV1.00だよ) - ルネサス旧製品のR-IN32M3-EC
色んな通信に対応してるが、EtherCAT向けの製品には「EC」が付いている。なおM4はEtherCAT向けじゃないので注意。
サンプルコード I/F 2013/10の記事(R-IN32M) - MicrochipのLAN9252
- その他
XMC4300 検索結果
結論 EC-1はドキュメントが少ないのと、量産が2017/5からなので不安だが、取り敢えずこれで始めてみよう。 <ESC内蔵ワンチップCPUであるEC-1でやる> ここまで数日にわたって調べてきて、この宣伝文句の意味が理解出来たと思う。 理解出来るようになってみると、EC-1で行くのが一番無難そうだ。 EC-1にはベッコフのテストに合格済みのサンプルソフトがついてるのがでかい。 なお現時点では開発キットに付属のサンプルはIARを使ってる。 <その他の手段> ベッコフ製品でやる? → ベッコフのトレーニング → ベッコフで作成 → ルネサスに移す 結局、ESCとCPUをDPRAMで接続して、コンフィグデータ用のEPROMがあれば良いみたいだ。 まずはWindows版のマスタを入れて、市販品のスレーブを動かしてみるのが第一歩だと思う。OMRONのスレーブ製品 その他 ネットワークアナライザやらVisualStudioでデバッグ実行すれば少しずつでも進むでしょう。 マスタとしては以下の物がある。 マイクロネット RSW-ECAT-Master デバッグツールRSI-ECAT-Monitor コンフィギュレータ ベッコフ製のEtherCATマスタTwinCAT3(これは7日ごとに更新すればずっと使えるらしい) コンフィギュレータ(TwinCAT使用時は不要らしい) Windows版フリーライブラリSOEMスポンサーリンク 参考記事 江端さんのDIY奮闘記 これを読めば一発で分かる。 SOEM(オープンソースのEtherCATマスタのWindows版ライブラリ)で作るEtherCATマスタとEtherCATスレーブの記事
コメント