ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Subsystem、Atomic Subsystem、CodeReuse Subsystem

モデルの階層構造を作成するためのブロックのグループ化

  • ライブラリ:
  • Simulink / Ports & Subsystems

説明

Subsystem ブロックには、モデルまたはシステム内のブロックのサブセットが含まれています。Subsystem ブロックは、バーチャル サブシステムを表す場合も非バーチャル サブシステムを表す場合もあります。

  • 非バーチャル サブシステム – サブシステムの内容が単一のユニットとして評価される (アトミック実行) タイミングを制御します。トリガー、関数呼び出し、アクション、入力の有効化においてイベントが発生した場合にのみ実行される条件付き実行のサブシステムを作成します (条件付き実行サブシステムとモデルを参照してください)。

  • バーチャル サブシステム – サブシステムは条件付きで実行されることも、アトミックに実行されることもありません。バーチャル サブシステムにはチェックサムがありません。サブシステムがバーチャルかどうかを判断するには、関数 get_param を使用して boolean で表されるブロック パラメーター IsSubsystemVirtual を確認します。

Atomic サブシステムは、ブロック パラメーター [Atomic サブシステムとして扱う] が選択された Subsystem ブロックです。

CodeReuse サブシステムは、パラメーター [Atomic サブシステムとして扱う] が選択され、パラメーター [関数のパッケージ化][再利用可能な関数] に設定された Subsystem ブロックであり、サブシステムの関数コード生成形式を指定します。

サブシステムを作成するには、以下のいずれかを行います。

  • Ports & Subsystems ライブラリから Subsystem ブロックをモデルにコピーします。次に、Subsystem ブロックを開き、ブロックをその Subsystem ブロック内にコピーすることで、ブロックをサブシステムに追加します。

  • サブシステムを構成するすべてのブロックとラインを選択し、[ブロック線図][サブシステムとモデル参照][選択からサブシステムを作成] を選択します。Simulink® はそのブロックを Subsystem ブロックに置き換え、必要な Inport ブロックと Outport ブロックがそのサブシステムの入出力信号に反映されるようにします。

Subsystem ブロックのアイコン上に描画される入力端子の数は、サブシステム内の Inport ブロックの数に対応します。同様に、ブロック上に描画される出力端子の数は、サブシステム内の Outport ブロックの数に対応します。

Subsystem ブロックは、サブシステムの Inport ブロックと Outport ブロックを通じて信号ラベルの伝播をサポートします。

端子

入力

すべて展開する

Inport ブロックをサブシステム ブロック内に配置することで、ブロックへの外部入力端子が追加されます。端子ラベルは Inport ブロックの名前と一致します。

ローカル環境から信号を取得するには、Inport ブロックを使用します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

出力

すべて展開する

Outport ブロックをサブシステム ブロック内に配置することで、ブロックの出力端子が追加されます。サブシステム ブロック上の端子ラベルは Outport ブロックの名前です。

信号をローカル環境に送信するには、Outport ブロックを使用します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

パラメーター

すべて展開する

[コード生成] タブのパラメーターには、Simulink Coder™ または Embedded Coder® のライセンスが必要です。

メイン

Subsystem ブロック アイコンに端子ラベルを表示する方法を選択します。

なし

端子ラベルを表示しません。

[FromPortIcon]

対応する端子アイコン上に信号名が表示される場合、Subsystem ブロック上に信号名を表示します。それ以外の場合は、端子のブロック名を表示します。

[FromPortBlockName]

Subsystem ブロック上に対応する端子のブロック名を表示します。

[SignalName]

信号名が存在する場合、Subsystem ブロック上の端子に接続されている信号の名前を表示します。それ以外の場合は、対応する端子のブロック名を表示します。

プログラムでの使用

パラメーター: ShowPortLabels
: 文字ベクトル
: 'FromPortIcon' | 'FromPortBlockName' | 'SignalName'
既定の設定: 'FromPortIcon'

サブシステムの内容へのユーザー アクセスを制御します。

[ReadWrite]

サブシステムの内容を開き、修正することができます。

[ReadOnly]

