Main Content

Simulink.Bus.save

関数で Simulink.Bus オブジェクト定義を保存する

説明

Simulink.Bus.save(file) は、MATLAB® ベース ワークスペース内のすべての Simulink.Bus オブジェクトの定義を関数に保存します。

Simulink.Bus.save(file,fileFormat) は、fileFormat"object" の場合、配列を使用して Simulink.Bus オブジェクトの定義を保存します。"object" 形式を使用すると、関数が読みやすくなります。fileFormat の既定の設定は cell 配列を使用する "cell" であり、こちらの方がコンパクトになります。

Simulink.Bus.save(file,fileFormat,busNames) は、busNames で指定された Simulink.Bus オブジェクトの定義のみを保存します。

Simulink.Bus.save(file,fileFormat,busNames,scope) は、scope で指定されたデータ ディクショナリの Simulink.Bus オブジェクト定義を保存します。

すべて折りたたむ

Simulink.Bus オブジェクトを作成した場合、将来使用できるように Simulink.Bus オブジェクト定義を保存します。ベース ワークスペースで Simulink.Bus オブジェクトを再作成する関数を作成するには、関数 Simulink.Bus.save を使用します。

BusHierarchy という名前のモデル内の Bus Creator1 という名前の Bus Creator ブロックから Simulink.Bus オブジェクトを作成するとします。

mdl = "BusHierarchy";
block = "BusHierarchy/Bus Creator1";
load_system(mdl)
busInfo = Simulink.Bus.createObject(mdl,block);

TopBus および NestedBus という名前のオブジェクトがベース ワークスペース内にあります。

将来使用できるようにオブジェクト定義を関数に保存するには、関数 Simulink.Bus.save を使用します。

file1 = "DefaultFunction";
Simulink.Bus.save(file1);

既定では、"cell" 形式が関数で使用されます。たとえば、cell 配列で Chirp 要素が定義されています。

{'Chirp', 1, 'double', 'real', 'Sample', 'Fixed', [], [], '', ''};

読みやすさを考慮して書式設定された関数では、関数の形式を "object" として指定します。

file2 = "FormattedFunction";
Simulink.Bus.save(file2,"object");

"object" 形式では、ドット表記を使用してプロパティ値を割り当てる配列によって Chirp 要素が定義されています。

elems(1) = Simulink.BusElement;
elems(1).Name = 'Chirp';
elems(1).Dimensions = 1;
elems(1).DimensionsMode = 'Fixed';
elems(1).DataType = 'double';
elems(1).Complexity = 'real';
elems(1).Min = [];
elems(1).Max = [];
elems(1).DocUnits = '';
elems(1).Description = '';

Simulink.Bus オブジェクトを 1 つのみ関数内に保存するには、オブジェクト名を指定します。

file3 = "PartialSaveFunction";
Simulink.Bus.save(file3,"object",{'NestedBus'});

この関数は NestedBus オブジェクトのみを定義します。

入力引数

すべて折りたたむ

生成する関数の名前。文字ベクトルとして指定します。ファイル名は一意でなければなりません。

例: Simulink.Bus.save('BusObjectFunction');

生成する関数の形式。'cell' または 'object' のいずれかとして指定します。'cell' 形式の方がコンパクトですが、'object' 形式の方が読みやすくなります。

'cell' 形式では、Simulink.Bus オブジェクト定義を cell 配列の cell 配列に保存し、Simulink.Bus.cellToObject を呼び出して Simulink.Bus オブジェクトを作成します。後続のそれぞれの cell 配列は Simulink.Bus オブジェクトを表しており、次のプロパティを含んでいます。

  1. バス名

  2. ヘッダー ファイル

  3. 説明

  4. データ スコープ

  5. 配置

  6. 要素の次元を保持

  7. 要素

要素フィールドは、Simulink.Bus オブジェクトが参照するそれぞれの Simulink.BusElement オブジェクトについてのこの情報を含む cell 配列です。

  1. 要素名

  2. 次元

  3. データ型

  4. サンプル時間 — サンプル時間が継承されていないと、cell 配列にこのフィールドが含まれます。サンプル時間が継承されていないと、モデルのコンパイル中にエラーが発生します。詳細については、Simulink.BusElement オブジェクトで SampleTime プロパティはサポートされなくなるを参照してください。

  5. 実数/複素数

  6. サンプリング モード

  7. 次元モード

  8. 最小値

  9. 最大値

  10. 単位

  11. 説明

'object' 形式では、Simulink.Bus オブジェクト定義は配列として保存されます。関数は、配列インデックス付けを使用して配列の要素にアクセスし、ドット表記を使用してプロパティ値を割り当てます。

例: Simulink.Bus.save('BusObjectFunction','object');

保存する Simulink.Bus オブジェクト。空の cell 配列 ({}) または Simulink.Bus オブジェクト名の cell 配列として指定します。

  • Simulink.Bus オブジェクト名の cell 配列を指定すると、指定されたオブジェクトのみが保存されます。

  • 空の cell 配列を指定すると、すべての Simulink.Bus オブジェクトが保存されます。

空の cell 配列を使用して、scope によって指定したデータ ディクショナリ内の Simulink.Bus オブジェクトをすべて保存します。

例: Simulink.Bus.save('BusObjectFunction','cell',{'myBusObj'});

データ ディクショナリ。Simulink.data.Dictionary オブジェクトとして指定します。この引数を使用する前に、関数 Simulink.data.dictionary.create や関数 Simulink.data.dictionary.open を使用してディクショナリを Simulink.data.Dictionary オブジェクトで表しておきます。

scope が空の場合、関数は Simulink.Bus オブジェクトのソースとして MATLAB ベース ワークスペースを使用します。

例: Simulink.Bus.save('BusObjectFunction','cell',{},dataDictionaryObject);

バージョン履歴

R2006a より前に導入

すべて展開する