Sezione: MacroModulo
In questa sezione vengono descritti i parametri del MacroModulo. La sezione viene creata automaticamente quando si genera un modulo macro. In alternativa, è possibile inserire manualmente la sezione in una dichiarazione di modulo o modificare una sezione generata automaticamente.
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_SECI dettagli riguardanti la sintassi dei tipi di definizione sono descritti nella sezione Dichiarazione del modulo.
MacroModule: Se questa sezione è definita, allora nessun'altra sezione può apparire all'interno dell'intera dichiarazione del modulo tranne la sezioneMetaData. Ogni dichiarazione di modulo con questa sezione è identificata chiaramente come tipo MacroModule. Un'altra sezioneMacroModulenon è consentito all'interno di una dichiarazione di modulo.Rootmodule: Indica che le seguenti sottosezioni descrivono il sottomodulo radice, che dovrebbe essere 1) la radice di questo tipo MacroModule e 2) inserito come genitore superiore di tutti gli altri sottomoduli del tipo MacroModule.Submodule: Indica che le seguenti sottosezioni descrivono un sottomodulo, che deve essere inserito sotto il sottomodulo radice in un sottoalbero per il tipo MacroModule.MacroParameter: Se questo tipo di sottosezione viene utilizzato in una sezioneSubmoduleORoot, allora può essere indicato che un parametro specifico del sottomodulo definito (o root) dovrebbe esso stesso presentarsi come parametro del modulo macro. Per questo, l'obiettivo della sezioneMacroParameterviene utilizzato come nuovo ID parametro per il parametro del modulo macro. Il parametro del sottomodulo dato (o radice) viene quindi definito daLocal_ParameterID. Inoltre è possibile creare voci di liste di testo utilizzando le definizioni diNew_NameENew_Desc. Queste voci vengono utilizzate per il nome e la descrizione del nuovo parametro del modulo macro anziché per quello del sottomodulo o del parametro root. Tutti gli obiettivi definiti di tutte le sezioniMacroParameterall'interno di un intero modulo macro deve essere chiaro per garantire ID parametri univoci per tutti i parametri del modulo macro.MacroIO: Se questo tipo di sottosezione viene utilizzato nella sezioneSubmoduleORoot, allora si può indicare che un determinato I/O del sottomodulo definito (o root) dovrebbe esso stesso presentarsi come I/O del modulo macro. Per questo, l'obiettivo della sezioneMacroIOviene utilizzato come nuovo ID I/O per l'I/O del modulo macro. L'I/O del sottomodulo dato (o radice) viene quindi definito daLocal_IOID. Inoltre è possibile creare voci di liste di testo utilizzando le definizioni diNew_NameENew_Desc. Queste voci vengono utilizzate per il nome e la descrizione del nuovo I/O del modulo macro invece del sottomodulo o dell'I/O root. Tutti gli obiettivi definiti di tutte le sezioniMacroIOall'interno di un intero modulo macro deve essere chiaro per garantire ID I/O univoci per tutti gli I/O del modulo macro.MacroSlot: Se questa sottosezione viene utilizzata nella sezioneSubmoduleORoot, allora può essere indicato che uno slot specifico del sottomodulo definito (o radice) dovrebbe esso stesso presentarsi come slot del modulo macro. In questo modo è possibile inserire ulteriori istanze del modulo sotto questo slot dell'istanza MacroModule. Per questo, l'obiettivo della sezioneMacroSlotviene utilizzato come nuovo ID slot per lo slot del modulo macro. Lo slot del sottomodulo specificato (o radice) viene quindi definito daLocal_SlotID. Inoltre è possibile creare una voce in un elenco di testi utilizzando le definizioniNew_Role. Questa voce viene utilizzata per il ruolo del nuovo slot del modulo macro anziché quello del sottomodulo o dello slot root. Tutti gli obiettivi definiti di tutte le sezioniMacroSlotall'interno di un intero MacroModule deve essere chiaro per garantire ID slot univoci per tutti gli slot MacroModule.Parent_Instance: Definisce un ID corrispondente a un ID di destinazione di una sezioneRootmoduleOSubmoduledella sezione comprensivaMacroModule. Questa definizione esiste solo all'interno della sezioneSubmodule. Definisce l'istanza del modulo genitore sotto la quale deve essere inserito il sottomodulo. Questo sottomodulo è descritto nella rispettiva sezioneSubmoduledel MacroModulo. Inoltre, la definizioneParent_Slotè anche richiesto.Parent_Slot: Definisce un ID corrispondente all'ID dello slot situato sotto il tipo di sottomodulo identificato daParent_Module. Il sottomodulo del tipo MacroModule descritto dalla sezioneSubmoduleè inserito sotto questo slot.Default_Allocation: Questo è identico alla sezione con lo stesso nome sotto le dichiarazioni degli slot (SlotESlot_Multi). Questa sezione definisce sia per il "modulo root" che per il "sottomodulo" quale tipo di sottomodulo di tipo MacroModule deve essere inserito per quale configurazione di istanza. L'unica differenza è che noInstance_Namepuò essere definito perDefault_Allocationsotto una sezioneRootmodule, ma piuttosto in sezioniSubmodule. Il motivo è che le istanze del modulo inserite come "modulo root" ricevono il nome dall'istanza MacroModule e quindi non possono essere inserite per "default".Reference: Mostra che le seguenti sottosezioni descrivono un riferimento al modulo. Viene generato un riferimento sotto l'istanza del moduloParent_Instancee la fessuraParent_Slot, facendo riferimento al sottomoduloReferenced_Instance. Come ilParent_Instance, questa istanza di riferimento deve provenire dall'insieme del sottomodulo di istanze del modulo root sotto la stessa sezioneMacroModule.
Non deve essere utilizzato
IMPLEMENTED_BYOIMPORTSnella sua dichiarazione del modulo.Deve includere la sezione
MetaDataEMacroModule. Altrimenti non devono essere utilizzate sezioni aggiuntive.Ce ne deve essere almeno uno
Rootmodulesezione sotto ilMacro_Modulesezione. Inoltre, non deve esserci un secondoRootmodulesezione.Per ciascuno
submodule, entrambi iParent_Instancee ilParent_Slotdeve essere definito all'internoMacroModule. Questo deve quindi essere definito comeLocal_SlotIDentroMacroSlotdelParent_Instance.