ドキュメンテーション

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

バス オブジェクトの保存とインポート

バス オブジェクトをベース ワークスペースに作成する場合は、MATLAB® を閉じる前にバス オブジェクトを次のいずれかの場所に保存 (エクスポート) します。

  • データ ディクショナリ

  • MATLAB コード ファイル

  • MAT ファイル

  • データベース ファイルまたはその他の外部ファイル

バス オブジェクトを保存しない場合、そのバス オブジェクトを使用するモデルを再度開くときに、バス オブジェクトを再作成しなければなりません。

バス オブジェクトの作成に使用する手法によって、バス オブジェクトが最初に保存される場所が決まります。

バスの作成手法初期の保存場所
バス エディターベース ワークスペース
Simulink.Bus および Simulink.BusElement オブジェクト定義ベース ワークスペース
Simulink.Bus.cellToObjectベース ワークスペース
Simulink.Bus.createObjectベース ワークスペースまたは MATLAB コード ファイル

バス エディターを使用してバス オブジェクトを保存するときは、バス オブジェクトを MAT ファイルまたは MATLAB コード ファイルに保存できます。関数 Simulink.Bus.save または matlab.io.saveVariablesToScript を使用してバス オブジェクトを保存すると、ベース ワークスペース内のバス オブジェクトはオブジェクト形式で MATLAB コード ファイルに保存されます。ベース ワークスペースの内容を保存するどの MATLAB 手法でも使用できます。ただし、結果のファイルには、バス オブジェクトだけでなく、ベース ワークスペース内のすべての内容が含まれます。

ヒント

バス エディターを閉じる際にバス オブジェクトの保存を確認するメッセージが表示されるように、バス エディターを構成できます。この確認メッセージを有効にするには、[オプション]、[閉じる前に常に警告] を選択します。このオプションを選択してバス エディターを閉じようとすると、閉じる前にバス オブジェクトの保存に関する確認メッセージが表示されます。この確認メッセージを無効にするには、[オプション]、[閉じる前に常に警告] の選択を解除します。

MATLAB 外の場所に対して読み込みと書き込みを行うカスタム関数を指定することで、バス オブジェクトのエクスポートとインポートをカスタマイズできます。たとえば、エクスポートされたバス オブジェクトを企業データベースにレコードとして保存できます。詳細については、バス オブジェクトのインポートとエクスポートのカスタマイズを参照してください。

バス オブジェクトをインポートおよび変更する場合は、オブジェクトを再度保存し、それらのインポートに使用するメカニズム (モデルのコールバックなど) を変更できます。

バス オブジェクトの保存場所

バス オブジェクトの保存場所を選択する前に、バス オブジェクトをモデルに関連付ける方法を検討してください。詳細については、バス オブジェクトからモデルへのマッピングを参照してください。

場所使用法に関する注意事項

データ ディクショナリ

大きなモデルのコンポーネント化に使用します。

ベース ワークスペースからデータ ディクショナリに保存する場合は、バス オブジェクトだけでなく、モデルで使用するすべての変数を取得します。

データ ディクショナリに保存する前に、データ ディクショナリに移行する前の考慮事項を参照してください。

MATLAB コード ファイル

トレーサビリティとモデルの差別化に MATLAB を使用する場合に使用します。

MAT ファイル

より高速なバス オブジェクトの保存と読み込みのために使用します。

データベース ファイルまたはその他の外部ファイル

バス インターフェイス情報と外部データ ソースに保存された設計ドキュメントの比較に使用します。

データ ディクショナリ

バス オブジェクトの保存

バス オブジェクト (およびモデルで使用されるその他のベース ワークスペース変数) をデータ ディクショナリに保存するには、次のようにします。

  1. [モデル プロパティ] ダイアログ ボックスを使用して、モデルをデータ ディクショナリにリンクします。

  2. データ ディクショナリを作成します。

  3. ベース ワークスペースからデータ ディクショナリにデータを移行します。

完全な手順を示す例については、ディクショナリを使用する単一モデルの移行を参照してください。

MATLAB コード ファイル

バス オブジェクトの保存

ベース ワークスペースから MATLAB コード ファイルにすべてのバス オブジェクトをエクスポートするには、次のようにします。

  1. バス エディターで、[ファイル]、[ファイルにエクスポート] を選択します。

  2. [エクスポート] ダイアログ ボックスで、エクスポート ファイルの名前を指定します。ファイル拡張子を指定する必要はありません。

  3. [ファイルの種類][MATLAB ファイル (*.m)] に設定します。

  4. [保存] をクリックします。

  5. 表示されるダイアログ ボックスで、次の形式を選択します。

    • セル — バス オブジェクトを圧縮形式で保存します。

    • オブジェクト — バス オブジェクトを Simulink.Bus オブジェクト形式で保存します。こちらの方が読み取りや編集が簡単です。

ベース ワークスペース内のすべてのバス オブジェクトのみが、指定された MATLAB コード ファイルにエクスポートされます。

メモ

[階層] ペインの [ベース ワークスペース] で実行された、バス オブジェクトのエクスポートなどの操作は、表示されたオブジェクトのみに影響します。フィルターが使用されているために表示されないオブジェクトは、その操作による影響を受けません。既存のすべてのバス オブジェクトをエクスポートするには、エクスポートを実行する前に、使用中のフィルターをすべてクリアします。

