Un tipo di dati definito dall'utente alias consente di dichiarare un nome alternativo per un tipo di base, un tipo di dati o un blocco funzione.
Selezionare finestra di dialogo .
= nellaTYPE <DUT name> : <type name>;
END_TYPE
I tipi seguenti sono consentiti per <type name>
:
<basic type name>
<data type name>
<function block name>
Parte dichiarazione:
TYPE FRAME : ARRAY[0..1499] OF BYTE; END_TYPE
TYPE SYMBOL : STRING(512); END_TYPE
Chiamata:
PROGRAM PLC_PRG
VAR
frameF : FRAME;
symbolS : SYMBOL;
END_VAR
Questo esempio è valido per un tipo di dati alias per variabili che richiedono un valore iniziale diverso da quello fornito dal compilatore.
TYPE INDEX : DINT := -1; END_TYPE
Questo esempio è valido per un tipo di dati alias per variabili di un tipo specifico dove deve essere applicato un sottoinsieme specifico di valori del tipo originale.
{attribute 'qualified_only'}
VAR_GLOBAL CONSTANT
c_diMaxRune : DINT := DINT#16#0010FFFF;
END_VAR
TYPE RUNE : DINT(0..GVL.c_diMaxRune); END_TYPE
Questo esempio è valido, ad esempio, per i tipi di una libreria subordinata per renderli disponibili nello spazio dei nomi presente.
TYPE ENCODING: SBB.ENCODING; END_TYPE (*ENUM*)
TYPE RUNE : UTF8.RUNE; END_TYPE (*SUBTYPE*)
TYPE INFO : STR.INFO; END_TYPE (*STRUCT*)
TYPE IBuilder : SBB.IBuilder; END_TYPE (*INTERFACE*)
TYPE Range: SBB.Range; END_TYPE (*FUNCTION_BLOCK*)
Poiché i tipi di librerie subordinate diventano parte della propria libreria, una libreria contenitore diventa superflua nella maggior parte dei casi.