Skip to main content

Objet : Propriété de l'interface

Symbole: _cds_icon_interface_property.png

Les propriétés d'interface sont une extension de la norme CEI 61131-3 et un outil de programmation orientée objet. Une propriété d'interface déclare les méthodes d'accès Get et Set (pas de code d'implémentation). Par conséquent, un bloc fonction qui implémente un interface hérite également de leurs propriétés d'interface.

Vous pouvez ajouter une propriété d'interface à l'arborescence des périphériques pour une interface. Ensuite, une interface est étendue avec les méthodes d'accès Get et Set. le Get accesseur est pour l'accès en lecture. le Set accesseur est pour l'accès en écriture. Vous pouvez supprimer un accesseur inutile. Cliquez sur Projet → Ajouter un objet → Propriété d'interface . pour ajouter un accesseur. le Ajouter une propriété d'interface la boîte de dialogue s'ouvre.

Exemple

Exemple 521. Déclaration et implémentation de la propriété d'interface Literal_A
_cds_img_interface_property_pous.png
_cds_img_interface_property_devices.png

L'interface itf_A a la propriété Literal_A avec les méthodes d'accès Get et Set.

Les blocs fonctionnels fb_A1 et fb_A2 implémenter l'interface itf_A et hérite donc de sa propriété d'interface. Chaque FB a sa propre implémentation.

Interface itf_A

INTERFACE itf_A
VAR
END_VAR
PROPERTY Literal_A : STRING

Facebook fb_A1

FUNCTION_BLOCK fb_A1 IMPLEMENTS itf_A
VAR
        str_1 : STRING;
        str_2 : STRING;
        iCnt : INT;
END_VAR
iCnt := iCnt + 1;

str_1 := 'Function block A1';

Accesseur fb_A1.Literal_A.Get

VAR
END_VAR
Literal_A := CONCAT (str_1,' and property.');

Accesseur fb_A1.Literal_A.Set

VAR
END_VAR
str_2 := Literal_A;

Facebook fb_A2

FUNCTION_BLOCK fb_A2 IMPLEMENTS itf_A
VAR
        str_1 : STRING;
        str_2 : STRING;
        iCnt : INT;
END_VAR

iCnt := iCnt + 1;
str_1 := 'Function block A2';

Accesseur fb_A2.Literal_A.Get

VAR
END_VAR
Literal_A := str_1;

Accesseur fb_A2.Literal_A.Set

VAR
END_VAR
str_2 := Literal_A;

Programme PLC_PRG

PROGRAM PLC_PRG
VAR
        iCnt : INT;
        my_1 : fb_A1;
        my_2 : fb_A2;
        strName_1 : STRING;
        strName_2: STRING;
END_VAR

iCnt := iCnt + 1;
my_1();
my_2();
strName_1:= my_1.Literal_A;
strName_2:= my_2.Literal_A;
my_1.Literal_A := 'Hello 1';
my_2.Literal_A := 'World 2';

Cela conduit au suivi suivant de PLC_PRG lors de l'exécution de l'application :

_cds_img_interface_property_monitoring.png