ドキュメンテーション

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

Simulink.Bus.createObject

ブロックまたは MATLAB 構造体からのバス オブジェクトの作成

説明

busInfo = Simulink.Bus.createObject(model,blocks) は、指定されたブロックに対してバス オブジェクト (MATLAB® ベース ワークスペース内の Simulink.Bus クラスのインスタンス) を作成し、作成したオブジェクトの情報を返します。

busInfo = Simulink.Bus.createObject(struct) は、MATLAB timeseries、MATLAB timetable、および matlab.io.datastore.SimulationDatastore オブジェクトを含むことができる構造体または数値構造体から MATLAB ワークスペースにバス オブジェクトを作成します。

busInfo = Simulink.Bus.createObject(___,file) は、バス オブジェクトを cell 配列の cell 配列を含む MATLAB ファイルに保存します。下位の各 cell 配列はバス オブジェクトを表し、次のデータを含んでいます。

  • バス名

  • ヘッダー ファイル

  • 説明

  • データ スコープ

  • 配置

  • 要素

要素フィールドは、各要素に関する次のデータを含んでいる配列です。

  • 要素名

  • 次元

  • データ型

  • サンプル時間

  • 実数/複素数

  • 次元モード

  • 最小値

  • 最大値

  • 単位

  • 説明

busInfo = Simulink.Bus.createObject(___,format) は、バス オブジェクトをバス情報の入った cell 配列またはバス オブジェクト自体の入った cell 配列をもつファイルに保存します。

Bus Creator ブロックを含むバス オブジェクトの作成

Bus Creator2 という名前の Bus Creator ブロックからバス オブジェクトを作成します。

open_system('busdemo')
bus2Info = Simulink.Bus.createObject...
('busdemo','busdemo/Bus Creator2')
close_system('busdemo')

ブロックを指定するブロック ハンドルを使って、2 つの Bus Creator ブロックからバス オブジェクトを作成します。ブロック ハンドルを変数に割り当て、ベクトル内で変数を使用して、バス オブジェクトの作成に使用されるブロックを指定します。

モデルを開きます。

clear;
open_system('busdemo')

Simulink® エディターで、Bus Creator2 ブロックを選択します。MATLAB で、ブロック ハンドルを変数に割り当てます。

bc2 = gcbh;

Simulink エディターで、Bus Creator ブロックを選択します。MATLAB で、ブロック ハンドルを変数に割り当てます。

bc1 = gcbh;

バス オブジェクトを作成するには、ベクトル内でブロック ハンドル変数を使用します。

bus3Info = Simulink.Bus.createObject...
('busdemo', [bc2 bc1], 'busdemo_busobject')
close_system('busdemo')

バス情報の cell 配列からのバス オブジェクトの作成

バス情報の cell 配列の cell 配列を作成し、その cell 配列を使用してベース ワークスペース内でバス オブジェクトを生成します。

バス情報の cell 配列を作成します。

busCell = { ...
        { ...
            'myBusObj', ...
            'MyHeader.h', ...
            'My description', ...
            'Exported', ...
            '-1', ...
            {{'a',1,'double', [0.2 0],'real','Sample'}; ...
            {'b',1,'double', [0.2 0],'real','Sample',...
            'Fixed',-3,3,'m','b is distance from the origin'}},...
            }, ...
        };

cell 配列からベース ワークスペースにバス オブジェクトを生成します。

Simulink.Bus.cellToObject(busCell)

入力引数

すべて折りたたむ

モデルの名前またはハンドル。文字ベクトルとして指定します。

バス オブジェクトを作成するブロック。文字ベクトル、ブロックのパス名の cell 配列、またはブロック名のベクトルとして指定します。

  • ブロックが 1 つの場合は、ブロックの絶対パス名を指定します。

  • ブロックが複数ある場合は、ブロックのパス名の cell 配列またはブロック名のベクトルのいずれかを指定します。

  • バス階層の最上位レベルにある Bus Creator ブロックを指定した場合、階層内のすべてのバスに、関数によってバス オブジェクトが作成されます。

バス オブジェクトの作成に使用される構造体。MATLAB timeseries、MATLAB timetable、および matlab.io.datastore.SimulationDatastore オブジェクトを含む構造体または数値構造体として指定します。

バス オブジェクトを保存するファイル。文字ベクトルとして指定します。ファイル名は一意でなければなりません。この引数を省略すると、関数は作成されたバス オブジェクトをファイルではなく、cell 配列に保存します。

バス オブジェクトをファイルに保存する形式。'cell' または 'object' のいずれかとして指定します。セル形式の方がコンパクトですが、オブジェクト形式の方が読みやすくなります。

出力引数

すべて折りたたむ

指定されたブロックのバス情報。構造体配列として返されます。構造体配列の各要素は 1 つのブロックに対応し、次のフィールドがあります。

  • block - ブロックのハンドル

  • busName - ブロックに関連付けられているバス オブジェクトの名前

ヒント

モデル名を指定する場合、Simulink.Bus.createObject コマンドを使用する前に、モデルは正常にコンパイルされていなければなりません。

R2006a より前に導入