slreportgen.report.BusObject クラス
名前空間: slreportgen.report
スーパークラス: slreportgen.report.Reporter
Simulink バス オブジェクト レポーター
説明
レポートで Simulink.Bus オブジェクトについての情報を生成するレポーターを作成します。
メモ
レポートでバス オブジェクト レポーターを使用するには、slreportgen.report.Report クラスまたはサブクラスを使用してレポートを作成する必要があります。
slreportgen.report.BusObject クラスは handle クラスです。
作成
説明
は、空の reporter = slreportgen.report.BusObjectslreportgen.report.BusObject レポーター オブジェクトを作成します。レポーター オブジェクトのプロパティを使用して、バス オブジェクトについてレポートされる情報の内容と形式をカスタマイズします。レポーターをレポートに追加する前に、レポーターの Object プロパティを Simulink.Bus オブジェクトを指定する slreportgen.report.ModelVariableResult オブジェクトまたは Simulink.VariableUsage オブジェクトに設定する必要があります。空のレポーターをレポートに追加すると、エラーが発生します。
は、reporter = slreportgen.report.BusObject(object)slreportgen.report.ModelVariableResult オブジェクトまたは Simulink.VariableUsage オブジェクトで指定される Simulink.Bus オブジェクトのレポーターを作成します。Object プロパティを参照してください。
は、名前と値の引数を使用してレポーター プロパティを設定します。複数の名前と値の引数を任意の順序で指定できます。reporter = slreportgen.report.BusObject(Name=Value)
プロパティ
レポート対象の Simulink.Bus オブジェクトを指定するオブジェクト。slreportgen.finder.ModelVariableResult オブジェクトまたは Simulink.VariableUsage オブジェクトとして指定します。
この読み取り専用プロパティには、レポート対象のバス オブジェクトの名前が格納されます。string スカラーとして指定されます。
レポート対象のバス オブジェクト プロパティ。string 配列、または文字ベクトルの cell 配列として指定します。ReportedBusProperties プロパティで指定されたプロパティは、さらに PropertyFilterFcn プロパティでフィルターが適用されます。ReportedBusProperties プロパティが空の場合、PropertyFilterFcn プロパティでフィルターが適用されたプロパティを除くすべてのプロパティがレポートに含まれます。バス オブジェクトに対して有効でないバス オブジェクト プロパティはレポーターで除外されます。
レポート対象のバス要素プロパティ。string 配列、または文字ベクトルの cell 配列として指定します。ReportedElementProperties プロパティで指定されたプロパティは、さらに PropertyFilterFcn プロパティで指定された関数またはコードでフィルターが適用されます。ReportedElementProperties プロパティが空の場合、PropertyFilterFcn プロパティでフィルターが適用されたプロパティを除くすべてのプロパティがレポートに含まれます。バス要素に対して有効でないバス要素プロパティはレポーターで除外されます。
バス オブジェクトの名前をレポートに表示するかどうか。true または false として指定します。
バス階層を表す入れ子形式のリストをレポートに含めるかどうか。true または false として指定します。
バス オブジェクト プロパティのテーブルをレポートに表示するかどうか。true または false として指定します。
バス要素プロパティのテーブルをレポートに表示するかどうか。true または false として指定します。
バス オブジェクトを使用するブロックのリストを表示するかどうか。true または false として指定します。ShowUsedBy プロパティが true に設定されている場合、バス オブジェクトを使用するブロックのリストがレポートに含まれます。ShowUsedBySnapshot プロパティも true に設定されている場合、バス オブジェクトを使用する親サブシステムごとに、それらのブロック線図のスナップショットが含まれます。バス オブジェクトを使用するブロックがスナップショットで強調表示されます。
親サブシステムのブロック線図のスナップショットを表示してバス オブジェクトを使用するブロックを強調表示するかどうか。true または false として指定します。ShowUsedBySnapshot プロパティが true に設定されている場合、バス オブジェクトを使用する親サブシステムごとに、それらのスナップショットがレポートに含まれます。バス オブジェクトを使用するブロックがスナップショットで強調表示されます。親サブシステムにバス オブジェクトを使用するブロックが複数ある場合、バス オブジェクトを使用するブロックを強調表示したブロック線図のスナップショットは 1 つだけ表示されます。
レポートでバス オブジェクトに関する情報の種類ごとに個別の節を作成するかどうか。CreateSections プロパティが true に設定されている場合、次の種類の情報ごとに、タイトルが付いた mlreportgen.report.Section がレポーターで作成されます。
階層
プロパティ
要素
バス オブジェクトを使用するブロック
CreateSections プロパティが false に設定されている場合、テーブルおよびリストのラベルがレポーターで生成されます。テーブルの場合、テーブルのタイトルが生成されます。リストの場合、リストの前のテキストが生成されます。
生成されるバス階層の形式を設定するリスト フォーマッタ。mlreportgen.dom.UnorderedList オブジェクトまたは mlreportgen.dom.OrderedList オブジェクトとして指定します。このプロパティの既定値は、mlreportgen.dom.UnorderedList のオブジェクトです。リストの形式をカスタマイズするには、リスト オブジェクトのプロパティを変更するか、そのリスト オブジェクトをリスト項目を含まないカスタマイズしたリスト オブジェクトに置き換えます。
バス オブジェクトを使用するブロックの生成リストの形式を設定するリスト フォーマッタ。mlreportgen.dom.UnorderedList オブジェクトまたは mlreportgen.dom.OrderedList オブジェクトとして指定します。このプロパティの既定値は、mlreportgen.dom.UnorderedList のオブジェクトです。リストの形式をカスタマイズするには、リスト オブジェクトのプロパティを変更するか、そのリスト オブジェクトをリスト項目を含まないカスタマイズしたリスト オブジェクトに置き換えます。
バス オブジェクト プロパティのテーブルの形式を設定するために使用されるテーブル レポーター。mlreportgen.report.BaseTable オブジェクトとして指定します。このプロパティの既定値は、TableStyleName プロパティが BusObjectPropertiesTable スタイルに設定された BaseTable オブジェクトであり、これは BusObject レポーターの既定のテンプレートに定義されています。
テーブルの外観をカスタマイズするには、既定のテーブル レポーターのプロパティを変更するか、そのテーブル レポーターをカスタマイズしたテーブル レポーターに置き換えます。既定またはカスタマイズしたテーブル レポーターの Title プロパティに内容を追加すると、生成されたレポートでテーブルのタイトルの前にその内容が表示されます。
バス要素プロパティのテーブルの形式を設定するために使用されるテーブル レポーター。mlreportgen.report.BaseTable オブジェクトとして指定します。このプロパティの既定値は、TableStyleName プロパティが BusObjectElementsTable スタイルに設定された BaseTable オブジェクトであり、これは BusObject レポーターの既定のテンプレートに定義されています。
テーブルの外観をカスタマイズするには、既定のテーブル レポーターのプロパティを変更するか、そのテーブル レポーターをカスタマイズしたテーブル レポーターに置き換えます。既定またはカスタマイズしたテーブル レポーターの Title プロパティに内容を追加すると、生成されたレポートでテーブルのタイトルの前にその内容が表示されます。
要素のプロパティのテーブルでプロパティを横方向に表示するかどうか。true または false として指定します。
HorizontalElementsTable プロパティが true に設定されている場合、プロパティごとに 1 つの列がテーブルに含まれます。次に例を示します。