サブシステムを開くことはできますが、修正することはできません。サブシステムがブロック ライブラリに存在する場合、サブシステムへのリンクを作成して開くことができます。また、サブシステムのローカル コピーを作成して変更することはできますが、アクセス許可や元のライブラリ インスタンスの内容を変更することはできません。

[NoReadOrWrite]

サブシステムを開くことも修正することもできません。サブシステムがライブラリに存在する場合、モデルにあるサブシステムのリンクを作成することはできますが、サブシステムを開いたり、アクセス許可を変更したり、サブシステムのローカル コピーを作成したりすることはできません。

プログラムでの使用

パラメーター: Permissions
: 文字ベクトル
: 'ReadWrite' | 'ReadOnly' | 'NoReadOrWrite'
既定の設定: 'ReadWrite'

Simulink によるサブシステムの実行中にエラーが発生した場合に呼び出される関数名を入力します。

Simulink により 2 つの引数が関数に渡されます。その引数は、サブシステムのハンドルと、エラー タイプを指定する文字ベクトルです。関数が指定されていない場合、サブシステムの実行によってエラーが発生すると、Simulink は一般的なエラー メッセージを表示します。

プログラムでの使用

パラメーター: ErrorFcn
: 文字ベクトル
: '' | '<function name>'
既定の設定: ''

このサブシステムによって参照されるワークスペース変数名を解決するかどうかを選択します。

詳細は、『Simulink ユーザー ガイド』の「記号の解釈」および「記号関連付けプロセス」を参照してください。

[すべて]

ブロック パラメーター値と Simulink データ オブジェクト (Simulink.Signal オブジェクトなど) の指定に使用されるワークスペース変数など、このサブシステムが使用するワークスペース変数のすべての名前を解決します。

明示的のみ

ブロックのパラメーター値、データ ストア メモリ (ここにはブロックは存在しません)、信号、"must resolve" というマークの付いた状態) を指定するために使用されるワークスペース変数名だけを解決します。

なし

ワークスペース変数名を解決しません。

プログラムでの使用

パラメーター: PermitHierarchicalResolution
: 文字ベクトル
: 'All' | 'ExplicitOnly' | 'None'
既定の設定: 'All'

ブロック メソッドの実行順序を決定するときに、Simulink でサブシステムをユニットとして扱います。

オフ

ブロック メソッドの実行順序を決める際に、サブシステム内のすべてのブロックを、モデルの階層構造内でサブシステムと同じ階層にあるものとして取り扱います。これは、サブシステム内のブロックのメソッドの実行が、サブシステム外のブロックのメソッドの実行にインターリーブする原因となります。

オン

ブロック メソッドの実行順序を決定するときに、サブシステムをユニットとして扱います。たとえば、サブシステムの出力を計算する必要がある場合、Simulink は、他のブロックの出力メソッドをサブシステム ブロックと同じレベルで実行する前に、サブシステムのすべてのブロックの出力メソッドを実行します。

依存関係

このパラメーターを選択すると、[代数ループの発生の最小化] パラメーター、[サンプル時間] パラメーター、[名前を付けてスケジュール] パラメーター、および [関数のパッケージ化] パラメーターが有効になります。[関数のパッケージ化] を使用するには Simulink Coder のライセンスが必要です。

プログラムでの使用

パラメーター: TreatAsAtomicUnit
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

Atomic Subsystem を含むすべての人為的な代数ループを解消しようとします。

オフ

Atomic Subsystem を含むすべての人為的な代数ループを解消しません。

オン

Atomic Subsystem を含むすべての人為的な代数ループを解消しようとします。

依存関係

このパラメーターを有効にするには、[Atomic サブシステムとして扱う] パラメーターをオンにします。

プログラムでの使用

パラメーター: MinAlgLoopOccurrences
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

サブシステムをスケジューリングする方法を指定します。

サンプル時間

このサブシステムのすべてのブロックを同じレートで実行すべきか、異なるレートで実行できるかどうかを指定します。

周期的分割

サブシステムを周期的分割としてスケジューリングします。分割の名前と、分割を実行するレートに対応するサンプル時間を指定します。

非周期的分割

サブシステムを非周期的分割としてスケジューリングします。分割の名前を指定します。

