このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
スコープ内およびグローバルの Simulink Function ブロックの概要
関数の可視性を定義すると、参照モデルを統合する際の名前空間の競合を回避するのに役立つことがあります。Simulink Function ブロックでは、そのブロックを含むサブシステムまたはモデルを基準として関数の可視性をスコープ内またはグローバルのいずれかとして定義します。既定では、Simulink Function ブロックはスコープ内になります。
"関数の可視性"。スコープ内の関数は、その階層において表示されるようになります。関数と同じレベルまたは 1 つ以上低いレベルにある関数の呼び出し元が、その関数を参照できます。グローバル関数は、モデルの階層全体において表示されます。これは、現在のモデルまたは親モデルの階層の任意の場所に配置された関数の呼び出し元が、その関数を参照できることを意味します。
"関数のアクセス" は、関数の可視性と、関数の呼び出し元の Simulink Function ブロックに対する相対的な場所で決まります。関数の呼び出し元が関数よりも 1 レベル上の階層にある場合、関数名をバーチャル サブシステム ブロックの名前またはモデル ブロックの名前で修飾します。
"関数のエクスポート" は、モデルからエクスポートされる関数を表します。エクスポート関数モデルの任意の場所に配置されたグローバルの可視性をもつ関数は、モデル インターフェイスに加え、モデルの階層の最上位レベルにエクスポートされます。エクスポート関数モデルのルート レベルにあるスコープ内の可視性をもつ関数は、モデル インターフェイスにエクスポートされます。どちらの場合も、エクスポートされた関数にモデルの外部からアクセスできます。
関数の可視性は、Simulink Function ブロック内の Trigger ブロックの [関数の可視性] パラメーターを使用して [スコープ内]
または [グローバル]
のいずれかに設定します。
Simulink Function ブロックの可視性とアクセスの概要
関数の可視性 | 関数のアクセス | 関数のエクスポート | |
---|---|---|---|
バーチャル サブシステム |
関数名が一意である必要はない | 階層内または親レベルにある関数の呼び出し元 サブシステム ブロックの階層内にある関数の呼び出し元 – 修飾なし、 親レベルにある関数の呼び出し元 – サブシステム ブロック名で修飾、 | 該当なし |
関数名は一意でなければならない | 階層の上下の任意のレベルにある関数の呼び出し元 階層の任意のレベルにある関数の呼び出し元 – 修飾なし、 | モデルの任意のレベルにある関数が最上位モデルのグローバル名前空間にエクスポートされる | |
Atomic サブシステム |
関数名が一意である必要はない | 階層内にある関数の呼び出し元のみ サブシステム ブロックの階層内にある関数の呼び出し元 – 修飾なし、 親レベルにある関数の呼び出し元 – 許可されない | 該当なし |
| 関数の呼び出しは許可されない | 該当なし | |
モデル |
関数名が一意である必要はない | 階層内または親レベルにある関数の呼び出し元 サブシステム ブロックの階層内にある関数の呼び出し元 – 修飾なし、 親レベルにある関数の呼び出し元 - モデル ブロック名で修飾、 | モデルのルート レベルにある関数がモデル インターフェイスにエクスポートされる |
関数名は一意でなければならない | 階層の上下の任意のレベルにある関数の呼び出し元 階層の任意のレベルにある関数の呼び出し元 – 修飾なし、 | モデルの任意のレベルにある関数が最上位モデルのグローバル名前空間にエクスポートされる |