Wenn Sie wiederholt Daten, die Sie für eine bestimmten Größenordnung und Maßeinheit verarbeiten, an ein anderes Einheitensystem anpassen wollen, können Sie dafür eine Umrechnungsvorschrift definieren.
Umrechnungsvorschriften können Sie in einem Objekt des Typs „Einheitenumrechnung“ definieren. CODESYS implementiert automatisch jede Umrechnungsvorschrift als Funktionsbaustein <Name>_Impl
und instanziert ihn mit <Name>
. Jede Umrechnungsvorschrift verfügt über die Methoden Convert
und Reverse
. Sie können so einen Funktionsbaustein wie gewohnt verwenden. An Stellen, an denen
Sie auf eine Variable zugreifen, können Sie die Variable mit einer Umrechnungsvorschrift
verknüpfen. Die Eingabehilfe bietet unter Kategorie „Funktionsbaustein“ und „Instanzaufrufe“ alle an. Bei der Ausführung erhalten Sie als Ergebnis einen nach Umrechnungsvorschrift
konvertierten Wert.
Sie können auch in einer Visualisierung eine IEC-Variable, die in einer Eigenschaft eines Elements konfiguriert ist, mit einer Umrechnungsvorschrift verknüpfen.
Umrechnungsvorschrift definieren
-
Doppelklicken Sie im Gerätebaum auf ein Objekt des Typs „Einheitenumrechnung“.
Der zugehörige Editor öffnet sich. Er enthält eine Tabelle mit bereits definierten Umrechnungsvorschriften. Unter „Typeinstellung“ bearbeiten Sie eine Vorschrift, unter „Bedingungseinstellung“ bearbeiten Sie eine zugehörige Bedingung.
-
Doppelklicken Sie in das Feld „Neuen Eintrag hinzufügen“ und geben Sie einen Namen an.
CODESYS implementiert den Funktionsbaustein
<Name>_Impl
und instanziert ihn mit<Name>
. -
Doppelklicken Sie in das Feld unter „Typ“ und wählen Sie aus der Auswahlliste einen Typen aus.
Unterhalb der Tabelle erscheinen Eingabefelder für die Bearbeitung der Umrechnungsvorschrift. Die Eingabefelder variieren abhängig vom eingestellten Typ.
-
Ändern Sie in den Eingabefeldern die Umrechnungsvorschrift.
Die Änderungen werden in der Tabelle unter „Einstellung“ angezeigt.
-
Doppelklicken Sie in das Feld zu „Bedingung“ und wählen Sie aus der Auswahlliste die Art der Bedingung.
Unterhalb der Tabelle erscheinen unter „Bedingungseinstellung“ Eingabefelder um eine Bedingung zu bearbeiten. Die Eingabefelder variieren abhängig von der eingestellten Art.
-
Bearbeiten Sie die Bedingung.
Die Änderungen werden in der Tabelle unter „Bedingungseinstellung“ angezeigt.
Umrechnungsvorschrift mit Umschaltung definieren
Sie können definieren, welche Umrechnungsvorschrift bei einer bestimmten Sprache oder einer bestimmten Bedingung angewendet wird.
-
Doppelklicken Sie im Gerätebaum auf ein Objekt des Typs „Einheitenumrechnung“.
Der zugehörige Editor öffnet sich. Er enthält eine Tabelle mit vordefinierten Umrechnungsvorschriften.
-
Klicken Sie in das Feld „Neuen Eintrag hinzufügen“ und geben Sie einen Namen an.
Zum Beispiel:
Conv_A_LanguageDependent
-
Doppelklicken Sie in das Feld zu „Typ“ und wählen Sie „Umschaltbare Umrechnung“ aus. Doppelklicken Sie in das Feld unter „Bedingung“ und wählen Sie „Sprache“ aus.
Unterhalb der Tabelle erscheint die Tabelle „Umschaltbare Umrechnung“ und darunter die zugehörigen „Bedingungseinstellungen“.
-
Doppelklicken Sie in die Tabelle „Umschaltbare Umrechnung“ und wählen Sie unter der Spalte „Name der umschaltbaren Umrechnung“ aus der Auswahlliste eine vordefinierte Umrechnungsvorschrift aus, zum Beispiel
Conv_AInInch
.Geben Sie unter „Bedingungseinstellungen“ in das Eingabefeld „Für Bedingung 'Sprache'“ einen Wert ein, zum Beispiel
en
.CODESYS wertet die Umrechnungsvorschrift
Conv_AInInch
nur aus, wenn die im Visualisierungsmanager eingestellte Sprache „en “ ist. -
Doppelklicken Sie in die Tabelle „Umschaltbare Umrechnung“ und wählen Sie unter der Spalte „Name der umschaltbaren Umrechnung“ aus der Auswahlliste eine vordefinierte Umrechnungsvorschrift aus, zum Beispiel
Conv_AInMM
.Klicken Sie unter „Bedingungseinstellungen“ in das Eingabefeld „Für Bedingung 'Sprache'“ einen Wert ein, zum Beispiel
de
.CODESYS wertet die Umrechnungsvorschrift
Conv_AInMM
nur aus, wenn die im Visualisierungsmanager eingestellte Sprache „de“ ist. -
Wenden Sie die Umrechnungsvorschrift
Conv_A_LanguageDependent
in der Applikation oder in der Visualisierung an.Wenn die Spracheinstellung in der Visualisierung englisch ist, wendet die Applikation und die Visualisierung die Umrechnungsvorschrift
Conv_AInInch
an. Wenn die Spracheinstellung in der Visualisierung deutsch ist, wendet die Applikation und die Visualisierung die UmrechnungsvorschriftConv_AInMM
an. Die aktuelle Sprache der Visualisierung steht in der VariablenVisuElems.CurrentLanguage
.
Umrechnungsvorschrift anwenden
Fügen Sie in Objekten, die auf IEC-Variablen zugreifen, eine Umrechnungsvorschrift hinzu.
-
Doppelklicken Sie im Gerätebaum auf ein Objekt, das auf eine IEC-Variable zugreift, um dort eine IEC-Variable mit einer Umrechnungsvorschrift zu verknüpfen.
-
Deklarieren Sie eine Variable für das Ergebnis der Umrechnung der IEC-Variablen.
Code zum Beispiel in ST:
rConvertedA : REAL;
-
Wenden sie die Umkehrvorschrift mit der Methode
Convert
an und weisen Sie das Ergebnis der Variablen zu. Nutzen Sie die Eingabehilfe.Code zum Beispiel in ST um die IEC-Variable mit der Umrechnungsvorschrift zu verknüpfen:
rConvertedA := ConvRule_A.Convert(rA);
Umrechnungsvorschrift umgekehrt anwenden
-
Doppelklicken Sie im Gerätebaum auf ein Objekt, das auf eine IEC-Variablen zugreift.
-
Deklarieren Sie eine Variable für das Ergebnis der Umrechnungsvorschrift.
Code zum Beispiel in ST:
rReverseA: REAL;
-
Wenden sie die Umkehrvorschrift mit der Methode
Reverse
an und weisen Sie das Ergebnis der Variablen zu.rReverseA := ConvRule_A.Reverse(rConvertedA);
Beispiel
Voraussetzung: Umrechnungsvorschrift ist Conv_XtoY
.
Aufruf in Implementierungssprache ST
PROGRAM A_PRG VAR rA : REAL; rConvertedA : REAL; rReverseToA : REAL; END_VAR rConvertedA := Conv_XtoY.Convert(rA); rReverseToA := Conv_XtoY.Reverse(rConvertedA);
Aufruf in Implementierungssprache CFC
Geben Sie im CFC-Editor über dem Baustein den Instanzname der Umrechnungsvorschrift an. Geben Sie im Baustein die Methode an.

