Echtzeit EtherCAT® Netzwerk Simulation und Slave Simulation

Betrieb einer Steuerung oder eines Reglers mit einem simulierten EtherCAT Netzwerk

Der EC-Simulator virtualisiert ein komplettes EtherCAT Netzwerk mit Hilfe von simulierten EtherCAT Geräten (Slaves). Damit kann eine EtherCAT Master Applikation ohne physikalische Slaves betrieben werden.
Die Software stellt die Simulation entweder in Verbindung mit einer physikalischen Netzwerkkarte der Steuerung bereit, oder kann auch direkt – ohne zusätzliches Kabel – in den Master integriert werden.
Die Konfiguration des Simulators erfolgt über die im EtherCAT Standard definierte EtherCAT Network Information (ENI) Datei. Diese Datei wird auch vom Master verwendet und ist somit bereits in der Regel vorhanden. Die EC-Simulator Bibliothek bietet Funktionen für den Zugriff auf die zyklischen Prozessdaten, das Objektverzeichnis und den Zustand der Slaves an. Daneben gibt es Funktionen zur Generierung von Fehlern, z. B., um den Ausfall eines Slaves, oder den Verlust von Frames zu simulieren. Auf die Daten kann auch mit  C/C++ oder .NET zugegriffen werden und so verschieden professionellen Software Tools zur Verfügung gestellt werden, z.B. um eine echtes System zu imitieren.

Anwendungsgebiete

Master Software Entwicklung

  • Führen Sie die Master-Anwendung ohne echte Slaves aus
  • Komfortable Integration der Master-Stack-Software in die Anwendung, z. B. Funktionen für nicht verfügbare Slaves implementieren und testen
  • Implementieren und Testen erweiterter EtherCAT-Funktionen, z. B. Hot Connect, Firmware-Download usw.
  • Masteranwendung mit unterschiedlichen Netzwerkkonfigurationen und Topologien validieren → Laden Sie einfach eine andere ENI-Datei in den EC-Simulator
  • Komfortables Debugging komplexer Topologie- und Slave-Szenarien

Feldbus Master Device Test

  • Ersetzen Sie manuelle Testverfahren durch automatische Verfahren
  • Slave-Fehler simulieren, z. B. Slave fällt von OP auf SAFEOP herunter
  • Simulieren Sie Kabelbruch, Frame Loss, schlechte Anschlüsse
  • Simulieren Sie große Netzwerke mit vielen Slaves
  • Simulieren Sie Fehlerszenarien an beliebigen Stellen. Vor oder nach den echten Slaves
  • Implementieren Sie erweiterte Testszenarien, z. B. simulieren Sie Topologieänderungen

Virtuelle Inbetriebnahme

  • Entwickeln und testen Sie Anwendungen auf Basis einer Software-Emulation (Digital-Twin) der Maschinenlogik.
  • Testen und optimieren Sie die Anwendung bereits in einem frühen Stadium des Engineerings, auch ohne real existierende Zielhardware
  • Testen Sie Fehlerszenarien, die gefährlich sind und/oder zu Schäden führen

Slave-Firmware-Entwicklung

  • Entwickeln Sie Slave-Firmware, bevor echte Hardware verfügbar ist
  • EC-Simulator basiert auf dem Beckhoff EtherCAT Slave Stack ET9300. Alle Standardfunktionen von APPL_XXX() sind auf Anwendungsebene verfügbar
  • Entwicklung von Firmware auf Windows oder Linux mit komfortabler IDE
  • Verwenden Sie aufgezeichnete oder generierte Testdaten als Prozessdateneingang für die Slave-Firmware
  • Rückverfolgung von Prozessdatenausgaben und -zuständen in Dateien etc.
  • Testen Sie Parameter Up- und Downloads (CoE, VoE)
  • Firmware-Downloads testen (FoE)

Hardware-in-the-Loop (HiL) Simulation

Alle Slaves sind simuliert

Das System-Under-Test (SUT) kommuniziert über ein Netzwerkkabel mit einer externen Hardware welche die Simulationssoftware ausführt. Das HiL System, z.B. ein Standard PC, braucht keine spezielle Hardware. Diese Architektur ermöglicht den Betrieb der unveränderten Steuerung und Anwendung über die Standard Ethernet-Schnittstelle.

Mix of real slaves and simulated slaves

  • Ein HiL-System mit einem Ethernet-Port muss das letzte Gerät im Netzwerk sein
  • Ein HiL-System mit mehreren Ports kann auch zwischen echten Slaves angeschlossen werden
  • Definieren Sie die zu simulierenden Slaves im EtherCAT-Tool EC-Engineer. Die resultierende Netzwerkkonfiguration enthält alle Slaves. Simulierte Slaves sind gekennzeichnet
  • Erstellen Sie Schritt für Schritt einen digitalen Zwilling. Teilweise Simulation kombiniert mit echten Slaves
  • Simulieren Sie Fehlerszenarien an jedem Ort. Vor oder nach den echten Slaves

