最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

バス エディター

Simulink.Bus オブジェクトの作成、変更、および管理

説明

Simulink.Bus オブジェクトと、それに含まれる Simulink.BusElement オブジェクトをインタラクティブに作成するには、Simulink® バス エディターを使用します。

バス エディターを使用して作成した Bus オブジェクトは MATLAB® ベース ワークスペースに格納されます。Bus オブジェクトを使用するブロックをシミュレートするには、Bus オブジェクトがベース ワークスペースまたはデータ ディクショナリ内になければなりません。

バス エディターを使用して Bus オブジェクト定義を保存するには、Bus オブジェクトをベース ワークスペースから MATLAB コード ファイルまたは MAT ファイルにエクスポートします。Bus オブジェクトを MATLAB コード ファイルに保存した場合は、プログラム内で編集できます。詳細については、プログラムによるバス オブジェクトの作成を参照してください。

バス エディターを使用すると、既存の Bus オブジェクトとバス要素を変更したり削除したりできます。バス エディターには、ベース ワークスペース内のすべての Bus オブジェクトが表示されます。エンティティの作成、並べ替え、または削除による変更は、ベース ワークスペースですぐに有効になります。

メモ

バス エディターには元に戻す機能はありません。プロパティの変更は、適用すると有効になります。

Bus オブジェクトに関する詳細については、バス オブジェクトでのバス プロパティの指定を参照してください。

バス エディター を開く

  • [モデル化] タブの [設計] ギャラリーで、[バス エディター] をクリックします。

  • MATLAB コマンド プロンプトで buseditor と入力します。

  • モデル エクスプローラーの Bus オブジェクトのダイアログ ボックスで [バス エディターを起動] ボタンをクリックします。

すべて展開する

この例では、モデル ex_bus_object_tutorialcontrol バスに対応する Bus オブジェクトを作成する方法を示します。このバスには、要素として 2 つの信号が含まれます。

  1. バス エディターで、[Bus を追加] ボタン をクリックします。

    既定の名前をもつ Bus オブジェクトが左側のペインに表示され、その既定のプロパティは、[Simulink.Bus] ダイアログ ペインに表示されます。

  2. [名前] プロパティを使用して、Bus オブジェクトの名前を指定します。容易に識別するために、Bus オブジェクトに関連付けられているバスを表す名前を使用します。バルブ入力を結合するバス信号に control という名前が付けられているため、Bus オブジェクトに CONTROL という名前を付けます。

    ヒント

    プロパティを編集した後に [適用] をクリックするか、別のオブジェクトをクリックしたときに変更が自動的に適用されることを選択します。

  3. [BusElement を追加/挿入] ボタン をクリックします。

    既定の名前と既定のプロパティをもつバス要素が CONTROL Bus オブジェクトに作成されます。バス要素は、左側のペインの CONTROL Bus オブジェクトの下に入れ子になって表示されます。

  4. [Simulink.BusElement] ダイアログ ペインで、[名前]VALVE1 に設定します。この名前は、バス内の対応する信号の名前を表します。

  5. BusElement オブジェクト VALVE1 の信号プロパティを確認するには、Constant ブロックの [ブロック パラメーター] ダイアログ ボックスを開きます。

    [信号属性] タブのプロパティが既定の BusElement オブジェクト プロパティと一致するため、変更は必要ありません。

  6. 同様に、valve2 要素に対応する VALVE2 という名前の BusElement オブジェクトを作成します。

  7. BusElement オブジェクト VALVE2 の信号プロパティを確認するには、Constant1 ブロックの [ブロック パラメーター] ダイアログ ボックスを開きます。

    Constant1 ブロックで指定された [出力データ型]int8 で、既定の BusElement オブジェクトのプロパティと一致しません。BusElement オブジェクト VALVE2[データ型] プロパティを [int8] に設定します。

バス内の信号はどれも、下位のバスを格納する別のバスとなることができます。その下位のバスもさらに下位のバスを格納することができ、深さに制限はありません。Bus オブジェクトを使用して入れ子のバスを記述するには、Bus オブジェクト定義を入れ子にする必要があります。