依存関係

このパラメーターを有効にするには、[Atomic サブシステムとして扱う] パラメーターをオンにします。

プログラムでの使用

パラメーター: ScheduleAs
: 文字ベクトル
: 'SampleTime' | 'DiscretePartition' 'UnconstrainedPartition'
既定の設定: 'SampleTime'

サブシステムの分割の名前を指定します。

依存関係

このパラメーターを有効にするには、[Atomic サブシステムとして扱う] パラメーターを選択し、[名前を付けてスケジュール][離散分割] または [制約なしの分割] に設定します。

プログラムでの使用

パラメーター: PartitionName
: 文字ベクトル
: character vector |
既定の設定: character vector

このサブシステムのすべてのブロックを同じレートで実行すべきか、異なるレートで実行できるかどうかを指定します。

  • サブシステム内のブロックが異なるレートで実行できる場合、サブシステムのサンプル時間を継承 (-1) に指定します。

  • すべてのブロックを同じレートで実行しなければならない場合、[サンプル時間] パラメーターの値として、このレートに相当するサンプル時間を指定します。

  • サブシステム内の任意のブロックで異なるサンプル時間 (-1 または inf 以外) が指定されていると、Simulink は、モデルを更新またはシミュレートするときにエラー メッセージを表示します。たとえば、サブシステム内のすべてのブロックが 1 秒につき 5 回実行する必要があるとします。これを確実にするには、サブシステムのサンプル時間を 0.2 に指定します。この例では、サブシステム内の任意のブロックで 0.2-1 または inf 以外のサンプル時間が指定されると、Simulink は、モデルを更新またはシミュレートするときにエラーを表示します。

-1

継承サンプル時間を指定します。サブシステム内のブロックが異なるレートで実行できる場合、このサンプル時間を使用します。

[Ts 0]

周期的なサンプル時間を指定します。

依存関係

このパラメーターを有効にするには、[Atomic サブシステムとして扱う] パラメーターをオンにします。

プログラムでの使用

パラメーター: SystemSampleTime
: 文字ベクトル
: '-1' | '[Ts 0]'
既定の設定: '-1'

このサブシステムの境界を超えて実行コンテキストの伝播が可能になります。

オフ

このサブシステムの境界を超えて実行コンテキストの伝播はできません。

オン

このサブシステムの境界を超えて実行コンテキストの伝播が可能になります。

依存関係

Enable 端子または Trigger 端子ブロックを Subsystem ブロックに追加することで、このパラメーターを有効にします。

プログラムでの使用

パラメーター: PropExecContextOutsideSubsystem
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

式が true と評価された場合にバリアント Simulink Function ブロックを実行するバリアント制御 (条件) 式を指定します。

Simulink.Variantも参照してください。

Variant

論理 (boolean) 式の既定の名前。

論理式

論理式を表す論理 (boolean) 式または Simulink.Variant オブジェクト。

関数は、式が true に評価される場合に有効になります。

モデルのコードを生成する場合、式の変数を Simulink.Parameter オブジェクトとして定義します。

依存関係

Subsystem ブロックを Variant Subsystem ブロック内に追加することで、このパラメーターを有効にします。

プログラムでの使用

ブロック パラメーター: VariantControl
型: 文字ベクトル
値: 'Variant' | '<logical expression>'
既定の設定: 'Variant'

Simulink は、バリアント条件を Variant Source ブロックからまたは Variant Sink ブロックに伝播するときにサブシステムをユニットとして処理します。

オン

Simulink は、バリアント条件を Variant Source ブロックからまたは Variant Sink ブロックに伝播するときにサブシステムをユニットとして処理します。たとえば、Simulink ではサブシステムのバリアント条件を計算するときに、その条件をサブシステム内のすべてのブロックに伝播します。

オフ

バリアント条件を決める際に、Simulink はサブシステム内のすべてのブロックを、モデルの階層構造内でサブシステムそのものと同じ階層にあるものとして取り扱います。

プログラムでの使用

パラメーター: TreatAsGroupedWhenPropagatingVariantConditions
: 文字ベクトル
: 'on' | 'off'
既定の設定: 'on'

コード生成

