メインコンテンツ

slreportgen.report.Bus クラス

名前空間: slreportgen.report
スーパークラス: slreportgen.report.Reporter

Simulink ブロックによって選択または作成されたバスのレポーター

R2021a 以降

説明

slreportgen.report.Bus クラスのオブジェクトを使用して、Simulink® ブロックによって選択または作成されたバスについてレポートします。

バス レポーターは、バスから信号を選択するブロックまたは信号を統合してバスを作成するブロックを検索して、モデル、サブシステム、ブロック、または信号からレポート対象のバスを探します。Bus レポーターは、モデルまたはサブシステムについては、そのモデルまたはサブシステムで選択または作成されたすべてのバスをレポートします。ブロックについては、そのブロックによって選択または作成されたバスをレポートします。信号については、その信号で指定された端子に接続されているブロックによって選択または作成されたすべてのバスをレポートします。Object プロパティを使用して、バスをレポートする対象のモデル、サブシステム、ブロック、または信号を指定します。

既定では、Bus レポーターは次を生成します。

  • バス内の信号の階層リスト

  • 選択された信号またはバスの作成に使用された信号に関する詳細を記述したテーブル

  • 検出された各バス関連ブロックのバス オブジェクトと接続ブロックに関する詳細を記述した段落

生成されるレポートの内容や外観をカスタマイズするには、レポーターのプロパティを使用します。たとえば、バスの検索時に使用するブロックのタイプを指定するには ReportedBlockType プロパティを使用します。

メモ

レポートで slreportgen.report.Bus レポーターを使用するには、slreportgen.report.Report クラスまたはサブクラスを使用してレポートを作成する必要があります。

slreportgen.report.Bus クラスは handle クラスです。

クラス属性

HandleCompatible
true

クラス属性の詳細については、クラスの属性を参照してください。

作成

説明

busRptr = slreportgen.report.Bus は、slreportgen.report.Bus オブジェクトを既定のプロパティ値で作成します。Object プロパティをバスをレポートする対象のモデル、ブロック、または信号に設定する必要があります。その他のプロパティを使用してレポート オプションを指定します。

busRptr = slreportgen.report.Bus(object)Object プロパティを object に設定します。

busRptr = slreportgen.report.Bus(Name=Value) は、名前と値の引数を使用して Bus オブジェクトのプロパティを設定します。複数の名前と値の引数を任意の順序で指定できます。

プロパティ

すべて展開する

バスを検索するモデル、ブロック、または信号。次の値のいずれかとして指定します。

  • モデル、Subsystem ブロック、Bus Creator ブロック、Bus Assignment ブロック、または Bus Selector ブロックの名前を含む文字ベクトルまたは string スカラー

レポート対象の各バスのタイトル。string スカラー、文字ベクトル、DOM オブジェクト、または関数ハンドルとして指定します。このプロパティの内容は、レポーターによって対象の各バスと共にレポートされます。このプロパティが空の場合、タイトルはレポートされません。

このプロパティにテキストまたはテキストを返す関数ハンドルが格納されている場合、そのテキストが mlreportgen.dom.Paragraph オブジェクトにスタイル BusTitleParagraph で追加されます。

このプロパティが関数ハンドルとして指定されている場合、string スカラー、文字ベクトル、DOM オブジェクトなどのレポートに追加できる内容を関数で返さなければなりません。関数は次のフィールドをもつ struct を受け入れる必要があります。

  • PortHandle — バス信号の入力端子または出力端子のハンドル。サブシステムの In Bus Element および Out Bus Element ブロックの場合、このフィールドはブロックに対応するサブシステムの端子ハンドルです。モデルの最上位レベルの In Bus Element および Out Bus Element ブロックの場合、このフィールドは -1 です。

  • BlockName — レポート対象のバスを作成または選択するレポート対象のモデル、Bus CreatorBus SelectorBus Assignment、または Subsystem ブロックの名前。string スカラーとして指定します。

  • BlockPath — レポート対象のバスを作成または選択するモデル、Bus CreatorBus SelectorBus Assignment、または Subsystem ブロックの絶対パス。string スカラーとして指定します。

  • BusPortString — モデルまたはサブシステムの端子で作成または選択されるバスの場合、バス信号に接続されている入力端子または出力端子がこのフィールドに格納されます。string スカラーとして指定します。たとえば、"Inport <x>" です。それ以外の場合、このフィールドは空の string ("") になります。

例: busRptr.Title = @(blkInfo) blkInfo.BlockName;

