Sección MacroModule
La sección describe los parámetros para el MacroModule. La sección se crea automáticamente cuando genera un módulo macro. Como alternativa, puede insertar la sección en una declaración de módulo manualmente o editar una sección generada automáticamente.
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_SECLos detalles sobre la sintaxis de los tipos de definición se describen en la sección Declaración del módulo.
MacroModule: si se define esta sección, no se permite que aparezca ninguna otra sección dentro de la declaración del módulo completo excepto la secciónMetaData. Cada declaración de módulo con esta sección se identifica claramente como tipo MacroModule. otra seccionMacroModuleno está permitido dentro de una declaración de módulo.Rootmodule: Indica que las siguientes subsecciones describen el submódulo raíz, que debe ser 1) la raíz de este tipo de MacroMódulo y 2) insertado como el padre superior de todos los demás submódulos del tipo MacroMódulo.Submodule: Indica que las siguientes subsecciones describen un submódulo, que debe insertarse debajo del submódulo raíz en un subárbol para el tipo MacroModule.MacroParameter: Si este tipo de subsección se usa en una secciónSubmoduleoRoot, entonces se puede indicar que un parámetro específico del submódulo definido (o raíz) debe ocurrir en sí mismo como un parámetro del módulo macro. Para ello, el objetivo de la secciónMacroParameterse utiliza como un nuevo ID de parámetro para el parámetro del módulo macro. El parámetro del submódulo dado (o raíz) se define entonces porLocal_ParameterID. Además, las entradas de la lista de texto se pueden crear utilizando las definiciones deNew_NameyNew_Desc. Estas entradas se utilizan para el nombre y la descripción del nuevo parámetro del módulo macro en lugar del submódulo o parámetro raíz. Todos los objetivos definidos de todas las secciones.MacroParameterdentro de un módulo de macro completo debe estar claro para garantizar ID de parámetros únicos para todos los parámetros del módulo de macro.MacroIO: Si este tipo de subsección se utiliza en la secciónSubmoduleoRoot, entonces se puede indicar que una E/S específica del submódulo definido (o raíz) debe ocurrir en sí misma como una E/S del módulo macro. Para ello, el objetivo de la secciónMacroIOse utiliza como una nueva ID de E/S para la E/S del módulo macro. La E/S del submódulo dado (o raíz) se define entonces porLocal_IOID. Además, las entradas de la lista de texto se pueden crear usando las definiciones deNew_NameyNew_Desc. Estas entradas se utilizan para el nombre y la descripción de la nueva E/S del módulo macro en lugar del submódulo o la E/S raíz. Todos los objetivos definidos de todas las secciones.MacroIOdentro de un módulo de macro completo debe estar claro para garantizar ID de E/S únicos para todas las E/S del módulo de macro.MacroSlot: Si esta subsección se utiliza en la secciónSubmoduleoRoot, entonces se puede indicar que una ranura específica del submódulo definido (o raíz) debería aparecer como una ranura del módulo macro. De esta forma, se pueden insertar instancias de módulos adicionales debajo de esta ranura de la instancia de MacroModule. El objetivo de la secciónMacroSlotluego se usa como un nuevo ID de ranura para la ranura de MacroModule. La ranura del submódulo dado (o raíz) se define entonces porLocal_SlotID. Además, se puede crear una entrada de lista de texto usando las definicionesNew_Role. Esta entrada se utiliza para la función de la nueva ranura del módulo macro en lugar de la del submódulo o la ranura raíz. Todos los objetivos definidos de todas las secciones.MacroSlotdentro de un MacroModule completo debe estar claro para garantizar ID de ranura únicas para todas las ranuras de MacroModule.Parent_Instance: Define un ID correspondiente a un ID objetivo de una secciónRootmoduleoSubmodulede la sección envolventeMacroModule. Esta definición existe sólo dentro de la secciónSubmodule. Define la instancia del módulo principal debajo de la cual se debe insertar el submódulo. Este submódulo se describe en la sección respectivaSubmoduledel MacroMódulo. Además, la definiciónParent_Slottambién se requiere.Parent_Slot: Define una ID correspondiente a la ID de la ranura ubicada debajo del tipo de submódulo identificado porParent_Module. El submódulo del tipo MacroModule descrito en la secciónSubmodulese inserta debajo de esta ranura.Default_Allocation: Esto es idéntico a la sección del mismo nombre bajo las declaraciones de ranuras (SlotySlot_Multi). Esta sección define tanto para el "módulo raíz" como para el "submódulo" qué tipo de submódulo del tipo MacroModule debe insertarse para qué configuración de instancia. La única diferencia es que noInstance_Namese puede definir paraDefault_Allocationbajo una secciónRootmodule, sino en seccionesSubmodule. La razón de esto es que las instancias de módulo insertadas como "módulo raíz" reciben su nombre de la instancia de MacroModule y, por lo tanto, no se pueden ingresar de manera "predeterminada".Reference: Muestra que las siguientes subsecciones describen una referencia de módulo. Se genera una referencia debajo de la instancia del módulo.Parent_Instancey la ranuraParent_Slot, haciendo referencia al submóduloReferenced_Instance. como elParent_Instance, esta instancia a la que se hace referencia debe originarse en el conjunto del submódulo de instancias del módulo raíz debajo de la misma secciónMacroModule.
no se usará
IMPLEMENTED_BYoIMPORTSen su declaración de módulo.Debe incluir la sección
MetaDatayMacroModule. De lo contrario, no se deben utilizar secciones adicionales.Al menos una sección
Rootmoduledebe estar disponible debajo de la secciónMacroModuleAdemás, una segunda secciónRootmoduleno puede existirPara cada
submodule, ambosParent_Instancey elParent_Slotdebe definirse dentroMacroModule. Esto debe definirse entonces comoLocal_SlotIDdentro deMacroSlotde ElParent_Instance.