atomic (非バーチャル) サブシステムに対して生成されるコード形式を選択します。

Auto

Simulink Coder と Embedded Coder は、モデル内に存在するサブシステムのインスタンスのタイプと数に基づいて、最適な形式を選択します。

インライン

Simulink Coder と Embedded Coder は、無条件にサブシステムをインライン化します。

再利用できない関数

[ファイル名オプション][自動] に設定されている場合、Simulink Coder と Embedded Coder は、モデル ファイル内に個別の関数をパッケージ化します。[ファイル名オプション] が別のファイル名を使用する [サブシステム名を使用][関数名を使用]、または [ユーザー指定] に設定されている場合、Simulink Coder と Embedded Coder は、別々のファイルに個々の関数をパッケージ化します。

このように設定されたサブシステムは、関数インターフェイス, Function interface関数インターフェイスFunction interfaceパラメーターの設定に基づく引数をもつ関数を生成します。生成された関数とファイルは、関数名, Function name関数名Function nameおよびファイル名 (拡張子なし), File name (no extension)ファイル名 (拡張子なし)File name (no extension)パラメーターを使用して名前を付けることができます。これらの関数は再呼び出し可能ではありません。

再利用可能な関数

Simulink Coder と Embedded Coder は、モデルが複数のサブシステムのインスタンスを含む場合、サブシステムのコードの再利用を可能にする引数をもつ関数を生成します。

このオプションは、参照モデル全体にわたりサブシステムの複数のインスタンスを含むモデル参照階層の生成コードで、サブシステム コードの再利用を可能とする引数をもつ関数も生成します。この場合、サブシステムはライブラリに含まれていなければなりません。

ヒント

  • サブシステムの複数のインスタンスを 1 つの再利用が可能な関数として表す場合、それぞれ 自動 または [再利用可能な関数] として指定できます。それらのどちらか一方を使用するのが最適です。両方を使用すると、各指定につき 1 つずつ、2 つの再利用可能な関数が作成されます。これらの選択の結果は、再利用が不可能な場合にのみ異なります。自動 を選択しても、サブシステム コードの関数やファイル名は制御できません。

  • [再利用可能な関数]自動 のオプションは両方とも、サブシステムのインスタンスが複数存在するかどうかと、コードが再利用可能かどうかを判定しようとします。再利用が不可能な場合、以下のようにオプションの動作はそれぞれ異なります。

    • [自動] はインライン化されたコードを生成し、インライン化が禁止されている場合は、サブシステムのインスタンスごとに別の関数を生成します。

    • [再利用可能な関数] はモデル内のサブシステムのインスタンスごとに、引数をもつ別の関数を生成します。

  • 生成コードがソース管理下にある場合に [再利用可能な関数] を選択する場合は、[ファイル名オプション]サブシステム名を使用[関数名を使用]ユーザー指定 のいずれかに設定してください。この設定を行わないと、モデルを変更するたびにコード ファイルの名前が変更され、ファイルのソース管理ができません。

依存関係

  • このパラメーターには、コード生成用に Simulink Coder が必要です。

  • このパラメーターを有効にするには、[Atomic サブシステムとして扱う] をオンにします。

  • このパラメーターを [再利用できない関数] または [再利用可能な関数] に設定すると、以下のパラメーターが表示されます。

    • 関数名オプション

    • ファイル名オプション

    • 初期化/終了関数のメモリ セクション (Embedded Coder のライセンスおよび ERT ベースのシステム ターゲット ファイルが必要)

    • 実行関数のメモリ セクション (Embedded Coder のライセンスおよび ERT ベースのシステム ターゲット ファイルが必要)

  • このパラメーターを [再利用できない関数] に設定すると、[別々のデータをもつ関数] が有効になります (Embedded Coder のライセンスおよび ERT ベースのシステム ターゲット ファイルが必要)。

プログラムでの使用

パラメーター: RTWSystemCode
: 文字ベクトル
: 'Auto' | 'Inline' | 'Nonreusable function' | 'Reusable function'
既定の設定: 'Auto'

参考

Simulink Coder がサブシステム用に生成する関数に名前を付ける方法を選択します。