バス情報のレポートに使用されるブロックのタイプ。次の値のいずれかとして指定します。

  • "auto" — 入力が Bus CreatorBus Assignment、または Out Bus Element ブロックの場合、Bus CreatorBus Assignment、および Out Bus Element ブロックからバス情報をレポートします。それ以外の場合、Bus Selector および In Bus Element ブロックからバス情報をレポートします。

  • "all" — サポートされるすべてのバス関連ブロック タイプからバス情報をレポートします。

  • ブロック タイプのリスト。string 配列、または文字ベクトルの cell 配列として指定します。有効なブロック タイプは次のとおりです。

    • BusCreator

    • BusSelector

    • BusAssignment

    • Inport

    • Outport

    例: ["BusCreator","BusSelector"]

Bus レポーターは、モデルまたはサブシステムについては、このプロパティで指定されたタイプのすべてのブロックからバス情報をレポートします。信号については、その信号に接続されている指定されたタイプのすべてのブロック (接続元と接続先) からバス情報をレポートします。ブロックの場合、このプロパティは IncludeNestedBuses プロパティが true の場合のみ使用されます。Bus Selector および In Bus Element ブロックについては、そのブロックの出力信号に接続されている指定されたタイプのすべてのブロックからバス情報をレポートします。Bus CreatorBus Assignment、および Out Bus Element ブロックについては、そのブロックの入力信号に接続されている指定されたタイプのすべてのブロックからバス情報をレポートします。

入れ子のバスをレポートするかどうか。true または false として指定します。このプロパティが true の場合、選択された信号またはバスの作成に使用された信号に接続されている ReportedBlockType で指定されたタイプのバス関連ブロックがレポートされます。このプロパティが falseObject がブロックの場合、Object で指定されたブロックのみがレポートされます。このプロパティが falseObject が信号の場合、その信号に直接接続されているブロックのみがレポートされます。

Object がモデルまたはサブシステムの場合は、ReportedBlockType プロパティで指定されたタイプのすべてのブロックを使用してバスがレポートされるため、このプロパティは効果がありません。

各バスのバス信号の階層をレポートするかどうか。true または false として指定します。このプロパティが true の場合、バス内の信号の名前のリストが含まれます。バスを作成するブロックの場合は、出力バスの信号階層を記述したリストになります。バスから信号を選択するブロックの場合は、入力バスの信号階層を記述したリストになります。バスに入れ子の信号が含まれる場合、信号の名前が入れ子形式のリストとして含まれます。

信号階層は、最上位モデルの入力端子または出力端子で作成または選択されたバスについては含まれません。

信号の詳細をレポートするかどうか。true または false として指定します。このプロパティが true の場合、ブロック タイプに応じて、バスから選択された信号またはバスの作成に使用された信号を記述するテーブルが含まれます。

レポート対象のバスに関連付けられている Simulink.Bus オブジェクトの名前をレポートするかどうか。true または false として指定します。このプロパティが true で、レポート対象のバスが Simulink.BusObject で記述されている場合、バス オブジェクトの名前がレポートに含まれ、その名前がレポート内の別の場所でレポートされるバス オブジェクト情報にリンクされます。

バス オブジェクトの名前は、最上位モデルの入力端子または出力端子で作成または選択されたバスについては含まれません。

それぞれの完全なバス信号に接続されているブロックの名前をレポートするかどうか。true または false として指定します。このプロパティが true の場合は次のようになります。

  • バスを作成するブロックの場合、完全なバス信号を出力する端子に接続されているブロックの名前がレポートされます。

  • バス信号を選択するブロックの場合、完全なバス信号の出力元のブロックの名前がレポートされます。

  • IncludeBusLinkstrue の場合は、ReportedBlockType で指定されたブロック タイプと一致するブロックの名前の後に [作成されたバス] または [選択された信号] のリンクが含まれます。

接続ブロックの名前は、最上位モデルの入力端子または出力端子で作成または選択されたバスについては含まれません。

接続ブロックによって作成または選択されたバスへのリンクを含めるかどうか。true または false として指定します。このプロパティが true の場合、信号テーブルまたは接続ブロックの節で接続元または接続先としてレポートされたブロックについてのバス情報へのリンクが含まれます。ReportedBlockTypes に含まれるブロック タイプのブロックについて、[作成されたバス] または [選択された信号] のリンクがブロック名の横に含まれます。

