Datenerfassung mit CODESYS Trace
Mit einem Trace können Sie den Werteverlauf von Variablen auf der Steuerung verfolgen, ähnlich einem digitalen Abtast-Oszilloskop. Zur Laufzeit einer Applikation mit Trace werden innerhalb des Taskzyklus zuerst alle Anweisungen ausgeführt. Danach startet die Datenerfassung und die Speicherung der Werte mit Zeitstempel. Der Zeitstempel ist relativ und bezieht sich auf den Startzeitpunkt der Datenerfassung. Die Daten ergeben ein zeitdiskretes Signal, dessen Verlauf CODESYS im Traceeditor darstellt.
Wert und Zeitstempel bilden einen „Sample“, also einen Datensatz. Das Laufzeitsystem schreibt die Samples in einen Puffer von einstellbarer Größe. CODESYS fordert die Daten an, speichert sie im Traceeditor-Puffer und stellt sie als Funktion über die Zeit im Tracediagramm dar. Sie können den Werteverlauf der dafür konfigurierten Variablen kontinuierlich beobachten, da CODESYS die neuesten Daten darstellen kann.
Sie können die Datenspeicherung mit einem Trigger versehen. Bei Auslösen des Triggers wird die Datenaufzeichnung angehalten und die Daten werden um den Triggerzeitpunkt herum dargestellt.
Die Konfiguration sowie die Darstellung eines Trace ist im CODESYS-Projekt über Traceobjekte im Traceeditor möglich. Es gibt die folgenden zwei Objekttypen:
Trace: Wird im Gerätebaum unterhalb der IEC-Applikation eingehängt. Ein solches Objekt enthält immer eine rein applikationsspezifische Tracekonfiguration. Sie können diese Tracekonfiguration dann auf die Steuerung laden und dort mit der Applikation laufen lassen.
DeviceTrace: Wird im Gerätebaum unterhalb des Geräteobjekts eingehängt. Wenn das Steuerungsgerät einen „Tracemanager“ unterstützt, können Sie über ein oder mehrere DeviceTrace-Objekt(e) auf einen oder mehrere Traces zugreifen, die gerade auf der Steuerung laufen. Dies können applikationsbezogene, aber auch steuerungsspezifische Traces sein. Beispielsweise kann eine Steuerung Traces zur Erfassung der Prozessorauslastung unterstützen. Menübefehle ermöglichen dazu den Zugriff aus dem CODESYS-Projekt auf den Tracemanager im Gerät.
Zugriff auf den Tracemanager aus IEC-Code ist über die Funktionen der Bibliothek CmpTraceMgr.library
möglich. Sehen Sie dazu auch die Dokumentation zur Bibliothek.
Wichtig
Eine laufende Datenerfassung mit Trace kann zu einem signifikanten Anstieg der Zykluszeit von IEC-Tasks führen.
Wichtig
Eine Datenerfassung mit Trace läuft auch nach dem Ausloggen vom Gerät weiter.
Laufzeitsystemkomponente CmpTraceMgr, Tracemanager
Die Gerätebeschreibung eines LZS mit Tracemanager enthält in der Sektion TargetSettings
den Eintrag tracemanager
.
In diesem Fall überträgt CODESYS beim Laden der Applikation auf die Steuerung nur die Tracekonfiguration. Wenn Sie den Trace starten, interpretiert die Applikation auf dem LZS mit Hilfe des Tracemanagers die Konfiguration, führt die Datenerfassung aus und puffert die Datensätze auf der Steuerung.
Die Laufzeitsystemkomponente CmpTraceMgr
bietet dazu gegenüber einer Datenerfassung mit IEC-Code eine erweiterte Funktionalität.
So ist die Datenerfassung von folgenden Werten möglich:
Parameter der Steuerung, wie zum Beispiel die Prozessorauslastung (cpuload, plcload), die Temperaturkurve einer CPU oder eines Akkus
Die Messung der Prozessorauslastung pro Prozessorkern (cpuload) ist interessant für Multicore-Steuerungen.
Signale des Geräts, wie zum Beispiel den Stromverlauf eines Antriebs
Systemvariablen einer anderen Laufzeitsystemkomponente
Sie können Parameter sowie IEC-Variablen im Dialog Tracekonfiguration unter Variableneinstellungen konfigurieren.
Die Darstellung von Traces, die auf der Steuerung laufen, ist im Traceeditor eines DeviceTrace-Objekts möglich.
Datenerfassung nach Auslösen eines Triggers
Wenn Sie Daten beobachten wollen, die von einem Ereignis oder einer Bedingung abhängen, können Sie die Datenerfassung abhängig von einem Trigger freigeben. Die Applikation in Laufzeit prüft, ob das Ereignis eingetreten oder die Bedingung erfüllt ist und puffert die Daten dann entsprechend.
Die Tracekonfiguration ermöglicht das Auslösen eines Triggers über folgendes:
eine Triggervariable, die ein Ereignis abbildet
eine Bedingung als Ausdruck
eine Kombination von Triggervariable und Bedingung
Samples in Datei speichern
Sie können die Samples auf dem Dateisystem des Entwicklungssystems als Datei speichern. Die Datei kann zusätzlich die Tracekonfiguration enthalten.
Dateierweiterung | Dateityp | Beschreibung |
---|---|---|
| Tracedatei | Enthält die Samples und die Tracekonfiguration in einem XML basierten Speicherformat Sie können die Datei mit dem Befehl Trace laden offline in den Traceeditor laden und die Samples ohne Betrieb einer Steuerung analysieren. |
| Textdatei | Enthält die Samples im ASCII-Format Sie können die Datei mit einem externen Tool weiterverarbeiten. |
| Tracedumpdatei | Datei im CSV-Format, die die Tracekonfiguration und optional die Samples enthält Sie können die Datei erstellen, indem Sie den Befehl Symbolische Tracekonfiguration exportieren wählen. Sie können diese Datei auf die Steuerung übertragen und in die Applikation laden. Dann können Sie in CODESYS mit dem Befehl Trace laden diese im Traceeditor darstellen. Sie können aber auch den Befehl |
| Symbolische Tracekonfiguration | Enthält die Tracekonfiguration im CSV-Format Sie können die Datei erstellen, indem Sie den Befehl Symbolische Tracekonfiguration exportieren wählen. Die Laufzeitsystemkomponente |
Für weitere Informationen siehe: Trace