Embedded Coder ライセンスをお持ちの場合、コンフィギュレーション パラメーターの [コード生成][シンボル] ペインのオプションで関数名を制御できます。

Auto

既定の名前付けの規則、model_subsystem() を使用して一意の関数名を割り当てます。ここで model はモデルの名前であり、subsystem はサブシステムの名前 (または、コードが再使用される場合に同一のものの名前) です。

[関数のパッケージ化] パラメーターに [再利用可能な関数] を選択し、モデル参照階層に再利用可能なサブシステムのインスタンスが複数ある場合に、サブシステムで再利用可能なコードを生成するには、[関数名オプション]自動 に設定しなければなりません。

サブシステム名を使用

関数名にサブシステム名を使用します。既定では、関数名は命名規則 model_subsystem を使用します。

メモ

サブシステムがライブラリ ブロックにあり、そのサブシステムのパラメーター関数のパッケージ化, Function packaging関数のパッケージ化Function packaging[再利用可能な関数] に設定されている場合、[サブシステム名を使用] オプションを設定すると、コード ジェネレーターはそのサブシステムの関数名とファイル名に対してライブラリ ブロックの名前を使用します。

ユーザー指定

[関数名] フィールドが有効になります。有効な C または C++ 関数名 (固有でなければならない) を入力します。

依存関係

  • このパラメーターには Simulink Coder のライセンスが必要です。

  • [コード生成関数のパッケージ化] を [再利用できない関数] または [再利用可能な関数] に設定すると、このパラメーターが有効になります。

  • このパラメーターを [ユーザー指定] に設定すると、[コード生成関数名] パラメーターが有効になります。

プログラムでの使用

パラメーター: RTWFcnNameOpts
: 文字ベクトル
: 'Auto' | 'Use subsystem name' | 'User specified'
既定の設定: 'Auto'

参考

詳細については、サブシステム用の関数の生成を制御 (Simulink Coder)を参照してください。

サブシステム コードに対して、一意で有効な C または C++ 関数名を指定します。

Simulink Coder コード ジェネレーターで自動生成された名前を割り当てたり、サブシステム名を使用したりする代わりに、関数に特定の名前を割り当てるには、このパラメーターを使用します。詳細については、サブシステム用の関数の生成を制御 (Simulink Coder)を参照してください。

依存関係

  • このパラメーターには Simulink Coder のライセンスが必要です。

  • このパラメーターを有効にするには、[関数名オプション] パラメーターを [ユーザー指定] に設定します。

プログラムでの使用

パラメーター: RTWFcnName
: 文字ベクトル
: '' | '<function name>'
既定の設定: ''

Simulink Coder がサブシステムに対して生成する関数の個々のファイルに名前を付ける方法を選択します。

ブロック固有のパラメーターを参照してください。

Auto

サブシステムの構成およびモデルにあるインスタンスの数によって、自動 は異なる結果を返します。

  • コード ジェネレーターがサブシステムに個別のファイルを "生成しない" 場合、サブシステムの親システムから生成されたコード モジュール内で、サブシステム コードが生成されます。サブシステムの親がモデル自体の場合、サブシステム コードは model.c または model.cpp 内で生成されます。

  • [関数のパッケージ化] パラメーターに [再利用可能な関数] を選択し、生成コードがソース管理下にある場合、[ファイル名オプション]自動 以外の値を指定することを検討してください。これにより、関係のないモデル変更によって生成されたファイル名が変更されるのを防止できます。これは、ソース管理を使用して構成を管理する場合に問題となる点です。

  • [関数のパッケージ化] パラメーターに [再利用可能な関数] を選択し、モデル参照階層に再利用可能なサブシステムのインスタンスが複数ある場合、サブシステムで再利用可能なコードを生成するには、[ファイル名オプション]自動 に設定しなければなりません。

サブシステム名を使用

コード ジェネレーターは、サブシステム (またはライブラリ ブロック) 名をファイル名として使用して、別のファイルを生成します。

メモ

[ファイル名オプション][サブシステム名を使用] に設定すると、モデルに Model ブロックが含まれている場合、またはモデルのモデル参照ターゲットが生成されている場合に、サブシステムのファイル名はマングルされます。これらの状況で、サブシステムのファイル名はモデル名を前置したサブシステムの名前で構成されます。

