Einheiten mithilfe von SPS-Attributen konfigurieren

Zusätzlich zu der Eingabemöglichkeit über den Unit Wizard, können Einheiten auch mithilfe der Attribute eines Symbols oder eines Datentyps im SPS-Code konfiguriert werden. Das ist beispielsweise dann sinnvoll, wenn eine bestimmte Variable häufiger mittels des TC3 Scopes aufgenommen wird. Dann muss die Einheit nur einmal als Attribut mitgegeben werden und nicht jedes Mal neu konfiguriert werden.

SPS-Attribute werden direkt über der Deklaration einer Variablen oder eines Datentyps in geschweiften Klammern angegeben, wie auf der folgenden Abbildung erkennbar ist.

Einheiten mithilfe von SPS-Attributen konfigurieren 1:

Mithilfe der SPS-Attribute können drei verschiedene Einheiten-Elemente angegeben werden: Basiseinheiten (BaseUnit), Transformationen (UnitTransformation) sowie Benutzereinheiten (UserUnit).

Die Syntax für deren Eingabe ist wie folgt:

Basiseinheiten

{attribute 'BaseUnit' := '< BaseUnit, ScaleFactor, Offset, Prefix >'}

z. B.: {attribute 'BaseUnit' := '< AngularVelocity, 0.5, 0, kilo>'}

→ Die Einheit ist dann krad/s (AngularVelocity) mit einem ScaleFactor von 0.5.

Transformationen

{attribute 'UnitTransformation' := '<SourceUnit, TargetUnit, ScaleFactor, Name>'}

z. B.: {attribute 'UnitTransformation' := '<Current, Temperature, 10, Strom-Temperatur-Wandler>'}

→ Die resultierende Einheit ist die Temperatur in °C.

Benutzereinheiten

{attribute 'UserUnit' := '<BaseUnit, UserUnit, Symbol, ScaleFactor, Offset, Prefix >'}

z. B.: {attribute 'UserUnit' := '<Temperature, Fahrenheit, °F, 1.8, 32, 0>'}

→ Die resultierende Einheit ist die Temperatur in °F.

Für die Basiseinheiten und die Präfixe können neben den Namen auch die Enum-Werte als Zahlen eingegeben werden, dadurch wird ermöglicht, dass beliebige Basiseinheiten und Präfixe gewählt werden können, auch wenn diese nicht vordefiniert sind.

Die drei verschiedenen Elemente können jeweils einzeln oder kombiniert angegeben werden. Dabei ist zu beachten, dass nicht alle Kombinationen sinnvoll sind. Eine Transformation und eine Benutzereinheit sollte beispielsweise mit einer passenden Basiseinheit angegeben werden. Wenn keine passende Basiseinheit angegeben wird, so wird diese automatisch auf die Basiseinheit der Transformation bzw. Benutzereinheit gesetzt.

Bei Eingabefehlern in der Attribut-Syntax wird automatisch der Default-Wert, also eine „Unit of One“ mit einem Skalierungsfaktor von „1“, einem Offset von „0“ und dem Präfix „none“ gesetzt.