Beschreibung einer strukturierten Variablen lesen
Dieser Befehl ruft die Variablenbeschreibung einer strukturierten Variablen (SDT, ARRAY) am Eingang Variable ab und schreibt die Beschreibung in die Ausgangsvariable adutDataTypeInfo.
Eingang
Anfangsadresse der strukturierten Variablen
Ausgang
Anfangsadresse des Arrays der Variablenbeschreibung
Gültige Typen für den Eingang Variable sind strukturierte Datentypen mit Variablenelementen eines beliebigen einfachen Typs (außer BOOL), Arrays dieser einfachen Typen und strukturierte Datentypen, die aus diesen einfachen Typen bestehen.
Die Variable adutDataTypeInfo muss ein Array von DATA_TYPE_INFO_DUT sein.
Die Größe des Arrays muss gleich oder größer als die Anzahl der Elemente in den Prozessdaten sein.
Die Variablenbeschreibung wird in ein ARRAY OF DATA_TYPE_INFO_DUT geschrieben, dessen Größe der Anzahl der SDT-Elemente der am Eingang Variable angegebenen Variablen entsprechen muss. Jedes Element der Variablenbeschreibung beschreibt ein SDT-Element.
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden.Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
VAR
bEnable: BOOL:=FALSE;
asSimpleVariable: ARRAY [0..2] OF STRING[32]:=[3('')];
adutDataTypeInfo: ARRAY [0..0] OF DATA_TYPE_INFO_DUT;
END_VAR
Wenn die Variable bEnable auf TRUE gesetzt wird, wird die Funktion ausgeführt.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,E_GetDataTypeInfo!,,15,0,28,4,,?DEN?dVariable?AENO?cadutDataTypeInfo);
B(B_VARIN,,asSimpleVariable,13,2,15,4,);
B(B_VAROUT,,adutDataTypeInfo,28,2,30,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,15,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (bEnable) then
adutDataTypeInfo := GetDataTypeInfo(asSimpleVariable);
end_if;
In diesem Beispiel ist die Variable dutVariable ein SDT des Typs Example_2_DUT mit der folgenden Struktur:
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden.Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
VAR
bEnable: BOOL:=FALSE;
dutVariable: Example_2_DUT;
adutDataTypeInfo: ARRAY [0..2] OF DATA_TYPE_INFO_DUT;
END_VAR
Wenn die Variable bEnable auf TRUE gesetzt wird, wird die Funktion ausgeführt.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,E_GetDataTypeInfo!,,13,0,26,4,,?DEN?dVariable?AENO?cadutDataTypeInfo);
B(B_VARIN,,dutVariable,11,2,13,4,);
B(B_VAROUT,,adutDataTypeInfo,26,2,28,4,);
L(1,0,1,5);
L(1,2,4,2);
L(6,2,13,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (bEnable) then
adutDataTypeInfo := GetDataTypeInfo(dutVariable);
end_if;