関数名を使用

コード ジェネレーターは [関数名オプション] により指定される関数名をファイル名として使用します。

ユーザー指定

このオプションは [ファイル名 (拡張子なし)] テキスト入力フィールドを有効にします。コード ジェネレーターは入力された名前をファイル名として使用します。任意のファイル名を入力しますが、.c.cpp (などの) 拡張子は含めないでください。このファイル名は、固有でなくても構いません。

メモ

サブシステムのソース ファイル名は固有でなくても構いませんが、循環依存状態となる非固有名を付けるのは避けなければなりません (sys_a.hsys_b.h を含み、sys_b.hsys_c.h を含み、sys_c.hsys_a.h を含むなど)。

依存関係

  • このパラメーターには Simulink Coder のライセンスが必要です。

  • このパラメーターを有効にするには、[関数のパッケージ化][再利用できない関数] または [再利用可能な関数] に設定します。

  • このパラメーターを [ユーザー指定] に設定すると、[ファイル名 (拡張子なし)] パラメーターが有効になります。

プログラムでの使用

パラメーター: RTWFileNameOpts
: 文字ベクトル
: 'Auto' | 'Use subsystem name' | 'Use function name' | 'User specified'
既定の設定: 'Auto'

指定するファイル名は、一意である必要はありません。ただし、循環的な依存状態 (たとえば、sys_a.hsys_b.h を含み、sys_b.hsys_c.h を含み、sys_c.hsys_a.h を含む) になるような一意でない名前を付けることは避けてください。

詳細については、サブシステム用の関数の生成を制御 (Simulink Coder)を参照してください。

依存関係

  • このパラメーターには Simulink Coder のライセンスが必要です。

  • このパラメーターを有効にするには、[ファイル名オプション]User specified に設定します。

プログラムでの使用

パラメーター: RTWFileName
: 文字ベクトル
: '' | '<file name>'
既定の設定: ''

Atomic Subsystem 用の内部データが親モデルから分離され、サブシステムに所有されているサブシステムの関数コードを生成します。

オフ

Atomic Subsystem 用の内部データが親モデルから分離され、サブシステムに所有されているサブシステムの関数コードを生成しません。

オン

Atomic Subsystem 用の内部データが親モデルから分離され、サブシステムに所有されているサブシステムの関数コードを生成します。サブシステムのデータ構造は、親モデルのデータ構造とは別に宣言されます。個別のデータをもつサブシステムは、独自のブロック I/O と DWork データ構造対をもちます。結果として、サブシステムに対して生成されたコードの方が、追跡とテストが容易になります。また、データを分離すると、データが複数のデータ構造に分割されるため、モデル全体のデータ構造の最大サイズが小さくなる傾向があります。

依存関係

  • このパラメーターは Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルを必要とします。

  • このパラメーターを有効にするには、[関数のパッケージ化][再利用できない関数] に設定します。

  • このパラメーターを選択すると以下のパラメーターが有効になります。

    • 定数のメモリ セクション

    • 内部データのメモリ セクション

    • パラメーターのメモリ セクション

プログラムでの使用

パラメーター: FunctionWithSeparateData
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

参考

生成される関数で引数を使用することを選択します。

void_void

引数をもたない関数を生成し、グローバル変数でデータを渡します。例:

void subsystem_function(void)

引数を許可

グローバル変数でデータを渡さずに引数を使用する関数を生成します。これを指定すると、グローバル RAM が節約されます。これにより、コード サイズが削減され、実行速度が改善されます。また、コード ジェネレーターによりさらなる最適化が行われます。例:

void subsystem_function(real_T rtu_In1, real_T rtu_In2, 
                        real_T *rty_Out1)

依存関係

  • このパラメーターには Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルが必要です。

  • このパラメーターを有効にするには、[関数のパッケージ化][再利用できない関数] に設定します。

プログラムでの使用

パラメーター: FunctionInterfaceSpec
: 文字ベクトル
: 'void_void' | 'Allow arguments'
既定の設定: 'void_void'

参考

