Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Environment Controller

(削除済み) シミュレーションのみ、またはコード生成のみに適用される分岐をブロック線図に作成

Environment Controller ブロックは削除されました。代わりに、Variant Source ブロックを使用してください。詳細については、バージョン履歴を参照してください。

  • Environment Controller block

ライブラリ:
Simulink / Signal Routing

説明

Environment Controller ブロックは、このブロックを含んでいるモデルがシミュレートされる場合のみ、Sim 端子に信号を出力します。モデルからコードが生成される場合のみ、Coder 端子に信号を出力します。このオプションによって、シミュレーションのみ、またはコード生成のみに適用される分岐をブロック線図に作成できるようになります。次の表は、Sim 端子または Coder 端子が適用されるさまざまなシナリオを示しています。

シナリオ出力
ノーマル モード シミュレーションSim
アクセラレータ モード シミュレーションSim
ラピッド アクセラレータ モード シミュレーションSim
参照モデルのノーマル モードまたはアクセラレータ モードのシミュレーションSim
参照モデルのプロセッサ イン ザ ループ (PIL) モードのシミュレーションCoder
(参照モデル用に生成されたコードと同じコードを使用)
エクスターナル モード シミュレーションCoder
標準コード生成Coder
参照モデルのコード生成Coder

Simulink® Coder™ ソフトウェアは、以下の条件が成り立つ場合に、Sim 端子に接続されるブロックのコードを生成しません。

  • [コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成]、[最適化] ペインで、[既定のパラメーター動作][インライン] に設定します。

  • Sim 端子に接続されたブロックに外部信号がない。

  • Sim 端子の入力パスに S-Function または Interpreted MATLAB Function ブロックが含まれていない。

ブロックを減らす最適化が可能である場合、Simulink は、シミュレーションのためにモデルをコンパイルするときに、Coder 端子に接続される分岐のブロックを削減します。詳細については、Block reductionを参照してください。

メモ

Simulink Coder のコード生成では、シミュレーションの分岐がコード生成の分岐と同じ次元の信号をもつ場合に限り、シミュレーションの分岐に接続されたブロックを削除します。Simulink Coder は、シミュレーションの分岐を削除するかどうかにかかわらず、生成コードの基本的なサンプル時間を決定するために、コード生成の分岐と同様、シミュレーションの分岐のサンプル時間を使用します。シミュレーションの分岐に指定されたサンプル時間に対してのみ適用するサンプル時間ハンドリング コードを生成する場合もあります。

端子

入力

すべて展開する

シミュレーションの入力値。スカラー、ベクトルまたは行列として指定します。入力信号は Coder 端子への入力と同じ幅をもたなければなりません。

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

コード生成の入力値。スカラー、ベクトルまたは行列として指定します。入力信号は、Sim 端子への入力と同じ幅をもたなければなりません。

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

出力

すべて展開する

Sim または Coder 入力端子からの値。現在の環境によって異なります。さまざまなシミュレーションおよびコード生成モードにおけるブロックの出力内容の詳細については、説明を参照してください。

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

ブロックの特性

データ型

Boolean | bus | double | enumerated | fixed point | half | integer | single

直達

いいえ

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

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

バージョン履歴

R2006a より前に導入

すべて折りたたむ

R2021b: 削除された Environment Controller ブロック

Environment Controller ブロックは Signal Routing ライブラリから削除されました。このブロックを使用する既存のモデルは引き続き動作しますが、警告が出ます。代わりに、[バリアント制御モード] パラメーターが sim codegen switching に設定された Variant Source ブロックを使用します。モデル アドバイザーまたはアップグレード アドバイザーを使用して Environment Controller ブロックのすべてのインスタンスを自動的に特定し、Variant Source ブロックに置き換えることができます。モデル アドバイザー チェックの詳細については、Identify Environment Controller Blocks and Replace Them with Variant Source Blocksを参照してください。

バリアント ブロックは、Environment Controller ブロックに比べて以下の利点があります。

  • [バリアント制御モード] パラメーターが sim codegen switching に設定された Variant Source ブロックを使用すると、シミュレーション ワークフローとコード生成ワークフローを自動的に切り替えることができます。このモードで、Variant Source ブロックは以下のアクティベーションのタイミングをサポートします。

    バリアントのアクティベーションのタイミング動作
    update diagram

    Simulink は、信号属性を伝播する前に、ブロック線図の更新中にアクティブな選択肢を設定します。非アクティブな選択肢は信号属性の伝播の前に削除されるため、生成されたコードにはアクティブな選択肢のみが含まれます。

    update diagram analyze all choicesSimulink は、信号属性を伝播した後に、ブロック線図の更新中にアクティブな選択肢を設定します。信号属性は、アクティブな選択肢と非アクティブな選択肢の両方に伝播され、一貫性がチェックされます。非アクティブな選択肢は、ブロック線図の更新の最後に、モデルの開始が発生する前に削除されます。生成されたコードには、アクティブな選択肢のみが含まれます。

  • Variant Sink ブロックにより、出力側 (信号の送信先) で分岐できます。

  • バリアント ブロックは、シミュレーションおよびコード生成中にアクティブなバリアントの選択肢のパスを強調表示します。

  • Variant Source ブロックは、Environment Controller ブロックに比べて最適なコード生成を提供します。Environment Controller ブロックでは、生成されたコードで Sim 端子に接続されているブロックを保持できます。

  • バリアント ブロックは、バリアント マネージャー ツールを使用して一元管理できます。このツールは、以下の重要な機能を提供します。

    • バリアントのモデルの階層構造を可視化します。

    • モデルに対する複数のバリアント コンフィギュレーションを定義および検証します。

    • バリアント リデューサー ツールを使用してバリアント コンフィギュレーションの簡略化モデルを生成します。[バリアント制御モード] パラメーターが sim codegen switching に設定されたバリアント ブロックの場合は、削減されたモデルでシミュレーションの分岐またはコード生成分岐を保持することを選択できます。

    • バリアント コンフィギュレーション解析ツールを使用してバリアント コンフィギュレーションを比較します。

    詳細については、Variant Manager for Simulinkを参照してください。