このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
If Action Subsystem
If ブロックで実行が有効化されるサブシステム
ライブラリ:
Simulink /
Ports & Subsystems
説明
If Action Subsystem ブロックは、実行が If ブロックで制御されるサブシステムを作成するときの開始点として事前構成されている Subsystem ブロックです。If ブロックは論理式を評価し、その評価結果に応じてアクション信号を出力します。サブシステムの実行は、サブシステム内に配置された Action Port ブロックで制御されます。
Simulink® は If Action Subsystem ブロックに設定された優先順位を無視します。代わりに、サブシステムの実行を開始する If ブロックに優先順位を設定します。
If Action Subsystem ブロックからの信号のマージ
この例では、If ブロックで制御される信号をマージする方法を説明します。詳細については、選択サブシステムの実行を参照してください。
If ブロックは一連のサブシステムから If Action Subsystem ブロックの実行を選択します。If ブロックが選択するサブシステムに関係なく、Merge ブロックを使用して 1 つの出力信号を作成できます。
If Action Subsystem ブロック内のすべてのブロックは駆動側の If ブロックと同じレートで実行されなければなりません。この要件を満たすには、各ブロックのサンプル時間パラメーターを継承 (-1) または If ブロックのサンプル時間と同じ値のいずれかに設定します。
固定小数点データ型のサポート
If ブロックは、固定小数点データ型を直接的にはサポートしません。ただし、この制限を解決するために、Compare To Constant ブロックを使用することができます。詳細については、Fixed-Point Data Type Support for If Blockを参照してください。
例
Simulink Subsystem のセマンティクス
この一連の例では、さまざまなタイプの Simulink® Subsystem と、これらのサブシステムのシミュレーション実行時にどのようなセマンティクスが使用されるかという例を示します。各例では、モデルと、そのモデルの実行方法に関する違いを説明しています。
If-Then-Else ブロック
この例では、正弦波をIf Action Subsystemブロックに入力した場合の影響を示します。これは、If Action Subsystem ブロックとEnabled Subsystemブロックの類似度を示すよう設計されています。
If ブロックを使ったクラッチ ロックアップのモデル化
この例では、If/Else サブシステムを使用してクラッチ モデルを作成する方法を示します。If サブシステムがクラッチ ダイナミクスをロック位置でモデル化するのに対して、Else サブシステムはロック解除位置でモデル化します。If ブロックを使用していずれかを有効にします。If ブロックからの一点鎖線は、制御信号を示しています。この信号は、If/Else (または他の条件付き) サブシステムを有効にするために使用されます。GUI 上のボックスのいずれかをチェックすると、(時間に対して) 選択された変数のいずれかのプロットが生成されます。
端子
入力
In — サブシステム ブロックへの信号入力
スカラー | ベクトル | 行列
Inport ブロックをサブシステム ブロック内に配置することで、ブロックへの外部入力端子が追加されます。端子ラベルは Inport ブロックの名前と一致します。
ローカル環境から信号を取得するには、Inport ブロックを使用します。
データ型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
Action — サブシステム ブロックへの信号入力の制御
スカラー | ベクトル | 行列
サブシステム ブロック内の Action Port ブロックにより、ブロックに外部入力端子が追加され、ブロックが If Action Subsystem ブロックに変更されます。
メモ
Action Port ブロックは Simulink ライブラリ ブラウザーでは使用できません。If Action Subsystem ブロックを使用している場合、Action Port ブロックには If Action Subsystem ブロック内からのみアクセスできます。
If ブロックから If Action Subsystem ブロックへの一点鎖線は "アクション" 信号を表します。アクション信号は、If Action Subsystem ブロックの Action 端子に接続された制御信号です。アクション信号のメッセージによってサブシステムの実行が開始されます。
データ型: action
出力
Out — サブシステムからの信号出力
スカラー | ベクトル | 行列
Outport ブロックをサブシステム ブロック内に配置することで、ブロックの出力端子が追加されます。サブシステム ブロック上の端子ラベルは Outport ブロックの名前です。
信号をローカル環境に送信するには、Outport ブロックを使用します。
データ型: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
パラメーター
ブロック パラメーターを対話形式で編集するには、プロパティ インスペクターを使用します。Simulink ツールストリップから、[シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
メイン
端子ラベルを表示 — 端子ラベルのオプションを表示
[FromPortIcon]
(既定値) | [FromPortBlockName]
| [SignalName]
Subsystem ブロック アイコンに端子ラベルを表示する方法を選択します。
なし
— 端子ラベルを表示しません。FromPortIcon
— 対応する端子アイコン上に信号名が表示される場合、Subsystem ブロック上に信号名を表示します。それ以外の場合は、端子のブロック名、またはブロック名が既定の名前の場合は端子番号を表示します。FromPortBlockName
— Subsystem ブロック上に対応する端子のブロック名を表示します。SignalName
— 端子に接続されている信号に名前が付いている場合、Subsystem ブロック上の信号の名前を表示します。それ以外の場合は、対応する端子のブロック名を表示します。
Subsystem ブロックでの端子ラベルの編集については、Edit Port Labels on Subsystem Blocksを参照してください。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | ShowPortLabels |
値: | 'FromPortIcon' (既定値) | 'FromPortBlockName' | 'SignalName' |
読み取り/書き込み権限 — サブシステムの内容へのアクセスのレベル
[ReadWrite]
(既定値) | [ReadOnly]
| [NoReadOrWrite]
サブシステムの内容へのユーザー アクセスを制御します。
ReadWrite
— サブシステムの内容を開き、修正することができます。ReadOnly
— サブシステムを開くことはできますが、修正することはできません。サブシステムがブロック ライブラリに存在する場合、サブシステムへのリンクを作成して開くことができます。また、サブシステムのローカル コピーを作成して変更することはできますが、アクセス許可や元のライブラリ インスタンスの内容を変更することはできません。NoReadOrWrite
— サブシステムを開くことも修正することもできません。サブシステムがライブラリに存在する場合、モデルにあるサブシステムのリンクを作成することはできますが、サブシステムを開いたり、アクセス許可を変更したり、サブシステムのローカル コピーを作成したりすることはできません。
[読み取り/書き込みアクセス許可] パラメーターが [NoReadOrWrite]
に設定されているサブシステムの内容を表示しようとしても、応答はありません。たとえば、そのようなサブシステムをダブルクリックしても、サブシステムは開かれず、メッセージも表示されません。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | Permissions |
値: | 'ReadWrite' (既定値) | 'ReadOnly' | 'NoReadOrWrite' |
エラー コールバック関数名 — エラーが発生すると呼び出される関数の名前
既定値なし
サブシステムの実行中にエラーが発生した場合に呼び出される関数名を入力します。
2 つの引数が関数に渡されます。その引数は、サブシステムのハンドルと、エラー タイプを指定する文字ベクトルです。関数が指定されていない場合、サブシステムの実行によってエラーが発生すると、一般的なエラー メッセージが表示されます。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | ErrorFcn |
値: | '' (既定値) | function name in quotes |
データ型: | char | string |
階層の関連付けを許可 — ワークスペースの変数名の関連付け
すべて
(既定値) | 明示的のみ
| なし
このサブシステムによって参照されるワークスペース変数名を解決するかどうかを選択します。
詳細については、記号の解釈および記号関連付けプロセスを参照してください。
すべて
— ブロック パラメーター値と Simulink データ オブジェクト (Simulink.Signal
オブジェクトなど) の指定に使用されるワークスペース変数など、このサブシステムが使用するワークスペース変数のすべての名前を解決します。ExplicitOnly
— ブロックのパラメーター値、データ ストア メモリ (ここにはブロックは存在しません)、信号、"must resolve" というマークの付いた状態を指定するために使用されるワークスペース変数名だけを解決します。なし
— ワークスペース変数名を解決しません。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | PermitHierarchicalResolution |
値: | 'All' (既定値) | 'ExplicitOnly' | 'None' |
サブシステム再初期化端子の表示 — 再初期化イベント端子を表示するオプション
off
(既定値) | on
再初期化イベント端子を表示するには、このパラメーターを選択します。端子を削除するには、このパラメーターの選択を解除します。
依存関係
このパラメーターを有効にするには、[Atomic サブシステムとして扱う] をオンにします。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | ShowSubsystemReinitializePorts |
値: | 'off' (既定値) | 'on' |
コード生成
[コード生成] タブのパラメーターには、Simulink Coder™ または Embedded Coder® のライセンスが必要です。
関数のパッケージ化 — コードの形式
Auto
(既定値) | インライン
| 再利用できない関数
| 再利用可能な関数
atomic (非バーチャル) サブシステムに対して生成されるコード形式を選択します。
自動
— モデル内に存在するサブシステムのインスタンスのタイプと数に基づいて、最適な形式が選択されます。インライン
— 無条件にサブシステムがインライン化されます。再利用できない関数
— [ファイル名オプション] が[自動]
に設定されている場合、個々の関数がモデル ファイル内にパッケージ化されます。[ファイル名オプション] が別のファイル名を使用する[サブシステム名を使用]
、[関数名を使用]
、または[ユーザー指定]
に設定されている場合、個々の関数が別々のファイルにパッケージ化されます。このように設定されたサブシステムは、関数インターフェイスパラメーターの設定に基づく引数をもつ関数を生成します。生成された関数とファイルには、それぞれ関数名およびファイル名 (拡張子なし)パラメーターを使用して名前を付けることができます。これらの関数は再呼び出し可能ではありません。
再利用可能な関数
— モデルが複数のサブシステムのインスタンスを含む場合、サブシステムのコードの再利用を可能にする引数をもつ関数が生成されます。このオプションは、参照モデル全体にわたりサブシステムの複数のインスタンスを含むモデル参照階層の生成コードで、サブシステム コードの再利用を可能とする引数をもつ関数も生成します。この場合、サブシステムはライブラリに含まれていなければなりません。
詳細については、以下を参照してください。
個別のサブシステムのコードと実行可能ファイルの生成 (Simulink Coder)
インライン化されたサブシステム コードの生成 (Simulink Coder)
サブシステム コードを別々の関数およびファイルとして生成 (Simulink Coder)
モデル間で共有されるライブラリ サブシステムからの再利用可能なコードの生成 (Simulink Coder)
ヒント
サブシステムの複数のインスタンスを 1 つの再利用が可能な関数として表す場合、それぞれ
自動
または[再利用可能な関数]
として指定できます。それらのどちらか一方を使用するのが最適です。両方を使用すると、各指定につき 1 つずつ、2 つの再利用可能な関数が作成されます。これらの選択の結果は、再利用が不可能な場合にのみ異なります。[自動]
を選択しても、サブシステム コードの関数やファイル名は制御できません。[再利用可能な関数]
と自動
のオプションは両方とも、サブシステムのインスタンスが複数存在するかどうかと、コードが再利用可能かどうかを判定しようとします。再利用が不可能な場合、以下のように各オプションの動作はそれぞれ異なります。[自動]
はインライン化されたコードを生成し、インライン化が禁止されている場合は、サブシステムのインスタンスごとに別の関数を生成します。[再利用可能な関数]
はモデル内のサブシステムのインスタンスごとに、引数をもつ別の関数を生成します。
生成コードがソース管理下にある場合に
[再利用可能な関数]
を選択する場合は、[ファイル名オプション] を[サブシステム名を使用]
、[関数名を使用]
、[ユーザー指定]
のいずれかに設定してください。この設定を行わないと、モデルを変更するたびにコード ファイルの名前が変更され、ファイルのソース管理ができません。[自動]
または[インライン]
以外のオプションとモデル コンフィギュレーション パラメーター [状態] を選択した場合、コード ジェネレーターは出力メソッドと更新メソッドを別々に生成します。コード ジェネレーターでは、[コード生成およびシミュレーション用に出力メソッドと更新メソッドを結合] の指定は考慮されません。
依存関係
このパラメーターではコード生成のために Simulink Coder のライセンスが必要です。
このパラメーターを有効にするには、[Atomic サブシステムとして扱う] をオンにします。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RTWSystemCode |
値: | 'Auto' (既定値) | 'Inline' | 'Nonreusable function' | 'Reusable function' |
関数名オプション — 生成される関数の命名方法
Auto
(既定値) | サブシステム名を使用
| ユーザー指定
サブシステム用に生成される関数に名前を付ける方法を選択します。
Embedded Coder ライセンスをお持ちの場合、コンフィギュレーション パラメーターの [コード生成] 、 [識別子] ペインのオプションで関数名を制御できます。
自動
— 既定の名前付けの規則、
を使用して一意の関数名を割り当てます。ここでmodel
_subsystem
()model
はモデルの名前であり、subsystem
はサブシステムの名前、または、コードが再使用される場合に同一のものの名前です。[関数のパッケージ化] パラメーターに
[再利用可能な関数]
を選択し、モデル参照階層に再利用可能なサブシステムのインスタンスが複数含まれている場合に、サブシステムで再利用可能なコードを生成するには、[関数名オプション] を[自動]
に設定しなければなりません。サブシステム名を使用
— 関数名にサブシステム名を使用します。既定では、関数名は命名規則
を使用します。model
_subsystem
サブシステムがライブラリ ブロックにあり、そのサブシステムのパラメーター関数のパッケージ化が
[再利用可能な関数]
に設定されている場合、[サブシステム名を使用]
オプションを設定すると、コード ジェネレーターはそのサブシステムの関数名とファイル名に対してライブラリ ブロックの名前を使用します。ユーザー指定
— [関数名] フィールドが有効になります。有効な C または C++ 関数名 (固有でなければならない) を入力します。
詳細については、サブシステム コードを別々の関数およびファイルとして生成 (Simulink Coder)を参照してください。
依存関係
このパラメーターには Simulink Coder のライセンスが必要です。
このパラメーターを有効にするには、[関数のパッケージ化] を
[再利用できない関数]
または[再利用可能な関数]
に設定します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RTWFcnNameOpts |
値: | 'Auto' (既定値) | 'Use subsystem name' | 'User specified' |
関数名 — サブシステム コードの関数の名前
既定値なし
サブシステム コードに対して、一意で有効な C または C++ 関数名を指定します。
Simulink Coder コード ジェネレーターで自動生成された名前を割り当てたり、サブシステム名を使用したりする代わりに、関数に特定の名前を割り当てるには、このパラメーターを使用します。詳細については、サブシステム コードを別々の関数およびファイルとして生成 (Simulink Coder)を参照してください。
依存関係
このパラメーターには Simulink Coder のライセンスが必要です。
このパラメーターを有効にするには、[関数名オプション] を
[ユーザー指定]
に設定します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RTWFcnName |
値: | '' (既定値) | function name in quotes |
データ型: | char | string |
ファイル名オプション — 生成されるファイルの命名方法
Auto
(既定値) | サブシステム名を使用
| 関数名を使用
| ユーザー指定
サブシステムに対して生成される関数の個々のファイルに名前を付ける方法を選択します。
自動
— サブシステムの構成およびモデルにあるインスタンスの数によって、[自動]
は異なる結果を返します。コード ジェネレーターがサブシステムに個別のファイルを "生成しない" 場合、サブシステムの親システムから生成されたコード モジュール内で、サブシステム コードが生成されます。サブシステムの親がモデル自体の場合、サブシステム コードは
またはmodel
.c
内で生成されます。model
.cpp[関数のパッケージ化] パラメーターに
[再利用可能な関数]
を選択し、生成コードがソース管理下にある場合、[ファイル名オプション] に[自動]
以外の値を指定することを検討してください。これにより、関係のないモデル変更によって生成されたファイル名が変更されるのを防止できます。これは、ソース管理を使用して構成を管理する場合に問題となる点です。[関数のパッケージ化] パラメーターに
[再利用可能な関数]
を選択し、モデル参照階層に再利用可能なサブシステムのインスタンスが複数含まれている場合に、サブシステムで再利用可能なコードを生成するには、[ファイル名オプション] を[自動]
に設定しなければなりません。
サブシステム名を使用
— コード ジェネレーターは、サブシステム (またはライブラリ ブロック) 名をファイル名として使用して、別のファイルを生成します。[ファイル名オプション] を
[サブシステム名を使用]
に設定すると、モデルに Model ブロックが含まれている場合、またはモデルのモデル参照ターゲットが生成されている場合に、サブシステムのファイル名はマングルされます。これらの状況で、サブシステムのファイル名はモデル名を前置したサブシステムの名前で構成されます。関数名を使用
— コード ジェネレーターは [関数名オプション] により指定される関数名をファイル名として使用します。ユーザー指定
— このオプションは [ファイル名 (拡張子なし)] テキスト入力フィールドを有効にします。コード ジェネレーターは入力された名前をファイル名として使用します。任意のファイル名を入力しますが、.c
や.cpp
(などの) 拡張子は含めないでください。このファイル名は一意である必要はありません。サブシステムのソース ファイル名は一意である必要はありませんが、循環的な依存状態になるような一意でない名前を付けることは避けなければなりません。たとえば、
sys_a.h
にはsys_b.h
が含まれ、sys_b.h
にはsys_c.h
が含まれ、sys_c.h
にはsys_a.h
が含まれます。
依存関係
このパラメーターには Simulink Coder のライセンスが必要です。
このパラメーターを有効にするには、[関数のパッケージ化] を
[再利用できない関数]
または[再利用可能な関数]
に設定します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RTWFileNameOpts |
値: | 'Auto' (既定値) | 'Use subsystem name' | 'Use function name' | 'User specified' |
ファイル名 (拡張子なし) — 生成されたファイルの名前
既定値なし
指定するファイル名は、一意である必要はありません。ただし、循環的な依存状態になるような一意でない名前を付けることは避けてください。たとえば、sys_a.h
には sys_b.h
が含まれ、sys_b.h
には sys_c.h
が含まれ、sys_c.h
には sys_a.h
が含まれます。
詳細については、サブシステム コードを別々の関数およびファイルとして生成 (Simulink Coder)を参照してください。
依存関係
このパラメーターには Simulink Coder のライセンスが必要です。
このパラメーターを有効にするには、[ファイル名オプション] を
[ユーザー指定]
に設定します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RTWFileName |
値: | '' (既定値) | filename in quotes |
データ型: | char | string |
関数インターフェイス — 生成される関数で引数を使用する方法
void_void
(既定値) | 引数を許可 (最適化)
| 引数を許可 (グラフィカル インターフェイスとの一致)
生成される関数で引数を使用する方法を選択します。
void_void
— 引数をもたない関数を生成し、グローバル変数でデータを渡します。以下に例を示します。void subsystem_function(void)
引数を許可 (最適化)
— グローバル変数でデータを渡さずに引数を使用する関数を生成します。これを指定すると、グローバル RAM が節約されます。このオプションにより、コード サイズが削減され、実行速度が改善されます。また、コード ジェネレーターによりさらなる最適化が有効になります。以下に例を示します。void subsystem_function(real_T rtu_In1, real_T rtu_In2, real_T *rty_Out1)
場合によっては、最適化されたコードの生成時に、コード ジェネレーターが引数をもつ関数を生成しない可能性があります。
引数を許可 (グラフィカル インターフェイスとの一致)
— Subsystem グラフィカル ブロック インターフェイスに一致する引数を使用する関数インターフェイスを生成します。生成される関数インターフェイスは予測可能であり変更されません。予測可能なインターフェイスは、デバッグやコードのテスト、外部アプリケーションとの統合において有用である可能性があります。たとえば、モデルに 2 つの Inport ブロックと 2 つの Outport ブロックがある場合、生成される関数インターフェイスは次のようになります。void subsystem_function(real_T rtu_In1, real_T rtu_In2, real_T *rty_Out1, real_T *rty_Out2)
詳細については、以下を参照してください。
Reduce Global Variables in Nonreusable Subsystem Functions (Embedded Coder)
Generate Predictable Function Interface to Match Graphical Block Interface (Embedded Coder)
非バーチャル サブシステムのモジュラー関数コードの生成 (Embedded Coder)
依存関係
このパラメーターには Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルが必要です。
このパラメーターを有効にするには、[関数のパッケージ化] を
[再利用できない関数]
に設定します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | FunctionInterfaceSpec |
値: | 'void_void' (既定値) | 'Allow arguments (Optimized)' | 'Allow arguments (Match graphical interface)' |
別々のデータをもつ関数 — サブシステムのコード生成を制御
off
(既定値) | on
Atomic Subsystem 用の内部データが親モデルから分離され、サブシステムに所有されているサブシステムの関数コードを生成します。
off
— Atomic Subsystem 用の内部データが親モデルから分離され、サブシステムに所有されているサブシステムの関数コードを生成しません。on
— Atomic Subsystem 用の内部データが親モデルから分離され、サブシステムに所有されているサブシステムの関数コードを生成します。サブシステムのデータ構造は、親モデルのデータ構造とは別に宣言されます。個別のデータをもつサブシステムは、独自のブロック I/O とDWork
データ構造対をもちます。結果として、サブシステムに対して生成されたコードの方が、追跡とテストが容易になります。また、データを分離すると、データが複数のデータ構造に分割されるため、モデル全体のデータ構造の最大サイズが小さくなる傾向があります。
Atomic Subsystem の modular function コードを生成する方法の詳細は、非バーチャル サブシステムのモジュラー関数コードの生成 (Embedded Coder)を参照してください。
Atomic Subsystem にメモリ セクションを適用する方法の詳細は、Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)を参照してください。
依存関係
このパラメーターには Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルが必要です。
このパラメーターを有効にするには、[関数のパッケージ化] を
[再利用できない関数]
に設定します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | FunctionWithSeparateData |
値: | 'off' (既定値) | 'on' |
初期化/終了関数のメモリ セクション — メモリ セクションの適用方法
モデルから継承
(既定値) | 既定の設定
| 目的のメモリ セクション
サブシステムの初期化および終了関数へのメモリ セクションの適用方法を選択します。
モデルから継承
— ルート モデルのメモリ セクションをサブシステムの関数コードに適用します。既定の設定
— 任意のモデルレベルの仕様を無効にして、サブシステムのシステム コードにメモリ セクションを適用しません。目的のメモリ セクション
— モデルのメモリ セクションの 1 つをサブシステムに適用します。
ヒント
入力可能な値は、モデル コンフィギュレーションに対してメモリ セクションのどのようなパッケージを設定しているのかによって異なります。Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)およびモデル コンフィギュレーション パラメーター: コード生成 (Simulink Coder)を参照してください。
パッケージを使用してモデルを構成していない場合、使用可能な値は
[モデルから継承]
のみです。そうでない場合、このリストには[既定の設定]
と、モデルのパッケージに含まれているすべてのメモリ セクションが表示されます。これらのオプションは、指定されたサブシステム モデルのメモリ セクションの設定を無効にする場合に利用できます。Atomic Subsystem にメモリ セクションを適用する方法の詳細は、Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)を参照してください。
依存関係
このパラメーターには Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルが必要です。
このパラメーターを有効にするには、[関数のパッケージ化] を
[再利用できない関数]
または[再利用可能な関数]
に設定します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RTWMemSecFuncInitTerm |
値: | 'Inherit from model' (既定値) | 'Default' | 'The memory section of interest' |
実行関数のメモリ セクション — メモリ セクションの適用方法
モデルから継承
(既定値) | 既定の設定
| 目的のメモリ セクション
Embedded Coder におけるサブシステムの実行関数へのメモリ セクションの適用方法を選択します。
モデルから継承
— ルート モデルのメモリ セクションをサブシステムの関数コードに適用します。既定の設定
— 任意のモデルレベルの仕様を無効にして、サブシステムのシステム コードにメモリ セクションを適用しません。目的のメモリ セクション
— モデルのメモリ セクションの 1 つをサブシステムに適用します。
ヒント
入力可能な値は、モデル コンフィギュレーションに対してメモリ セクションのどのようなパッケージを設定しているのかによって異なります。Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)およびモデル コンフィギュレーション パラメーター: コード生成 (Simulink Coder)を参照してください。
パッケージを使用してモデルを構成していない場合、使用可能な値は
[モデルから継承]
のみです。そうでない場合、このリストには[既定の設定]
と、モデルのパッケージに含まれているすべてのメモリ セクションが表示されます。これらのオプションは、指定されたサブシステム モデルのメモリ セクションの設定を無効にする場合に利用できます。Atomic Subsystem にメモリ セクションを適用する方法の詳細は、Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)を参照してください。
依存関係
このパラメーターには Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルが必要です。
このパラメーターを有効にするには、[関数のパッケージ化] を
[再利用できない関数]
または[再利用可能な関数]
に設定します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RTWMemSecFuncExecute |
値: | 'Inherit from model' (既定値) | 'Default' | 'The memory section of interest' |
定数のメモリ セクション — メモリ セクションの適用方法
モデルから継承
(既定値) | 既定の設定
| 目的のメモリ セクション
サブシステムの定数へのメモリ セクションの適用方法を選択します。
モデルから継承
— ルート モデルのメモリ セクションをサブシステム データに適用します。既定の設定
— 任意のモデル レベルの仕様を無効にして、サブシステムのデータにメモリ セクションを適用しません。目的のメモリ セクション
— モデルのメモリ セクションの 1 つをサブシステムに適用します。
ヒント
指定したメモリ セクションが、生成されたコードの対応するグローバル データ構造体に適用されます。Atomic サブシステムに対して生成されるグローバル データ構造体の基本情報については、標準のデータ構造体 (Simulink Coder)を参照してください。
入力可能な値は、モデル コンフィギュレーションに対してメモリ セクションのどのようなパッケージを設定しているのかによって異なります。Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)を参照してください。
パッケージを使用してモデルを構成していない場合、使用可能な値は
[モデルから継承]
のみです。そうでない場合、このリストには[既定の設定]
と、モデルのパッケージに含まれているすべてのメモリ セクションが表示されます。これらのオプションは、指定されたサブシステム モデルのメモリ セクションの設定を無効にする場合に利用できます。Atomic Subsystem にメモリ セクションを適用する方法の詳細は、Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)を参照してください。
依存関係
このパラメーターには Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルが必要です。
このパラメーターを有効にするには、[関数のパッケージ化] を
[再利用できない関数]
に設定し、[別々のデータをもつ関数] パラメーターを選択します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RTWMemSecDataConstants |
値: | 'Inherit from model' (既定値) | 'Default' | 'The memory section of interest' |
内部データのメモリ セクション — メモリ セクションの適用方法
モデルから継承
(既定値) | 既定の設定
| 目的のメモリ セクション
サブシステムの内部データへのメモリ セクションの適用方法を選択します。
モデルから継承
— ルート モデルのメモリ セクションをサブシステム データに適用します。既定の設定
— 任意のモデル レベルの仕様を無効にして、サブシステムのデータにメモリ セクションを適用しません。目的のメモリ セクション
— モデルのメモリ セクションの 1 つをサブシステムに適用します。
ヒント
指定したメモリ セクションが、生成されたコードの対応するグローバル データ構造体に適用されます。Atomic サブシステムに対して生成されるグローバル データ構造体の基本情報については、標準のデータ構造体 (Simulink Coder)を参照してください。
入力可能な値は、モデル コンフィギュレーションに対してメモリ セクションのどのようなパッケージを設定しているのかによって異なります。Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)を参照してください。
パッケージを使用してモデルを構成していない場合、使用可能な値は
[モデルから継承]
のみです。そうでない場合、このリストには[既定の設定]
と、モデルのパッケージに含まれているすべてのメモリ セクションが表示されます。これらのオプションは、指定されたサブシステム モデルのメモリ セクションの設定を無効にする場合に利用できます。Atomic Subsystem にメモリ セクションを適用する方法の詳細は、Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)を参照してください。
依存関係
このパラメーターには Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルが必要です。
このパラメーターを有効にするには、[関数のパッケージ化] を
[再利用できない関数]
に設定し、[別々のデータをもつ関数] パラメーターを選択します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RTWMemSecDataInternal |
値: | 'Inherit from model' (既定値) | 'Default' | 'The memory section of interest' |
パラメーターのメモリ セクション — メモリ セクションの適用方法
モデルから継承
(既定値) | 既定の設定
| 目的のメモリ セクション
サブシステムのパラメーターへのメモリ セクションの適用方法を選択します。
モデルから継承
— ルート モデルのメモリ セクションをサブシステムの関数コードに適用します。既定の設定
— 任意のモデルレベルの仕様を無効にして、サブシステムのシステム コードにメモリ セクションを適用しません。目的のメモリ セクション
— モデルのメモリ セクションの 1 つをサブシステムに適用します。
ヒント
指定したメモリ セクションが、生成されたコードの対応するグローバル データ構造体に適用されます。Atomic サブシステムに対して生成されるグローバル データ構造体の基本情報については、標準のデータ構造体 (Simulink Coder)を参照してください。
入力可能な値は、モデル コンフィギュレーションに対してメモリ セクションのどのようなパッケージを設定しているのかによって異なります。Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)を参照してください。
パッケージを使用してモデルを構成していない場合、使用可能な値は
[モデルから継承]
のみです。そうでない場合、このリストには[既定の設定]
と、モデルのパッケージに含まれているすべてのメモリ セクションが表示されます。これらのオプションは、指定されたサブシステム モデルのメモリ セクションの設定を無効にする場合に利用できます。Atomic Subsystem にメモリ セクションを適用する方法の詳細は、Override Default Memory Placement for Subsystem Functions and Data (Embedded Coder)を参照してください。
依存関係
このパラメーターには Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルが必要です。
このパラメーターを有効にするには、[関数のパッケージ化] を
[再利用できない関数]
に設定し、[別々のデータをもつ関数] パラメーターを選択します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param
を使用します。
パラメーター: | RTWMemSecDataParameters |
値: | 'Inherit from model' (既定値) | 'Default' | 'The memory section of interest' |
ブロックの特性
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
実際のコード生成のサポートは、ブロックの実装に依存します。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
HDL コード生成をターゲットとするモデルで If Action Subsystem を使用する場合、以下を検討することをお勧めします。
If Action Subsystem の出力端子の初期出力値を指定します。Outport ブロックの出力値は次のいずれかの方法を使用して初期化できます。
Outport ブロックの [初期出力] ブロック パラメーターに数値を指定する。
Outport ブロックに接続されている入力信号から初期出力値を継承する。詳細については、条件付きサブシステムの初期出力値を参照してください。
HDL コード生成の場合、初期出力値を設定するための Outport ブロックへの有効な入力信号は次のとおりです。
別の条件付き実行サブシステムからの出力端子
Constant ブロック
アーキテクチャ | 説明 |
---|---|
Module (既定値) | サブシステムとそのサブシステム内のブロックのコードを生成します。 |
BlackBox | ブラック ボックス インターフェイスを生成します。生成された HDL コードには、サブシステムの入力/出力端子定義のみ含まれます。したがって、モデル内のサブシステムを使用して、手動作成された既存の HDL コードへのインターフェイスを生成できます。 サブシステムのブラックボックス インターフェイスの生成は、クロック信号を使用しない Model ブロック インターフェイスの生成と似ています。 |
| 生成されたコードからサブシステムを削除します。シミュレーションでサブシステムを使用できますが、HDL コード内では "ノーオペレーション" として扱います。 |
一般 | |
---|---|
AdaptivePipelining | 合成ツール、ターゲット周波数、乗算器の語長に基づくパイプラインの自動挿入。既定の設定は |
BalanceDelays | あるパスに新しい遅延が導入されたことを検出し、それに一致する遅延を他のパスに挿入します。既定の設定は |
ClockRatePipelining | パイプライン レジスタを低速のデータ レートではなく高速のクロック レートで挿入します。既定の設定は |
ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
DistributedPipelining | パイプライン レジスタの分散、またはレジスタのリタイミング。既定の設定は |
DSPStyle | 乗算器のマッピングの合成属性。既定の設定は |
FlattenHierarchy | 生成された HDL コードからサブシステム階層を削除します。既定の設定は |
InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
SharingFactor | 単一の共有リソースにマッピングされる、機能的に等価なリソースの数。既定の設定は 0 です。リソース共有 (HDL Coder)も参照してください。 |
StreamingFactor | 時間多重化されてシリアルのスカラー データ パスに変換される、パラレル データ パスの数、またはベクトルの数。既定値は 0 であり、パラレル データ パスがそのまま実装されます。ストリーミング (HDL Coder)も参照してください。 |
ターゲット仕様
このブロックは DUT にできないため、[ターゲット仕様] タブのブロック プロパティ設定は無視されます。
サブシステムの出力がバスの場合、出力端子の [初期出力] は 0 にする必要があります。
PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。
このブロックが For Each Subsystem ブロック内で使用されている場合、コード生成はサポートされません。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
実際のデータ型のサポートは、ブロックの実装に依存します。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)