主要内容

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

非バーチャルバスの作成

非バーチャルバスはCコードの構造体に似ています。非バーチャルバスは次の目的で使用します。

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

  • バス配列の構成。

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

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

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

非バーチャルバスは金宝app仿真软件。公共汽车オブジェクトデータ型でなければなりません。非バーチャルバスを含むモデルをシミュレーションするには,参照公共汽车オブジェクトがベースワークスペースまたはモデルで使用されるデータディクショナリになければなりません。詳細については,金宝app仿真软件。公共汽车オブジェクトデータ型でのバス プロパティの指定を参照してください。

非バーチャルバスでは,バスの要素がすべて同じサンプル時間をもつことも必要です。詳細については,非バーチャルバスのサンプル時間の変更を参照してください。

非バーチャルバスを作成する方法は,バスの場所と,バスを作成するブロックによって異なります。

基本ステップに集中するために,これらの例はシンプルです。ただし,バスは,多くの信号を結合する場合に最も役立ちます。

非バーチャルバスのコンポーネント内での作成

总线创造者ブロックを使用して,非バーチャルバスをコンポーネント内に作成できます。

モデル例を開いてコンパイルします。このモデル例では总线创造者ブロックを使用してバーチャルバスの階層を作成します。モデルをコンパイルするには,金宝app仿真软件ツールストリップの[モデル化)タブで,[モデルの更新)または[実行]をクリックします。モデルをコンパイルするとラインスタイルが更新されます。このラインスタイルは,バスを視覚的に識別するのに使用できます。

このモデルの作成については,コンポーネント内の信号線のグループ化を参照してください。

このモデルのバーチャルバスは金宝app仿真软件。公共汽车オブジェクトで定義されていません。总线的创造者ブロックの出力を非バーチャル バスに変更するには、バスの階層と一致する公共汽车オブジェクトがなければなりません。

TopBusおよびNestedBusに対応する公共汽车オブジェクトを作成するには,関数金宝appSimulink.Bus.createObjectを使用します。MATLABコマンド ウィンドウで次を入力します。

金宝appSimulink.Bus.createObject(“NonvirtualBusCreationModel”,…“NonvirtualBusCreationModel /总线Creator1”);

この関数は,指定されたブロックの出力バスに対応する公共汽车オブジェクトを作成します。入れ子にされたバスが出力バスに含まれている場合,関数は入れ子にされたバスに対応する公共汽车オブジェクトも作成します。この例では,関数は対応するバスTopBusNestedBusの名前が付いた2つの公共汽车オブジェクトを作成します。

公共汽车オブジェクトを表示するには,[バスエディター]を開きます。MATLABコマンドウィンドウで次を入力します。

buseditor

作成する非バーチャルバスに対応する公共汽车オブジェクトができたので,非バーチャルバスを作成します。金宝app仿真软件エディターで、公交Creator1という名前の总线创造者ブロックをダブルクリックします。[ブロックパラメーター]ダイアログボックスで,(出力データ型)总线:TopBusに設定し,(非バーチャルバスとして出力)チェックボックスをオンにして(好的)をクリックします。TopBusは非バーチャルバスになりますが,NestedBusはバーチャルバスのままです。ラインスタイルで非バーチャルバスを特定するには,モデルをコンパイルします。

总线的创造者という名前のブロックをダブルクリックします。[ブロックパラメーター]ダイアログボックスで,(出力データ型)总线:NestedBusに設定し,(非バーチャルバスとして出力)チェックボックスをオンにして(好的)をクリックします。NestedBusは非バーチャルバスになりました。バスのラインスタイルを更新するには,モデルをコンパイルします。

公共汽车オブジェクトを保存しない場合,そのモデルを再度開くときに,公共汽车オブジェクトを再作成しなければなりません。公共汽车オブジェクトを保存する方法の詳細については,金宝app仿真软件。公共汽车オブジェクトデータ型でのバス プロパティの指定を参照してください。

インターフェイスでの非バーチャルバスの作成

インターフェイスで非バーチャルバスを作成するには,バスの要素を总线元素ブロックに接続し,出力バスが非バーチャルであると指定します。

モデル例を開きます。このモデル例では3つの公共汽车元素ブロックを使用して,出力端子でバーチャルバスOutBusを作成します。

このモデルの作成については,複数の出力信号を1つの端子に接続を参照してください。

非バーチャルバスは金宝app仿真软件。公共汽车オブジェクトデータ型でなければなりません。出力バスに対応する公共汽车オブジェクトデータ型を作成します。

  1. 金宝app仿真软件ツールストリップの[モデル化)タブの[設計]ギャラリーで,[バスエディター]を選択します。

  2. バスエディターで,(巴士を追加)を2回クリックして公共汽车オブジェクトを2つ作成します。

  3. 公共汽车オブジェクトに名前を付けます。公共汽车オブジェクトの1つを選択し,[名前]OutBusに設定します。もう1つの公共汽车オブジェクトを選択し,[名前]NestedBusに設定します。

  4. それぞれの公共汽车オブジェクトについて,バスの要素に対応する金宝app仿真软件。公共汽车Elementオブジェクトを作成します。NestedBusを選択し,[BusElementを追加/挿入)を2回クリックします。要素正弦および要素一步に名前を付けます。OutBusを選択し,[BusElementを追加/挿入)を2回クリックします。要素尖声地说および要素NestedBusに名前を付けます。

  5. 任意の入れ子にされたバスに対して公共汽车オブジェクトデータ型を指定します。NestedBusBusElementオブジェクトを選択した状態で,[データ型)总线:NestedBusに設定して[適用]をクリックします。

