Skip to main content

Section : Modèle source

Les sous-sections de la section SourceTemplate définit les blocs fonction à copier dans le projet.

Dans l'éditeur de module, les blocs fonctionnels définis ici sont répertoriés. Là, vous pouvez activer ou désactiver la copie.

. Voir également
SEC std.SourceTemplate
 SEC SourceFB : <Identifier>               // optional: no
  SourceType := <FunctionBlock>;           // optional: no, type: InstancePath
  Variable := <variable name>;             // optional: no, type: InstancePath
            Default := TRUE/FALSE;                   // optional: yes, type: Bool Flag
            IsMandatory := TRUE/FALSE;               // optional: yes, type: Bool Flag
            FBVariable := <variable name>;           // optional: yes, type: InstancePath
            DestinationType := <default name>;       // optional: yes, Type: String/Literal
 END_SEC
END_SEC

Les détails concernant la syntaxe des types de définition sont décrits dans la section Déclaration du module.

. Spécification:
  • Le Identifier est utilisé dans l'éditeur de module. Il définit le nom du bloc fonction copié si DestinationType n'est pas défini.

  • SourceType définit le bloc fonction à copier.

  • Variable définit une variable d'entrée du bloc fonction du module. Il doit s'agir d'un pointeur vers une classe de base de la fonction copiée ou une interface implémentée par le bloc fonction à copier.

  • Default définit si le bloc fonction est copié par défaut pour ce module. Si la définition manque, TRUE est réglé. Cette option peut être ajustée dans l'éditeur de module.

  • Si IsMandatory est réglé sur TRUE, l'utilisateur ne peut pas modifier le IsToCopy option dans l'éditeur de module.

  • FBVariable définit une variable d'entrée du bloc fonction à copier. La variable d'entrée est ensuite instanciée avec l'instance de module. Le type de l'entrée est un pointeur vers un type de base du module FB ou un pointeur vers l'interface du module FB.

  • DestinationType définit un nom standard pour le bloc fonction copié. Si la définition est manquante, la convention de dénomination suivante est utilisée : <Nom de the instance de module>_<Identifiant>[_<numéro consécutif>].

Les SourceTemplates spécifiés sont copiés dans le AC_SourceTemplate dossier. Ils sont instanciés et initialisés par le module FB affecté. Les SourceTemplates, une fois créés, peuvent être modifiés et ne seront pas écrasés par de nouvelles exécutions du générateur. Les SourceTemplates, qui ne sont plus nécessaires, sont renommés (avec le <_unused> suffixe) et déplacé vers le <UnusedSourceTemplates> dossier.

Exemple 22. Exemple
SEC std.SourceTemplate
        SEC SourceFB : ID_ConnectSwitches
                SourceType := ConnectSwitches;
                Variable := itfConnect;
                FBVariable := pBuilding;
                Default := TRUE;
                IsMandatory := FALSE;
                DestinationType := 'TypeInModuleDescription';
        END_SEC
END_SEC