選択されたバス オブジェクトのみをベース ワークスペースからファイルにエクスポートするには、以下のようにします。

  1. バス エディターの [コンテンツ] ペインで、1 つ以上のバス オブジェクトを選択し、右クリックします。

  2. 選択したバス オブジェクトのみエクスポートするには、コンテキスト メニューで、[ファイルにエクスポート] を選択します。選択したオブジェクトで使用される入れ子になったバス オブジェクトを含めるには、[依存するバス オブジェクトを持つ <BusObject> をファイルにエクスポート] を選択します。

  3. [エクスポート] ダイアログ ボックスを使用して、選択されたバス オブジェクトをエクスポートします。

Simulink.Bus.createObject を使用してバス オブジェクトを作成する場合は、バス オブジェクトを保存する MATLAB コード ファイルを指定できます。ファイルにバス オブジェクトを保存すると、既定ではオブジェクトがセル形式で保存されます。これは圧縮形式です。オブジェクトを読みやすい形式で保存するには、最後の引数としてファイル名の後に 'object' を使用します。以下に例を示します。

Simulink.Bus.createObject('busdemo','busdemo/Bus Creator2',...
'bus_objs','object'),

バス オブジェクトのインポート

モデルのコールバックを使用して、関数 load で MATLAB コード ファイルを読み込むことができます。

モデルで少数のバス オブジェクトしか使用しない場合は、ファイルを読み込むのではなく、バス オブジェクトのコードをコールバックに直接コピーすることを検討してください。たとえば、ex_bus_tutorial_nonvirtual.slx モデルを開いて、コールバックを調べます。

バス エディターを使用して、MAT ファイルの定義をベース ワークスペースにインポートできます。インポートによって、バス オブジェクトだけでなく、ファイルの完全な内容が読み込まれます。

  1. [ファイル]、[ベース ワークスペースにインポート] を選択します。

  2. [ファイルを開く] ダイアログ ボックスを使用して、希望のファイルに移動し、インポートします。

MAT ファイル

バス オブジェクトの保存

バス エディターを使用して、すべてのバス オブジェクトをベース ワークスペースから MAT ファイルにエクスポートするには、以下のようにします。

  1. バス エディターで、[ファイル]、[ファイルにエクスポート] を選択します。

  2. [エクスポート] ダイアログ ボックスで、エクスポート ファイルの名前を指定します。ファイル拡張子を指定する必要はありません。

  3. [ファイルの種類][MAT ファイル (*.mat)] に設定します。

  4. [保存] をクリックします。

ベース ワークスペースのすべてのバス オブジェクトのみが、指定された MAT ファイルにエクスポートされます。

メモ

[階層] ペインの [ベース ワークスペース] で実行された、バス オブジェクトのエクスポートなどの操作は、表示されたオブジェクトのみに影響します。フィルターが使用中であるために表示されないオブジェクトは、その操作による影響を受けません。既存のすべてのバス オブジェクトをエクスポートするには、エクスポートを実行する前に、有効なフィルターをすべてクリアします。

選択されたバス オブジェクトのみをベース ワークスペースからファイルにエクスポートするには、以下のようにします。

  1. バス エディターの [コンテンツ] ペインで、1 つ以上のバス オブジェクトを選択し、右クリックします。

  2. 選択したバス オブジェクトのみエクスポートするには、コンテキスト メニューで、[ファイルにエクスポート] を選択します。選択したオブジェクトで使用されている入れ子にされたすべてのバス オブジェクトをエクスポートするには、[Export with Dependent Bus Objects to File] を選択します。

  3. [エクスポート] ダイアログ ボックスを使用して、選択されたバス オブジェクトをエクスポートします。

Simulink.Bus.createObject または Simulink.Bus.cellToObject を使用してバス オブジェクトを作成する場合は、バス オブジェクトを MATLAB コード ファイルとして保存できます。関数 Simulink.saveVars を使用して変数をベース ワークスペースから保存すると、オブジェクトは MATLAB コード ファイルに保存されます。

バス オブジェクトのインポート

モデルのコールバックを使用して、関数 load で MAT ファイルを読み込むことができます。

バス エディターを使用して、MAT ファイルの定義をベース ワークスペースにインポートできます。ファイルをインポートすると、バス オブジェクトだけではなく、ファイルの完全な内容が読み込まれます。

  1. [ファイル]、[ベース ワークスペースにインポート] を選択します。

  2. [ファイルを開く] ダイアログ ボックスを使用して、希望のファイルに移動し、インポートします。

データベース ファイルまたはその他の外部ファイル

バス オブジェクトの保存

データベースまたはその他の外部ソースのバス インターフェイス情報を取得して、スクリプトおよび Database Toolbox™ 機能を使用してその情報を MATLAB に読み取ることができます。

バス オブジェクトのインポート

sl_customization.m を使用してバス エディターをカスタマイズし、データベースまたはその他の外部ソースからバス データをインポートできます。詳細については、バス オブジェクトのインポートとエクスポートのカスタマイズを参照してください。

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

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

参考

関数

クラス

関連するトピック