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.
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
ouCustomCallTask
doit exister, mais une seule définition est autorisée.Pour
StandardCallTask
les trois identifiantsLOW
,MEDIUM
, etHIGH
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 duCreateFolder
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.
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.
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.
Dans
ParentFolder
l'ID cible duCreateFolder
section 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