Main Content

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

バーチャル バスへの信号線のグループ化

信号は 1 つのバスにまとめることができます。バス全体にアクセスすることもバスから特定の信号を選択することもできます。Simulink® のバーチャル バスは、タイ ラップで結束されるワイヤーのバンドルに似ています。ちなみに、Simulink の非バーチャル バスは C コードの構造体に似ています。

すべてのブロックでバスが受け入れられるわけではなく、バスをベクトルに暗黙的に変換するブロックもあります。どのブロックがどのバスのタイプをサポートするかについては、バス対応ブロックを参照してください。バス変換を特定するには、バスからベクトルへの変換の管理を参照してください。

バーチャル バスを作成する方法は、グループ化する信号の位置によって異なります。

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

ヒント

バスを作成する場合、モデルをシミュレーションするか、[モデル化] タブで [モデルの更新] をクリックすると、ライン スタイルは更新されます。

コンポーネント内の信号線のグループ化

この例では、Bus Creator ブロックを使用して信号をバーチャル バスにグループ化する方法を説明します。

3 つのブロックを含むモデル例を開きます。

複数のブロックの信号を含むバスを作成するには、ブロックをドラッグして選択します。この例では、Chirp Signal ブロックと Sine Wave ブロックを選択します。表示された操作バーで、[バスの作成] をクリックします。

Simulink は Bus Creator ブロックを追加し、そのブロックに入力信号を接続します。Bus Creator ブロックの出力は、バーチャル バスです。

バスの要素の特定を容易にするために、Bus Creator ブロックへの入力信号にラベルを付けます。信号ラインをダブルクリックし、Chirp と入力して Chirp Signal ブロックの出力信号にラベルを付けます。同様に、Sine Wave ブロック Sine の出力信号にラベルを付けます。

2 番目のバスを作成して、それに最初のバスと Step ブロックの出力信号を含めるには、Bus Creator ブロックと Step ブロックをドラッグして選択します。表示された操作バーで、[バスの作成] をクリックします。Sine 信号と Chirp 信号は入力バスの要素であるため、Sine Wave ブロックと Chirp Signal ブロックを選択したかどうかに関係なく、Simulink は同じバスを作成します。

Simulink は別の Bus Creator ブロックを追加し、そのブロックに入力信号を接続します。Step ブロック Step の出力信号と、最初の Bus Creator ブロック NestedBus の出力信号にラベルを付けます。バスは任意の深さの入れ子にできます。Bus Creator ブロックへの入力の 1 つがバスである場合、その出力は、少なくとも 1 つの入れ子のバスを含むバス階層です。

2 番目の Bus Creator ブロックの出力信号を Outport ブロックに接続し、信号 TopBus にラベルを付けます。すべての信号線が接続されるため、モデルをシミュレーションします。

複数の出力信号を 1 つの端子に接続

この例では、Out Bus Element ブロックを使用して、サブシステムまたはモデルの出力信号をバーチャル バスに結合する方法を示します。

3 つのソース ブロックを含む 1 つのサブシステムを含むモデル例を開きます。

サブシステムを開き、Out Bus Element ブロックをそれに追加します。Out Bus Element ブロックは Outport ブロックに接続されている Bus Creator ブロックと似ています。Chirp Signal ブロックの出力を Out Bus Element ブロックに接続します。

Out Bus Element ブロックの横にあるラベルには、2 つの部分があります。ラベルの最初の部分はバス (OutBus) について説明し、ラベルの 2 番目の部分はバス要素 (signal1) について説明します。バスの要素の特定を容易にするには、signal1 をダブルクリックして Chirp を入力して要素の名前を変更します。

Out Bus Element ブロックを Ctrl キーを押しながらドラッグし、ブロックの 2 つのコピーを作成します。このようにブロックをコピーするときに、新しい端子を作成するか既存の端子を使用するかを指定しなければなりません。すべての信号を含む出力バスを 1 つ作成するには、ブロックをコピーするたびに [既存端子の使用] を選択し、信号を接続します。

出力バスで階層を作成するには、バス要素を説明するラベルの部分でドットを使用します。各ドットが新しいレベルの階層を作成します。バス要素をそれぞれ NestedBus.SineNestedBus.Step として定義して、NestedBus という名前の入れ子のバスを作成します。

Out Bus Element ブロックの任意の場所をダブルクリックして、端子の [ブロック パラメーター] ダイアログ ボックスで階層を検査します。

あるいは、Bus Creator ブロックを使用して Sine 信号と Step 信号をバーチャル バスにグループ化していれば、そのバスを Out Bus Element ブロックに接続することができます。ラベルは、ブロックに接続する要素の名前を指定します。これは NestedBus バーチャル バスです。

最上位モデルに戻ります。3 つの Out Bus Element ブロックは、1 つの端子に一致します。この端子の出力を Outport ブロックに接続し、モデルをシミュレーションします。

複数のサブシステム端子を 1 つの端子に結合

この例では、複数の端子とそれらの接続された信号を 1 つの端子とバスに変換することで、サブシステムのインターフェイスを簡略化する 3 つの方法について説明します。

複数の入力端子と出力端子をもつ 2 つのサブシステムを含むモデル例を開きます。

2 つのサブシステム間の信号線を囲む選択ボックスをドラッグします。表示された操作バーから [バスの作成] をクリックします。

Simulink は、変換元のサブシステムと変換先のサブシステムの Inport ブロックと Outport ブロックを In Bus Element ブロックと Out Bus Element ブロックに置き換えます。

ソース ブロックと最初のサブシステム間の信号線を囲む選択ボックスをドラッグします。表示された操作バーから [バスの作成] をクリックします。

Simulink は、最初のサブシステムの前に Bus Creator ブロックを追加し、最初のサブシステム内の Inport ブロックを In Bus Element ブロックに置き換えます。

2 番目のサブシステムと Scope ブロック間の信号線を囲む選択ボックスをドラッグします。表示された操作バーから [バスの作成] をクリックします。

Simulink は、2 番目のサブシステム内の Outport ブロックを Out Bus Element ブロックに置き換え、Bus Selector ブロックを 2 番目のサブシステムの前に追加します。

結果のモデルは、サブシステム インターフェイスでバーチャル バスを使用します。

参考

| | |

関連するトピック