Skip to main content

Rubrique : CFCCréation

Cette section contient toutes les sous-sections qui sont interprétées par le générateur CFC.

SEC cfc.CFCCreation

    SEC CreateCFCProgram : <CFC program identifier>    //optional: yes, modifier [UPDATE]
            StandardCallTask := <Task type>;               //optional: yes, type: ID
            CustomCallTask := <Task type>;                 //optional: yes, type: ID
            ParentFolder := <create folder ID;             //optional: yes, type: ID
    END_SEC

    SEC CreateCFCModuleCall                            //optional: yes, modifier [UPDATE]
            PreferredCFCProgram := <CFC program>           //optional: yes; type: FB type
    END_SEC

    SEC CreateCFCIOCall : <CFC IO call ID>             // optional: yes; modifier [UPDATE]
            FB := <FB name>;                               // optional: no; type: FB type
            PreferredCFCProgram := <CFC program>           // optional: yes; type: FB type
            FBInstanceBaseName := AInput;                  // optional: yes; type: identifier
    END_SEC

    SEC CreateFolder : <folder ID>                     //optional: yes, modifier [UPDATE]
            ParentFolder := <folder name>;                 //optional: yes, type: ID
    END_SEC

END_SEC

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

Sous-section : Créer un programme CFC

Si une déclaration de module contient une section cfc.CFCCreation y compris la sous-section CreateCFCProgram, un programme CFC est créé pour le type de module affecté. Le programme CFC sera inséré sous l'application cible de l'instance de module parent de niveau supérieur/découplé immédiatement supérieur. La définition CustomCallTask ou StandardCallTask permet de définir la tâche qui appelle le programme CFC à créer.

. Spécification:
  • La cible de la section CreateCFCProgram identifie les programmes CFC de ce type de module. En principe, un type de module peut définir et créer plusieurs programmes CFC pour son instance de module.

  • Une définition pour StandardCallTask ou CustomCallTask doit exister, mais une seule définition est autorisée.

    • Pour StandardCallTask les trois identifiants LOW, MEDIUM, et HIGH sont disponibles pour définir la tâche de l'instance de module parent de niveau supérieur/découplé suivant.

    • Pour CustomCallTask tous les ID cibles sont disponibles et sont utilisés dans la tâche personnalisée respective de l'instance de module parent de niveau supérieur/découplé suivant.

  • Dans ParentFolder l'ID cible du CreateFolder section peut être saisi. Ensuite, le programme CFC créé est ajouté dans ce sous-dossier (CreateFolder).

Sous-section : CreateCFCModuleCall

Si une déclaration de module contient une section cfc.CFCCreation y compris la sous-section CreateCFCProgram, un appel de l'instance de module FB est créé pour le type de module affecté dans le programme CFC de l'instance de module parent immédiatement supérieure.

. Spécification:
  • PreferredCFCProgram définit le programme CFC à utiliser si plusieurs programmes sont disponibles.

Sous-section : CréerCFCIOCall

La section est utilisée pour marquer les E/S d'un type de module ou d'une déclaration de module. Pour ces E/S, des instances FB d'un type défini sont créées. Ensuite, les appels de ces instances de FB sont créés dans le programme CFC.

. Spécification:
  • La cible de la CreateCFCIOCall définit l'ID d'E/S du module pour lequel un FB d'E/S global sera créé. Le FB d'E/S créé est appelé dans un programme CFC.

  • FB définit le type de bloc fonction qui est globalement instancié et appelé pour le FB d'E/S mentionné ci-dessus.

  • PreferredCFCProgram définit le programme CFC à utiliser si plusieurs programmes sont disponibles.

  • FBInstanceBaseName définit un "nom de base" qui est utilisé pour nommer les FB d'E/S créés. Si la définition n'existe pas, le nom de l'instance du module est utilisé pour l'instance de base.

Sous-section : Créer un dossier

Cette section contient des paramètres pour créer des sous-dossiers sous le AC_CFC_Programs dossier. Correspondant à cela un ParentFolder peut être défini dans le CreateCFCProgram section. Les programmes CFC sont alors générés dans le répertoire créé par le CreateFolder section. Les dossiers eux-mêmes peuvent définir un ParentFolder pour spécifier d'autres sous-dossiers et sous-sous-dossiers.

. Spécification:
  • Dans ParentFolder l'ID cible du CreateFolder section peut être saisi. Ensuite, le répertoire créé sera créé dans ce sous-dossier (CreateFolder).

Exemple 39. Exemple
 SEC cfc.CFCCreation
                SEC CreateCFCProgram : Standard
                        StandardCallTask := MEDIUM;
                        ParentFolder := SubFolderUnderFolder;
                END_SEC
        SEC CreateFolder : SubFolderUnderFolder
                ParentFolder := SubFolder;
        END_SEC
END_SEC