非バーチャルバスを出力するには,公共汽车オブジェクトデータ型とバスの仮想性を指定します。

  1. 公共汽车元素ブロックの1つをダブルクリックして,端子のダイアログボックスを開きます。

  2. ダイアログボックスのツリー階層で,OutBusの上にマウスをポイントし,OutBusの隣に表示される鉛筆アイコンをクリックします。

  3. 公共汽车オブジェクトデータ型を指定します。[データ型)总线:OutBusに設定します。

  4. ダイアログボックスのツリー階層で,OutBusの隣に表示される信号の属性をクリックします。

  5. バスの仮想性を指定します。[バスの仮想性)nonvirtualに設定し,ダイアログボックスを閉じます。

モデルの出力は非バーチャルバスです。非バーチャルバスを確認するには,別のモデル内のモデルを参照するか,总线元素ブロックをサブシステムに移動します。モデルをコンパイルするとラインスタイルが更新されます。モデルをコンパイルするには,金宝app仿真软件ツールストリップの[モデル化)タブで,[モデルの更新)または[実行]をクリックします。

公共汽车オブジェクトを保存しない場合,そのモデルを再度開くときに,公共汽车オブジェクトを再作成しなければなりません。公共汽车オブジェクトを保存する方法の詳細については,金宝app仿真软件。公共汽车オブジェクトデータ型でのバス プロパティの指定を参照してください。

のルート(最上位)轮廓尺寸ブロックと外港ブロックでも,インターフェイスに非バーチャルバスを作成できます。バスの仮想性を指定するには次のようにします。

  • ルートの尺寸ブロックについて,ダイアログボックスの[信号属性]タブで(非バーチャルバスとして出力)を選択します。

  • ルートの外港ブロックについて,ダイアログボックスの[信号属性]タブで[親モデル内の非バーチャルバスとして出力)を選択します。

在公共汽车元素ブロックは[バスの仮想性)パラメーターを使用して,ブロックがバスの仮想性を継承するか,または定義するかを決定します。ブロックがバスの仮想性を定義し、入力バスの仮想性が一致しない場合、モデルをコンパイルするとエラーが発生します。

バーチャルバスの非バーチャルバスへの変換

信号转换ブロックを使用して,モデル内の任意の場所でバーチャルバスを非バーチャルバスに変換できます。

モデル例を開いてコンパイルします。このモデル例には、公交创造者ブロックによって作成されたバーチャルバス階層が含まれています。モデルをコンパイルするには,金宝app仿真软件ツールストリップの[モデル化)タブで,[モデルの更新)または[実行]をクリックします。モデルをコンパイルするとラインスタイルが更新されます。このラインスタイルは,バスを視覚的に識別するのに使用できます。

バスを定義して非バーチャルバスへの変換をサポートするため,总线创造者ブロックは金宝app仿真软件。公共汽车オブジェクトデータ型を指定します。モデルが読み込まれるときにベースワークスペースで公共汽车オブジェクトを作成するために,モデルはPreLoadFcnコールバックを使用します。

コールバックを表示するには,金宝app仿真软件ツールストリップの[モデル化)タブで[モデル設定]、[モデルプロパティ]をクリックします。[モデルプロパティ]ダイアログボックスで[コールバック]タブを開き,PreLoadFcnモデルコールバックを選択します。

バーチャルバスを非バーチャルバスに変換するにはNonvirtual公交车ブロックを使用します。このブロックは,[出力]Nonvirtual总线に設定されている,事前構成されたバージョンの信号转换ブロックです。

モデル例で次のようにします。

  1. モデルにNonvirtual公交车ブロックを追加します。

  2. 总线Creator1ブロックと范围ブロックの間のライン上にNonvirtual公交车ブロックをドラッグします。ライン上にブロックをドラッグすると,ブロックの両端がラインに接続されます。

変換するバスのデータ型が公共汽车オブジェクトによって指定されていないとします。次の追加のアクションを実行する必要が生じます。

  1. 対応する公共汽车オブジェクトの作成。

  2. バスに対する公共汽车オブジェクトデータ型の指定。たとえば,To Nonvirtual Bus ブロックの[データ型)パラメーターを,入力バスに対応する公共汽车オブジェクトに設定するなどです。

到总线Nonvirtualブロックへの入力はバーチャルバスであり,出力は非バーチャルバスです。非バーチャルバスのラインスタイルを確認するには,モデルをコンパイルします。

MATLAB構造体からの非バーチャルバスの作成

常数ブロックを使用して,定数値の要素をもつ非バーチャルバスを簡潔に表すことができます。常数ブロックで次のように指定します。

  • [定数値]にMATLAB構造体。

  • (出力データ型)として金宝app仿真软件。公共汽车オブジェクト。

出力データ型が公共汽车オブジェクトの場合にのみ,常数ブロックでMATLAB構造体がサポートされます。

たとえば,抵消获得,および阈值という名前の要素をもつconst_param_structという名前のMATLAB構造体を定義します。

const_param_struct。抵消= 197;const_param_struct。获得= 4.32;const_param_struct。阈值= 795.68;

対応する公共汽车オブジェクトデータ型を定義します。

金宝appSimulink.Bus.createObject (const_param_struct)

新しい公共汽车オブジェクトは既定の名前slBus1を使用します。

[定数値]const_param_structに,(出力データ型)总线:slBus1に設定された常数ブロックを含むモデル例を開いてシミュレーションします。

open_system (“NonvirtualBusFromStructModel”) sim卡(“NonvirtualBusFromStructModel”);

常数ブロックの出力は非バーチャルバスです。

参考

ブロック

オブジェクト

関連するトピック