Pointeur : SUPER
le SUPER
pointeur est une variable spéciale utilisée pour la programmation orientée objet.
SUPER
est le pointeur d'un bloc fonction vers l'instance de bloc fonction de base à partir de laquelle le bloc fonction a été généré. le SUPER
pointeur permet également d'accéder à l'implémentation des méthodes du bloc fonction de base (classe de base). UNE SUPER
pointeur est automatiquement disponible pour chaque bloc fonction. Vous pouvez utiliser SUPER
uniquement dans les méthodes et dans les implémentations des blocs fonctionnels associés.
Déréférencement du pointeur : SUPER^
En utilisant le SUPER
pointeur : avec le SUPER
mot-clé, vous appelez une méthode qui est valide dans l'instance de la classe de base ou de la classe parent.
ST
SUPER^.METH_DoIt();
FBD/CFC/LD

Utilisation de SUPER
et THIS
pointeurs
FUNCTION_BLOCK FB_Base VAR_OUTPUT iCnt : INT; END_VAR METHOD METH_DoIt : BOOL iCnt := -1; METHOD METH_DoAlso : BOOL METH_DoAlso := TRUE; FUNCTION_BLOCK FB_1 EXTENDS FB_Base VAR_OUTPUT iBase : INT; END_VAR THIS^.METH_DoIt(); //Call of the methods of FB_1 THIS^.METH_DoAlso(); SUPER^.METH_DoIt(); //Call of the methods of FB_Base SUPER^.METH_DoAlso(); iBase := SUPER^.iCnt; METHOD METH_DoIt : BOOL iCnt := 1111; METH_DoIt := TRUE; PROGRAM PLC_PRG VAR myBase : FB_Base; myFB_1 : FB_1; iTHIS : INT; iBase : INT; END_VAR myBase(); iBase := myBase.iCnt; myFB_1(); iTHIS := myFB_1.iCnt;
Astuce
THIS
n'est pas encore implémenté pour la liste d'instructions (IL).