_cmd_conv, _msg_conv (Umrechnung)

Je nachdem, ob die Umrechnung von Größen von der Peripherie zum Leitsystem (Melderichtung) oder umgekehrt vom Leitsystem zur Peripherie erfolgt, (Befehlsrichtung) gibt es zwei verschiedene Config in WinCC OA . Die Attribute der Config und der Umrechnungsarten _msg_conv und _cmd_conv entnehmen Sie bitte dem Anhang.

  • _msg_conv dient zur Umrechnung von Datenpunktvariablen in Melderichtung.

  • _cmd_conv dient zur Umrechnung von Größen, die vom Leitsystem an die Peripherie geschickt (= Befehlsrichtung) werden. Originalwerte können im Treiber umgerechnet werden, bevor sie an die Peripherie weitergeleitet werden.

Da die beiden Panels die gleichen Umrechnungsfunktionen in den Panels besitzen, werden sie gemeinsam beschrieben.

Die Umrechnungsarten sind aber vom jeweiligen Datentyp der Datenpunktelemente abhängig. Soll ein angelegtes Datenpunktelement umgerechnet werden, so wird je nach Datenpunkttyp ein eigenes Menü aufgeschaltet. Solche Menüs existieren für die Typen "unsigned", "integer", "float" und "bool". Aus diesen Menüs werden dann die Parametrierpanel für die gewählten Umrechnungen aufgeschaltet.

Panel Umrechnungen

Abbildung 1. Panel Umrechnungen - Menü

  • In der Combobox oben wird der Name des bearbeiteten Datenpunktelements angezeigt (bzw. Beschreibung oder Alias).

  • Sollen Werte eines Datenpunktelements z.B. in Befehlsrichtung umgerechnet werden, so wird je nach Datentyp über die Schaltfläche "Hinzufügen" ein Menü aufgeschaltet.

  • Aus diesen Menüs wählen Sie die gewünschten Umrechnungen: durch Anklicken der Umrechnungsart und Klick auf die Schaltfläche Übernehmen (in der Abbildung sehen Sie die Möglichkeiten für den Datentyp float).

  • Mit Schließen verlassen Sie das Menü der Umrechnungsarten wieder.

  • Aus der Liste "Gewählte Umrechnungsarten" wählen Sie durch Anklicken ein Verfahren aus.

  • Zur weiteren Parametrierung klicken Sie auf die Schaltflächen Eigenschaften. Mit Löschen entfernen Sie eine gewählte Umrechnungsart wieder aus der Liste.

    Um die Parametrierung abzuschließen, ist auf die Schaltfläche OK zu klicken. Mit Übernehmen speichern Sie die Einstellungen, ohne das Panel zu verlassen. Wird dagegen auf die Schaltfläche Abbrechen geklickt, werden vorgenommene Einstellungen verworfen und es gelten jene Einstellungen, die schon beim Aufschalten des Panels aktiv waren.

    Je nach gewählter Rechenart öffnen sich verschiedene Dialoge. Sie werden weiter unten nach den Umrechnungsarten näher beschrieben.

Umrechnungsarten

Invertieren

Das Ergebnis ist Null, wenn der Eingang Eins ist, und umgekehrt (nur bei Datentyp bool vorhanden).

Stützpunktkurve

Um Eingangswerte auf eine Stützpunktkurve abzubilden, wird der Wertebereich des Datenpunktelements in mehrere Abschnitte geteilt. Den Randpunkten dieser Abschnitte werden feste Ergebniswerte zugeordnet und durch lineare Funktionen verbunden, sodass sich eine durchgehende Kurve ergibt. Sie muss den Eingangswerten Ergebniswerte eindeutig zuweisen. Das Resultat ist ein Zug von Geradenstücken, die an ihren Enden, den festgehaltenen Abschnittsrändern ("Stützpunkte"), aneinderstoßen und diese Punkte gemeinsam haben. Beispiel: f(x)=x im Bereich von 0-1, und f(x)=2x-1 im Bereich von 1-3. Stützpunkte sind (0,0), (1,1) und (3,5).

