主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

合成信号のタイプ

モデルの見た目の複雑さを減らすために,信号を合成信号に結合できます。合成信号に含まれる信号を"要素"と呼びます。要素はそれぞれ別のIDを保持しているため,合成信号からそれらを抽出できます。

合成信号の要素には,合成信号のタイプに応じて,名前またはインデックでアクセスできます。

  • 名前ベースの合成信号では,信号階層が可能で,これらの信号は“バス”と呼ばれます。

  • インデックスベースの合成信号は,段階的に作成したかどうかに関係なく,フラットです。すべての入力信号が同じデータ型をもつようにします。

信号を合成信号にグループ化する場合に,シミュレーションおよびコードの生成に影響するかどうかを決定できます。

  • “バーチャル”合成信号は2つ以上の信号線を1つの信号線に結合して,モデルの外観を簡素化します。バーチャル合成信号は機能的な意味ではグループ化されないため,シミュレーションやコードの生成には影響しません。バーチャル合成信号は,要素に直接アクセスすることで,シミュレーションや生成されたコードで非バーチャル合成信号よりも迅速に実行されます。

  • “非バーチャル”合成信号は,外観および機能的に信号をグループ化して,シミュレーションとコードの生成両方に影響します。

モデルは,これらの合成信号のタイプを組み合わせて使用できます。

合成信号の機能 名前ベースのアクセス インデックスベースのアクセス
外観のグループ化

バーチャルバス

Mux信号

機能のグループ化

非バーチャルバス

連結された信号

モデルをコンパイルした後,合成信号のタイプをラインスタイルで識別できます。合成信号のラインを作成するか、合成信号を含むモデルを開くと、合成信号はスカラー信号と同じライン スタイルで示されます。モデルをコンパイルして、合成信号のライン スタイルを表示するには、[モデル化)タブで[モデルの更新)を選択します。

コンパイル後の合成信号ラインスタイル 合成信号のタイプ
バーチャルバス
非バーチャルバス
(非スカラー信号)情報のオーバーレイが有効な場合のインデックスベースの合成信号
“バス配列”と呼ばれる)非バーチャルバスを含むインデックスベースの合成信号

バーチャルバス

モデルには,信号一个b,およびcを含むバーチャルバスが表示されます。

总线的创造者ブロックは,サブシステムまたはモデル内にバスを作成します。总线选择器ブロックは,バスの指定された要素を抽出します。

このモデルは,サブシステムの境界を通過する等価のバーチャルバスを示しています。

公共汽车元素ブロックは,サブシステムまたはモデルインターフェイスでバスを作成します。在公共汽车元素ブロックは,サブシステムまたはモデルインターフェイスでバスの指定された要素を抽出します。

バーチャルバスを使用してサンプル時間の異なるバス要素を含めることができます。

バーチャルバスのプロパティを定義するには,金宝app仿真软件。公共汽车オブジェクトのデータ型を指定するか,在公共汽车元素ブロックと公共汽车元素ブロックで要素の属性を指定します。

バーチャルバスを作成するには,バーチャルバスへの信号線のグループ化を参照してください。

非バーチャルバス

モデルには,信号一个b,およびcを含む非バーチャルバスが表示されます。

总线的创造者ブロックは,サブシステムまたはモデル内にバスを作成します。总线选择器ブロックは,バスの指定された要素を抽出します。

このモデルは,公共汽车元素ブロックと在公共汽车元素ブロックを使用してモデル参照の境界を通過する等価の非バーチャルバスを示しています。

非バーチャルバスは次の目的で使用できます。

  • バスデータを生成されたCコードの構造体としてパッケージ化。

  • バス配列の構成。

  • s函数を介した外部コードとのインターフェイス接続。

  • バスデータがMATLAB函数ブロックまたはStateflow®チャートの境界を越えるように設定。

  • 范围ブロックを含むバスを表示し,ログに記録。

非バーチャルバスのすべての要素は,同じサンプル時間を使用しなければなりません。率转换ブロックを使って個々の信号のサンプル時間,またはバス内のすべての信号のサンプル時間を変更することができます。

