Skip to main content

Befehl: Simulation

Funktion: Der Befehl schaltet das Entwicklungssystem in einen Simulationsbetrieb.

Aufruf: Menü Online

Im Simulationsbetrieb können Sie die aktive Applikation auf einem „simulierten Zielgerät“ starten und debuggen. Sie benötigen kein reales Zielgerät um das Onlineverhalten einer Applikation zu testen. Beim ersten Einloggen erfolgt eine Abfrage, ob die Applikation angelegt und geladen werden soll. Für ein simuliertes Gerät müssen Sie keine Kommunikationseinstellungen vornehmen. Im Simulationsbetrieb stellt CODESYS den Eintrag der Steuerung im Gerätebaum in Kursivschrift dar.

Nach erfolgreichem Einloggen signalisiert das Icon icon_device_not_connected.png im Gerätebaum den Simulationsbetrieb. Sie können die entsprechenden Onlinebefehle verwenden, um die Applikation zu testen.

Um den Simulationsbetrieb auszuschalten, loggen Sie sich zunächst aus der Steuerung aus und wählen danach erneut den Befehl Simulation .

Der Befehl betrifft immer die aktive Applikation.

Anmerkung

Die SPS-Shell wird im Simulationsbetrieb nicht unterstützt.

Unterschiede zwischen Simulation und Betrieb mit einer realen Steuerung

Simulation

Reale Steuerung

Echtzeitverhalten/MultiCore

  • Läuft im CODESYS-Prozess mit normaler Priorität

  • SingleCore

    -> schlechteres Echtzeitverhalten

  • Echtzeit-Betriebssystem

  • Single- oder Multicore

Architekturbreite

  • Simulation 64 Bit (hängt von der CODESYS-Installation ab)

    –> möglicherweise Compilefehler in der IEC-Applikation, wenn die Applikation bisher nur auf 32 Bit betrieben wurde (beispielsweise bei Verwendung von DWORD als POINTER)

  • Steuerung 32 Bit

FPU (Rundungsfehler)

  • Verwendet FPU des PCs

  • Unterschiedliche Konfiguration der FPU-Exceptions

  • Verwendet FPU der Steuerung oder FPU-Emulation

  • Unterschiedliche Konfiguration der FPU-Exceptions

Behandlung von Exceptions

  • Exception-Handling des Windows Runtime System

  • Exception-Handling der Steuerung

Externe Bibliotheken (Cmp/Sys/CAA/OEM/…)

  • Nur wenige externe Cmp/SysLibs sind real verfügbar.

    Im Vergleich zu Embedded könnten auch mehr SysLibs vorhanden sein.

  • Andere Implementierung/Verhalten der SysLibs (Windows im Gegensatz zum OS der Steuerung)

  • „Unresolved Reference error“ beim Download wird ignoriert. Die Applikation kann trotzdem auf die Steuerung geladen und gestartet werden. Wenn die fehlenden Funktionen wirklich aufgerufen werden, liefern sie jedoch unsinnige Werte.

    Deshalb kann auch bei externen Bausteinen eine IEC-Implementierung vorgegeben werdem. Dieser stellvertretende IEC-Code wird dann in der Simulation ausgeführt.

  • „Unresolved Reference error“ beim Download, wenn externe Bibliotheken in der Steuerung nicht verfügbar ist

I/O-Treiber

  • I/O-Konfiguration wird erzeugt, aber nicht ausgewertet.

  • Feldbus-Stacks werden nicht ausgeführt.

  • I/O-Kanäle werden nicht aktualisiert und keine Bustelegramme versendet.

  • Überwiegend keine Einschränkung, jedoch abhängig von den Möglichkeiten der Steuerung

SoftMotion-Treiber

  • Alle SoftMotion-Achsen werden auf virtuell gestellt und damit simuliert.

  • Überwiegend keine Einschränkung, jedoch abhängig von den Möglichkeiten der Steuerung

Für weitere Informationen siehe: Testen im Simulationsbetrieb