Embedded Coder におけるサブシステムの初期化および終了関数へのメモリ セクションの適用方法を選択します。

モデルから継承

ルート モデルのメモリ セクションをサブシステムの関数コードに適用します。

既定の設定

任意のモデルレベルの仕様を無効にして、サブシステムのシステム コードにメモリ セクションを適用しません。

目的のメモリ セクション

モデルのメモリ セクションの 1 つをサブシステムに適用します。

ヒント

  • 入力可能な値は、モデルのコンフィギュレーションに対してメモリ セクションを設定するかどうか、どのようにパッケージを設定するかによって異なります。Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)およびモデル コンフィギュレーション パラメーター: コード生成 (Simulink Coder)を参照してください。

  • パッケージを使用してモデルを構成していない場合、モデルから継承 のみが値として表示されます。そうでない場合、このリストには既定の設定と、モデルのパッケージに含まれているすべてのメモリ セクションが表示されます。

  • これらのオプションは、指定されたサブシステム モデルのメモリ セクションの設定を無効にする場合に利用できます。

依存関係

  • このパラメーターは Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルを必要とします。

  • このパラメーターを有効にするには、[関数のパッケージ化][再利用できない関数] または [再利用可能な関数] に設定します。

プログラムでの使用

パラメーター: RTWMemSecFuncInitTerm
: 文字ベクトル
: 'Inherit from model' | 'Default' | 'The memory section of interest'
既定の設定: 'Inherit from model'

参考

Embedded Coder におけるサブシステムの実行関数へのメモリ セクションの適用方法を選択します。

モデルから継承

ルート モデルのメモリ セクションをサブシステムの関数コードに適用します。

既定の設定

任意のモデルレベルの仕様を無効にして、サブシステムのシステム コードにメモリ セクションを適用しません。

目的のメモリ セクション

モデルのメモリ セクションの 1 つをサブシステムに適用します。

ヒント

  • 入力可能な値は、モデルのコンフィギュレーションに対してメモリ セクションを設定するかどうか、どのようにパッケージを設定するかによって異なります。Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)およびモデル コンフィギュレーション パラメーター: コード生成 (Simulink Coder)を参照してください。

  • パッケージを使用してモデルを構成していない場合、モデルから継承 のみが値として表示されます。そうでない場合、このリストには既定の設定と、モデルのパッケージに含まれているすべてのメモリ セクションが表示されます。

  • これらのオプションは、指定されたサブシステム モデルのメモリ セクションの設定を無効にする場合に利用できます。

依存関係

  • このパラメーターは Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルを必要とします。

  • このパラメーターを有効にするには、[関数のパッケージ化][再利用できない関数] または [再利用可能な関数] に設定します。

プログラムでの使用

パラメーター: RTWMemSecFuncExecute
: 文字ベクトル
: 'Inherit from model' | 'Default' | 'The memory section of interest'
既定の設定: 'Inherit from model'

参考

Embedded Coder におけるサブシステムの定数へのメモリ セクションの適用方法を選択します。

モデルから継承

ルート モデルのメモリ セクションをサブシステム データに適用します。

既定の設定

任意のモデル レベルの仕様を無効にして、サブシステムのシステムのデータにメモリ セクションを適用しません。

目的のメモリ セクション

モデルのメモリ セクションの 1 つをサブシステムに適用します。

ヒント

  • 指定したメモリ セクションが、生成されたコードの対応するグローバル データ構造体に適用されます。Atomic サブシステムに対して生成されるグローバル データ構造体の基本情報については、生成されたコードにおける標準のデータ構造体 (Simulink Coder)を参照してください。

  • 指定されたサブシステムに対してモデルのメモリ セクションの設定を無効にする場合に利用できます。

  • 入力可能な値は、モデルのコンフィギュレーションに対してメモリ セクションを設定するかどうか、どのようにパッケージを設定するかによって異なります。Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)を参照してください。

  • パッケージを使用してモデルを構成していない場合、モデルから継承 のみが値として表示されます。そうでない場合、このリストには既定の設定と、モデルのパッケージに含まれているすべてのメモリ セクションが表示されます。

