Section : MacroModule
Cette section décrit les paramètres du MacroModule. La section est créée automatiquement lorsque vous générez un module de macro. Comme alternative, vous pouvez insérer manuellement la section dans une déclaration de module ou modifier une section générée automatiquement.
SEC MacroModule //optional: yes, modifier: None SEC Rootmodule : <identifier> //optional: no, modifier: None SEC MacroParameter : <identifier> //optional: yes, modifier: None Local_ParameterID := <parameter ID>; //optional: no, type: ID New_Name := <parameter name>; //optional: no, type: text New_Desc := <parameter description>; //optional: no, type: text END_SEC SEC MacroIO : <identifier> //optional: yes, modifier: None Local_IOID := <IO ID>; //optional: no, type: ID New_Name := <IO name>; //optional: yes, type: text New_Desc := <IO description>; //optional: yes, type: text END_SEC SEC MacroSlot : <identifier> //optional: yes, modifier: None Local_SlotID := <slot ID>; //optional: no, type: ID New_Role := <role name>; //optional: yes, type: text END_SEC SEC Default_Allocation //optional: no, modifier: None Module_Name := <module name>; //optional: no, type: QID SEC VisuEmbeddings //optional: yes, modifier: None Empty := TRUE/FALSE; //optional: yes, type: BoolFlag SEC Embedding : <identifier> //optional: yes, modifier: None VisuName := <visu ID>; //optional: no, type: ID ProxyVisuName := <proxy visu ID>; //optional: no, type: ID Target := <target ID>; //optional: yes, type: ID LinkId := <linke ID>; //optional: yes, type: ID END_SEC END_SEC SEC PageVisu //optional: yes, modifier: None VisuName := <visu ID>; //optional: yes, type: ID TopLevelTab := <top level tab>; //optional: yes, type: ID/Bool END_SEC SEC IOMappings : <identifier> //optional: no, modifier: None SEC Mapping : <identifier> //optional: yes, modifier: None NoMapping := TRUE/FALSE; //optional: yes, type: BoolFlag STExpression := <ST expression>; //optional: yes, type: ID/ST expression ModuleConnection := <module connection>; //optional: yes, type: ID/ST expression END_SEC END_SEC SEC Parameters : <identifier> //optional: yes, modifier: None SEC Param : <identifier> //optional: yes, modifier: None Value := <value ID>; //optional: no, type: ID END_SEC END_SEC END_SEC END_SEC SEC Submodule : <identifier> //optional: yes, modifier: None Parent_Instance := <instance ID>; //optional: no, type: ID Parent_Slot := <slot ID>; //optional: no, type: ID SEC MacroParameter : <identifier> //optional: yes, modifier: None Local_ParameterID := <parameter ID>; //optional: no, type: ID New_Name := <parameter name>; //optional: yes, type: text New_Desc := <parameter description>; //optional: yes, type: text END_SEC SEC MacroIO : <identifier> //optional: yes, modifier: None Local_IOID := <IO Id>; //optional: no, type: ID New_Name := <IO name>; //optional: yes, type: text New_Desc := <IO description>; //optional: yes, type: text END_SEC SEC MacroSlot : <identifier> //optional: yes, modifier: None Local_SlotID := <slot ID>; //optional: no, type: ID New_Role := <role name>; //optional: yes, type: text END_SEC SEC Default_Allocation //optional: no, modifier: None Module_Name := <module name>; //optional: no, type: QID Instance_Name := <instance name>; //optional: no, type: ID SEC VisuEmbeddings //optional: no, modifier: None Empty := TRUE/FALSE; //optional: yes, type: BoolFlag SEC Embedding : <identifier> //optional: yes, modifier: None VisuName := <visu ID> //optional: no, type: ID ProxyVisuName := <proxy visu ID> //optional: no, type: ID Target := <target ID>; //optional: yes, type: ID LinkId := <link ID>; //optional: yes, type: ID END_SEC END_SEC SEC PageVisu //optional: yes, modifier: None VisuName := <visu ID>; //optional: yes, type: ID TopLevelTap := <top level tab>; //optional: yes, type: ID/Bool END_SEC SEC IOMappings : <identifier> //optional: yes, modifier: None SEC Mapping : <identifier> //optional: yes, modifier: None NoMapping := TRUE/FALSE //optional: yes, type: BoolFlag STExpression := <ST expression> //optional: yes, type: ID/ST expression ModuleConnection := <module connection> //optional: yes, type: ID/ST expression END_SEC END_SEC SEC Parameters //optional: yes, modifier: None SEC Param : <identifier> //optional: yes, modifier: None Value := <value>; //optional: no, type: ID END_SEC END_SEC END_SEC END_SEC SEC Reference : <identifier> //optional: yes, modifier: None Parent_Instance := <instance ID>; //optional: no, type: ID Parent_Slot := <slot ID>; //optional: no, type: ID Referenced_Instance := <instance ID>; //optional: no, 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.
MacroModule
: Si cette section est définie, aucune autre section n'est autorisée à apparaître dans l'ensemble de la déclaration du module, à l'exception de la sectionMetaData
. Chaque déclaration de module avec cette section est clairement identifiée comme type MacroModule. Une autre rubriqueMacroModule
n'est pas autorisé dans une déclaration de module.Rootmodule
: Indique que les sous-sections suivantes décrivent le sous-module racine, qui doit être 1) la racine de ce type MacroModule et 2) inséré en tant que parent supérieur de tous les autres sous-modules du type MacroModule.Submodule
: Indique que les sous-sections suivantes décrivent un sous-module, qui doit être inséré sous le sous-module racine dans une sous-arborescence pour le type MacroModule.MacroParameter
: Si ce type de sous-section est utilisé dans une sectionSubmodule
ouRoot
, on peut alors indiquer qu'un paramètre spécifique du sous-module défini (ou racine) doit lui-même apparaître en tant que paramètre du module macro. Pour cela, la cible de la sectionMacroParameter
est utilisé comme nouvel ID de paramètre pour le paramètre de module de macro. Le paramètre du sous-module donné (ou racine) est alors défini parLocal_ParameterID
. De plus, des entrées de liste de textes peuvent être créées à l'aide des définitions deNew_Name
etNew_Desc
. Ces entrées sont utilisées pour le nom et la description du nouveau paramètre de module de macro au lieu de celui du sous-module ou du paramètre racine. Toutes les cibles définies de toutes les sectionsMacroParameter
dans un module de macro entier doit être clair pour garantir des ID de paramètres uniques pour tous les paramètres de module de macro.MacroIO
: Si ce type de sous-section est utilisé dans la sectionSubmodule
ouRoot
, on peut alors indiquer qu'une E/S spécifique du sous-module défini (ou racine) doit elle-même apparaître comme une E/S du module macro. Pour cela, la cible de la sectionMacroIO
est utilisé comme nouvel ID d'E/S pour les E/S du module macro. L'E / S du sous-module (ou racine) donné est alors défini parLocal_IOID
. De plus, des entrées de liste de textes peuvent être créées à l'aide des définitions deNew_Name
etNew_Desc
. Ces entrées sont utilisées pour le nom et la description de la nouvelle E/S du module macro au lieu du sous-module ou de l'E/S racine. Toutes les cibles définies de toutes les sectionsMacroIO
dans un module macro entier doit être clair pour garantir des ID d'E/S uniques pour toutes les E/S du module macro.MacroSlot
: Si cette sous-section est utilisée dans la sectionSubmodule
ouRoot
, on peut alors indiquer qu'un emplacement spécifique du sous-module défini (ou racine) doit lui-même apparaître comme un emplacement du macro-module. De cette manière, des instances de module supplémentaires peuvent être insérées sous cet emplacement de l'instance de MacroModule. Pour cela, la cible de la sectionMacroSlot
est utilisé comme nouvel ID d'emplacement pour l'emplacement du module macro. L'emplacement du sous-module donné (ou racine) est alors défini parLocal_SlotID
. De plus, une entrée de liste de textes peut être créée à l'aide des définitionsNew_Role
. Cette entrée est utilisée pour le rôle du nouvel emplacement de module macro au lieu de celui du sous-module ou de l'emplacement racine. Toutes les cibles définies de toutes les sectionsMacroSlot
à l'intérieur d'un MacroModule entier doit être clair pour garantir des ID d'emplacement uniques pour tous les emplacements de MacroModule.Parent_Instance
: Définit un ID correspondant à un ID cible d'une sectionRootmodule
ouSubmodule
de la section englobanteMacroModule
. Cette définition n'existe que dans la sectionSubmodule
. Il définit l'instance du module parent sous laquelle le sous-module doit être inséré. Ce sous-module est décrit par la section correspondanteSubmodule
du MacroModule. De plus, la définitionParent_Slot
est également requis.Parent_Slot
: Définit un ID correspondant à l'ID d'emplacement situé sous le type de sous-module identifié parParent_Module
. Le sous-module de type MacroModule décrit par la sectionSubmodule
est inséré sous cette fente.Default_Allocation
: Ceci est identique à la section du même nom sous les déclarations d'emplacement (Slot
etSlot_Multi
). Cette section définit à la fois pour le "module racine" et le "sous-module" quel type de sous-module de type MacroModule doit être inséré pour quelle configuration d'instance. La seule différence est que nonInstance_Name
peut être défini pourDefault_Allocation
sous une rubriqueRootmodule
, mais plutôt sous les rubriquesSubmodule
. La raison en est que les instances de module insérées en tant que "module racine" reçoivent leur nom de l'instance MacroModule et ne peuvent donc pas être saisies par "défaut".Reference
: Indique que les sous-sections suivantes décrivent une référence de module. Une référence est générée sous l'instance du moduleParent_Instance
et la fenteParent_Slot
, faisant référence au sous-moduleReferenced_Instance
. Comme leParent_Instance
, cette instance référencée doit provenir de l'ensemble du sous-module d'instances de module racine sous la même sectionMacroModule
.
Il ne doit pas utiliser
IMPLEMENTED_BY
ouIMPORTS
dans sa déclaration de module.Il doit inclure la section
MetaData
etMacroModule
. Sinon, les sections supplémentaires ne doivent pas être utilisées.Il doit y avoir au moins un
Rootmodule
rubrique sous leMacro_Module
section. De plus, il ne doit pas y avoir une secondeRootmodule
section.Pour chaque
submodule
, à la fois leParent_Instance
et leParent_Slot
doit être défini dansMacroModule
. Celle-ci doit alors être définie commeLocal_SlotID
dansMacroSlot
duParent_Instance
.