Main Content

プログラムによるバス オブジェクトの作成

Simulink.Bus オブジェクトとその Simulink.BusElement オブジェクトを、配列、ブロック、cell 配列、構造体、または C コードからプログラムで作成できます。

Bus オブジェクトをプログラムで作成するときに、それらを MATLAB® ワークスペースまたはデータ ディクショナリに格納することも、その定義を関数内に保存することもできます。ベース ワークスペースの Bus オブジェクトについて、関数 Simulink.Bus.save を使用して、プログラムでその定義を関数内に保存できます。

Bus オブジェクトを使用するブロックのシミュレーションを実行するには、その Bus オブジェクトがベース ワークスペースまたはデータ ディクショナリ内になければなりません。

バス要素オブジェクトからのバス オブジェクトの作成

Simulink.BusElement オブジェクトの配列を使用して Simulink.Bus オブジェクトの階層を作成します。

Chirp および Sine という名前の 2 つの BusElement オブジェクトを含む配列をベース ワークスペースに作成します。

elems(1) = Simulink.BusElement;
elems(1).Name = 'Chirp';

elems(2) = Simulink.BusElement;
elems(2).Name = 'Sine';

配列のインデックス付けにより、配列の要素を作成したり要素にアクセスしたりできます。ドット表記によって要素のプロパティ値にアクセスできます。

elems 配列で定義される要素を含む、Sinusoidal という名前の Bus オブジェクトを作成します。

Sinusoidal = Simulink.Bus;
Sinusoidal.Elements = elems;

Bus オブジェクトの階層を作成するため、Sinusoidal という名前の Bus を参照する別の Bus オブジェクトを作成します。

NestedBus および Step という名前の 2 つの BusElement オブジェクトを含む配列を作成します。NestedBus 要素のデータ型として、Sinusoidal という名前の Bus オブジェクトを指定します。

clear elems

elems(1) = Simulink.BusElement;
elems(1).Name = 'NestedBus';
elems(1).DataType = 'Bus: Sinusoidal';

elems(2) = Simulink.BusElement;
elems(2).Name = 'Step';

elems 配列で定義される要素を含む、TopBus という名前の Bus オブジェクトを作成します。

TopBus = Simulink.Bus;
TopBus.Elements = elems;

作成されたオブジェクトの階層を [バス エディター] で表示できます。

buseditor

ブロックからのバス オブジェクトの作成

モデル内のブロックに基づいて Bus オブジェクトをプログラムで作成するには、関数 Simulink.Bus.createObject を使用します。

バス階層の最上位にある Bus Creator ブロックを指定すると、関数によって、入れ子になったバスを含め、階層内のすべてのバスについて Bus オブジェクトが作成されます。

MATLAB データからのバス オブジェクトの作成

cell 配列から Bus オブジェクトを作成するには、関数 Simulink.Bus.cellToObject を使用します。後続のそれぞれの cell 配列は Bus オブジェクトを表しています。

MATLAB 構造体から Bus オブジェクトを作成するには、関数 Simulink.Bus.createObject を使用します。構造体には MATLAB timeseries オブジェクト、MATLAB timetable オブジェクト、および matlab.io.datastore.SimulationDatastore オブジェクトが含まれていてもよいですし、または数値構造体であってもかまいません。

外部 C コードからのバス オブジェクトの作成

既存の C コードで定義した構造体型 (struct) に一致する Bus オブジェクトを作成できます。その後、シミュレーション用に既存のアルゴリズム C コードを統合する準備 (レガシ コード ツールを使用するなど) のため、Bus オブジェクトを使用して、構造型に従って信号またはパラメーター データをパッケージ化できます。オブジェクトを作成するには、関数 Simulink.importExternalCTypes を使用します。

参考

関数

クラス

関連するトピック