依存関係

  • このパラメーターは Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルを必要とします。

  • このパラメーターを有効にするには、[関数のパッケージ化][再利用できない関数] に設定し、[別々のデータをもつ関数] パラメーターを選択します。

プログラムでの使用

パラメーター: RTWMemSecDataConstants
: 文字ベクトル
: 'Inherit from model' | 'Default' | 'The memory section of interest'
既定の設定: 'Inherit from model'

参考

Embedded Coder におけるサブシステムの内部データへのメモリ セクションの適用方法を選択します。

モデルから継承

ルート モデルのメモリ セクションをサブシステム データに適用します。

既定の設定

任意のモデル レベルの仕様を無効にして、サブシステムのシステムのデータにメモリ セクションを適用しません。

目的のメモリ セクション

モデルのメモリ セクションの 1 つをサブシステムに適用します。

ヒント

  • 指定したメモリ セクションが、生成されたコードの対応するグローバル データ構造体に適用されます。Atomic サブシステムに対して生成されるグローバル データ構造体の基本情報については、生成されたコードにおける標準のデータ構造体 (Simulink Coder)を参照してください。

  • 指定されたサブシステムに対してモデルのメモリ セクションの設定を無効にする場合に利用できます。

  • 入力可能な値は、モデルのコンフィギュレーションに対してメモリ セクションを設定するかどうか、どのようにパッケージを設定するかによって異なります。Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)を参照してください。

  • パッケージを使用してモデルを構成していない場合、モデルから継承 のみが値として表示されます。そうでない場合、このリストには既定の設定と、モデルのパッケージに含まれているすべてのメモリ セクションが表示されます。

依存関係

  • このパラメーターは Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルを必要とします。

  • このパラメーターを有効にするには、[関数のパッケージ化][再利用できない関数] に設定し、[別々のデータをもつ関数] パラメーターを選択します。

プログラムでの使用

パラメーター: RTWMemSecDataInternal
: 文字ベクトル
: 'Inherit from model' | 'Default' | 'The memory section of interest'
既定の設定: 'Inherit from model'

参考

Embedded Coder におけるサブシステムのパラメーターへのメモリ セクションの適用方法を選択します。

モデルから継承

ルート モデルのメモリ セクションをサブシステムの関数コードに適用します。

既定の設定

任意のモデル レベルの仕様を無効にして、サブシステムのシステム コードにメモリ セクションを適用しません。

目的のメモリ セクション

モデルのメモリ セクションの 1 つをサブシステムに適用します。

ヒント

  • 指定したメモリ セクションが、生成されたコードの対応するグローバル データ構造体に適用されます。Atomic サブシステムに対して生成されるグローバル データ構造体の基本情報については、生成されたコードにおける標準のデータ構造体 (Simulink Coder)を参照してください。

  • 指定されたサブシステムに対してモデルのメモリ セクションの設定を無効にする場合に利用できます。

  • 入力可能な値は、モデルのコンフィギュレーションに対してメモリ セクションを設定するかどうか、どのようにパッケージを設定するかによって異なります。Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder)を参照してください。

  • パッケージを使用してモデルを構成していない場合、モデルから継承 のみが値として表示されます。そうでない場合、このリストには既定の設定と、モデルのパッケージに含まれているすべてのメモリ セクションが表示されます。

依存関係

  • このパラメーターは Embedded Coder のライセンスと ERT ベースのシステム ターゲット ファイルを必要とします。

  • このパラメーターを有効にするには、[関数のパッケージ化][再利用できない関数] に設定し、[別々のデータをもつ関数] パラメーターを選択します。

プログラムでの使用

パラメーター: RTWMemSecDataParameters
: 文字ベクトル
: 'Inherit from model' | 'Default' | 'The memory section of interest'
既定の設定: 'Inherit from model'

参考

ブロックの特性

データ型

Boolean[a] | bus[a] | double[a] | enumerated[a] | fixed point[a] | integer[a] | single[a] | string[a]

直接フィードスルー

いいえ

多次元信号

限定的[a]

可変サイズの信号

限定的[a]

ゼロクロッシング検出

いいえ

[a] 実際のデータ型または機能のサポートは、ブロックの実装に依存します。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

R2007a で導入