ブロック名をブロックの詳細へのリンクとしてレポートするかどうか。true または false として指定します。このプロパティが true の場合、信号テーブルのタイトルに含まれるブロック名がレポート内の別の場所でレポートされるブロックの詳細にリンクされます。

端子番号を信号の詳細へのリンクとしてレポートするかどうか。true または false として指定します。このプロパティが true の場合、信号テーブルに含まれる信号の端子番号がレポート内の別の場所でレポートされる信号の詳細へのリンクとしてレポートされます。

Bus Selector または In Bus Element ブロックによって選択された信号についてのレポート対象のプロパティ。string 配列、または文字ベクトルの cell 配列として指定します。次のプロパティのいずれかを指定します。

  • Outport

  • Name

  • DataType

  • Destination

  • Description

  • Complexity

  • Dimensions

  • Min

  • Max

Bus CreatorBus Assignment、および Out Bus Element ブロックによってバスの作成に使用された信号についてのレポート対象のプロパティ。string 配列、または文字ベクトルの cell 配列として指定します。次のプロパティのいずれかを指定します。

  • Inport

  • Name

  • DataType

  • Source

  • Description

  • Complexity

  • Dimensions

  • Min

  • Max

信号テーブルに空の列を表示するかどうか。true または false として指定します。

信号テーブルで信号にフィルターを適用するための関数または式。関数ハンドル、string スカラー、または文字ベクトルとして指定します。関数は関数ハンドルとして指定します。式は文字ベクトルまたは string スカラーとして指定します。関数またはコードは、選択された信号またはバスの作成に使用された信号のそれぞれについて実行されます。

TaskFilterFcn が空の場合、すべてのタスクがレポートに含まれます。

関数ハンドルを指定する場合、関連付けられた関数は次を行う必要があります。

  • 次の引数を受け入れる。

    • portHandle — 選択された信号またはバスの作成に使用された信号の端子のハンドル。

    • parentPath — バス情報のレポートに使用される親ブロックの絶対パス。string スカラーとして指定します。

    • sourcePath — 信号の接続元ブロックの絶対パス。string スカラーとして指定します。

    • destinationPath — 信号の接続先ブロックの絶対パス。接続先が複数ある場合、この引数は接続先ブロックの string 配列になります。

  • レポートから指定された信号にフィルターを適用するには true を返し、タスクをレポートに含めるには false を返す。

たとえば、次のコードは SignalFilterFcn プロパティを使用して、Display3 ブロックに入る信号をフィルターで除外します。

import slreportgen.report.*
import mlreportgen.report.*

model_name = "sldemo_bus_arrays";
load_system(model_name);
rpt = slreportgen.report.Report("Bus_example","pdf");

append(rpt,slreportgen.report.Diagram(model_name));

ch = Chapter("Buses");

busRptr = Bus(model_name);
busRptr.SignalFilterFcn = @(~, ~, ~, destinationPath) endsWith(destinationPath,"Display3");

append(ch,busRptr);
append(rpt,ch);
close(rpt);
rptview(rpt);

string スカラーまたは文字ベクトルを指定する場合、式が含まれていなければなりません。その式は次のとおりです。

  • 変数 portHandleparentPathsourcePath、および destinationPath を使用できる

  • レポートから指定されたタスクにフィルターを適用するには変数 isFilteredtrue に設定し、レポートにタスクを含めるには false に設定する必要がある

たとえば、次のコードは SignalFilterFcn プロパティを使用して、Display4 ブロックに入る信号をフィルターで除外します。

import slreportgen.report.*
import mlreportgen.report.*


model_name = "sldemo_bus_arrays";
load_system(model_name);
rpt = slreportgen.report.Report("Bus_example","pdf");

append(rpt,slreportgen.report.Diagram(model_name));

ch = Chapter("Buses");

busRptr = Bus(model_name);
filterStr = "isFiltered = endsWith(destinationPath,""Display4"");";
busRptr.SignalFilterFcn = filterStr;

append(ch,busRptr);
append(rpt,ch);
close(rpt);
rptview(rpt);

信号テーブルのフォーマッタ。mlreportgen.report.BaseTable オブジェクトとして指定します。このプロパティの既定値は、TableStyleName プロパティが BusTable スタイルに設定された BaseTable オブジェクトであり、これは Bus レポーターの既定のテンプレートに定義されています。テーブルの外観をカスタマイズするには、既定の BaseTable オブジェクトのプロパティを変更するか、そのオブジェクトを独自の BaseTable オブジェクトに置き換えます。BaseTable オブジェクトの Title プロパティにコンテンツを追加すると、生成されたレポートでテーブルのタイトルの前にそのコンテンツが表示されます。

