Skip to main content

Section : Découplé

Cette section définit les "modules découplés". Ce sont des modules avec les propriétés des modules de niveau supérieur, mais ils peuvent également être insérés en tant que sous-modules dans des emplacements spécifiques (Type:= DECOUPLED) des autres modules. Les modules ne peuvent pas être "de niveau supérieur" et "découplés" en même temps.

Les "modules découplés" sont générés à l'aide de la section Decoupled dans la déclaration du module. La section Decoupled est presque identique à la section Toplevel; cependant, une seule de ces sections est autorisée dans une déclaration de module.

SEC Decoupled                                       //optional: yes, modifier: [UPDATE]
    GVL_Name := <GVL name>;                         //optional: yes, type: literal
    Default_Application := <default application>;   //optional: yes, type: QID
    Default_POUPool := <TRUE/FALSE>;                //optional: yes, type: BoolFlag
    Pragmas := [<pragma1>, <pragma2>,...];          //optional: yes, type: Pragmalist
    Toplevel_Insertable := <TRUE/FALSE>;            //optional: yes, type: BoolFlag
    SEC Standard_Task : <task name>                 //optional: yes, modifier: [HIDE,UPDATE]
            Name := <task name>;                        //optional: no, type: ID
            Desc := <task description>;                 //optional: no, type: Text)
            Flags:= <flag>;                             //optional: no, type: StdTaskFlags)
    END_SEC
    SEC Custom_Task : <task name>                   //optional: yes, modifier: [UPDATE]
            Priority := <priority>;                     //optional: no, type: Subrange(0 .. 31)
            Interval :=  <interval>;                    //optional: no, type: TimeLiteral)
            Flags:= <flag>;                             //optional: no, type: CustomTaskFlags)
    END_SEC
END_SEC

Les détails concernant la syntaxe des types de définition sont décrits dans le chapitre sur la déclaration de module.

Spécification : la spécification de la section Decoupled correspond à la description de la rubrique Toplevel. De plus, les paramètres suivants peuvent être définis :

  • Toplevel_Insertable définit si un "sous-module découplé" peut également être inséré au niveau supérieur comme un module de niveau supérieur.

Remarque : Un "module découplé" doit définir et implémenter un proxy respectif. Le proxy doit implémenter la même interface que le "module découplé". Si l'instance de module parent se trouve sous un autre contrôleur en tant qu'instance de module "découplée", l'instance de module "découplée" peut toujours être insérée dans cet emplacement via son proxy.