主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

find_mdlrefs

モデルの階層構造内の参照モデルと模型ブロックの検索

变体オプションは削除される予定です。代わりにMatchFilterを使用してください。详细については,互换性についての考虑事项を参照してください。

说明

[楷模] = find_mdlrefs(系统的)は,指定されたシステムの下のモデルの阶层构造内で,すべての参照モデルと模型ブロックを検索します。关节有关部find_mdlrefsは,モデルを一時的に読み込みます。

[楷模] = find_mdlrefs(系统名称,价值的)は1つ以上の名前と値のペアを使用して,追加の検索オプションを提供します。たとえば,モデルを一時的に読み込むのではなく読み込んだままにする場合,KeepModelsLoaded真的に設定します。

すべて折りたたむ

指定されたモデルによって参照されるすべてのモデルの参照モデルおよび模型ブロックを検索します。

load_system('sldemo_mdlref_basic');[myModels,myModelBlks] = find_mdlrefs('sldemo_mdlref_basic'的)
myModels =2 x1细胞{' sldemo_mdlref_counter} {' sldemo_mdlref_basic '}
myModelBlks =3X1细胞{ 'sldemo_mdlref_basic / CounterA'} { 'sldemo_mdlref_basic / CounterB'} { 'sldemo_mdlref_basic / CounterC'}

既定では,関数find_mdlrefsはまだ読み込まれていないモデルを読み込んでから闭じます。読み込まれているモデルを特定するには,关数find_systemを使用します。

find_mdlrefs ('sldemo_mdlref_depgraph');find_system('类型'“block_diagram”的)
ANS =为0x1空单元阵列

モデルの階層構造内のすべてのモデルを検索して読み込むには,KeepModelsLoaded真的に設定します。

find_mdlrefs ('sldemo_mdlref_depgraph''KeepModelsLoaded',真的);find_system('类型'“block_diagram”的)
ANS =.7X1细胞{ 'sldemo_mdlref_thermostat'} { 'sldemo_mdlref_heater'} { 'sldemo_mdlref_F2C'} { 'sldemo_mdlref_outdoor_temp'} { 'sldemo_mdlref_house'} { 'sldemo_mdlref_heat2cost'} { 'sldemo_mdlref_depgraph'}

最上位モデルとすべての参照モデルは読み込まれたままになります。sldemo_mdlref_depgraphを開くと,参照モデルを開いて参照モデルが読み込まれるのを待たずにモデルの階層構造を移動できます。

入力引数

すべて折りたたむ

システム名,ブロックパス,またはハンドル。文件ベクトル那字符串スカラー,または数値スカラーとして指定します。

システムは基金ファイル,MDLファイル,模型ブロック,または子系统ブロックでなければなりません。

ファイル名を指定するときに,ファイルの拡张子を含めないでください。

データ型:|字符|字符串

名前と値のペアの引数

オプションのコンマ区切りされた名称,价值の引数ペアを指定します。ここで,的名字は引数名,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,复数の名前と値のペアの引数を任意の顺序で指定できます。

例:refModels = find_mdlrefs (topmodel, KeepModelsLoaded,真的,ReturnTopModelAsLastElement,假)

検索するレベル。“AllLevels”と数値または逻辑1真的)または0.错误的)で构成されるコンマ区切りのペアとして指定します。

  • 真的——指定された系统のモデルの階層構造内のすべての模型ブロックを検索します。

  • 错误的- 最上位レベルのシステムのみを検索します。

データ型:逻辑

モデルを読み込まれたままにするオプション。'KeepModelsLoaded'と数値または逻辑1真的)または0.错误的)で构成されるコンマ区切りのペアとして指定します。

既定では,关数はまだ読み込まれていないモデルを読み込んでから闭じます。モデルを読み込んだままにするには,この引数を真的に设定します。モデルを読み込んだままにすると,モデルの検索后にモデルを操作する予定がある场合に役立ちます。

データ型:逻辑

保護モデルを検索結果に含めるオプション。'IncludeProtectedModels'と数値または逻辑1真的)または0.错误的)で构成されるコンマ区切りのペアとして指定します。

この設定は,返される参照モデルのリストにのみ影響します。返される模型ブロックのリストには影响しません。

データ型:逻辑

バリアントモデルを検索结果に含めるオプション。“变体”'ActivePlusCodeVariants'“ActiveVariants”,または'AllVariants'で構成されるコンマ区切りのペアとして指定します。

  • 'ActivePlusCodeVariants'- シミュレーション内でアクティブであり,生成されたコードの一部である变体子系统内のすべてのバリアントモデルを含めます。

  • “ActiveVariants”-变体子系统ブロック内のアクティブなバリアントモデルを含めます。

  • 'AllVariants'-变体子系统ブロック内のすべてのバリアントモデルを含めます。

メモ

この検索条件は,[バリアント制御モード]表达または标签に设定されている变体子系统ブロックにのみ适用されます。MatchFilterオプションを指定して关数find_mdlrefsを使用すると,すべてのタイプのバリアントブロックについて动作します。

データ型:字符|字符串

