Skip to main content

Objet : DUT

Un DUT (Data Unit Type) déclare un type de données spécifique à l'utilisateur.

. Symbole:
  • cds_icon_add_dut.png DUT

  • _cds_icon_textlist_dut.png Énumération avec prise en charge des listes de texte

Vous pouvez ajouter ce type d'objet en dessous de l'application ou dans POU voir.

Lorsque l'objet est créé, Ajouter DUT boîte de dialogue s'ouvre. Vous pouvez y configurer le nouveau type de données et choisir parmi les constructions (structure, énumération, alias et union

Tableau 28. Syntaxe pour la déclaration des types de données définis par l'utilisateur

TYPE <identifier> :

<data type declaration>

END_TYPE

Construction DUT

Une déclaration de type de données définie par l'utilisateur est placée entre crochets TYPE et END_TYPE.

TYPE <identifier> :

STRUCT

    <member declaration>

END_STRUCT

END_TYPE

Une structure entoure ses membres avec STRUCT et END_STRUCT. Un nombre quelconque de membres peut être déclaré, mais au moins deux.

STRUCT

TYPE <identifier> :

(

    <list of members>

) <base data type> := <initialization> ;

END_TYPE

Une énumération est une liste de noms de membres séparés par des virgules entre crochets. Tous les membres ont le même type de données.

Une liste de textes peut également être attribuée à une énumération. Ceci est utilisé pour localiser les valeurs de l'énumération. Par conséquent, l'objet possède également une vue de localisation.

Énumération

TYPE <identifier> : <data type name> ;

END_TYPE

Un alias est un identifiant alternatif.

Alias

TYPE <identifier> :

UNION

    <member declaration>

END_UNION

END_TYPE

Un syndicat joint à ses membres UNION et END_UNION. Il s'agit d'un type de données dont plusieurs membres partagent le même emplacement mémoire.

UNION



Exemple 506. Exemples

Déclaration de la structure S_POLYGONLINE avec initialisation partielle des membres

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

Déclaration de la structure S_PENTAGON dans le prolongement de S_POLYGONLINE

TYPE S_PENTAGON EXTENDS S_POLYGONLINE :
STRUCT
    aiPoint5 : ARRAY[1..2] OF INT;
END_STRUCT
END_TYPE


Exemple 507. Exemple

Déclaration du recensement E_TRAFFICSIGNAL

{attribute 'qualified_only'}
{attribute 'strict'}
TYPE E_TRAFFICSIGNAL :
(
    eRed,
    eYellow,
    eGreen := 10
);
END_TYPE

Énumération avec prise en charge des listes de texte dans la vue de localisation

cds_enum_textlist_example_trafficsignal.png

Le _cds_img_button_textual_view.png Vue textuelle et _cds_img_button_tabular_view.png Vue de localisation les boutons sont situés sur le bord droit de l'éditeur. Cliquez sur les boutons pour passer d'une vue à l'autre



Exemple 508. Exemple

Déclaration d'un alias

TYPE A_MESSAGE : STRING[50];
END_TYPE


Exemple 509. Exemple

Déclaration d'un UNION

TYPE U_DATA :
UNION
    lrA : LREAL;
    liA : LINT;
    dwA : DWORD;
END_UNION
END_TYPE


Boîte de dialogue : Ajouter un DUT

Fonction: La boîte de dialogue est utilisée pour configurer un nouveau DUT objet (type d'unité de données).

Appel: Projet → Ajouter un objet → DUT menu; menu contextuel de l'objet application

Nom

Nom du nouveau DUT type de données

Exemple: S_POLYGONLINE

Tableau 29. Type de données

Structure

Crée un objet qui déclare une structure qui combine plusieurs variables avec différents types de données dans une unité logique

Les variables déclarées dans la structure sont appelées membres.

Exemple: S_POLYGONLINE

Avancée

standard icon: Étend une structure existante avec plus de membres

Dans le champ de saisie, spécifiez une structure existante. Les membres de la structure existante sont automatiquement disponibles dans la nouvelle structure.

Exemple: S_PENTAGON

Énumération

Crée un objet qui déclare une énumération qui combine plusieurs constantes entières dans une unité logique

Les constantes déclarées dans une énumération sont également appelées valeurs d'énumération.

Exemple: E_TRAFFICSIGNAL

Une énumération peut également comporter une liste de texte. Ceci est utilisé pour localiser les valeurs de l'énumération. Par conséquent, l'objet possède également une vue de localisation.

Ajout de la prise en charge de la liste de texte

_cds_icon_option_deactivated.png: Énumération qui n'a pas de support de liste de texte

standard icon: Énumération avec liste de textes enregistrée en plus pour les valeurs d'énumération

La liste de texte vous permet de localiser les noms des valeurs d'énumération.

Exemple: ETL_TRAFFICSIGNAL

Remarque : Dans le cas d'un type d'énumération existant, la prise en charge des listes de texte peut être ajoutée ou supprimée à tout moment.

Les commandes du menu contextuel de l'objet sont utilisées pour cela :

Ajout d'un support pour les listes de textes

Supprimer la prise en charge des listes de texte

Conseil : Les textes localisés peuvent être affichés, par exemple, dans une visualisation. Dans ce cas, la sortie textuelle d'un élément de visualisation affiche les valeurs d'énumération symboliques dans la langue actuelle au lieu des valeurs d'énumération numériques. Lorsqu'une énumération prenant en charge les listes de texte est spécifiée dans Variable de texte propriété d'un élément de visualisation, il obtient la propriété supplémentaire suivante :

< <enumeration name> >

Exemple :

Dans une visualisation, vous utilisez la variable PLC_PRG.eTrafficLight de type ETL_TRAFFICSIGNAL.

ETL_TRAFFICSIGNAL est une énumération prenant en charge les listes de texte. Ensuite, l'entrée de l'élément de visualisation dans l'éditeur de propriétés ressemble à ceci :

PLC_PRG.eTrafficLight <ETL_TRAFFICSIGNAL>

Pour plus d'informations, voir aussi : Utiliser des textes

Conseil : lorsque vous modifiez le type d'énumération dans l'application, une invite s'ouvre lorsque vous fermez l'application et vous demande si les visualisations concernées doivent être mises à jour automatiquement.

Alias

Crée un objet qui déclare un alias avec lequel un nom alternatif est déclaré pour un type de base, un type de données ou un bloc fonction

Exemple : A_MESSAGE

Union

Crée un objet qui déclare une union qui combine plusieurs membres avec des types de données pour la plupart différents dans une unité logique

Tous les membres ont le même décalage, de sorte qu'ils occupent la même mémoire. Les besoins en mémoire d'une union sont déterminés par les besoins en mémoire de son « plus grand » membre.

Exemple : U_DATA

Ajouter

Ferme la boîte de dialogue et crée le nouvel objet

L'objet est affiché avec cds_icon_add_dut.png symbole dans l'arborescence des appareils ou dans POU voir. Lorsqu'une liste de textes est également enregistrée pour l'objet, _cds_icon_textlist_dut.png le symbole s'affiche.