ドキュメンテーション

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

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

ブロック、データ、または C コードに基づいてバス オブジェクトとその要素をプログラムで新規に作成します。

バス オブジェクトをプログラムにより作成したので、それらを MATLAB ワークスペースまたは MATLAB コード ファイルに格納できます。バス オブジェクトを作成した後、MATLAB コマンドを使用してバス オブジェクトを MAT ファイルに保存できます (ワークスペース変数の保存と読み込み (MATLAB)を参照)。バス オブジェクトを使用するブロックのシミュレーションを実行するには、バス オブジェクトがベース ワークスペースまたはデータ ディクショナリ内になければなりません。

バス オブジェクトの定義前または定義後のいずれかに、ブロックのデータ型にするバス オブジェクトを指定できます。ただし、モデルをシミュレートする前に、バス オブジェクトと対応するバス信号に、同じ数のバス要素が同じ順序で含まれていなければなりません。また、バス オブジェクトおよび対応するバス要素信号内の各バス要素が同じデータ型と次元をもたなければなりません。

モデルの開発中に、バス信号を変更してバス オブジェクトと一致させるか、バス オブジェクトを変更してバスと一致させることができます。

Simulink.Bus オブジェクトおよび Simulink.BusElement オブジェクトの直接作成

Simulink.Bus オブジェクトとその Simulink.BusElement オブジェクトをプログラムにより作成することができます。バス オブジェクトはベース ワークスペースに格納されます。各バス要素オブジェクトについて、名前、次元およびデータ型を指定します。バス要素オブジェクトの他のプロパティはオプションです。バス オブジェクトの場合は、バス要素を指定します。バス オブジェクトの他のプロパティはオプションです。たとえば、次のコードでは CONTROL バス オブジェクトの要素として使用される 2 つのバス要素オブジェクトが作成されます。

clear elems;
elems(1) = Simulink.BusElement;
elems(1).Name = 'VALVE1';
elems(1).Dimensions = 1;
elems(1).DimensionsMode = 'Fixed';
elems(1).DataType = 'double';
elems(1).SampleTime = -1;
elems(1).Complexity = 'real';

elems(2) = Simulink.BusElement;
elems(2).Name = 'VALVE2';
elems(2).Dimensions = 1;
elems(2).DimensionsMode = 'Fixed';
elems(2).DataType = 'double';
elems(2).SampleTime = -1;
elems(2).Complexity = 'real';

CONTROL = Simulink.Bus;
CONTROL.Elements = elems;

このスクリプトは、バス オブジェクトを MATLAB ファイルに保存して、[オブジェクト] 形式を選択した場合のファイルと似ています。バス オブジェクトの保存の詳細については、バス オブジェクトの保存とインポートを参照してください。

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

モデルのブロックに基づいて、バス オブジェクトとそのバス要素をプログラムにより作成できます。関数 Simulink.Bus.createObject を使用して、バス オブジェクトを作成するモデルとブロックを指定します。関数を使用する前に、モデルはコンパイル可能でなければなりません。たとえば、入れ子になったバス階層の最上位で Bus Creator ブロックを指定すると、関数によって階層内のすべてのバスのバス オブジェクトが作成されます。バス オブジェクトをベース ワークスペースに作成するか、または MATLAB コード ファイルに保存するか指定できます。

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

関数 Simulink.Bus.cellToObject を使用して、MATLAB でバス情報の cell 配列からバス オブジェクトを作成できます。各セルの下位の cell 配列はバス オブジェクトを表し、次のデータを含み、Simulink.Bus オブジェクトのプロパティが反映されます。

{BusName,HeaderFile,Description,DataScope,Alignment,Elements}

Elements フィールドは、各 Simulink.Bus オブジェクトに対してこれらのプロパティを定義する cell 配列です。

{ElementName,Dimensions,DataType,SampleTime,Complexity,DimensionsMode,Min,Max,Units,Description}

関数 Simulink.Bus.createObject を使用して、timeseries オブジェクトの MATLAB 構造体からバス オブジェクトを作成できます。または、数値の MATLAB 構造体を指定できます。バス オブジェクトをベース ワークスペースに作成するか、または MATLAB コード ファイルに保存するか指定できます。

参考

関数

クラス

関連するトピック