Abbildung 2. Panel mit Dialog – Stützpunktkurve

Dialog – Stützpunktkurve

  • Wählen Sie in der Combobox oben die Anzahl der höchstens fünf Stützpunkte.

  • In die nächsten Felder ("Stützpunkt 1" usw.) tragen Sie unter "X" die Bereichsgrenzen der Stützpunktkurve ein, also jene Eingangswerte, welche die x-Koordinaten der Stützpunkte darstellen.

  • In den Feldern "Y" geben Sie die den x-Werten zugeordneten festen Ergebniswerte, also die Y-Koordinaten der Stützpunkte, an. Alle Stützpunktkoordinaten müssen als Fließkommazahlen eingegeben werden.

  • Klicken Sie auf OK um die Parametrierung abzuschließen.

  • Wird auf die Schaltfläche Abbrechen geklickt, so verwerfen Sie vorgenommene Einstellungen und es gelten jene Einstellungen, die schon beim Aufschalten des Panels aktiv waren.

Logarithmus

Ergebniswert ist der zur wählbaren Basis logarithmierte Eingangswert. Beispiel: f(x)=log10(x)

Abbildung 3. Panel mit Dialog – Logarithmus

Dialog – Logarithmus

  • Für den natürlichen Logarithmus ist die Option oben anzuklicken.

  • In das Feld darunter ist die Basis des Logarithmus einzugeben.

  • Klicken Sie OK, um die Parametrierung abzuschließen.

Polynom 1. bis 4. Ordnung

Der Eingangswert kann ein Polynom bis zu vierter Ordnung des Eingangswertes mit wählbaren Koeffizienten sein. Beispiel: f(x)=5x²; die Koeffizienten 0., 1., 3. und 4. Ordnung sind 0, der Koeffizient 2. Ordnung ist 5.

Abbildung 4. Panel mit Dialog – Polynom

Dialog – Polynom

  • Zuerst wählen Sie über die Combobox eine Ordnung für das Polynom (0-4).

  • In die Felder darunter ("a", "b", ...) sind die Koeffizienten des Polynoms einzugeben. Entsprechend der Polynomordnung sind einige Felder ausgegraut.

  • Klicken Sie auf OK um die Parametrierung abzuschließen.

  • Klicken Sie auf die Schaltfläche Abbrechen, so verwerfen Sie vorgenommene Einstellungen und es gelten jene Einstellungen, die schon beim Aufschalten des Panels aktiv waren.

Achtung

Die Koeffizienten sind nach absteigender Ordnung gereiht. "e" ist der Koeffizient vierter Ordnung, "d" der Koeffizient dritter Ordnung usw. Für ein bereits parametriertes Polynom wird die höchste darin vorkommende Potenz, als Ordnung des Polynoms angezeigt.

Beispielsweise verschwinden für y = 5x²+x alle Koeffizienten bis auf die erster und zweiter Ordnung. Die Ordnung des Polynoms ist also 2.

Einstellbare Genauigkeit

Ergebniswert ist der mit der gewählten Genauigkeit gerundete Eingangswert. Diese Umrechnung ist in Melderichtung sinnvoll, besonders in Kombination mit einer Glättung vom Typ Alt/Neu Vergleich. Dabei kann es durch Einschränkung der Genauigkeit zu einer merkbaren Verringerung von Meldungen kommen. Beispiel: f(x)=x auf 10 gerundet. Der Eingangswert 105 erscheint im Ergebnis als 110.

Nach Selektion von Einstellbarer Genauigkeit öffnet die Schaltfläche Eigenschaften das entsprechende Panel.

Geben Sie eine ganze Zahl an, also etwa für Runden auf eine Rundungszahl "1", um auf 10 zu runden.

Geben Sie eine ganze Zahl für den Rundungsdivisor an, also für Runden auf die Rundungsdivisor, z.B. 2, um auf 1/2 zu runden. Man gibt im Feld Rundungsdivisor also den Nenner des Bruches an, auf welche Genauigkeit gerundet werden soll.

