Un DUT (Data Unit Type) dichiara un tipo di dati specifico dell'utente.
Simbolo:
-
DUT -
Enumerazione con supporto per gli elenchi di testo
È possibile aggiungere questo tipo di oggetto sotto l'applicazione o nella vista POUs.
Quando l'oggetto viene creato, si apre la finestra di dialogo «Add DUT». È possibile configurare il nuovo tipo di dati e scegliere tra i costrutti (struttura, enumerazione, alias e unione).
Sintassi per la dichiarazione dei tipi di dati definiti dall'utente
|
TIPO <identificatore> : <dichiarazione del tipo di dati> END_TYPE |
Costruzione del DUT La dichiarazione di un tipo di dati definito dall'utente è posta tra le parentesi TYPE e END_TYPE. |
|
TIPO <identificatore> : STRUTTURA <dichiarazione di membro> END_STRUCT END_TYPE |
Una struttura racchiude i suoi membri con STRUCT e END_STRUCT. È possibile dichiarare un numero qualsiasi di membri, ma almeno due. STRUTTURA |
|
TIPO <identificatore> : ( <elenco dei membri> ) <tipo di dati base> := <inizializzazione> ; END_TYPE |
Un'enumerazione è un elenco separato da virgole di nomi di membri tra parentesi tonde. Tutti i membri hanno lo stesso tipo di dati. A un'enumerazione può essere assegnato anche un elenco di testo. Viene utilizzato per localizzare i valori dell'enumerazione. Di conseguenza, l'oggetto ha anche una vista di localizzazione. Enumerazione |
|
TIPO <identificatore> : <nome del tipo di dati> ; END_TYPE |
Un alias è un identificatore alternativo. Alias |
|
TIPO <identificatore> : UNIONE <dichiarazione di membro> FINE UNIONE END_TYPE |
Un'unione racchiude i suoi membri con UNION e END_UNION. È un tipo di dati con diversi membri che condividono la stessa posizione di memoria. UNIONE |
Esempio
Dichiarazione della struttura S_POLYGONLINE con inizializzazione parziale dei membri
TYPE S_POLYGONLINE :
STRUCT
aiStart : ARRAY[1..2] OF INT := [-99, -99];
aiPoint1 : ARRAY[1..2] OF INT;
aiPoint2 : ARRAY[1..2] OF INT;
aiPoint3 : ARRAY[1..2] OF INT;
aiPoint4 : ARRAY[1..2] OF INT;
aiEnd : ARRAY[1..2] OF INT := [99, 99];
END_STRUCT
END_TYPE
Dichiarazione della struttura S_PENTAGON come estensione di S_POLYGONLINE
TYPE S_PENTAGON EXTENDS S_POLYGONLINE :
STRUCT
aiPoint5 : ARRAY[1..2] OF INT;
END_STRUCT
END_TYPE
Esempio
Dichiarazione dell'enumerazione E_TRAFFICSIGNAL
{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_TRAFFICSIGNAL :
(
eRed,
eYellow,
eGreen := 10
);
END_TYPE
Enumerazione con supporto dell'elenco di testo nella vista di localizzazione

I pulsanti
«Textual View» e
«Localization View» si trovano sul bordo destro dell'editor. Fare clic sui pulsanti per passare da una
visualizzazione all'altra.
Esempio
Dichiarazione di un alias
TYPE A_MESSAGE : STRING[50]; END_TYPE
Esempio
Dichiarazione di un'unione
TYPE U_DATA :
UNION
lrA : LREAL;
liA : LINT;
dwA : DWORD;
END_UNION
END_TYPE
-
Dialogo: Aggiungere DUT