EtherCAT®ネットワークシミュレーション
シミュレートされたネットワークでEtherCATコントローラを実行する
EC-SimulatorはEtherCAT®スレーブデバイスをシミュレーションすることでEtherCAT®ネットワークを仮想化し、EtherCAT®スレーブハードウェアがなくてもEtherCAT®マスタアプリケーションを実行することができます。 EtherCAT®シミュレーションは物理的なネットワークアダプタ上で提供されますが、仮想的にも提供されます (例えば、完全にシミュレーションされたマシンのセットアップを実現することができます)。シミュレーションインスタンスの設定は実ネットワークのENIファイルを使用してシームレスに行うことができます。 プロセスデータへの反応、SDO、スレーブスタックの相互作用などはC/C++または.NETを使用してプログラムすることができ、EtherCATデータをISG Virtuos®のような他のエンジニアリングツール、テストツール、仮想化ツールに接続することができます。
使用事例
- デジタルツインによるバーチャルコミッショニング
- 既存のハードウェアがなくても、エンジニアリングの初期段階でアプリケーションのテストと最適化を行うことができます。
- 危険であったり、損害につながるようなエラーシナリオをテストします。
- EtherCAT制御システムリリーステスト
- 拡張シナリオのテスト(トポロジーの変更のシミュレーションなど
- スレーブエラーのシミュレーション
- 巨大なネットワークのシミュレーション
- ソフトウェア開発と教育
HiL(Hardware-in-the-Loop)シミュレーション
すべてのスレーブがシミュレートされます
テスト対象システム(SUT) は外部ハードウェアであるHiLシステム上で動作するEC-SimulatorソフトウェアとEtherCATケーブルを介して通信します。 この設定では、変更されていないアプリケーションとEtherCATマスタを標準の物理ネットワークインタフェースを使用してテストすることができます。
実際のスレーブとシミュレートされたスレーブの組み合わせ
- 1つのイーサネットポートを備えたHiLシステムは、ネットワーク上の最後のデバイスである必要があります
- 複数のポートを備えたHiLシステムは、実際のスレーブ間でも接続されている可能性があります
- EtherCATツールEC-Engineerでシミュレートするスレーブを定義します。結果のネットワーク構成には、すべてのスレーブが含まれます。シミュレートされたスレーブがマークされます。
- ステップバイステップでデジタルツインを作成します。実際のスレーブと組み合わせた部分的なシミュレーション
- 任意の場所でエラーシナリオをシミュレートします。実際のスレーブの前か後
ソフトウェアアーキテクチャ
EC-Simulator ソフトウェアは、Linux や Windows などの様々なオペレーティング・システム上ですぐに実行でき、acontis リアルタイム・イーサネット・ドライバ、いわゆるリンク・レイヤーを利用しています。 EC-Simulator は、ソフトウェア PLC (LogicLab, logi.cals) や ISG Virtuos などのプロフェッショナルなシミュレーションソフトウェアに統合するための"C"言語APIを提供します。
Software architecture on Windows
- Real-time Accelerator technology using CPU core isolation and Real-time Ethernet Driver
- Fast EC-Simulator response time for a network cycle time of one millisecond or below
ソフトウェアインザループ(SiL)シミュレーション
EtherCATネットワークはテスト対象システム(SUT)上で動作するソフトウェアによってシミュレーションされます。 イーサネットコントローラと通信する代わりに、EC-Master EtherCATマスタはシミュレーションソフトウェアと直接EtherCATフレームを交換します。
ソフトウェアアーキテクチャ
プログラミングインタフェース
プロセスデータプロバイダー
アプリケーションでプロセスデータを処理するために、さまざまなオプションを利用できます。適切なオプションは、スレーブごとに個別に選択できます。
- デフォルトの実装(スレーブ1):
- プロセスデータイメージから顧客アプリケーションによって実装されたプロセスデータロジック
- 統合されたサンプルアプリケーション(スレーブ2)を使用します。
- プロセスデータイメージの代わりに、サンプルアプリケーション(CiA402など)によって提供されるプロセスデータ
- サンプルアプリケーションの動作は変更できません
- EC-Engineerで「サンプルアプリケーション」を選択します
- 独自のスレーブファームウェア(スレーブ3)を実装します。
- 独自のスレーブファームウェアを開発およびテストするためのインターフェイス:既存の独自のAPPL_XXX()スレーブ関数を独自のコードにフックします
- EtherCATステートマシンの制御、プロセスの処理、CoEオブジェクト
診断機能
- スレーブレジスタを読み書きするためのAPI。
- スレーブEEPROMの内容を読み書きするためのAPI
- シミュレータオブジェクトディクショナリを読み込むためのAPI
- ネットワークトポロジーを評価するためのAPI
- EC-Lyser/EC-Engineer接続用RASサーバ
- API to simulate lost frames at a specific slave / port
- API to simulate a lost link at a specific slave / port
特徴
- メールボックスがあるスレーブとないスレーブ
- メールボックスプロトコル CAN application protocol over EtherCAT (CoE)
- CoEを介したPDOの設定と割り当てコマンド
- すべてのメールボックス初期化コマンドをサポート
- 基本オブジェクトディクショナリ
- 分散型クロックのサポート
- サポートされているマスター:EC-Master