プログラムによる Simulink バス オブジェクトの作成
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;
作成されたオブジェクトの階層を [型エディター] で表示できます。
typeeditor
ブロックからのバス オブジェクトの作成
モデル内のブロックに基づいて Simulink.Bus
オブジェクトをプログラムで作成するには、関数 Simulink.Bus.createObject
を使用します。
バス階層の最上位にある Bus Creator ブロックを指定すると、関数によって、入れ子になったバスを含め、階層内のすべてのバスについて Bus
オブジェクトが作成されます。
MATLAB データからのバス オブジェクトの作成
cell 配列から Simulink.Bus
オブジェクトを作成するには、関数 Simulink.Bus.cellToObject
を使用します。後続のそれぞれの cell 配列は別の Bus
オブジェクトを表しています。
MATLAB 構造体から Bus
オブジェクトを作成するには、関数 Simulink.Bus.createObject
を使用します。構造体には MATLAB timeseries
オブジェクト、MATLAB timetable
オブジェクト、および matlab.io.datastore.SimulationDatastore
オブジェクトが含まれていてもよいですし、または数値構造体であってもかまいません。
外部 C コードからのバス オブジェクトの作成
既存の C コードで定義した構造体型 (struct
) に一致する Simulink.Bus
オブジェクトを作成できます。その後、シミュレーション用に既存のアルゴリズム C コードを統合する準備 (レガシ コード ツールを使用するなど) のため、Bus
オブジェクトを使用して、構造型に従って信号またはパラメーター データをパッケージ化できます。オブジェクトを作成するには、関数 Simulink.importExternalCTypes
を使用します。