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>_Implund 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_AInInchnur 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_AInMMnur aus, wenn die im Visualisierungsmanager eingestellte Sprache „de“ ist. -
Wenden Sie die Umrechnungsvorschrift
Conv_A_LanguageDependentin der Applikation oder in der Visualisierung an.Wenn die Spracheinstellung in der Visualisierung englisch ist, wendet die Applikation und die Visualisierung die Umrechnungsvorschrift
Conv_AInInchan. Wenn die Spracheinstellung in der Visualisierung deutsch ist, wendet die Applikation und die Visualisierung die UmrechnungsvorschriftConv_AInMMan. 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
Convertan 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
Reversean 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.

