Alias

Présentation

Le type de données défini par l'utilisateur alias vous permet de déclarer un autre nom pour un type de base, un type de données ou un bloc fonction.

Sélectionnez le Type = Alias dans la boîte de dialogue Ajouter DUT.

Déclaration d'un Alias dans un DUT

TYPE A_MESSAGE : STRING[50];
END_TYPE

Syntaxe

TYPE <DUT name> : <type name>;
END_TYPE

Les types suivants sont autorisés pour <type name> :

  • <basic type name>

  • <data type name>

  • <function block name>

Exemple pour des variables de type STRING ou ARRAY avec longueur spécifique

Partie déclaration :

TYPE FRAME : ARRAY[0..1499] OF BYTE; END_TYPE
TYPE SYMBOL : STRING(512); END_TYPE

Appel :

PROGRAM PLC_PRG
VAR
    frameF : FRAME;
    symbolS : SYMBOL;
END_VAR

Exemple pour des variables nécessitant une valeur initiale différente

Cet exemple s'applique à un type de données alias pour des variables qui requièrent une valeur initiale différente de celle fournie par le compilateur.

TYPE INDEX : DINT := -1; END_TYPE

Exemple pour des variables appliquant un sous-ensemble de valeurs

Cet exemple s'applique à un type de données alias pour des variables d'un type spécifique auxquelles un sous-ensemble spécifique de valeurs du type d'origine doit être appliqué.

{attribute 'qualified_only'}
VAR_GLOBAL CONSTANT
    c_diMaxRune : DINT := DINT#16#0010FFFF;
END_VAR
TYPE RUNE : DINT(0..GVL.c_diMaxRune); END_TYPE

Exemple pour des types provenant d'un autre espace de noms

Cet exemple s'applique notamment pour les types provenant d'une bibliothèque subordonnée en vue de les rendre disponibles dans l'espace de noms actuel.

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*)

Comme les types des bibliothèques subordonnées deviennent partie intégrante de votre propre bibliothèque, une bibliothèque conteneur devient superflue dans la plupart des cas.