Abbildung 5. Panel mit Dialog - Genauigkeit

Nullpunktunterdrückung

Eingangswerte, die innerhalb eines bestimmten Bereichs liegen, werden auf einen festen Ergebniswert gesetzt. Beispiel: f(x) = 1 für alle 0<x<2. Alle Variablenwerte, die zwischen Null und Zwei liegen, werden auf Eins gesetzt.

Abbildung 6. Panel mit Dialog – Nullpunktunterdrückung

Dialog – Nullpunktunterdrückung

  • Geben Sie die Grenzen des Intervalls an, innerhalb dessen Eingangswerte unterdrückt werden sollen ("Werte von" / "bis").

  • In das nächste Feld tragen Sie den Ergebniswert ein, der an die Stelle der unterdrückten Eingangswerte gesetzt werden soll.

Sowohl Grenzwerte wie Ergebniswerte müssen als Fließkommazahlen angegeben werden! Sollen also alle Werte zwischen Null und Zwei auf Eins gesetzt werden, so sind die als Grenzen 0.0 und 2.0 , als Ergebniswert 1.0 einzutragen.

Triggerdefinition

Der Ergebniswert ist bei Unter- oder Überschreitung eines Grenzwerts (der "Triggerschwelle") Eins, sonst Null.

Abbildung 7. Panel mit Dialog – Trigger

Dialog – Trigger

  • In das Textfeld tragen Sie den Grenzwert ein, bei dessen Unter- oder Überschreitung der digitale Ergebniswert auf "1" gesetzt wird. Der Grenzwert ist als Fließkommazahl anzugeben.

  • In welchem der angegebenen Fälle der Ergebniswert auf "1" gesetzt wird, ist durch Anklicken der entsprechenden Option anzugeben - Digitalwert auf 1 bei überschrittenem oder unterschrittenem Grenzwert.

  • Klicken Sie auf OK um die Parametrierung abzuschließen.

  • Klicken Sie auf die Schaltfläche Abbrechen, so verwerfen Sie vorgenommene Einstellungen und es gelten jene Einstellungen, die schon beim Aufschalten des Panels aktiv waren.

Die Parametriermenüs für Umrechnungen in Melderichtung bieten zusätzlich zu den aufgeführten Operationen noch eine weitere für Eingangswerte, die an der Peripherie als Digitalwerte entstanden sind:

Zählerimpulse

Der Ergebniswert wird nach jeder steigenden oder fallenden Flanke, oder bei jedem Eins- bzw. Nullimpuls um Eins erhöht.

Abbildung 8. Panel mit Dialog – Zählerimpulse

Dialog – Zählerimpulse

In der Radio-Box "Zähler erhöhen" wählen Sie durch Klicken auf die entsprechende Option aus:

  • "Wechsel 0 -> 1 Flanke": zählt nach jedem Anstieg des digitalen Eingangswertes.

  • "Wechsel 1 > 0" zählt nach jedem Absinken des digitalen Eingangswertes.

  • "Zustandswechsel": zählt jede Änderung des digitalen Eingangswertes.

  • "1 - Impulse": zählt die Eingangswerte 1

  • "0 - Impulse": zählt die digitalen Eingangswerte 0

  • Im Textfeld unter der Radio-Box ist als ganze Zahl anzugeben, nach wievielen Impulsen der Zähler zurückgesetzt wird.

  • Klicken Sie auf OK um die Parametrierung abzuschließen.

  • Klicken Sie auf die Schaltfläche Abbrechen, so verwerfen Sie vorgenommene Einstellungen und es gelten jene Einstellungen, die schon beim Aufschalten des Panels aktiv waren.

Anmerkung: Die möglichen Umrechnungsarten sind von Datentyp abhängig!
VORSICHT: Bei der Umrechnung in Melderichtung muss besonderes Augenmerk darauf gelegt werden, dass die jeweils letzte auf eine Variable angewendete Umrechnung einen Wert ergibt, der im Bereich des Datentyps der Variablen liegt!