Skip to main content

Objet : Propriété

Symbole: _cds_icon_interface_property.png

Mot-clé: PROPERTY

Les propriétés sont une extension de la norme CEI 61131-3 et un outil de programmation orientée objet.

Les propriétés sont utilisées pour l'encapsulation des données car elles permettent un accès externe aux données et agissent en même temps comme des filtres. A cet effet, une propriété fournit les méthodes d'accès Get et Set qui permet un accès en lecture et en écriture aux données de l'instance sous la propriété.

Vous pouvez ajouter une propriété avec des méthodes d'accès sous un programme, un bloc fonction ou une liste de variables globales. Cliquez sur Projet → Ajouter un objet → Propriété pour ouvrir le Ajouter une propriété dialogue.

Astuce

Vous pouvez ajouter un propriété d'interface sous une interface.

Lorsque vous copiez une propriété insérée sous une POU et que vous l'ajoutez sous une interface, ou si vous y déplacez la propriété, les implémentations incluses sont automatiquement supprimées.

Boîte de dialogue : Ajouter une propriété

Une fonction: Crée une nouvelle propriété sous le POU sélectionné lorsque la boîte de dialogue est fermée.

Appel: Projet → Ajouter un objet → Propriété; menu contextuel

Exigence: Un programme (PRG), un bloc fonction (FUNCTION_BLOCK), ou une liste de variables globales (GVL) est sélectionné dans le POU vue ou la Dispositifs voir.

Nom

Nom (identifiant) de la propriété

Exemple: prop_iA

Type de retour

Type par défaut ou type structuré de valeur de retour

Exemple: INT

Langage d'implémentation

Exemple: Texte structuré (ST)

Spécificateur d'accès

Contrôle l'accès aux données

PUBLIQUE ou non spécifié

L'accès n'est pas restreint.

PRIVÉ

L'accès est limité au programme, au bloc fonctionnel ou au GVL.

L'objet est marqué comme (private) dans la vue POU ou appareil. La déclaration contient le mot clé PRIVATE.

PROTÉGÉ

L'accès est limité au programme, au bloc fonctionnel ou au GVL avec ses dérivés.

L'objet est marqué comme (protected) dans la vue POU ou appareil. La déclaration contient le mot clé PROTECTED.

INTERNE

L'accès est limité à l'espace de noms (bibliothèque).

L'objet est marqué comme (internal) dans la vue POU ou appareil. La déclaration contient le mot clé INTERNAL.

Abstrait

standard icon: Identifie que la propriété n'a pas d'implémentation et que l'implémentation est fournie par le FB dérivé

Ajouter

Ajoute une nouvelle propriété en dessous de l'objet sélectionné et en dessous des méthodes d'accès Get et Set

Remarque : Lorsque vous sélectionnez une propriété, vous pouvez également ajouter explicitement un accesseur précédemment supprimé en cliquant sur Ajouter un objet.

Éditeur : Propriété

Vous pouvez programmer l'accès aux données dans l'éditeur. Le code peut contenir des variables locales supplémentaires. Cependant, il ne doit pas contenir de variables d'entrée supplémentaires ou (contrairement à une fonction ou à une méthode) de variables de sortie.

Exemple 522. Exemple
_cds_img_property.png

Bloc fonctionnel FB_A

FUNCTION_BLOCK FB_A
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
    iA : INT;
END_VAR

iA := iA + 1;

Biens prop_iA

PROPERTY PUBLIC prop_iA : INT

Méthode d'accès FB_A.prop_iA.Get

prop_iA := iA;

Méthode d'accès FB_A.prop_iA.Set

iA := prop_iA;
PROGRAM PLC_PRG
VAR
        fbA : FB_A;
        iVar: INT;
END_VAR

fbA();
IF fbA.prop_iA > 500 THEN
        fbA.prop_iA := 0;
END_IF
iVar := fbA.prop_iA;


Accesseurs Get et Set

