Definitionsebene
-
Führen Sie folgende Schritte in der Projektdatei aus:
-
Legen sie zwei interne Variablen vom Datentyp "VT_I2" an. Markieren Sie dazu den Projektexplorerknoten VariablenWKanäleWIntern. Öffnen sie den Tabelleneditor zu dem Kanal " Intern" durch einen Doppelklick auf den Knoten. Markieren Sie den Tabelleneditor durch einen Mausklick und fügen Sie die beiden Variablendefinitionen durch Drücken der Taste F8 ein. Ändern Sie die Namen der beiden Variablen auf "DistanceSensorAdaptionSwitch" und "DistanceSensorExtendedSwitch".
-
Legen Sie eine variablenabhängige Einheitenklasse an. Wechseln Sie dazu im Projektexplorer zum Knoten VariablenWEinheitenklassenWvariablenabhängig. Drücken Sie im Projektexplorer direkt die Taste F8 zum Anlegen einer neuen Definition. Geben Sie über die Eigenschaftenseiten als Name "DistanceSensorAdaption" und als Umschaltvariable "DistanceSensorAdaptionSwitch" an.
-
Legen Sie eine zweite variablenabhängige Einheitenklasse an. Geben Sie als Name "LengthConversionExtended" und als Umschaltvariable "DistanceSensorExtendedSwitch" an.
-
Markieren Sie den Knoten der Einheitenklasse "DistanceSensorAdaption" und fügen sie im Tabelleneditor eine neue Einheitendefinition mit folgenden Parametern ein:
Parameter
Wert
X1
0
X2
1
Y1
0
Y2
1
-
Fügen Sie in die Einheitenklasse "DistanceSensorAdaption" eine zweite Einheitendefinition mit folgenden Parametern ein:
Parameter
Wert
X1
0
X2
12599
Y1
0
Y2
16000
-
Wechseln sie im Projektexplorer zur Einheitenklasse "LengthConversionExtended" und fügen sie hier im Tabelleneditor eine neue Einheitendefinition mit folgenden Parametern ein:
Parameter
Wert
X1
0
X2
16000
Y1
0
Y2
100
-
Fügen sie zur Einheitenklasse "LengthConversionExtended" eine zweite Einheitendefinition mit folgenden Parametern ein:
Parameter
Wert
Umschaltkennung
1
X1
0
X2
16000
Y1
0
Y2
39,37
Einheitentext
in
-
Fügen sie zur Einheitenklasse "LengthConversionExtended" eine dritte Einheitendefinition mit folgenden Parametern ein:
Parameter
Wert
Umschaltkennung
2
X1
0
X2
16000
Y1
0
Y2
16000
Einheitentext
mm
-
Fügen sie zur Einheitenklasse "LengthConversionExtended" die vierte benötigte Einheitendefinition mit folgenden Parametern ein:
Parameter
Wert
Umschaltkennung
3
X1
0
X2
16000
Y1
0
Y2
39370
Einheitentext
mil
-
Legen Sie eine sprachabhängige Einheitenklasse an. Wechseln Sie dazu im Projektexplorer zum Knoten VariablenWEinheitenklassenWsprachabhängig. Drücken Sie im Projektexplorer direkt die Taste F8 zum Anlegen einer neuen Definition. Ändern Sie den Namen der Einheitenklasse in "LengthConversion".
-
Markieren sie den Knoten der Einheitenklasse "LengthConversion" und fügen sie im Tabelleneditor eine neue Einheitendefinition mit folgenden Parametern ein:
Parameter
Wert
Umschaltkennung
German (1031)
X1
0
X2
16000
Y1
0
Y2
1000
Einheitentext
cm
-
Fügen sie zur Einheitenklasse "LengthConversion" die zweite benötigte Einheitendefinition mit folgenden Parametern ein:
Parameter
Wert
Umschaltkennung
English (1033)
X1
0
X2
16000
Y1
0
Y2
39,37
Einheitentext
in
-
Browsen Sie die umzurechnende Variable in Ihr Projekt. Fügen Sie dazu über den Projektexplorerknoten VariablenWKanäle einen neuen Kommunikationskanal vom Typ "VisiWin(.NET) Treiber" an. Legen Sie im Parameter Treibername den "Sample Treiber" fest. Öffnen Sie über den Kontextmenüeintrag Variablen browsen... des neu eingefügten Treiberkanal-Knoten den Browser-Dialog. Wählen Sie hier die Variable DataTypesWReal aus und bestätigen die Auswahl über die Taste OK.
-
Benennen Sie die Variable über den Parameter Alias um in "RawValue".
-
Duplizieren Sie die Variable. Wählen Sie dazu den Eintrag Duplizieren im Kontextmenü der Definition im Tabelleneditor.
-
Ändern Sie den Alias der so kopierten Variablen auf "SensorIndependent" und wählen Sie über die Eigenschaftenseiten im Parameter Einheitenklasse (Prozess) die Definition "DistanceSensorAdaption" aus.
-
Duplizieren Sie die Variablendefinition "SensorIndependent" und geben Sie hier als Alias den Namen "SensorIndependent_Lng" an. Legen Sie als "Einheitenklasse (Anzeige)" "LengthConversion" fest.
-
Duplizieren Sie die Variablendefinition "SensorIndependent" noch einmal und geben Sie hier als Alias den Namen "SensorIndependent_Ext" an. Legen Sie als "Einheitenklasse (Anzeige)" "LengthConversionExt" fest.
Bei den vier Variablendefinitionen ist die ItemID identisch. Damit greift die Visualisierung über alle Variablendefinitionen auf den selben Wert in der Kommunikationskomponente zu.
Warum diese komplexe Vorgehensweise?
Wird ein Variablenwert über eine Einheitenklasse (Prozess) zwischen Kommunikationskomponente und Variablenserver umgerechnet, steht der Rohwert aus der Kommunikationskomponente nirgendwo mehr zur Verfügung. Die einzige Möflichkeit, die Umrechnung der Einheitenklasse (Prozess) in der Ansicht zu umgehen, ist die Definition einer zweiten Variablen, die keine Einheitenklasse (Prozess) verwendet, aber auf die gleiche Variable in der Kommunikationskomponente zugreift. Um die Umrechnung in der Applikation zu zeigen, wird in den folgenden Schritten (siehe Design) auch der nicht umgerechnete Wert als Anzeigewert in der Applikation implementiert.