Leggere la descrizione di una variabile strutturata
Questa istruzione ottiene la descrizione di una variabile strutturata (DUT, ARRAY) sull'ingresso Variable e scrive la descrizione nella variabile di uscita adutDataTypeInfo.
Ingresso
Indirizzo iniziale della variabile strutturata
Uscita
Indirizzo iniziale dell'array della descrizione della variabile
I tipi validi per l'ingresso Variable sono tipi di dati strutturati con variabili di membro di qualsiasi tipo semplice (ad eccezione di BOOL), array di tali tipi semplici e tipi di unità di dati composte da tali tipi semplici
La variabile adutDataTypeInfo deve essere un array di DATA_TYPE_INFO_DUT
La dimensione dell'array deve essere uguale o maggiore del numero di elementi nei dati di processo.
La descrizione della variabile verrà scritta su un ARRAY OF DATA_TYPE_INFO_DUT, la dimensione del quale deve corrispondere al numero di elementi DUT della variabile specificata all'ingresso Variable. Ogni elemento della descrizione della variabile descrive un elemento della DUT.
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU.La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
bEnable: BOOL:=FALSE;
asSimpleVariable: ARRAY [0..2] OF STRING[32]:=[3('')];
adutDataTypeInfo: ARRAY [0..0] OF DATA_TYPE_INFO_DUT;
END_VAR
Quando la variabile bEnable è impostata su TRUE, la funzione viene eseguita.
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 questo esempio, la variabile dutVariable è una DUT del tipo Example_2_DUT avente la seguente struttura:
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU.La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
bEnable: BOOL:=FALSE;
dutVariable: Example_2_DUT;
adutDataTypeInfo: ARRAY [0..2] OF DATA_TYPE_INFO_DUT;
END_VAR
Quando la variabile bEnable è impostata su TRUE, la funzione viene eseguita.
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;