L'appel du Set accesseur est écrit dans la propriété. Il est alors utilisé de la même manière qu'un paramètre d'entrée. Lorsque l'accesseur Get est appelé, la propriété est lue. Il s'utilise de la même manière qu'un paramètre de sortie. L'accès est limité dans chaque cas au moyen de modificateurs d'accès (qualificatifs). En conséquence, les objets sont identifiés en conséquence.

Lorsqu'une propriété est accessible en lecture seule ou en écriture seule, vous pouvez supprimer les accesseurs inutiles.

Vous pouvez ajouter des accesseurs explicitement en sélectionnant une propriété et en cliquant sur Ajouter un objet. Une boîte de dialogue s'ouvre, soit Ajouter un accesseur Get ou Accesseur Ajouter un ensemble. Là, vous pouvez définir la langue d'implémentation et l'accès.

Tableau 60. Boîte de dialogue : Ajouter un accesseur Get (Set)

Langage d'implémentation

Exemple: Texte structuré (ST)

Spécificateur d'accès

Qualificatif pour la partie déclaration

PUBLIC ou non spécifié

L'accès n'est pas restreint.

PRIVATE

L'accès est limité au programme, au bloc fonctionnel ou au GVL.

L'objet est marqué comme (private) dans la vue POU ou appareil. La déclaration contient le mot clé.

PROTECTED

L'accès à la propriété est limité au programme, au bloc fonctionnel ou au GVL et à ses dérivés. La déclaration contient le mot clé.

L'objet est marqué comme (protected) dans la vue POU ou appareil.

INTERNAL

L'accès à la méthode est limité à l'espace de noms (la bibliothèque).

L'objet est marqué comme (internal) dans la vue POU ou appareil. La déclaration contient le mot clé.

Ajouter

Ajoute les méthodes d'accès Get ou Set sous la propriété sélectionnée.



Surveillance des propriétés en mode en ligne

Ce qui suit pragmatiques sont prévus pour le suivi des propriétés en mode en ligne. Vous les insérez en haut de la définition de la propriété :

  • {attribute 'monitoring' := 'variable'}

    A chaque accès à la propriété, CODESYS enregistre la valeur réelle dans une variable et affiche la valeur de cette variable. Cette valeur peut devenir obsolète si plus aucun accès à la propriété n'a lieu dans le code.

  • {attribute 'monitoring' := 'call'}

    Chaque fois la valeur s'affiche, CODESYS appelle le code du Get accesseur. Si ce code contient un effet secondaire, alors la surveillance exécute l'effet secondaire.

. Vous pouvez surveiller une propriété à l'aide des fonctions suivantes.
  • Surveillance en ligne

    Exigence : Le Activer la surveillance en ligne l'option est sélectionnée dans le Éditeur de texte catégorie de la Choix dialogue.

  • Liste de surveillance

Prise en charge des entrées lors de la génération de POU héritées

Lorsque vous faites de la programmation orientée objet et que vous utilisez l'héritage (EXTENDS mot-clé) des POU, vous pouvez obtenir de l'aide comme suit :

Lorsque vous insérez une action, une propriété, une méthode ou une transition sous un POU dérivé d'un POU de base, le Ajouter … la boîte de dialogue s'ouvre. Ensuite, le champ de saisie du nom s'étend jusqu'à une zone de liste. La zone de liste contient une sélection valide parmi les actions, propriétés, méthodes ou transitions disponibles dans la POU de base. Vous pouvez désormais, par exemple, accepter facilement une méthode de la POU de base, puis l'adapter à la fonction dérivée de la POU.

Méthodes et propriétés avec le modificateur d'accès PRIVATE ne sont pas répertoriés ici car ils ne sont pas non plus hérités. Méthodes et propriétés avec le modificateur d'accès PUBLIC obtient automatiquement un champ de modificateur d'accès vide lors de l'acceptation dans le POU dérivé, ce qui signifie la même chose sur le plan fonctionnel.

Pour plus d'informations, voir : Biens, Méthode, Transition, Action,

Exemple 523. Exemple
_cds_img_input_wizzard_for_blocks.png