このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
slreportgen.finder.BlockFinder クラス
名前空間: slreportgen.finder
Simulink ブロック線図の検索
作成
説明
は既定で、指定された Simulink ブロック線図内のすべてのタイプのブロックを検索するファインダーを作成します。検索を特定タイプのブロックに制約するには、ファインダーのプロパティを使用します。finder
= BlockFinder(diagram
)
メモ
このファインダーには、検索結果の取得方法として次のオプションが用意されています。
検索結果を配列として返すには、
find
メソッドを使用します。結果をレポートに直接追加するか、for
ループで結果を処理します。一度に 1 つずつ結果を反復処理するには、
while
ループでhasNext
メソッドとnext
メソッドを使用します。
これらのオプションに、パフォーマンス上の差はありません。
は、名前と値の引数を使用してプロパティを設定します。複数の名前と値の引数を任意の順序で指定できます。finder
= BlockFinder(Name=Value
)
プロパティ
Container
— 検索するブロック線図
パス | ハンドル
検索の対象となるブロック線図。次のいずれかの値として指定します。
Simulink モデルまたはサブシステムのハンドル
Simulink モデルまたはサブシステムへのパス
BlockTypes
— 検索するレポートの種類
string | 文字配列 | string 配列 | 文字配列の cell 配列
Gain などの検索するブロックのタイプ。string 配列または文字配列として指定します。あるいは、検索する一連のブロック タイプ。string 配列、または文字配列の cell 配列として指定します。
IncludeCommented
— コメントアウトされたブロックを含める
false
(既定値) | true
コメントアウトされたブロックを検索結果に含めるかどうか。logical として指定します。false
の場合、コメントアウトされたブロックは検索結果から除外されます。
IncludeVariants
— 含めるバリアント
"Active"
(既定値) | "All"
| "ActivePlusCode"
検索結果に含めるバリアント ブロックのバリアント。次の表のいずれかの値として指定します。値は string スカラーまたは文字ベクトルとして指定できます。
値 | 説明 |
---|---|
"Active" | アクティブなバリアント (既定) |
"All" | すべてのバリアント |
"ActivePlusCode" | アクティブなバリアントとコード バリアント |
SearchDepth
— Container
を検索するレベルの数
1
(既定値) | inf
| 非負の整数
Container
を検索するレベルの数。非負の整数または inf
として指定します。すべてのレベルを検索するには、inf
を指定します。
SortType
— ファインダーの結果の並べ替えメソッド
"none"
(既定値) | "alphabetical"
| "systemAlpha"
| "fullPathAlpha"
| "blockType"
| "depth"
| "leftToRight"
| "topToBottom"
| "runtime"
ファインダーの結果の並べ替えメソッド。次のいずれかの値として指定します。
値 | 説明 |
---|---|
"none" | 結果を並べ替えません。 |
"alphabetical" | 結果を名前のアルファベット順に並べ替えます。 |
"systemAlpha" | 結果を親システム名のアルファベット順に並べ替えます。 |
"fullPathAlpha" | 結果を絶対パスのアルファベット順に並べ替えます。 |
"blockType" | 結果をタイプのアルファベット順に並べ替えます。 |
"depth" | 結果をモデルの階層構造の深さ順に並べ替えます。並べ替えられたリストの最初の結果は、階層構造内で最上位のシステムのものです。たとえば、サブシステム内の最上位モデルとブロックの結果は、 myModel/block1 、myModel/subsystem1/block2 、myModel/subsystem1/nestedSubststem/block3 の順に並べ替えられます。 |
"leftToRight" | 結果を、左から右への行を使用したモデル レイアウト内の場所によって並べ替えます。モデル内のブロックの行は、2 つの水平ラインの間に配置されているブロックのサブグループです。最小行は、サブ行に分割できない行です。アルゴリズムはまず、ブロックを最小行にグループ化し、各行を左から右に並べ替えます。アルゴリズムは次に、並べ替えられた行を上から下に連結させます。 |
"topToBottom" | 結果を、上から下への列を使用したモデル レイアウト内の場所によって並べ替えます。モデル内のブロックの列は、2 つの垂直ラインの間に配置されているブロックのサブグループです。最小列は、サブ列に分割できない列です。アルゴリズムはまず、ブロックを最小列にグループ化し、各行を上から下に並べ替えます。アルゴリズムは次に、並べ替えられた行を右から左に連結させます。 |
"runtime" | 非バーチャル ブロックを、モデル内または非バーチャル サブシステム内での実行順に並べ替えます。このオプションは、指定されたブロックを含むモデルをコンパイルします。バーチャル ブロックまたは Container で指定されたシステムの一部ではないブロックを表すブロックの結果は、並べ替えられたブロック リストの最後に追加されます。マルチタスク システムでは、ブロックは実行されるタスク別にグループ化されます。 |
ConnectedSignal
— 特定の信号に接続されたブロックに検索を制限
[] (既定値) | slreportgen.finder.SignalResult
| 端子ハンドル
特定の信号に接続されているブロックに検索を制限します。slreportgen.finder.SignalResult
オブジェクトまたは端子ハンドルとして指定します。このプロパティが空の場合、検索は特定の信号に接続されているブロックに制限されません。
例: finder.ConnectedSignal = find_system(my_model,findall=true,type="port",name="my_signal")
Properties
— 検索対象とするオブジェクトのプロパティ
cell 配列
検索対象とするオブジェクトのプロパティ。名前と値のペアの cell 配列として指定します。ファインダーは、指定のプロパティが指定の値をもつオブジェクトのみを返します。
例: finder.Properties = {'Gain','5'}
メソッド
パブリック メソッド
メソッド | 説明 |
---|---|
find |
|
hasNext |
|
next |
|
例
モデル内の Inport ブロックおよび Outport ブロックの検索
sf_car
モデル内の Inport ブロックと Output ブロックを検索します。
import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.* model_name = "sf_car"; load_system(model_name) rpt = slreportgen.report.Report("output","pdf"); add(rpt,TitlePage(Title="I/O Blocks in "+model_name+" Model")); add(rpt,TableOfContents); diagFinder = SystemDiagramFinder(model_name); diagFinder.IncludeRoot = false; while hasNext(diagFinder) diagram = next(diagFinder); chapter = Chapter(Title=diagram.Name); add(chapter,diagram) sect = Section(Title="Inport Blocks"); ioFinder = BlockFinder(diagram.Object); ioFinder.BlockTypes = "Inport"; blocks = find(ioFinder); for block = blocks add(sect,block) end add(chapter,sect); sect = Section(Title="Outport Blocks"); ioFinder = BlockFinder(diagram.Object); ioFinder.BlockTypes = "Outport"; outblocks = find(ioFinder); for block = outblocks add(sect,block) end add(chapter,sect) add(rpt,chapter) end close(rpt) close_system(model_name) rptview(rpt)
バージョン履歴
R2017b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)