Definition: Einheitenumschaltung

Einheitenumschaltungen basieren im »EASY UI Designer« auf Umrechnungen von Prozessvariablenwerten anhand linearer Gleichungen. Ein typisches Beispiel hierfür ist die physikalische Größe „Temperatur“, die länderspezifisch im europäischen Raum über die Einheit Celsius angegeben, im amerikanischen Raum jedoch über Fahrenheit dargestellt wird.

Umrechnung physikalischer Größen

Die Umrechnung der Größe "Temperatur" von Celsius auf Fahrenheit und umgekehrt erfolgt nach den folgenden Formeln:

°C = (°F – 32)/1,8

°F = °C × 1,8 + 32

Im »EASY UI Designer« wird diese lineare Gleichung über zwei Punkte eines linearen Kurvenverlaufs angegeben. Dazu werden die Werte von zwei berechneten Punkten in einer Einheitendefinition angegeben. Ausgehend von der Größe °C sieht die Rechnung exemplarisch wie folgt aus:

Für 0 °C ergibt sich: 0 × 1,8 + 32 = 32 (°F)

Für 100 °C ergibt sich: 100 × 1,8 + 32 = 212 (°F)

Anzugeben sind dann als X-Koordinaten die Werte der Berechnungsausgangsgröße (°C), hier als 0 und 100. Als Y-Koordinaten werden die jeweiligen berechneten Werte angegeben (also 32 und 212).

Im oben dargestellten Bild sind zwei Einheitenumrechnungen definiert. Für "German" wird der Wert quasi nicht beeinflusst, da die X/Y-Wertepaare identisch sind.

Der Verlauf der linearen Gleichung über die beiden Koordinaten (0:0) und (1:1) ergibt eine Gerade, die mit der Steigung 1 durch den Nullpunkt geht, d. h. X und Y sind für alle Punkte der Geraden identisch.

In der Umrechnung für "English" sind die oben berechneten Werte in die entsprechenden Parameterfelder eingegeben worden.

Dieses Beispiel funktioniert aber nur, wenn die umzurechnenden Prozessvariablen direkt den Temperaturwert als °C zurückgeben. Ist das nicht der Fall, muss die spezifische Sensorauflösung über eine Sensoranpassung in die Berechnung einbezogen werden.

Beispiel: Sensoranpassung

Eine von der SPS aufgenommene Strecke von 0 ... 1000 mm soll in der Applikation dargestellt werden. Dabei stehen zwei verschiedene Sensortypen mit folgenden Ausgabebereichen zur Verfügung:

Typ

Messbereich

Ausgabewertebereich

A

0..2000 mm

0..32000

B

0..100 inch

0..32000

Die Umrechnung für [mm] in[ inch[ lautet:

1 in. = 25,4 mm

Die zu erwartenden Wertebereiche für die Strecke 0..1000 mm sind also für:

Die beiden Sensoren haben unterschiedliche Wertebereiche. Eine Anpassung in der Visualisierung kann über eine variablenabhängige Einheitenklasse realisiert werden. Die Umrechnung soll dabei zwischen Kommunikationskomponente und Variablenserver erfolgen, so dass im Variablenserver ein sensorunabhängiger Messwert zur Verfügung gestellt wird.

Die entsprechende Einheitenbeschreibung sieht in der Entwicklungsumgebung so aus:

Wieder wird für einen Zustand quasi keine Umrechnung angegeben, weil die X- und Y- Wertepaare gleich sind. Die zweite Umschaltung enthält die oben berechneten Werte.

Auf diesem Weg können sensorspezifische Werteanpassungen realisiert werden.

Hier geht es erst einmal nur darum, die SPS-Werte für die unterschiedlichen Sensoren im Variablenserver anzugleichen, sodass es für die weitere Behandlung egal ist, welcher Sensor angeschlossen ist. Eine sprachumgeschaltete Umrechnung ist hier noch nicht realisiert. Über eine zusätzliche Umrechnung kann dann die länderspezifische Umschaltung zwischen mm und inch für die Applikation erfolgen.

Wenn Sie diese Trennung nicht durchführen, können sie z. B. den Wert nicht sensorunabhängig in Systemen verwenden, die direkt an den Variablenserver angeschlossen sind (z. B. Aufzeichnung als Trend).

Umschaltung von Einheiten

Im »EASY UI Designer« werden die projektierten Einheitenumrechnungen zu sogenannten Einheitenklassen zusammengefasst. Eine Einheitenklasse beinhaltet mehrere Umrechnungen und einen Schalter, der eine der enthaltenen Umrechnungen aktiviert.

Funktionale Verknüpfung

Im »EASY UI Designer« werden die Prozessvariablendefinitionen direkt mit Einheitenklassen verknüpft. Implizit wird hier davon ausgegangen, dass schon die Definition einer Prozessvariablen das Merkmal einer physikalischen Einheit mit einschließt. Gibt die Prozessvariable beispielsweise einen Temperaturwert wieder, kann die physikalische Größe mit Einheitentext und länderspezifische Umrechnungsformel direkt bei der Definition der Variablen angegeben werden.

Dies hat den Vorteil, dass bei der Darstellung der Prozessvariablen, sei es als Wertausgabe, als Trendaufzeichnung oder als Bestandteil eines Reports jedes Mal die Einheiteninformationen ohne weiteren Projektieraufwand als Bestandteil der Variable mit einbezogen werden.

Die Angabe der zu verwendenden Einheitenklassen erfolgt in der Variablendefinition in den Parametern Einheitenklasse (Prozess) und Einheitenklasse (Anzeige).

Kommaverschiebung/Nachkommastellen

Für ganzzahlige Variablentypen (VT_I2, VT_I4 etc.) gilt: Die Kommaverschiebung ist eine gute Lösung, Rundungsfehlern aus dem Weg zu gehen. Intern behandelt das System einen ganzzahligen Prozessvariablenwert, der mit einer Einheitenumschaltung verknüpft ist, wie einen Fließkommawert. Beim Lesen des Wertes wird der Wert aus der SPS im Variablenserver über die lineare Umrechnung auf eine Fließkommavariable umgerechnet. Bei der Eingabe des Wertes muss diese Konvertierung umgekehrt durchgeführt werden. Wird hier die lineare Gleichung verwendet, muss der Wert ggf. gerundet werden. In der Applikation tritt dann unter Umständen der Fall ein, dass der Bediener einen Wert in ein Steuerelement schreibt und nach dem Senden der Wert im Steuerelement auf den nächsthöheren/-niedrigeren Wert umspringt. Dieses Phänomen tritt bei der alleinigen Verwendung der Kommaverschiebung nicht auf.

Die Funktion des in der Einheitendefinition angegebenen Parameters Kommaverschiebung ist abhängig vom Datentyp der Prozessvariablen, die die Einheitenklasse verwendet:

Darstellung

Alle Steuerelemente mit Prozessvariablenanbindung enthalten zusätzlich zur Eigenschaft "Value" noch die Eigenschaft "RawValue".

Einige Steuerelemente beinhalten die Eigenschaft "UseRawValue". Wird diese Eigenschaft auf " true" gestellt, wird in "Value" keine Umrechnung durchgeführt. Die Werte von "RawValue" und "Value" sind dann identisch.

Weitere Merkmale der Einheitenumschaltung