主要内容

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

find_mdlrefs

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

説明

模型= 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 =3 x1细胞{'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 =7 x1细胞{'sldemo_mdlref_thermostat'} {' sldemo_mdlref_加热器'}{'sldemo_mdlref_F2C'} {'sldemo_mdlref_outdoor_temp'} {'sldemo_mdlref_house'} {'sldemo_mdlref_heat2cost'} {'sldemo_mdlref_depgraph'}

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

入力引数

すべて折りたたむ

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

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

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

デタ型:|字符|字符串

名前と値の引数

例:refModels = find_mdlrefs(topmodel,' keepmodelloaded ',true,'ReturnTopModelAsLastElement',false)

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

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

既定では,関数はまだ読み込まれていないモデルを読み込んでから閉じます。モデルを読み込んだままにするには,この引数を真正的に設定します。モデルを読み込んだままにすると,モデルの検索後にモデルを操作する予定がある場合に役立ます。

デタ型:逻辑

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

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

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

デタ型:逻辑

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

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

デタ型:逻辑

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

デタ型:逻辑

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

デタ型:逻辑

ラ邮箱ブラリリンクに従って検索するオプション。真正的またはとして指定します。真正的の場合、検索はラ以及ブラリブロックへリンクされたものを含みます。

デタ型:逻辑

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

  • “所有”-マスクされたすべてのブロック内を検索します。

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

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

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

デタ型:字符|字符串

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

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

函数[匹配,修剪]= func(元素)
  • 入力元素は処理されているブロックのハンドルです。

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

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

たとえば,MatchFilterを使用して,フィルタ関数initFcnMdlBlocksを使用してInitFcnコルバックが定義されたモデル内のすべての模型ブロックを検索します。

函数match = initFcnMdlBlocks(句柄)match = ~isempty(get_param(句柄,“InitFcn”));结束
目录(fullfile (matlabroot,“例子”“金宝appsimulink_variants”“主要”));模型=“slexVariantMdlRefCondProp”;load_system(模型);[models,blocks] = find_mdlrefs(model,“MatchFilter”@initFcnMdlBlocks)

バリアント:アクティブなバリアントやコードコンパイルのバリアントブロックを見つけるには,モデルをコンパイルして,仿真金宝app软件®が提供する適切なマッチフィルタ関数を適用します。

  • 金宝appSimulink.match.activeVariants—モデルのコンパ邮箱ル後にシミュレ邮箱ションでアクティブなブロックと一致します。

  • 金宝appSimulink.match.codeCompileVariants—モデルのコンパ邮箱ル後に生成されたコ邮箱ドの一部であるブロックと一致します。

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

目录(fullfile (matlabroot,“例子”“金宝appsimulink_variants”“主要”));模型=“slexVariantMdlRefCondProp”;load_system(模型);set_param(模型,“SimulationCommand”“更新”);[models,blocks] = find_mdlrefs(model,“MatchFilter”, 金宝app@Simulink.match.activeVariants);

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

目录(fullfile (matlabroot,“例子”“金宝appsimulink_variants”“主要”));load_system (“slexVariantMdlRefCondProp”);assignin (“基地”“VSS_MODE”2);slexVariantMdlRefCondProp ([],[],[],“compileForCodegen”);[models,blocks] = find_mdlrefs(“slexVariantMdlRefCondProp”...“MatchFilter”, 金宝app@Simulink.match.codeCompileVariants);slexVariantMdlRefCondProp ([],[],[],“术语”);

メモ

变体引数は削除される予定です。代わりにMatchFilterを使用してください。詳細にいては,互換性にいての考慮事項を参照してください。

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

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

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

  • “AllVariants”- - - - - -不同的子系统ブロック内のすべてのバリアントモデルを含めます。

この検索条件は,[バリアント制御モド]表达式または标签に設定されている不同的子系统ブロックにのみ適用されます。MatchFilterオプションを指定して関数find_mdlrefsを使用すると,すべてのタ。

デタ型:字符|字符串

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

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

デタ型:逻辑

出力引数

すべて折りたたむ

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

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

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

バジョン履歴

R2006aより前に導入

すべて展開する

R2021a以降は警告

R2021aでの動作変更

R2020b以降は非推奨