Grundsätzliche Software Architektur

Der EC-Simulator kann sofort ohne Anpassungen auf zahlreichen Betriebssysteme, z. B., Linux, Windows und QNX eingesetzt werden. Mit dem Einsatz der acontis Echtzeit Ethernet-Treiber (Link Layer) kann die Performance gesteigert und der Rechenzeitverbrauch gesenkt werden. Somit sind auch Zykluszeiten unter einer Millisekunde möglich. Über die vorhandene „C“-Programmierschnittstelle (API) kann die Bibliothek entweder in eigene Anwendungen integriert werden.

Windows Software Architektur

Unter Windows garantiert die acontis RtaccWin Technologie einen stabilen, echtzeitfähigen Betrieb des EC-Simulators.  Dazu wird eine CPU exklusiv für die Simulation reserviert und der RtaccDevice.sys Treiber gewährt dem acontis Real-time Ethernet Treiber den direkten, schnellen Zugriff auf den physischen Netzwerkcontroller aus dem Windows User-Mode. Zusammen mit weiteren Maßnahmen kann der EC-Simulator mit einer EtherCAT Buszykluszeit von einer Millisekunde und ggf. auch noch darunter betrieben werden.

Software-in-the-Loop (SiL) Simulation in Verbindung mit EC-Master

Das EtherCAT Netzwerk wird direkt auf dem zu testenden System (SUT) simuliert. Die EtherCAT Frames werden vom Master über eine Software-Schnittstelle in den Simulator übertragen, hier verarbeitet und die passenden Antwort-Frames generiert. Der EC-Simulator ersetzt in dieser Architektur den Link Layer.

Software Architektur

EC-Simulator ersetzt den Ethernet-Treiber, der normalerweise für die physikalische Schnittstelle verwendet wird. Keine physische Netzwerkschnittstelle erforderlich!

Programming Interface

Prozessdaten Provider

Für die Verarbeitung der Prozessdaten in der Anwendung stehen verschiedene Optionen zur Verfügung. Die entsprechende Option kann für jeden Slave einzeln ausgewählt werden.

  • Standardimplementierung (Slave 1):
    • Prozessdatenlogik, die von der Kundenanwendung aus dem Prozessdatenbild implementiert wird
  • Verwenden Sie eine integrierte Beispielanwendung (Slave 2):
    • Prozessdaten, die durch eine Beispielanwendung bereitgestellt werden, z. B. CiA402, anstelle eines Prozessdatenbildes
    • Das Verhalten der Probenanwendung kann nicht geändert werden
    • Wählen Sie in EC-Engineer „Sample Application“
  • Implementieren Sie eine eigene Slave-Firmware (Slave 3):
    • Schnittstelle zum Entwickeln und Testen der eigenen Slave-Firmware: Verbinden Sie vorhandene eigene APPL_XXX () Slave-Funktionen mit dem eigenen Code
    • Steuern Sie die EtherCAT-Zustandsmaschine, verarbeiten Sie Prozesse und CoE-Objekte

Netzwerk Operationen

  • Ändern der Netzwerk Topologie
  • Slave trennen / verbinden / bewegen
  • Slave an- und ausschalten
  • Slave Status ändern, z.B., in PreOp wechseln
  • API um verlorene Frames an einem Slave / Port zu simulieren
  • API um eine verlorene Verbindung an einem Slave / Port zu simulieren

Diagnose Funktionen

  • API zum Lesen und Schreiben von Slave-Registern, z.B. Slave-Zustände lesen
  • API zum Lesen und Schreiben von Slave-EEPROM-Inhalten
  • API zum Lesen des Simulatorobjektwörterbuchs
  • API zur Auswertung der Netzwerktopologie
  • RAS-Server zum Verbinden von EC-Lyser / EC-Engineer

Eigenschaften

  • Gleichzeitige Simulation von bis zu 2000 EtherCAT Slaves
  • Slaves mit und ohne Mailbox
  • Mailbox protocol CAN application protocol over EtherCAT (CoE)
  • PDO Konfiguration und Assignment Kommandos via CoE
  • Mailbox Protokoll Vendor over EtherCAT (VoE)
  • Mailbox Protokoll File access over EtherCAT (FoE)
  • Unterstützung für alle Mailboxinitialisierungskommandos
  • Basis Objektverzeichnis mit ENI Datei, oder vollständig mit EXI Datei
  • Support für verteilte Uhren
  • Unterstützte EtherCAT Master: EC-Master, Beckhoff TwinCAT®, CoDeSys®

Mehr Informationen über EC-Simulator

Datenblätter und Evaluierungssoftware finden Sie im Downloadbereich