Main Content

Simulink.MDLInfo

ファイルを読み込まずに SLX、SLXP、または MDL ファイルの情報を抽出

説明

Simulink.MDLInfo オブジェクトは、メモリに読み込むことなく SLX、SLXP、または MDL ファイルから情報を抽出します。

MDLInfo オブジェクトを作成せずにファイルから説明とメタデータを抽出するには、それぞれ関数 Simulink.MDLInfo.getDescription と関数 Simulink.MDLInfo.getMetadata を使用します。

作成

説明

info = Simulink.MDLInfo(file)info という MDLInfo オブジェクトを作成し、指定されたモデル ファイルから取得した情報をプロパティに入力します。

入力引数

すべて展開する

SLX、SLXP、または MDL ファイルの名前。文字ベクトルまたは string スカラーとして指定します。

ファイル名には部分パス、絶対パス、相対パスを含めることも、パスを含めないこともできます。パスを指定しない場合、ファイルの拡張子はオプションです。

名前を共有する優先順位が低いファイルによって予期しない結果が発生するのを避けるために、完全修飾ファイル名を指定します。

例: Simulink.MDLInfo('vdp')

例: Simulink.MDLInfo('mymodel.slx')

例: Simulink.MDLInfo('mydir/mymodel.slx')

例: Simulink.MDLInfo('C:/mydir/mymodel.slx')

データ型: char | string

プロパティ

すべて展開する

ファイル名と内容

この プロパティ は読み取り専用です。

ブロック線図の名前。文字ベクトルとして返されます。

ブロック線図の名前はファイルの名前と一致しますが、拡張子はありません。

データ型: char

この プロパティ は読み取り専用です。

ファイルのタイプ。文字ベクトルとして返されます。

データ型: char

この プロパティ は読み取り専用です。

完全修飾ファイル名。文字ベクトルとして返されます。

データ型: char

この プロパティ は読み取り専用です。

入力、出力、参照の説明。構造体として返されます。

構造体には、最上位レベルの端子の名前と属性、モデル参照、およびサブシステム参照が含まれます。

データ型: struct

この プロパティ は読み取り専用です。

true または false の結果。データ型 logical1 または 0 として返されます。

  • 1 (true) — ファイルはライブラリです。

  • 0 (false) — ファイルはライブラリではありません。

データ型: logical

ユーザー指定の情報

この プロパティ は読み取り専用です。

ファイルに関するユーザー指定の説明。文字ベクトルとして返されます。

ヒント

  • モデルの読み込みまたは MDLInfo オブジェクトの作成を行わずに説明を抽出するには、関数 Simulink.MDLInfo.getDescription を使用します。

  • モデルの読み込みまたは MDLInfo オブジェクトの作成を行わずに説明を表示するには、MATLAB® コマンド ウィンドウで以下のように入力します。

    help 'mymodelname'

  • 開いているモデルの説明を表示するには、[モデル プロパティ] ダイアログ ボックスの [説明] タブを開きます。

データ型: char

この プロパティ は読み取り専用です。

ファイルに関連付けられた任意のデータの名前と値。構造体として返されます。

構造体フィールドは、文字ベクトル、double 型の数値行列、または構造体です。

ヒント

モデルの読み込みまたは MDLInfo オブジェクトの作成を行わずにメタデータ構造体を抽出するには、関数 Simulink.MDLInfo.getMetadata を使用します。

データ型: struct

情報の保存

この プロパティ は読み取り専用です。

ファイルの保存に使用されたリリース アップデート。正の整数として返されます。

  • 0 — ファイルは正式リリース (たとえば 'R2020a') で保存されたか、あるいは R2020a より前のリリースで保存されました。

  • 正の整数 — ファイルは更新リリースに保存されました。たとえば、モデルが 'R2020a Update 2' に保存された場合は 2 になります。

データ型: int32

この プロパティ は読み取り専用です。

ファイルを最後に保存したユーザーの名前。文字ベクトルとして返されます。

データ型: char

この プロパティ は読み取り専用です。

ファイルの保存に使用されたプラットフォーム。文字ベクトルとして返されます。

例: 'glnxa64'

データ型: char

この プロパティ は読み取り専用です。

ファイルのバージョン番号。文字ベクトルとして返されます。

データ型: char

この プロパティ は読み取り専用です。

ファイルの保存に使用された MATLAB リリース。文字ベクトルとして返されます。

例: 'R2020a'

データ型: char

この プロパティ は読み取り専用です。

ファイルが保存されたときの文字エンコード。文字ベクトルとして返されます。

例: 'UTF-8'

データ型: char

この プロパティ は読み取り専用です。

ファイルの保存に使用された Simulink バージョン番号。文字ベクトルとして返されます。

例: '10.1'

データ型: char

すべて折りたたむ

例を開きます。次に、vdp モデルを開きます。

open_system('vdp')

vdp.slx ファイルに対応する Simulink.MDLInfo オブジェクトを作成します。

info = Simulink.MDLInfo("vdp.slx");

ドット表記を使用してプロパティ値にアクセスすることで、ファイルに関する情報 (ファイルのタイプなど) を取得します。

type = info.BlockDiagramType
type = 
'Model'

sldemo_mdlref_depgraph モデルを開きます。

openProject("ModelReferenceHierarchy");

sldemo_mdlref_depgraph モデルに関する情報を取得します。

info = Simulink.MDLInfo('sldemo_mdlref_depgraph');

インターフェイス情報を取得します。

info.Interface
ans = struct with fields:
                       Inports: [0x1 struct]
                      Outports: [0x1 struct]
                     Trigports: [0x1 struct]
                   Enableports: [0x1 struct]
                  ModelVersion: '8.11'
           SubsystemReferences: {0x1 cell}
               ModelReferences: {4x1 cell}
        ParameterArgumentNames: ''
            TestPointedSignals: [0x1 struct]
             ProvidedFunctions: [0x1 struct]
         IsExportFunctionModel: 0
         SimulinkSubDomainType: 'Simulink'
                   ResetEvents: [0x1 struct]
            DataStoreReference: [0x1 struct]
            HasInitializeEvent: 0
             HasTerminateEvent: 0
    PreCompExecutionDomainType: 'Unset'
             UseModelRefSolver: 0
                    SolverName: 'ode3'
            ParameterArguments: [0x1 struct]
         ExternalFileReference: [5x1 struct]

参照モデルを取得します。

info.Interface.ModelReferences
ans = 4x1 cell
    {'sldemo_mdlref_depgraph/heat2cost|sldemo_mdlref_heat2cost'      }
    {'sldemo_mdlref_depgraph/house|sldemo_mdlref_house'              }
    {'sldemo_mdlref_depgraph/outdoor temp|sldemo_mdlref_outdoor_temp'}
    {'sldemo_mdlref_depgraph/thermostat|sldemo_mdlref_heater'        }

メタデータを含む構造体を作成します。

t=datetime('tomorrow','format','MM/dd/yy');
m.ExpectedCompletionDate = t;
m.TestStatus = 'untested';

新しいモデルを作成します。

new_system('MetadataModel')

'Metadata' パラメーターを更新します。

set_param('MetadataModel','Metadata',m)

メタデータを含むモデルを保存します。

save_system('MetadataModel')

モデルを読み込んだり Simulink.MDLInfo オブジェクトを作成したりせずに、モデルにメタデータがないかチェックします。

Simulink.MDLInfo.getMetadata('MetadataModel')
ans = struct with fields:
    ExpectedCompletionDate: 08/16/23
                TestStatus: 'untested'

バージョン履歴

R2009b で導入