モデル ex_bus_object_tutorial に 2 つのバスがあり、1 つのバスがもう 1 つのバスに入れ子にされています。

この例では、Bus オブジェクト内の control バスに対応する Bus オブジェクト (main バスに対応) を入れ子にする方法を示します。

  1. control バスを完全に指定する CONTROL という名前の Bus オブジェクトを作成します。

  2. 入れ子の control バスを指定する BusElement オブジェクトの既定値を一時的に使用して、main バスを完全に指定する MAIN という名前の Bus オブジェクトを作成します。

    この BusElement オブジェクトが入れ子のバスに対応することを識別するために、VALVES_BUS という名前を付けます。

  3. VALVES_BUS[Simulink.BusElement] ダイアログ ペインで、[データ型] パラメーターを [Bus: <object name>] に設定します。ここで、[<object name>] は、control バスの Bus オブジェクトの名前です。

    ヒント

    Bus オブジェクトは直接または間接的に自身を参照できません。循環構造を定義すると、バス エディターでは警告が表示され、循環構造を完結する要素のデータ型が double に設定されます。

Bus オブジェクトまたは BusElement オブジェクトを編集するには、次を実行します。

  1. 左側のペインで、編集するオブジェクトを選択します。

  2. [Simulink.Bus] または [Simulink.BusElement] ダイアログ ペインで、オブジェクトのプロパティを編集します。

  3. [適用] をクリックします。

Bus オブジェクトを選択している場合は、中央のペインでその BusElement オブジェクトを編集できます。

複数の BusElement オブジェクトの 1 つのプロパティに同じ編集を行うには、中央のペインを使用します。Ctrl キーを押したままにして複数のバス要素オブジェクトを選択し、選択したバス要素オブジェクトのいずれか 1 つのプロパティに新しい値を入力します。選択されたすべての BusElement オブジェクトに変更が適用されます。

バス エディターを使用して、Bus オブジェクトまたは BusElement オブジェクトをコピーおよび貼り付けることができます。オブジェクトを右クリックし、コンテキスト メニューを使用して Bus オブジェクトをコピーおよび貼り付けます。Bus オブジェクトをコピーすると、その BusElement オブジェクトもコピーされます。コピーされたオブジェクトは、元のオブジェクト同じプロパティ値をもちます。

Bus オブジェクトのバス要素の順序を変更するには、左のペインで、バス要素を選択し、[要素を上に移動] ボタンまたは [要素を下に移動] ボタン を使用します。

Bus オブジェクトを削除するには、左のペインで、Bus オブジェクトを選択し、[削除] ボタンをクリックするか、Delete キーを押します。Bus オブジェクトを削除すると、その BusElement オブジェクトが削除されます。

Bus オブジェクトを削除する場合は、Simulink エディターで、Bus オブジェクトを使用するすべてのブロックを更新します。バス オブジェクトが使用されているモデル内の場所を確認するには、特定の変数を使用するブロックの検索を参照してください。

ベース ワークスペースに Bus オブジェクトを作成した場合は、MATLAB を閉じる前に、Bus オブジェクトを保存して後で使用できます。

Bus オブジェクトは次のいずれかの場所に保存できます。

  • データ ディクショナリ

  • MATLAB コード ファイル

  • MAT ファイル

  • データベース ファイルまたはその他の外部ファイル

バス エディターでは Bus オブジェクトは MAT ファイルまたは MATLAB コード ファイルに保存できます。Bus オブジェクトを他の場所に保存するには、バス オブジェクトの保存を参照してください。

ヒント

