Qualitätskennung

Um die IEC Quality Information von den Telegramme in WinCC OA abzubilden, gibt verschiedene Möglichkeiten, die unten detailliert beschrieben werden.

Ausgang:

  1. Definieren der Quality als Teil der Peripherieadresse. Das ist nur für statische Einstellung passend, denn wenn die Quality verändert werden muss, muss das Adresskonfig geändert werden.

  2. Setzen der Quality mittels Userbits/Userbytes.

  3. Setzen der Quality unter Verwendung eines DPE mit einer Peripherieadresse und den Subindizes wie in Details zum IEC Treiber definiert.

Eingang:

  1. Abbilden der Quality auf WinCC OA Userbits.

  2. Verwendung eines DPE mit einer Peripherieadresse und den Subindizes wie für den Ausgang.

Benötigt man ausgangsseitig eine dynamische Quality-Information, so muss man entweder Userbits oder Subindizes verwenden. Erstere haben den Vorteil eines geringeren Parametrieraufwandes, da man keine zusätzlichen DPEs und somit auch keine zusätzlichen Peripherieadressen benötigt. Es besteht im Prinzip keine Notwendigkeit die Userbits- und die Subindexvariante zu mischen. In Versionen vor 3.8 musste die Subindexvariante aufgrund der limitierten WinCC OA Statusinformationen (Userbits) verwendet werden.

Quality mit Userbits

Um über Qualtitätkennungs-Bits o.Ä. der Fernwirkanlage informiert zu werden, können diese Bits auf WinCC OA Statusbits abgebildet werden. Diese Abbildung lässt sich in der Config-Datei einstellen (siehe Mögliche Config-Einträge des IEC Treibers) z.B.:

userbitSB = 4

Damit wird das SB Bit auf das WinCC OA Userbit 4 abgebildet (gemappt) und informiert damit, dass ein Ersatzwert gesetzt wurde. Eine Ausnahme bildet das IV Bit, welches automatisch auf das WinCC OA invalid Bit abgebildet wird.

Ausgangsseitig kann man ebenfalls die Qualitätsinformation mittels Userbits/Userbytes bestimmen. Dazu muss der Config Eintrag ConnUserByteQ > 0 gesetzt werden, z.B.:

ConnUserByteQ = 3

Dadurch meldet sich der Treiber auf das dritte Userbyte an und verwendet diese Daten für die Qualitätsinformationen. Wichtig dabei ist, dass jede Änderungen dieses Userbytes (oder eines darin enthaltenen Userbits) einen Hotlink auslöst und damit auch der Wert zur Peripherie verschickt. Um mehrfache Telegramme zu vermeiden, muss in einer Anwendung der _original.._value und das entsprechende _original.._userbyte<x> in einem dpSet() gesetzt werden.

Ist ConnUserByteQ > 0 und bei der entsprechenden Peripherieadresse ist keine Qualität vorgegeben, so wird das entsprechende Userbyte als Qualitätsinformation verwendet.

Befehl - Qualifier

Für IEC 104 hat jeder Befehl einen „Qualifier“ (1Byte).

In dem Qualifier steht im höchsten Bit drinnen, ob der Befehl ausgeführt (execute) (0) oder angewählt (select) (1) werden soll.

Dieser Qualifier kann über ein UserByte abgebildet werden, wenn der connUserByteQ Config-Eintrag gesetzt wird.

z.B.

connUserbyteQ = 1

Wird das höchste Bit im Userbyte1 auf 1 gesetzt, ist das ein „Select“.

Wird das höchste Bit im Userbyte1 auf 0 gesetzt, ist das ein „Execute“.

Die Userbytes und Werte können über die Funktion dpSet gesetzt werden:

// select dpSet(“einzelbefehl.:_original.._value“, 1,
“einzelbefehl.:_original.._userbit8“, 1); // execute
dpSet(“einzelbefehl.:_original.._value“, 1,
“einzelbefehl.:_original.._userbit8“, 0);

Quality als Teil der Peripherieadresse in Befehlsrichtung

Einige Telegrammtypen enthalten die Möglichkeit, die oben genannten Bits oder andere Infos zu setzen. Sie melden der Fernwirkanlage (und sind daher nur bei Ausgang möglich), dass ein Wert aktuell/nicht aktuell etc. ist.

Das Panel zum Setzen der Qualitätsbits öffnen Sie im Adresspanel, indem Sie auf die Schaltfläche ... klicken.

Ein Spezialfall ist der Einzelbefehl mit Ausgabezeit (Nummer 160 bei "Art"):

Abbildung 1. Qualitätskennung für Einzelbefehl mit Ausgabezeit

