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_SECLes 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.
La cible de la section
CreateCFCProgramidentifie 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
StandardCallTaskouCustomCallTaskdoit exister, mais une seule définition est autorisée.Pour
StandardCallTaskles trois identifiantsLOW,MEDIUM, etHIGHsont disponibles pour définir la tâche de l'instance de module parent de niveau supérieur/découplé suivant.Pour
CustomCallTasktous 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
ParentFolderl'ID cible duCreateFoldersection 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.
PreferredCFCProgramdé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.
La cible de la
CreateCFCIOCalldé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.FBdéfinit le type de bloc fonction qui est globalement instancié et appelé pour le FB d'E/S mentionné ci-dessus.PreferredCFCProgramdéfinit le programme CFC à utiliser si plusieurs programmes sont disponibles.FBInstanceBaseNamedé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.
Dans
ParentFolderl'ID cible duCreateFoldersection peut être saisi. Ensuite, le répertoire créé sera créé dans ce sous-dossier (CreateFolder).
SEC cfc.CFCCreation
SEC CreateCFCProgram : Standard
StandardCallTask := MEDIUM;
ParentFolder := SubFolderUnderFolder;
END_SEC
SEC CreateFolder : SubFolderUnderFolder
ParentFolder := SubFolder;
END_SEC
END_SEC