バス情報の表示
バス情報を表示するには複数の方法があります。
バスがバーチャルか非バーチャルかを表示するには、モデルを更新するか、モデルのシミュレーションを実行します。バーチャル バスは 3 本の実線 (
) で表示され、非バーチャル バスは破線の両側の 2 本の実線 (
) で表示されます。
バスの階層を対話的に表示するには、バスの階層の表示を参照してください。
ある端子のバス要素の値を対話的に表示するには、バス要素の値の表示を参照してください。
バスの仮想性と階層をプログラムで表示するには、バスの階層と仮想性のプログラムによる取得を参照してください。
バスの階層の表示
バスの階層を対話的に表示するには、次のようにします。
信号線をクリックします。
[信号] タブで [信号階層] を選択します。
信号階層ビューアーが開き、選択した信号の信号階層が表示されます。
たとえば、次の信号階層ビューアーは、main_bus
という名前のバスの信号階層を表示します。
それぞれの信号階層ビューアーは、特定のモデルが関連付けられています。関連付けられた信号階層ビューアーが開いているときにモデルを編集すると、信号階層ビューアーはそれらの更新を反映します。
メモ
信号階層ビューアーで編集時に高精度の結果を得るには、モデルが問題なくコンパイルされていなければなりません。
表示された信号をフィルター処理するには、[名前でフィルター] エディット ボックスの右側にある [フィルター処理オプションを表示する] ボタン をクリックします。
信号名のフィルター処理用に MATLAB® 正規表現を使用するには、[正規表現を有効にする] を選択します。たとえば、信号名が小文字の
r
で終了するすべての信号 (およびその直接の親) を表示するには、[名前でフィルター] エディット ボックスに「r$
」と入力します。詳細については、正規表現を参照してください。フィルター処理された結果のフラット リストを表示するには、[フィルター処理された結果をフラット リストとして表示する] を選択します。フラット リストでは、ドット表記を使用してバスの階層を示します。この例では、フィルター処理された一連の入れ子のバスを示します。
バス要素の値の表示
ある端子のバス要素の値を対話的に表示するには、次のようにします。
信号線をクリックします。
[信号] タブで [出力値ラベル] を選択します。
端子の値のラベルをクリックし、表示する信号を選択します。
たとえば、このモデルで
ModelBus
に含まれている信号から、表示する信号を選択できます。
詳細については、特定の端子の値の表示を参照してください。
バスの階層と仮想性のプログラムによる取得
コンパイル済みモデルでバスの階層と仮想性をプログラムで取得するには、関数get_param
を使用して次のパラメーターをクエリします。
'SignalHierarchy'
— 信号がバス信号の場合、名前とバス内の信号の階層が返されます。'CompiledBusType'
—'compile'
フェーズを実行したモデルについて、端子に接続されている信号がバス信号かどうか、また信号がバーチャル バスか非バーチャル バスかについての情報を返します。CompiledBusType
パラメーター値をクエリする前に、モデル名のプログラム インターフェイスを使用して、モデルをコンパイルします。詳細については、Use Model Name as Programmatic Interfaceを参照してください。
たとえば、busdemo
モデルを開いてシミュレートします。
open_system('busdemo') sim('busdemo');
バス情報を必要とする端子のハンドルを取得します。
ph = get_param('busdemo/Bus Creator', 'PortHandles');
端子での信号の階層を取得します。
sh = get_param(ph.Outport, 'SignalHierarchy')
sh = struct with fields:
SignalName: 'main_bus'
BusObject: ''
Children: [2x1 struct]
端子でのコンパイル済みバスのタイプを取得します。
busdemo([],[],[],'compile'); bt = get_param(ph.Outport, 'CompiledBusType')
bt = 'VIRTUAL_BUS'
モデルのコンパイルによって開始されたシミュレーションを終了します。
busdemo([],[],[],'term');