バス エディターを閉じる前に、Bus オブジェクトを保存するためのメッセージを表示するには、[オプション][閉じる前に常に警告]を選択します。

  1. エクスポートする Bus オブジェクトを選択します。

    • バス エディターで、表示可能なすべての Bus オブジェクトをエクスポートするには、[ファイル][ファイルにエクスポート] を選択します。フィルターで非表示にした Bus オブジェクトはエクスポートされません。

    • 選択した Bus オブジェクトのみをエクスポートするには、Bus オブジェクトを右クリックして、[ファイルにエクスポート] を選択します。

    • 選択した Bus オブジェクトで使用される入れ子にされた Bus オブジェクトを含めるには、[依存するバス オブジェクトを持つ <BusObject> をファイルにエクスポート] を選択します。

  2. [エクスポート] ダイアログ ボックスで、エクスポート ファイルの名前を指定します。

  3. [ファイルの種類][MATLAB ファイル (*.m)] または [MAT ファイル (*.mat)] に設定します。

  4. [保存] をクリックします。

  5. MATLAB コード ファイルの場合は、表示された追加のダイアログ ボックスで、エクスポート形式を選択します。

    • セルBus オブジェクトを圧縮形式で保存します。

    • オブジェクトBus オブジェクトを Simulink.Bus オブジェクト形式で保存します。こちらの方が読み取りや編集が簡単です。

バス エディターの既定の設定では、ベース ワークスペースに存在するすべての Bus オブジェクトがアルファベット順に表示されます。表示される Bus オブジェクトの数を減らすには、フィルターを適用できます。

バス エディターには、次が設定されている Bus オブジェクトのみ表示できます。

  • 指定された検索用語または正規表現と一致する名前

  • 指定された Bus オブジェクトに対する指定された関係

フィルター処理後の表示に示されている Bus オブジェクトは、フィルター処理されていない表示と同様に、操作可能です。オブジェクトの名前または依存関係を変更したために、それが現在のフィルター条件に合致しなくなると、オブジェクトは表示から消えます。逆に、フィルター処理後のオブジェクトがバス エディター外の何らかのアクティビティによって変更されたために、現在のフィルターを通過した場合、オブジェクトは即座に表示されます。

ヒント

バス エディターの外部から作成またはインポートされた Bus オブジェクトは、バス エディターを再度開くまでは表示されません。

ベース ワークスペースの左側のペインで実行される操作は、表示されるオブジェクトにのみ影響します。フィルターで非表示にされたオブジェクトは、操作の影響を受けません。既存のすべての Bus オブジェクトで操作を行うには、フィルターをクリアします。

この例では、バス エディターに、ベース ワークスペース内にある Bus オブジェクトが表示されています。

これらの Bus オブジェクトは、2 つの階層を形成します。A1_Top は、A3_Bot の親である A2_Mid の親です。同様に、B1_Top は、B3_Bot の親である B2_Mid の親です。

名前でフィルターするには、リストから [名前でフィルター] を選択し、フィルター項を入力します。MATLAB の正規表現構文の詳細は、正規表現 (MATLAB)を参照してください。

入力と同時に、バス エディターは動的に更新され、入力したフィルター表現と一致する名前をもつ Bus オブジェクトのみが表示されます。比較では大文字小文字を区別します。たとえば、A と入力すると、名前に大文字の A を含む Bus オブジェクトのみ表示されます。

関係でフィルターするには、リストから [バス オブジェクトの依存関係] を選択します。表示された 2 番目のリストで、表示する関係のタイプを選択します。

  • バス オブジェクトと親 — 指定された Bus オブジェクトおよび階層内でその上位にあるすべての Bus オブジェクトを表示します (既定)。

  • バス オブジェクトと子 — 指定された Bus オブジェクトおよび階層内でその下位にあるすべての Bus オブジェクトを表示します。

  • バス オブジェクトと親と子 — 指定された Bus オブジェクトおよび階層内でその上位と下位にあるすべての Bus オブジェクトを表示します。

Bus オブジェクトを名前で入力するか、既存の Bus オブジェクトをリストから選択します。

たとえば、[バス オブジェクトと子] を選択し、B2 と入力すると、バス エディターには、B2 Bus オブジェクトを含む Bus オブジェクト階層のみ表示されます。

バス エディターを使用して、MAT ファイルまたは MATLAB コード ファイルの定義をベース ワークスペースにインポートできます。インポートによって、Bus オブジェクトだけでなく、ファイルの完全な内容が読み込まれます。

  1. [ファイル][ベース ワークスペースにインポート] を選択します。

  2. [ファイルを開く] ダイアログ ボックスを使用して、希望のファイルに移動し、インポートします。

R2006a より前に導入