HorizontalElementsTable プロパティが false に設定されている場合、要素の行のプロパティと値のセルが複数の行に分割されます。次に例を示します。

CreateSections プロパティが true に設定されている場合の節の形式を設定するためのレポーター。mlreportgen.report.Section オブジェクトとして指定します。節の外観をカスタマイズするには、既定の節レポーターのプロパティを変更するか、その節レポーターをカスタマイズした節レポーターに置き換えます。
レポート対象のバスまたはバス要素のプロパティをレポートからフィルターを適用するための関数または式。関数は関数ハンドルとして指定します。式は文字ベクトルまたは string スカラーとして指定します。
関数ハンドルを指定する場合、関連付けられた関数は次を行う必要があります。
次の引数を受け入れる。
variableName— レポート対象のバスまたはバス要素を指定するモデル変数の名前variableObject— レポート対象のバスまたはバス要素propertyName— レポート対象のバスまたはバス要素のプロパティの名前
レポートから指定されたプロパティにフィルターを適用するには
trueを返し、プロパティをレポートに含めるにはfalseを返す。
たとえば、次のコードは、バス オブジェクトの HeaderFile プロパティと Description プロパティ、およびバス要素の Complexity プロパティを表示しないようにします。
import slreportgen.finder.* import slreportgen.report.* rpt = slreportgen.report.Report('busrpt','pdf'); model = load_system('sldemo_bus_arrays'); modelVariableFinder = ModelVariableFinder(model); results = find(modelVariableFinder); for result = results if isa(getVariableValue(result),'Simulink.Bus') busRptr = slreportgen.report.BusObject(result); busRptr.PropertyFilterFcn = @busPropertyFilter; % Create a Chapter chapter = mlreportgen.report.Chapter(busRptr.Name); add(chapter, busRptr); add(rpt,chapter) end end close(rpt); close_system(model); rptview(rpt); function tf = busPropertyFilter(~, variableObject,propertyName) if isa(variableObject, 'Simulink.Bus') tf = (propertyName == "HeaderFile") || ... (propertyName == "Description"); else % Filter Simulink.BusElement Complexity property tf = propertyName == "Complexity"; end end
string スカラーまたは文字ベクトルを指定する場合、式が含まれていなければなりません。その式は次のとおりです。
変数
variableName、variableObject、およびpropertyNameを使用できるレポートから指定されたプロパティにフィルターを適用するには変数
isFilteredをtrueに設定し、レポートにプロパティを含めるにはfalseに設定する必要がある
たとえば、次のコードは、バス オブジェクトの HeaderFile プロパティをレポートからフィルターを適用します。
import slreportgen.finder.* import slreportgen.report.* rpt = slreportgen.report.Report('busrpt','pdf'); model = load_system('sldemo_bus_arrays'); modelVariableFinder = ModelVariableFinder(model); results = find(modelVariableFinder); for result = results if isa(getVariableValue(result),'Simulink.Bus') busRptr = slreportgen.report.BusObject(result); busRptr.PropertyFilterFcn = "isFiltered = " + ... "isa(variableObject, 'Simulink.Bus') && " + ... "propertyName == 'HeaderFile';"; % Create a Chapter chapter = mlreportgen.report.Chapter(busRptr.Name); add(chapter, busRptr); add(rpt,chapter) end end close(rpt); close_system(model); rptview(rpt);
このレポーターのテンプレートのソース。以下のいずれかの方法で指定します。
このレポーターのテンプレートを含むファイルのパスを指定する、文字ベクトルまたは 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.BusObject.createTemplate | バス オブジェクト レポーター テンプレートの作成 |
slreportgen.report.BusObject.customizeReporter | Create custom bus object reporter |
slreportgen.report.BusObject.getClassFolder | バス オブジェクト レポーターのクラス定義ファイルの場所 |
copy | Create copy of a Simulink reporter object and make deep copies of certain property values |
getImpl | レポーターの実装を取得する |
例
モデルで使用されているすべての変数をモデル変数ファインダーを使用して検索してから、バス オブジェクトである変数ごとにバス レポーターを作成して、モデル内のバス オブジェクトについてレポートします。
% Create a Report rpt = slreportgen.report.Report("MyReport","pdf"); open(rpt); % Load a model model_name = "sldemo_bus_arrays"; load_system(model_name); % Find all variables used by the model finder = slreportgen.finder.ModelVariableFinder(model_name); % Create a Bus object reporter object for all results representing a % Simulink.Bus object while hasNext(finder) result = next(finder); if isa(getVariableValue(result), "Simulink.Bus") % Create a Bus object reporter busReporter = slreportgen.report.BusObject(result); % Create a Chapter chapter = mlreportgen.report.Chapter(busReporter.Name); % Add bus to chapter add(chapter, busReporter) % Add chapter to the report add(rpt,chapter); end end % Close and view the report close(rpt); rptview(rpt);
バス オブジェクト レポーターのプロパティを設定することで、レポート対象の内容と内容の形式をカスタマイズします。この例では、ReportedElementProperties プロパティを使用して、レポートされる要素プロパティを制約します。HorizontalElementsTable プロパティを使用して、プロパティごとに 1 つの列を含むプロパティ テーブルを生成します。
% Create a Report rpt = slreportgen.report.Report("MyReport","pdf"); open(rpt); % Load a model model_name = "sldemo_bus_arrays"; load_system(model_name); % Find all variables used by the model finder = slreportgen.finder.ModelVariableFinder(model_name); % Create a Bus object reporter object for all results representing a % Simulink.BusObject object while hasNext(finder) result = next(finder); if isa(getVariableValue(result), "Simulink.Bus") % Create a Bus object reporter busReporter = slreportgen.report.BusObject(result); % Limit the properties that are reported busReporter.ReportedElementProperties = {'Name','DataType','Min','Max'}; % Display element properties horizontally busReporter.HorizontalElementsTable = true; % Create a Chapter chapter = mlreportgen.report.Chapter(busReporter.Name); % Add bus to chapter add(chapter, busReporter) % Add chapter to the report add(rpt,chapter); end end % Close and view the report close(rpt); rptview(rpt);
バージョン履歴
R2019b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)