GetDataTypeInfo

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

Variable (BOOL, INT, UINT, WORD, DINT, UDINT, DWORD, REAL, DATE, TOD, DT, STRING)

Anfangsadresse der strukturierten Variablen

Ausgang

adutDataTypeInfo (ANY ARRAY OF DATA_TYPE_INFO_DUT)

Anfangsadresse des Arrays der Variablenbeschreibung

Anmerkungen

  • 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.

Beispiel

POE-Kopf

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

KOP-Rumpf

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

ST-Rumpf

if (bEnable) then
    adutDataTypeInfo := GetDataTypeInfo(asSimpleVariable);
end_if;

Beispiel:

SDT

In diesem Beispiel ist die Variable dutVariable ein SDT des Typs Example_2_DUT mit der folgenden Struktur:

POE-Kopf

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

KOP-Rumpf

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

ST-Rumpf

if (bEnable) then
    adutDataTypeInfo := GetDataTypeInfo(dutVariable);
end_if;

Letzte Änderung am: 2023-06-16Feedback zu dieser SeitePanasonic Hotline