データ ディクショナリとは
データ ディクショナリは、モデルに関連するデータの永続リポジトリです。ベース ワークスペースを使用して、シミュレーション中にモデルが使用する設計データを格納することもできます。ただし、データ ディクショナリにはさらに多くの機能があります。
データ ディクショナリは、パラメーターと信号を定義する設計データを格納します。また、モデルの動作を定義するデータを含みます。データ ディクショナリには、Inport ブロックと Outport ブロックを入出力するモデル シミュレーションの入力または出力であるシミュレーション データは格納されません。
データ ディクショナリは、各キーを対応する値と関連付けたデータ構造体である MATLAB® ディクショナリ データ型に関連付けられていません。MATLAB ディクショナリ データ型の詳細については、ディクショナリを参照してください。
ディクショナリの機能
ディクショナリの機能 | 利点 |
---|---|
データ ソースとしてのディクショナリ | ディクショナリのエントリは永続的です。開発中にデータを再読み込みする必要はありません。 |
明示的なデータ モデル リンク | データ ディクショナリをモデルのデータ ソースとして定義することができます。モデル シミュレーションおよびコード生成の際に、モデルはデータ ディクショナリからデータを取得します。 |
バージョンの処理 | 次のことが可能です。
|
変更の追跡 | エントリを変更すると、そのステータスがディクショナリで更新され、トラッキングできるメタデータとして格納されます。ディクショナリでは、誰がいつ変更を加えたかについてもトラッキングされます。変更を表示したり、元に戻したりすることもできます。 |
エントリの比較 | 2 つのディクショナリのエントリの値を比較します。 |
参照ディクショナリへのデータ グループ化 | 参照ディクショナリにデータ項目を分割して整理します。 |
モデル データ依存性 | モデルでのエントリ使用方法を調べます。 |
欠損している変数を修正するオプション | コンパイル時に未定義として報告される変数の場合、次のようになります。
|
参照データの格納および分割 | 機器の仕様などの、モデルに関連していてもシミュレーション中にモデルによって使用されないデータを格納および分割します。 |
データを定義するための統合インターフェイス | モデル エクスプローラーを使用して、ディクショナリの設計データを操作します。 |
メモリの増分更新 | メモリ使用量を最小化することにより、パフォーマンスとスケーラビリティを改善します。 |
要件のトレーサビリティ リンク | データ ディクショナリのエントリから要件ドキュメント内にアクセスします。 |
ディクショナリのセクション
Simulink データ ディクショナリは、次の 4 つのセクションで構成されます。
Design Data: モデルの動作を決定するパラメーター、信号および設計データを定義する変数およびデータ型が含まれます。ディクショナリで作成またはインポートされた設計データは、このセクションに格納されます。
このセクションに格納できるのは、特定のクラスおよびデータ型のみです。詳細については、有効な設計データ クラスを参照してください。
アーキテクチャ データ: 端子インターフェイス、データ型、システム全体の定数とそのプラットフォーム プロパティなど、Simulink およびアーキテクチャ モデル インターフェイスで使用される共有定義を保存します。アーキテクチャ データを検査および変更するには、モデル エクスプローラーからアーキテクチャ データ セクションを選択して [アーキテクチャ データ エディターを開く] ボタンをクリックすることでアクセスできるArchitectural Data Editorを使用します。
アーキテクチャ データの管理に関連するワークフローの詳細については、Graphically Manage Shared Interfaces, Data Types, and Constantsを参照してください。
Configurations:シミュレーション時にモデルを構成する方法を決定する、
Simulink.ConfigSet
クラスのオブジェクトであるコンフィギュレーション セットが含まれます。これらのオブジェクトは、サンプル時間やシミュレーション開始時間などの属性を制御します。コンフィギュレーション セットをデータ ディクショナリに格納する場合、コンフィギュレーション参照を使用してコンフィギュレーション セットにアクセスします。データ ディクショナリが接続されているモデルは、コンフィギュレーション参照をディクショナリ内のコンフィギュレーション セットに関連付けます。コンフィギュレーション参照の詳細については、コンフィギュレーションの複数のモデル間での共有を参照してください。
このセクションには
Simulink.VariantConfigurationData
クラスに属するバリアント構成オブジェクトも格納できます。これらのオブジェクトには、バリアント コンフィギュレーション、バリアントのアクティブな設定と既定の設定、各コンフィギュレーションに関連付けられている制御変数の定義に関する情報が格納されます。メモ
システムで使用できないコンポーネントを含むコンフィギュレーション セットをデータ ディクショナリから読み込むと、欠落しているコンポーネントのパラメーターが既定値にリセットされます。
Embedded Coder ディクショナリ: Embedded Coder® で使用するためのコード生成定義が含まれます。データ ディクショナリに格納されているコード定義を検査および変更するには、モデル エクスプローラーではなく Embedded Coder ディクショナリ (Embedded Coder)を使用します。
Other Data: モデルに関連していてもシミュレーション中にモデルによって使用されない情報が含まれます。このセクションを使用して、物理的な機器について説明するデータやモデルが表すプロセスなどの参照情報を格納します。
このセクションにはほぼすべての組み込みクラスまたはカスタム クラス、データ型を格納できます。詳細については、無効なその他のデータ クラスを参照してください。
異なるバージョンの Simulink で作成されたモデルにおけるディクショナリの使用
Simulink は、データ ディクショナリのバージョン処理を提供しています。以下のイベントが発生したとき、Simulink はディクショナリのデータを同期して、モデルの作成に使用された Simulink バージョンにかかわらず、モデルでディクショナリを使用できるようにします。
前バージョンの Simulink で保存されたデータ ディクショナリをモデルに接続する。たとえば、R2018a で保存されたデータ ディクショナリを、R2018b で開発するモデルに接続する場合。
データ ディクショナリが接続されていて、Simulink の前バージョンで保存されたモデルを開く。たとえば、R2018a で開発した、データ ディクショナリ使用のモデルを、R2018b で開いて開発を続ける場合。
データ ディクショナリが保存された Simulink バージョンを表示するには、現在のフォルダー ブラウザーでデータ ディクショナリをクリックし、[詳細] ペインの [Simulink バージョンで保存] フィールドを特定します。また、異なるバージョンの Simulink を使用して作成したモデルで使用するために、データ ディクショナリをエクスポート (保存) することもできます。新しい Simulink のバージョンで保存されたデータ ディクショナリを Simulink の古いバージョンで使用するには、最初にエクスポートしなければなりません。
データ ディクショナリをエクスポートするには、次の手順を行います。
MATLAB コマンド ウィンドウの [現在のフォルダー] ペインで、データ ディクショナリの場所に移動します。
ディクショナリの名前をダブルクリックします。
モデル エクスプローラーで、データ ディクショナリの名前を右クリックします。ディクショナリに変更を加えた場合、コンテキスト メニューから [変更の保存] を選択します。
データ ディクショナリの名前を右クリックします。コンテキスト メニューで、[前バージョンにエクスポート] を選択します。
[データ ディクショナリを前のバージョンにエクスポート] ダイアログ ボックスで、モデルを保存する Simulink の旧バージョンを指定します。Simulink が新しいバージョンのディクショナリを配置するためのフォルダーを指定します。ここで指定するフォルダーには、既存のディクショナリ階層の一部を構成するディクショナリを含めることはできません。次に、[OK] をクリックします。
指定したフォルダーに新しいバージョンのデータ ディクショナリが存在することを確認します。
ディクショナリのエントリの管理と編集
データ ディクショナリでエントリを作成、変更、表示するには、モデル エクスプローラーを使用します。詳細については、ワークスペース変数の作成、編集、管理およびディクショナリ データの変更表示と変更取り消しを参照してください。
ディクショナリのエントリをプログラムで管理する場合は、プログラムによるディクショナリへのデータの格納を参照してください。
ディクショナリの参照
親ディクショナリで 1 つ以上のディクショナリを参照できます。参照ディクショナリのデータは親ディクショナリに表示されます。特にモデル参照階層では、データを有意義に分割する際にこの手法を使用します。詳細については、参照ディクショナリを使用したディクショナリ データの分割とデータ ディクショナリを使用したモデル参照階層用のデータ分割を参照してください。
ファイル形式のインポートおよびエクスポート
ファイル形式 | ディクショナリへのインポート | ディクショナリからのエクスポート |
---|---|---|
MAT ファイル | ✓ | ✓ |
MATLAB スクリプト | ✓ | ✓ |
Allow Access to Base Workspace
[モデルからベース ワークスペースへのアクセスを有効にする] プロパティと [ディクショナリからベース ワークスペースへのアクセスを有効にする] プロパティの詳細については、ベース ワークスペースでの共有データの継続使用を参照してください。