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.