Bei den Impulsbefehlen, die vom Treiber an die SAT-Komponenten geschickt werden, kann hier eine Zeitdauer parametriert werden. Damit nicht zu jedem Befehlsdatenpunkt diese Zeitdauer parametriert werden muss, gibt es die Möglichkeit, mit diesem Eintrag einen Defaultwert in der Config-Datei anzugeben (siehe Mögliche Config-Einträge des IEC Treibers).

  • Zeit: ist die Zeitbasis, möglich sind 50ms, 500ms, 1sec, 10sec.

  • Faktor: Multipliziert die Zeit, um die tatsächliche Impulszeit zu erhalten. Also Zeit 1sec und Faktor 2 ergibt eine Impulszeit von 2s. Der Faktor kann von 0-30 gewählt werden.

  • Überschrift: Der neue Befehl überschreibt einen alten (Overwrite).

Die gesetzten Bits werden im Textfeld QOS (Quality information, Qualitätskennung) aufsummiert, aus der Summe der gesetzten Einzelbits.

Anmerkung:

Bei zwei Peripherieadressen, die sich nur an der Quality Information unterscheiden (ein Ausgang und ein Eingang), überschreibt der Eingang die Quality Information des Ausganges, wenn der Eingang zuerst gesetzt wird. Dieser Fall muss bei der Parametrierung der Peripherieadressen für den IEC Treiber unbedingt beachtet werden!

Quality mit Subindex

Der flexibelste Weg die Quality zu definieren, geht über die Subindizes, die im Abschnitt Details zum IEC Treiber beschrieben sind. Einige Telegrammtypen erlauben die oben genannten Bits oder andere Infos zu setzen. Subindizes können für Eingang und Ausgang verwendet und ihr Wert dynamisch verändert werden. Beim Setzen mehrere DPEs, die unterschiedliche Subindizes von einer Referenz verwenden, ist darauf zu achten, dass dies in einem dpSet() passiert, um sicherzugehen, dass das Telegramm nur einmal gesendet wird.

Mit ODER verknüpft werden die folgenden Qualitätsinformationen:

  • aus der Peripherieadresse bzw. die, welche über das Config ConnUserByteQ gesetzt wurden

  • die mittels Subindex definiert wurden

Details zur Qualitätskennung

Bezeichnung Bits Bedeutung
OV BS1[1]<0..1>

"Overflow" Der Wert eines Informationsobjekts ist außerhalb eines vorbestimmten Wertebereichs (hauptsächlich bei Analogwerten angewandt:

<0> kein Überlauf

<1> Überlauf

RES BS2[2..4]<0> "Reserved". Reserve
BL BS1[5]<0..1>

"Blocked". Der Wert des Informationsobjekts wird für die Übertragung blockiert; der Wert behält den Zustand bei, der vor der Blockierung erfaßt wurde. Blockierung oder ihre Aufhebung dürfen z.B. durch eine örtliche Verriegelung oder Automatik veranlasst werden.

<0> nicht blockiert

<1> blockiert

SB BS1[6]<0..1>

"Substituted". Der Wert des Informationsobjekts wird durch einen Bediener (Lastverteiler, en: dispatcher)oder durch eine Automatik vorgegeben.

<0> nicht ersetzt

<1> ersetzt

NT BS1[7]<0..1>

"Not topical" Ein Wert ist aktuell, wenn die allerletzte Erneuerung erfolgreich war. Er ist nicht aktuell, wenn er in einer festgelegten Zeitspanne nicht erneuert wurde oder nicht verfügbar ist.

<0> aktuell

<1> nicht aktuell

IV BS1[8]<0..1>

"Invalid" Ein Wert ist gültig, wenn er korrekt erfasst worden ist. Nachdem die Erfassungsfunktion bestimmungswidrige Bedingungen an der Informationsquelle feststellt (fehlende oder nicht vorhandene Erfassungseinheiten, wird der Wert als ungültige gekennzeichnet. Der Werte des Informationsobjektes ist unter dieser Bedingung nicht festgelegt. Die Kennzeichnung ungültig wird benutzt , um dem Ziel mitzuteilen, dass der Wert falsch sein kann und nicht benutzt werden darf.

<0> gültig

<1> nicht gültig

Weiters gibt es für Schutzereignisse mit Zeitmarken:

Bezeichnung Bits Bedeutung
EL BS1[4]<0..1>

"Elapsed". Die abgelaufene Zeit ist gültig, wenn sie korrekt erfasst worden ist. Stellt die Erfassung bestimmungswidrige Bedingungen fest, wird die Relativzeit als ungültig gekennzeichnet. Die abgelaufene Zeit des Informationsobjektes, ist unter dieser Bedingung nicht festgelegt. Die Kennzeichnung ungültig wird benutzt, um dem Ziel mitzuteilen, dass die abgelaufene Zeit falsch sein kann und nicht verwendet werden darf:

<0> abgelaufene Zeit gültig

<1> abgelaufen Zeit ungültig

Für Zählerstände:

Bezeichnung Bits Bedeutung
CY BS1[38]

"Carry" Übertrag

<0> kein Übertrag in der zugehörigen Messperiode

<1> Übertrag in der zugehörigen Messperiode

CA BS1[39]

"Counter adjusted" Zähler wurde voreingestellt.

<0> Zähler seit dem letzten Lesen nicht voreingestellt

<1> Zähler seit dem letzten Lesen voreingestellt