Section: MacroModule
This section describes the parameters for the MacroModule. The section is created automatically when you generate a macro module. As an alternative, you can insert the section into a module declaration manually or edit an automatically generated section.
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_SECDetails regarding the syntax of definition types are described in the section Module Declaration.
MacroModule: If this section is defined, then no other section is allowed to appear within the entire module declaration except the sectionMetaData. Each module declaration with this section is identified clearly as type MacroModule. Another sectionMacroModuleis not allowed within a module declaration.Rootmodule: Indicates that the following subsections describe the root submodule, which should be 1) the root of this type MacroModule and 2) inserted as the top parent of all other submodule of the type MacroModule.Submodule: Indicates that the following subsections describe a submodule, which should be inserted under the root submodule in a subtree for the type MacroModule.MacroParameter: If this kind of subsection is used in a sectionSubmoduleorRoot, then it can be indicated that a specific parameter of the defined submodule (or root) should itself occur as a parameter of the macro module. For this, the target of the sectionMacroParameteris used as a new parameter ID for the macro module parameter. The parameter of the given submodule (or root) is then defined byLocal_ParameterID. In addition, textlist entries can be created using the definitions ofNew_NameandNew_Desc. These entries are used for the name and description of the new macro module parameter instead of that of the submodule or root parameter. All defined targets of all sectionsMacroParameterwithin an entire macro module must be clear to ensure unique parameters IDs for all macro module parameters.MacroIO: If this kind of subsection is used in the sectionSubmoduleorRoot, then it can be indicated that a specific I/O of the defined submodule (or root) should itself occur as an I/O of the macro module. For this, the target of the sectionMacroIOis used as a new I/O ID for the macro module I/O. The I/O of the given submodule (or root) is then defined byLocal_IOID. In addition, textlist entries can be created using the definitions ofNew_NameandNew_Desc. These entries are used for the name and description of the new macro module I/O instead of the submodule or root I/O. All defined targets of all sectionsMacroIOwithin an entire macro module must be clear to ensure unique I/O IDs for all macro module I/Os.MacroSlot: If this subsection is used in the sectionSubmoduleorRoot, then it can be indicated that a specific slot of the defined submodule (or root) should itself occur as a slot of the macro module. In this way, additional module instances can be inserted below this slot of the MacroModule instance. For this, the target of the sectionMacroSlotis used as a new slot ID for the macro module slot. The slot of the given submodule (or root) is then defined byLocal_SlotID. In addition, a text list entry can be created using the definitionsNew_Role. This entry is used for the role of the new macro module slot instead of that of the submodule or root slot. All defined targets of all sectionsMacroSlotwithin an entire MacroModule must be clear to ensure unique slot IDs for all MacroModule slots.Parent_Instance: Defines an ID corresponding to a target ID of a sectionRootmoduleorSubmoduleof the encompassing sectionMacroModule. This definition exists only within the sectionSubmodule. It defines the parent module instance below which the submodule should be inserted. This submodule is described by the respective sectionSubmoduleof the MacroModule. Moreover, the definitionParent_Slotis also required.Parent_Slot: Defines an ID corresponding to the slot ID located under the submodule type identified byParent_Module. The submodule of the MacroModule type described by the sectionSubmoduleis inserted below this slot.Default_Allocation: This is identical to the section of the same name under the slot declarations (SlotandSlot_Multi). This section defines for both the "root module" and the "submodule" which kind of submodule of the MacroModule type should be inserted for which instance configuration. The only difference is that noInstance_Namecan be defined forDefault_Allocationunder a sectionRootmodule, but rather under sectionsSubmodule. The reason for this is that the module instances inserted as "root module" receive their name from the MacroModule instance and therefore cannot be entered by "default".Reference: Shows that the following subsections describe a module reference. A reference is generated below the module instanceParent_Instanceand the slotParent_Slot, referencing the submoduleReferenced_Instance. As theParent_Instance, this referenced instance must originate from the set of the submodule of root module instances below the same sectionMacroModule.
It shall not use
IMPLEMENTED_BYorIMPORTSin its module declaration.It must include the section
MetaDataandMacroModule. Otherwise, additional sections must not be used.There has to be at least one
Rootmodulesection below theMacro_Modulesection. Moreover, there must not be a secondRootmodulesection.For each
submodule, both theParent_Instanceand theParent_Slotmust be defined withinMacroModule. This must then be defined asLocal_SlotIDwithinMacroSlotof theParent_Instance.