検索時に大文字小文字を区別するオプション。大文字小文字を区別する検索の場合は真的,大文字小文字を区别しない検索の场合は错误的として指定します。

データ型:逻辑

ライブラリリンクに従って検索するオプション。真的または错误的として指定します。真的の场合,検索はライブラリブロックへリンクされたものを含みます。

データ型:逻辑

コメント付きブロックを検索に含めるオプション。真的または错误的として指定します。

データ型:逻辑

マスクされたブロックを検索するオプション。次として指定します。

  • '全部'- マスクされたすべてのブロック内を検索します。

  • '没有任何'- マスクされたシステムでの検索を回避します。

  • “功能”- ダイアログをもたないマスクサブシステムも検索します。

  • “图形”——ワークスペースまたはダイアログをもたないマスクサブシステムも検索します。

データ型:字符|字符串

ブロック,システム,ライン,端子,注釈など,検索内の要素に一致させる関数ハンドル。MatchFilterを使用して,検索で要素を含めるべきか,スキップすべきかどうかを決定します。

名前付き関数はMATLAB®プログラムファイル内で定義されていなければなりません。关节有关部は要素のハンドルを入力として取り、2 つの出力を返します。

功能[匹配,剪枝] = FUNC(元件)
  • 入力元素は処理されているブロックのハンドルです。

  • 1つ目の出力匹配は逻辑値です。错误的の場合,検索で要素がスキップされます。

  • 2つ目の出力修剪元素がサブシステムである場合にのみ適用される,オプションの逻辑値です。既定値は错误的です。この値が真的に設定されている場合,サブシステム全体が検索対象から除外されます。

次に例を示します。MatchFilterを使用して,フィルター関数initFcnMdlBlocksを使用してInitFcnが定义されたモデル内のすべてのモデルブロックを検索します。

功能匹配= initFcnMdlBlocks(手柄)匹配=〜的isEmpty(get_param(手柄,“InitFcn”));结尾
让addpath(完整文件(matlabroot,“例子”“金宝appsimulink_variants”'主要的'));模型='slexVariantMdlRefCondProp';load_system(模型);[模型,块] = find_mdlrefs(型号,“MatchFilter”@initFcnMdlBlocks)

バリアント:金宝appSimulink中は,マッチフィルター关数金宝appSimulink.match.activeVariants金宝appSimulink.match.codeCompileVariantsを提供します。これらの関数を使用して,アクティブなバリアントとコードコンパイルのバリアントブロックを検索できます。これを行うには,モデルをコンパイルして,適切なMatchFilterオプションを适用します。

  • 金宝appSimulink.match.activeVariants- モデルのコンパイル后にシミュレーションでアクティブなブロックと一致

  • 金宝appSimulink.match.codeCompileVariants- モデルのコンパイル后に生成されたコードの一部であるブロックと一致

    たとえば,金宝appSimulink.match.activeVariantsオプションを使用して,モデルでアクティブなバリアントを検索します。

    让addpath(完整文件(matlabroot,“例子”“金宝appsimulink_variants”'主要的'));模型='slexVariantMdlRefCondProp';load_system(模型);set_param(模型,“SimulationCommand”“更新”);[模型,块] = find_mdlrefs(型号,“MatchFilter”,@ 金宝appSimulink.match.activeVariants);

    たとえば,金宝appSimulink.match.codeCompileVariantsオプションを使用して,生成されたÇコードの一部であるバリアントの选択肢を検出します。

    让addpath(完整文件(matlabroot,“例子”“金宝appsimulink_variants”'主要的'));load_system('slexVariantMdlRefCondProp');assignin (“基地”“VSS_MODE”2);slexVariantMdlRefCondProp([],[],[],“compileForRTW”);(模型、块)= find_mdlrefs ('slexVariantMdlRefCondProp'“MatchFilter”,@ 金宝appSimulink.match.codeCompileVariants);slexVariantMdlRefCondProp([],[],[],'学期');

コメント付きブロックを検索结果に含めるオプション。'IncludeCommented'と数値または逻辑1真的)または0.错误的)で构成されるコンマ区切りのペアとして指定します。

データ型:逻辑

指定されたシステムを検索結果に含めるオプション。“ReturnTopModelAsLastElement”と数値または逻辑1真的)または0.错误的)で构成されるコンマ区切りのペアとして指定します。

既定では,参照モデルの返されたリスト内の最后の要素は,系统引数で指定したモデル,ライブラリ,またはサブシステムファイルの名前です。ブロックを指定する场合,最后の要素はブロックを含むファイルの名前です。

データ型:逻辑

出力数

すべて折りたたむ

モデルの名前。文字ベクトルの细胞配列として返されます。

既定では,最后の要素は,系统引数で指定したモデル,ライブラリ,またはサブシステムファイルの名前です。ブロックを指定する場合、最後の要素はブロックを含むモデル、ライブラリ、またはサブシステム ファイルの名前です。

模型ブロックの名前。文件ベクトルの cell 配列として返されます。

互换性についての考虑事项

すべて展開する

R2020b以降は非推奨

R2021a以降は警告

R2021aでの动作変更

参考

ブロック

关节有关部

R2006aより前に導入