Skip to main content

セクション: マクロモジュール

このセクションでは、マクロ モジュールのパラメータについて説明します。このセクションは、マクロ モジュールを作成すると自動的に作成されます。セクションをモジュール宣言に手動で挿入したり、自動的に作成されたセクションを編集したりすることもできます。

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

定義タイプの構文の詳細については、「 モジュール宣言の構文 説明された。

. 仕様:
  • Macro_Module: このセクションが定義されている場合、モジュール宣言全体内でセクション以外の他のセクションは許可されません。 MetaData 利用できるようになります。このセクションの各モジュール宣言は、マクロ モジュール タイプとして明確にマークされています。これ以上のセクションはないかもしれません MacroModule モジュール宣言内で。

  • Rootmodule: 次のサブセクションで、このマクロ モジュール タイプのルートとなるルート サブモジュールについて説明し、マクロ モジュール タイプの他のすべてのサブモジュールの親として先頭に挿入する必要があることを示します。

  • Submodule: 次のサブセクションで、マクロ モジュール タイプのルート サブモジュールの下のサブツリー内のどこかに挿入されるサブモジュールについて説明することを示します。

  • MacroParameter: セクション内のこのようなセクションになります Submodule または Root 使用すると、定義されたサブモジュール (またはルート) の特定のパラメーターがマクロ モジュール自体のパラメーターとして表示されるように指定できます。これがセクションのターゲットになります MacroParameter マクロ モジュール パラメータの新しいパラメータ ID として使用されます。指定されたサブモジュール (またはルート) のパラメーターは、定義を通じて使用されます。 Local_ParameterID 指定された。さらに、定義を使用することもできます New_Name そして New_Desc テキストリストのエントリを指定できます。これらのエントリは、サブモジュールまたはルート パラメータの代わりに、新しいマクロ モジュール パラメータの名前と説明に使用されます。すべてのセクションの指定されたすべてのターゲット MacroParameter すべてのマクロ モジュール パラメータが一意のパラメータ ID を持つように、マクロ モジュール全体内で一意である必要があります。

  • MacroIO: セクション内にそのようなセクションがある場合 Submodule または Root を使用すると、定義されたサブモジュール (またはルート) の特定の IO がマクロ モジュール自体の IO として表示されるように指定できます。これがセクションのターゲットになります MacroIO マクロ モジュール IO の新しい IO ID として使用されます。指定されたサブモジュール (またはルート) の IO は、定義によって決定されます。 Local_IOID 指定された。さらに、定義を使用することもできます New_Name そして New_Desc テキストリストのエントリを指定できます。これらのエントリは、サブモジュールまたはルート IO の代わりに、新しいマクロ モジュール IO の名前と説明に使用されます。すべてのセクションの指定されたすべてのターゲット MacroIO すべてのマクロ モジュール IO が一意の IO ID を持つように、マクロ モジュール全体内で一意である必要があります。

  • MacroSlot: セクション内のこのセクションになります Submodule または Root 使用すると、定義されたサブモジュール (またはルート) の特定のスロットがマクロ モジュール自体のスロットとして表示されるように指定できます。これは、追加のモジュール インスタンスをマクロ モジュール インスタンスのこのスロットの下に挿入できることを意味します。これがセクションのターゲットになります MacroSlot マクロ モジュール スロットの新しい SlotID として使用されます。指定されたサブモジュール (またはルート) のスロットは、定義によって決定されます。 Local_SlotID 指定された。さらに、定義を使用することもできます New_Role テキストリストエントリを指定できます。このエントリは、サブモジュールまたはルート スロットの代わりに、新しいマクロ モジュール スロットの「役割」に使用されます。すべてのセクションの指定されたすべてのターゲット MacroSlot すべてのマクロ モジュール スロットが一意のスロット ID を持つように、マクロ モジュール全体内で一意である必要があります。

  • Parent_Instance: セクションの対象IDとなるIDを指定します Rootmodule または Submodule 周囲のセクション MacroModule 対応します。この定義はセクション内にのみ存在します。 Submodule。親モジュールのインスタンスを定義し、その下にそれぞれのセクションが配置されます。 Submodule マクロモジュールタイプの説明されたサブモジュールは「挿入」される必要があります。これが定義です Parent_Slot さらに必須です。

  • Parent_Slot:スルー以下のスロットのIDに対応するIDを指定します。 Parent_Module 識別されたサブモジュール タイプを見つけることができます。このスロットの下のセクションは次のとおりです Submodule 記述されたマクロモジュールタイプのサブモジュールが挿入されます。

  • Default_Allocation: スロット宣言の下の同名のセクションと同一です (Slot そして Slot_Multi)。このセクションでは、「ルート モジュール」と「サブモジュール」の両方について、マクロ モジュール タイプのどのサブモジュールをどのインスタンス構成で挿入するかを指定します。唯一の違いは、 Default_Allocation セクションの下 Rootmodule いいえ Instance_Name 指定できますが、セクションの下にあります Submodule すでに。その理由は、「ルート モジュール」として挿入されたモジュール インスタンスはマクロ モジュール インスタンスから名前を取得するため、「デフォルト」として指定できないためです。

  • Reference: 次のサブセクションがモジュール参照について説明していることを示します。これにより、モジュール インスタンスの下に参照が作成されます Parent_Instance スロットの下に Parent_Slot サブモジュールが生成されます。 Referenced_Instance 参照されています。この参照されるインスタンスは次のようにする必要があります Parent_Instance 同じセクションにあるサブモジュールまたはルート モジュール インスタンスのセットから Makro_Module 来る。

. マクロモジュールタイプのモジュール宣言は、次の条件を満たす必要があります。
  • 彼女も許されない IMPLEMENTED_BY まだ IMPORTS モジュール宣言で使用します。

  • 彼女にはセクションがあるはずです MetaData そして MacroModule 含む。そうしないと、それ以上のセクションが存在しない可能性があります。

  • セクションの下 Macro_Modul 少なくとも 1 つのセクションが必要です Rootmodule 利用できるようになります。第二部も無いかもしれない Rootmodule 存在する。

  • それぞれについて Submodule 以内でなければなりません MacroModule それら両方 Parent_Instance 同様にそのように Parent_Slot 定義される。これは次のように使用する必要があります Local_SlotID 内で MacroSlotParent_Instance 定義される。