今回の記事では、TwinCAT3のHot Connect機能とMOXA EJS-08 EtherCATジャンクションを組み合わせて、運転中にデバイスの接続・切断が可能なマルチベンダーEtherCATシステムを構築します。
さ、FAを楽しもう!

前書き
いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。
技術は独り占めせず、届けるもの
私たちは工場の生産技術や制御に関する技術情報を、ブログや動画などで無料公開しています。「知識は誰でもアクセスできるべき」という信念のもと、現場で役立つ具体的なノウハウやトラブル事例などを発信してきました。すべて無料で続けているのは、「知らなかったせいで困る人」を少しでも減らしたいからです。
また、もしあなたの現場で…
- 「このPLCとデバイスの組み合わせ、ちゃんと動くのかな?」
- 「EtherCAT通信でうまくいかない部分を検証してほしい」
- 「新しいリモートI/Oを試したいけど社内に検証環境がない」
など、困っている構成や試してみたいアイデアがあれば、ぜひお知らせください。機器の貸出や構成の共有が可能であれば、検証し、記事や動画で発信します(ご希望に応じて匿名対応も可能です)。
支援のかたち
現在、私達の活動はほぼ無償で続けており、記事や動画の制作には、時間と検証環境の整備が必要です。この活動を継続的にコンテンツを提供するためには、皆様の温かいご支援が大変重要です。
メンバーシップ(ラジオの応援)
Fullさんとのラジオをより充実させるための支援プランです。
https://note.com/fulhause/membership/join
Amazonギフトリスト
コンテンツ制作に必要な機材・書籍をリストにしています。
https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share
Patreon(ブログ・動画活動への応援)
月額での小さなご支援が、記事の執筆・検証環境の充実につながります。
https://www.patreon.com/user?u=84249391
Paypal
小さな支援が大きな力になります。
https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP
知ってたら助かること、届けたいだけです
あなたの応援が、知識の共有をもっと自由で持続可能なものにしてくれます。これからもどうぞよろしくお願いします。
soup01threes*gmail.com
技術はひとりじゃもったいない。
Reference Link
http://soup01.com/ja/category/beckhoff/
http://soup01.com/ja/category/protocol/ethercat/
Hot Connectとは?
Beckhoff TwinCAT EtherCAT Hot Connect機能は、システムの起動前または運転中に、事前に構成されたセクションをデータトラフィックから取り外したり追加したりすることを可能にします。これは、通信ラインの切断/接続、デバイスの電源ON/OFF、またはその他の手段によって行うことができます。これを「フレキシブルトポロジー」またはHot Connectと呼びます。
使用例
モジュール式生産システムにおいて、EtherCAT I/Oが統合されたモジュールを運転中に通信から接続または切断する場合に使用されます。
接続確立時の動作
Hot Connectグループへの接続が確立されると、いくつかの立ち上げ処理が実行され、数秒間のブートアップ時間が発生します。
- Ethernetリンクの確立
- デバイスのパラメータ設定
- EtherCATブートアップ(INIT → OP)
- 必要に応じてDistributed Clocks同期
Fast Hot Connect
ツールチェンジャーなど、トポロジー変更が頻繁に行われるアプリケーションでは、高速なブートアップが特に有利です。さらに、1秒未満のブートアップ時間を保証する特別なFast Hot Connectコンポーネントも用意されています。
特徴
Hot Connect/Fast Hot Connectの原理は、「フィールド上のEtherCATデバイスの順序/配置は、作成された構成と正確に一致しなければならない」という一般的なルールを拡張するものです。
Hot Connectは、固定式と非固定式のサブデバイスが通信するシステムにおいて非常に強力な機能です。その一例として、自動化プロセスにおけるツールチェンジャーがあります。ツールグループのセットを定義した後、各ツールをEtherCATネットワークに簡単に接続・切断することができます。
また、Hot Connect機能は、必須デバイスとオプションデバイスの両方を備えたシステムでも非常に有用です。例えば、測定機械では、スキャナー、特殊測定センサー、その他の機器といったオプションデバイスがシステムに含まれている場合があります。これらのオプションデバイスが存在しない、または取り外されている場合でも、システムは引き続き運用状態で稼働し続けることができます。
システム動作
- Hot Connectグループは、スレーブのグループ(カプラおよびターミナル)、または個々のスレーブ(ドライブ、ターミナル、センサー、位置エンコーダー)として構成できます。
- Hot Connectグループは物理的にEtherCATネットワークに接続され、EtherCATフレームの送受信が可能ですが、コントローラの観点からプロセスデータトラフィックに参加するのは、そのアドレス(がマスターによって認識された場合のみです。
- マスターによるHot Connectグループの識別と起動には、位置に応じて数秒かかる場合があります。Fast Hot Connectコンポーネントを使用することで、高速ブートアップを実現できます。
- スレーブからのWcState、ステータス、リンク情報の監視を強く推奨します。
-
マスターによるHot Connectグループの起動
- EtherCATマスターがステーションで有効なアドレスを検出しない場合、そのステーションはプロセスデータトラフィックに受け入れられません。
- 有効なアドレスが検出されると(DIPスイッチによる「スイッチイン」、SSAの変更)、ステーションは受け入れられます。
- 上記のポイントは、ステーションの電源がオフになるか、ネットワークから切断されるまで変更されません。
- SyncUnit: System Managerは、互いに分離されたHot Connectグループ用に独自のSyncUnitsを自動的に作成します。そのため、独自のWorkingCounterが付与され、運用から外れても他のデバイスのプロセスデータに影響を与えません。
- マスターの直後の最初のデバイス/カプラは、構成されたHot Connectデバイスにしないでください。これにより、マスターでのリンク検出が遅くなります。
- 「ケーブル冗長性」プロパティとの組み合わせは部分的に可能です。
- Distributed Clocks対応スレーブを使用できます。Distributed Clocksスレーブ(DCスレーブ)が運用開始されると、そのローカルクロックが初期化され、既存のネットワークと継続的に同期されます。接続確立後、Hot Connectグループは再同期されます。この手順には数秒かかる場合があります。その間、関係するEtherCATスレーブはSAFEOP状態に保持されます。再同期が成功すると、OP状態に切り替わります。
トポロジー
Type 1: スタートポロジー
スタートポロジーはHot Connectコンセプトに特に適しています。分岐グループはHot Connectグループとして定義され、運転中に接続/切断することができます。
一般的に、EtherCATネットワークがEtherCATポートに接続されるあらゆるトポロジーが可能です。
分岐点として使用できるデバイス
以下のデバイスが分岐点として使用できます:
- EK110x
- EK150x
- EK1122
- EP1122
- 複数のINおよびOUTポートを持つすべてのスレーブ

接続ルール
Hot Connectグループは、トポロジー内の任意の空きポートに接続できます。
Type 2: ライントポロジー
ライントポロジーを使用する場合、分離点以降の接続が復旧すると、すべてのデバイスが再初期化されます。

構成ルール
Hot ConnectグループとNon-Hot Connectグループがライントポロジーで混在する場合、すべてのNon-Hot ConnectグループはHot Connectグループの前に配置する必要があります(EtherCATの通常のルールと同様に、正しい順序で配置)。

制限事項
ケーブル冗長性(有料オプション)とHot Connectグループの冗長パスでの併用はできません。
まとめ
EC-MasterのHot Connect機能は、EtherCATネットワークを非常に柔軟なシステムに変えます。サブデバイスのオン/オフを切り替えても、ネットワークは運用状態を維持します。これにより、システムに一定の安定性をもたらすことができます。サブデバイスに障害が発生しても、EtherCATネットワークは稼働し続けます。
「Detach Hot Connect Group」機能と組み合わせることで、システムの稼働中(ホット)プロセス中に、異なるグループを任意のトポロジーに混在させることが可能になります。
Implementation
こちらは今回の構成です。
メーカー | デバイス | 役割 |
|---|---|---|
Beckhoff | TwinCAT3 | EtherCATマスター |
Moxa | EJS-08 |
EtherCATジャンクション
|
Advantech | AMAX | Hot Connectグループ |
Keyence | XLE-02 | Hot Connectグループ |
Omron | GX-JC03 / ECC-203 | 常設スレーブ |
Weidmüller | UR20-FBC-EC-ECO / UR20-FBC-EC | 常設スレーブ |

AMAX Side
最初はAdvantechのAMAX リモートIOを設定します。

こちらのIDスイッチでAMAX-5074 EtherCATカプラのIDを設定できます。

XLE-02 Side
次はキーエンスのXLE-02を設定します。

KV StudioでXLE-02を設定するとき、EtherCAT slave settingsに下図のように設定してください。
- ExplicitDeviceID:Enable
- ID value:他のEtherCATと被らないようにしてください。

Beckhoff Side
次はBeckhoff 側を構築します。
EJS-08ジャンクションを中心に、各メーカーのEtherCATスレーブを分散配置することで、柔軟なトポロジー構成と障害分離を実現します。さらに、Hot Connectグループを設定することで、システム稼働中でも特定のデバイスグループを安全に着脱できるようになります。

スレーブID設定
今回の記事ではキーエンスのXLE-02とAdvantechのAMAXをHot Groupとして設置します。
KV-XLE02を開きます。

Advanced Setingsをクリックします。

こちらは各EtherCATスレーブの詳細設定画面です。

下記の”Chrck Identification” Checkboxをいれてください。

次はEtherCAT TabにあるIdentification ValueをKV studioに設定したIDと合わせましょう。

TwinCATのEtherCAT構成と実際XLE-02と同じIDなら、KV-XLE02の状態=8、つまりOP状態に遷移しました。

もしIdentification Valueが実際KV Stuidoの設定と異なる場合どうなるでしょう。もちろんKV-XLE02がOP状態に遷移しません。

Hot Connect Group追加
これからXLE-02を選択し→右クリック→Add to Hotconnect groupをクリックします。

こちらはHot Connect Groupの設定画面になります。

Identification Valueを先程設定したので、ここでOptional Group NameでGroup名を入力しましょう。

Done!キーエンスのXLE-02がHot Connect Groupになりました。

Hot Connect Group削除
もし該当するEtherCAT スレーブをHot Connect Groupから削除したい場合は、そのEtherCAT Slaveを右クリック→Delete from Hot Connect groupします。

Done!

注意するのは一回EtherCATスレーブをHot Connect Groupから削除すろと、もう一度Topologyを再設定しましょう。

Hot Connect Groupさらに追加
次はAdvantech のAMAXモジュールにもHot Connect Groupつに追加しましょう。

Download
最後はプロジェクトをTwinCAT RuntimeにDownloadしましょう。
結果
こちらの動画で動作確認できます。