信号階層リストのフォーマッタ。mlreportgen.dom.OrderedList オブジェクトまたは mlreportgen.dom.UnorderedList オブジェクトとして指定します。この Bus レポーターの ShowSignalHierarchy プロパティが true の場合、このフォーマッタで信号階層リストのレポートと形式の設定が行われます。OrderedList オブジェクトまたは UnorderedList オブジェクトがリスト項目を含んでいてはなりません。

このプロパティの既定値は、StyleName プロパティが BusList スタイルに設定された UnorderedList オブジェクトであり、これは Bus レポーターの既定のテンプレートに定義されています。リストの詳細の外観をカスタマイズするには、既定の UnorderedList オブジェクトのプロパティを変更するか、このオブジェクトを独自の UnorderedList オブジェクトまたは OrderedList オブジェクトに置き換えます。

接続ブロックおよびバス オブジェクトの詳細のレポートと形式の設定を行う段落フォーマッタ。mlreportgen.dom.Paragraph オブジェクトとして指定します。このプロパティの既定値は、StyleName プロパティが BusParagraph スタイルに設定された mlreportgen.dom.Paragraph オブジェクトであり、これは Bus レポーターの既定のテンプレートに定義されています。段落の外観をカスタマイズするには、既定の mlreportgen.dom.Paragraph オブジェクトのプロパティを変更するか、そのオブジェクトをカスタマイズした mlreportgen.dom.Paragraph オブジェクトに置き換えます。既定または置き換える段落オブジェクトに内容を追加すると、生成されたレポートで接続ブロックおよびバス オブジェクトの詳細についてレポートされる内容の前にその内容が表示されます。

このレポーターのテンプレートのソース。以下のいずれかの方法で指定します。

  • このレポーターのテンプレートを含むファイルのパスを指定する、文字ベクトルまたは string スカラー

  • このレポーターが使用するテンプレートをもつか、このレポーター用のテンプレートを含むテンプレート ライブラリをもつ、レポーターまたはレポート

  • このレポーターが使用するテンプレートをもつか、このレポーター用のテンプレートを含むテンプレート ライブラリをもつ、ドキュメント オブジェクト モデル (DOM) のドキュメントまたはドキュメント パーツ

指定されるテンプレートは、このレポートが追加されるレポーターと同じタイプでなければなりません。たとえば、Microsoft® Word レポートの場合、TemplateSrc は Word レポーター テンプレートでなければなりません。TemplateSrc プロパティが空の場合、このレポーターはレポートの出力タイプで既定のレポーター テンプレートを使用します。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

このレポーター テンプレートの名前。文字ベクトルまたは string スカラーとして指定します。このレポーター テンプレートは、このレポーターの TemplateSrc プロパティで指定されたテンプレートのテンプレート ライブラリになければなりません。

属性:

GetAccess
public
SetAccess
public

データ型: char | string

このレポーターのハイパーリンク ターゲット。リンク ターゲット ID を指定する文字ベクトルまたは string スカラー、あるいは mlreportgen.dom.LinkTarget オブジェクトとして指定します。文字ベクトルまたは string スカラーの値は LinkTarget オブジェクトに変換されます。リンク ターゲットは、出力レポートでこのレポーターのコンテンツの直前に配置されます。

属性:

GetAccess
public
SetAccess
public

メソッド

すべて展開する

すべて折りたたむ

slreportgen.report.Bus オブジェクトを使用して、モデル内のブロックによって選択されたバスについてレポートします。

長い完全修飾クラス名を使用せずに済むよう、レポート API パッケージをインポートします。

import mlreportgen.report.*
import slreportgen.report.*

モデルを読み込みます。

model_name = "sldemo_bus_arrays";
load_system(model_name);

Simulink レポートを作成します。

rpt = slreportgen.report.Report("Bus_example","pdf");

モデルのブロック線図をレポートに追加します。

append(rpt,slreportgen.report.Diagram(model_name));

モデルのバス情報を章でレポートします。

ch = Chapter("Buses");
busRptr = Bus(model_name);

ブロック名を各ブロックのバスのタイトルとして使用します。

busRptr.Title = @(blkInfo) blkInfo.BlockName;

バス レポーターを章に追加します。

append(ch,busRptr);

章をレポートに追加します。

append(rpt,ch);
close(rpt);
rptview(rpt);

バージョン履歴

R2021a で導入