金宝app仿真软件。公共汽车オブジェクトデータ型では,非バーチャルにするバスを定義しなければなりません。(非バーチャルバスとして出力)などのブロックパラメーターを選択すると,バスは非バーチャルになります。バスを非バーチャルにすることを選択すると,シミュレーションとコード生成で公共汽车オブジェクトによって定義された構造体が適用されます。バスがバーチャルな場合,公共汽车オブジェクトはバスのプロパティのみを検証します。

バスのタイプによって,生成されたコードの効率性,サイズおよび可読性に大きな違いが生じる可能性があります。生成されたコードにバスを表示するには,バスは非バーチャルでなければなりません。生成されたコードにはバーチャルバスの要素だけが表示されます。

たとえば,バスは单位延迟ブロックを介して渡されるとします。簡単にするために,バスに含まれている要素は一个bcのみです。次の表は,生成されたコードでの非バーチャルバスの影響を示します。

生成コード バーチャルバス 非バーチャルバス

模型_types.hファイル

バーチャルバスには,型定義は必要ありません。

公共汽车オブジェクトは構造体として生成コードに表示されます。

typedef struct {real_T a;real_T b;real_T c;} BusObject;

模型. hファイル

生成コードは,バーチャルバスの要素につき1つの单位延迟ブロックを定義します。

typedef struct {real_T UnitDelay_1_DSTATE;/* '/单位延迟' */ real_T UnitDelay_2_DSTATE;/* '/单位延迟' */ real_T UnitDelay_3_DSTATE;/* '/单位延迟' */}DW_model_T;

生成コードではBusObject構造体を使用して,非バーチャルバスに対して1つの单位延迟ブロックが定義されます。

typedef struct{总线对象UnitDelay_DSTATE;/* '/单位延迟' */}DW_model_T;

非バーチャルバスを作成するには,非バーチャルバスの作成を参照してください。

バスを使用するモデルのコードを生成する場合は,バス信号の効率的なコードの生成(金宝app仿真软件编码器)を参照してください。非バーチャルバスのコードを生成すると、いくつかのバスの複数のコピーが生成される場合があります。

連結された信号

このモデルは,入力行列を並べて配置する連結された信号を示しています。

矩阵连接ブロックは,連結された信号を作成します。要素は,このブロックの設定方法に応じて,ベクトルまたは行列になります。选择器ブロックは,指定されたインデックスに基づいて信号を抽出します。抽出された信号は,入力信号とは異なる方法でグループ化できます。

連結された信号を数学演算で使用できます。

向量连接ブロックまたは矩阵连接ブロックで信号をグループ化するには,信号のデータ型が同じでなければなりません。データ型が公共汽车オブジェクトの場合,入力は非バーチャルバスでなければなりません。

連結された非バーチャルバスは,“バス配列”とも呼ばれます。バス配列では,すべての要素が,同じ公共汽车オブジェクトを使用してプロパティを指定する非バーチャルバスです。バス配列はMATLAB®の構造体の配列と同等です。バス配列を使用して,マルチチャネルシステムをモデル化することができます。すべてのチャネルは同じプロパティをもちますが、各チャネルの値は異なる場合があります。

このモデルでは,向量连接ブロックがバス配列を作成しています。

バス配列の詳細については,非バーチャルバスのバス配列へのグループ化を参照してください。

Mux信号

このモデルは3つの入力信号を並べて配置するMux信号を示しています。

Muxブロックは,Mux信号を作成します。多路分配器ブロックはすべての信号を抽出し,入力信号と異なる方法でグループ化できます。选择器ブロックは,指定されたインデックスに基づいて信号を抽出します。抽出された信号は,入力信号とは異なる方法でグループ化できます。

Mux信号を使用して,複数のベクトルに対して計算を実行できます。Muxブロックを使用して,関数呼び出しのベクトルを作成することもできます。

Muxブロックの入力信号は,スカラー,ベクトル,Mux信号の任意の組み合わせにできますが,データ型と数値型は同じでなければなりません。出力Muxの信号は,Muxブロックの入力信号と同じ順序で表示されます。段階的に複数のMuxブロックを使用してMux信号を作成できますが,単一のMuxブロックを使用するときと同様に結果はフラットになります。

関連するトピック