このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
非バーチャルバスはCコードの構造体に似ています。非バーチャルバスは次の目的で使用します。
バスデータを生成されたCコードの構造体としてパッケージ化。
バス配列の構成。
s函数を介した外部コードとのインターフェイス接続。
バスデータがMATLAB®函数ブロックまたはStateflow®チャートの境界を越えるように設定。
范围ブロックを含むバスを表示し,ログに記録。
非バーチャルバスは金宝app仿真软件。公共汽车
オブジェクトデータ型でなければなりません。非バーチャルバスを含むモデルをシミュレーションするには,参照公共汽车
オブジェクトがベースワークスペースまたはモデルで使用されるデータディクショナリになければなりません。詳細については,金宝app仿真软件。公共汽车オブジェクトデータ型でのバス プロパティの指定を参照してください。
非バーチャルバスでは,バスの要素がすべて同じサンプル時間をもつことも必要です。詳細については,非バーチャルバスのサンプル時間の変更を参照してください。
非バーチャルバスを作成する方法は,バスの場所と,バスを作成するブロックによって異なります。
基本ステップに集中するために,これらの例はシンプルです。ただし,バスは,多くの信号を結合する場合に最も役立ちます。
总线创造者ブロックを使用して,非バーチャルバスをコンポーネント内に作成できます。
モデル例を開いてコンパイルします。このモデル例では总线创造者ブロックを使用してバーチャルバスの階層を作成します。モデルをコンパイルするには,金宝app仿真软件ツールストリップの[モデル化)タブで,[モデルの更新)または[実行]をクリックします。モデルをコンパイルするとラインスタイルが更新されます。このラインスタイルは,バスを視覚的に識別するのに使用できます。
このモデルの作成については,コンポーネント内の信号線のグループ化を参照してください。
このモデルのバーチャルバスは金宝app仿真软件。公共汽车
オブジェクトで定義されていません。总线的创造者ブロックの出力を非バーチャル バスに変更するには、バスの階層と一致する公共汽车
オブジェクトがなければなりません。
TopBus
およびNestedBus
に対応する公共汽车
オブジェクトを作成するには,関数金宝appSimulink.Bus.createObject
を使用します。MATLABコマンド ウィンドウで次を入力します。
金宝appSimulink.Bus.createObject(“NonvirtualBusCreationModel”,…“NonvirtualBusCreationModel /总线Creator1”);
この関数は,指定されたブロックの出力バスに対応する公共汽车
オブジェクトを作成します。入れ子にされたバスが出力バスに含まれている場合,関数は入れ子にされたバスに対応する公共汽车
オブジェクトも作成します。この例では,関数は対応するバスTopBus
とNestedBus
の名前が付いた2つの公共汽车
オブジェクトを作成します。
公共汽车
オブジェクトを表示するには,[バスエディター]を開きます。MATLABコマンドウィンドウで次を入力します。
buseditor
作成する非バーチャルバスに対応する公共汽车
オブジェクトができたので,非バーチャルバスを作成します。金宝app仿真软件エディターで、公交Creator1という名前の总线创造者ブロックをダブルクリックします。[ブロックパラメーター]ダイアログボックスで,(出力データ型)を总线:TopBus
に設定し,(非バーチャルバスとして出力)チェックボックスをオンにして(好的)をクリックします。TopBus
は非バーチャルバスになりますが,NestedBus
はバーチャルバスのままです。ラインスタイルで非バーチャルバスを特定するには,モデルをコンパイルします。
总线的创造者
という名前のブロックをダブルクリックします。[ブロックパラメーター]ダイアログボックスで,(出力データ型)を总线:NestedBus
に設定し,(非バーチャルバスとして出力)チェックボックスをオンにして(好的)をクリックします。NestedBus
は非バーチャルバスになりました。バスのラインスタイルを更新するには,モデルをコンパイルします。
公共汽车
オブジェクトを保存しない場合,そのモデルを再度開くときに,公共汽车
オブジェクトを再作成しなければなりません。公共汽车
オブジェクトを保存する方法の詳細については,金宝app仿真软件。公共汽车オブジェクトデータ型でのバス プロパティの指定を参照してください。
インターフェイスで非バーチャルバスを作成するには,バスの要素を总线元素ブロックに接続し,出力バスが非バーチャルであると指定します。
モデル例を開きます。このモデル例では3つの公共汽车元素ブロックを使用して,出力端子でバーチャルバスOutBus
を作成します。
このモデルの作成については,複数の出力信号を1つの端子に接続を参照してください。
非バーチャルバスは
オブジェクトデータ型でなければなりません。出力バスに対応する金宝app仿真软件。公共汽车
公共汽车
オブジェクトデータ型を作成します。
金宝app仿真软件ツールストリップの[モデル化)タブの[設計]ギャラリーで,[バスエディター]を選択します。
バスエディターで,(巴士を追加)を2回クリックして公共汽车
オブジェクトを2つ作成します。
公共汽车
オブジェクトに名前を付けます。公共汽车
オブジェクトの1つを選択し,[名前]をOutBus
に設定します。もう1つの公共汽车
オブジェクトを選択し,[名前]をNestedBus
に設定します。
それぞれの公共汽车
オブジェクトについて,バスの要素に対応する
オブジェクトを作成します。金宝app仿真软件。公共汽车Element
NestedBus
を選択し,[BusElementを追加/挿入)を2回クリックします。要素正弦
および要素一步
に名前を付けます。OutBus
を選択し,[BusElementを追加/挿入)を2回クリックします。要素尖声地说
および要素NestedBus
に名前を付けます。
任意の入れ子にされたバスに対して公共汽车
オブジェクトデータ型を指定します。NestedBus
BusElement
オブジェクトを選択した状態で,[データ型)を总线:NestedBus
に設定して[適用]をクリックします。
非バーチャルバスを出力するには,公共汽车
オブジェクトデータ型とバスの仮想性を指定します。
公共汽车元素ブロックの1つをダブルクリックして,端子のダイアログボックスを開きます。
ダイアログボックスのツリー階層で,OutBus
の上にマウスをポイントし,OutBus
の隣に表示される鉛筆アイコンをクリックします。
公共汽车
オブジェクトデータ型を指定します。[データ型)を总线:OutBus
に設定します。
ダイアログボックスのツリー階層で,OutBus
の隣に表示される信号の属性をクリックします。
バスの仮想性を指定します。[バスの仮想性)をnonvirtual
に設定し,ダイアログボックスを閉じます。
モデルの出力は非バーチャルバスです。非バーチャルバスを確認するには,別のモデル内のモデルを参照するか,总线元素ブロックをサブシステムに移動します。モデルをコンパイルするとラインスタイルが更新されます。モデルをコンパイルするには,金宝app仿真软件ツールストリップの[モデル化)タブで,[モデルの更新)または[実行]をクリックします。
公共汽车
オブジェクトを保存しない場合,そのモデルを再度開くときに,公共汽车
オブジェクトを再作成しなければなりません。公共汽车
オブジェクトを保存する方法の詳細については,金宝app仿真软件。公共汽车オブジェクトデータ型でのバス プロパティの指定を参照してください。
のルート(最上位)轮廓尺寸ブロックと外港ブロックでも,インターフェイスに非バーチャルバスを作成できます。バスの仮想性を指定するには次のようにします。
ルートの尺寸ブロックについて,ダイアログボックスの[信号属性]タブで(非バーチャルバスとして出力)を選択します。
ルートの外港ブロックについて,ダイアログボックスの[信号属性]タブで[親モデル内の非バーチャルバスとして出力)を選択します。
在公共汽车元素ブロックは[バスの仮想性)パラメーターを使用して,ブロックがバスの仮想性を継承するか,または定義するかを決定します。ブロックがバスの仮想性を定義し、入力バスの仮想性が一致しない場合、モデルをコンパイルするとエラーが発生します。
信号转换ブロックを使用して,モデル内の任意の場所でバーチャルバスを非バーチャルバスに変換できます。
モデル例を開いてコンパイルします。このモデル例には、公交创造者ブロックによって作成されたバーチャルバス階層が含まれています。モデルをコンパイルするには,金宝app仿真软件ツールストリップの[モデル化)タブで,[モデルの更新)または[実行]をクリックします。モデルをコンパイルするとラインスタイルが更新されます。このラインスタイルは,バスを視覚的に識別するのに使用できます。
バスを定義して非バーチャルバスへの変換をサポートするため,总线创造者ブロックは金宝app仿真软件。公共汽车
オブジェクトデータ型を指定します。モデルが読み込まれるときにベースワークスペースで公共汽车
オブジェクトを作成するために,モデルはPreLoadFcn
コールバックを使用します。
コールバックを表示するには,金宝app仿真软件ツールストリップの[モデル化)タブで[モデル設定]、[モデルプロパティ]をクリックします。[モデルプロパティ]ダイアログボックスで[コールバック]タブを開き,PreLoadFcnモデルコールバックを選択します。
バーチャルバスを非バーチャルバスに変換するにはNonvirtual公交车ブロックを使用します。このブロックは,[出力]がNonvirtual总线
に設定されている,事前構成されたバージョンの信号转换ブロックです。
モデル例で次のようにします。
モデルにNonvirtual公交车ブロックを追加します。
总线Creator1ブロックと范围ブロックの間のライン上にNonvirtual公交车ブロックをドラッグします。ライン上にブロックをドラッグすると,ブロックの両端がラインに接続されます。
変換するバスのデータ型が公共汽车
オブジェクトによって指定されていないとします。次の追加のアクションを実行する必要が生じます。
対応する公共汽车
オブジェクトの作成。
バスに対する公共汽车
オブジェクトデータ型の指定。たとえば,To Nonvirtual Bus ブロックの[データ型)パラメーターを,入力バスに対応する公共汽车
オブジェクトに設定するなどです。
到总线Nonvirtualブロックへの入力はバーチャルバスであり,出力は非バーチャルバスです。非バーチャルバスのラインスタイルを確認するには,モデルをコンパイルします。
常数ブロックを使用して,定数値の要素をもつ非バーチャルバスを簡潔に表すことができます。常数ブロックで次のように指定します。
[定数値]に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”);
常数ブロックの出力は非バーチャルバスです。