Meldungsliste

Nachdem im ersten Block der Simulationsdatei die Objektnamen und -typen eingetragen wurden (siehe Peripherieliste), können den Objekten Werte zugewiesen werden und ein Zeitraum gewählt werden, der bei der Ausführung der Datei die Abarbeitung der nächstfolgenden Zeile verzögert - dies geschieht im zweiten Block der Simulationsdatei, der Meldungsliste.

Die Meldungsliste besteht aus 6 obligatorischen Spalten und 2 optionalen Spalten. Sie enthält pro Zeile eine Meldung, die der Simulator an WinCC OA verschicken soll.

Die obligatorischen Spalten geben den Subindex (Spalte 1) und den Objektnamen (Spalte 2), den zu verschickenden Typ (Spalte 3) und Wert (Spalte 4) sowie ein danach zu wartendes Zeitintervall in Sekunden (Spalte 5) und Millisekunden (Spalte 6) an.

Die optionalen Spalten geben die Statusbits (Userbits) und den Zeitstempel an. Die Reihenfolge von Zeitstempel und Statusbits spielt keine Rolle. Beide Argumente sind optional und können weggelassen werden, dann verhält sich der Simulator wie bisher.

Beispiel

#Subindex Name Typ Wert Sek Msek Statusbits Zeitstempel

1 a1 i 5 0 25 G

2 a2 f3 4.1 7.0 8.5 0 25 GI

1 a3 b8 1 0 0 1 1 1 0 0 1 0 +1

0 a4 t "Hello world" 2 0 "2010.04.27;17:55:00,000"

-1

Die Liste wird mit -1, -2 oder -3 abgeschlossen:

  • -1 = Simulator wird beendet,

  • -2 = endlose Wiederholung der Meldungsliste oder

  • -3 = Simulation wird beendet (keine weiteren Meldungen, Simulator läuft aber weiter). Peripherieadressen, Glättungen und Umrechnungen können also weiterhin parametriert werden. Ein erneuter Simulationslauf mit derselben Datei lässt sich wie in Kapitel "Simulation starten" angegeben ausführen.

Die möglichen Einträge in den Spalten werden im folgenden detaillierter beschrieben.

Subindex (1. Spalte)

Subindex je Objekt. Subindizes unterscheiden Feldelemente (Arrayelemente) voneinander. Der kleinste Subindex für Feldelemente ist 1. Handelt es sich um kein Feldobjekt (Array), so ist als Subindex 0 anzugeben.

Objektname (2. Spalte)

Objektname, der bereits in der Peripherieliste angegeben wurde und auch im Panel zur Parametrierung des Simulators im Feld "Referenz" eingetragen wird.

Objektdatentyp (3. Spalte)

Kürzel des Objektdatentyps, der bereits in der Peripherieliste definiert wurde, + Anzahl der zu verschickenden Daten unmittelbar hinter dem Datentyp. Die Anzahl der Daten in der 4. Spalte muss dann genau der hier angegebenen Zahl entsprechen.

Folgende Kürzel werden verwendet:

  • i für integer-Werte

  • b für bit-Werte

  • f für float -Werte

  • t für string-Werte

Wert (4. Spalte)

Wert, der dem Objekt zugewiesen werden soll. Es müssen genauso viele Werte angegeben, wie in der Spalte 3 hinter den Kürzel angegeben wurden. Steht hinter den Kürzel keine Zahl, so muss 1 Wert angegeben werden.

VORSICHT: Je nach den lokalen Einstellungen Ihres Computers müssen Sie für die Trennung des Vor- und Nachkommateiles der Fließkommazahl das dafür definierte Zeichen verwenden.

Zeitintervall in Sekunden (5. Spalte)

Anzahl ganzer Sekunden, welche mit der Anzahl der Millisekunden der sechsten Spalte addiert werden und veranlassen, dass die Abarbeitung der nächsten Meldung aus der Liste um diese Zeit verzögert wird.

Zeitintervall in Millisekunden (6. Spalte)

Anzahl ganzer Millisekunden, welche mit der Anzahl der Sekunden der fünften Spalte addiert werden und veranlassen, dass die Abarbeitung der nächsten Meldung aus der Liste um diese Zeit verzögert wird.

Statusbits (7. bzw. 8. Spalte)

Statusbits:

  • "I" wird für Invalid gesetzt

  • "G" für die Generalabfrage

  • "1" bis "8" für die Userbits 1 - 8 kodiert.

Jedes Bit kann durch ein vorangestelltes "-" gelöscht und durch ein "+" oder ohne Zeichen gesetzt werden. Bits, die nicht aufgeführt werden, werden nicht an den Event-Manager verschickt (bleiben unangetastet).

Beispiel

-IG1

Diese Angabe löscht das Invalidbit und setzt eine Generalabfrage und das Userbit 1

Zeitstempel (7. bzw. 8. Spalte)

Zeitstempel:

Zeitstempel werden als String, eingeschlossen in Anführungszeichen, in der Form "JJJJ.MM.TT;HH:MM:SS,mmm" angegeben. Die Trennzeichen sind beliebig, es dürfen aber keine Whitespaces sein.

Beispiel

"2010.4.16;15:30:0,000"

Die Werte erhalten den Zeitstempel 16. April 2010, exakt 15:30 Uhr.