組み込み Web ビュー レポートの生成
組み込み Web ビュー レポートを生成するには、Report Generator を定義するクラスのインスタンスを作成します (組み込み Web ビュー Report Generator の作成を参照)。次に、Report Generator のメソッド fill
と close
を使用します。
たとえば、SystemDesignVariables
クラスの例 (組み込み Web ビュー レポートのクラス定義ファイルの生成を参照) を使用するレポートを作成するとします。以下のコマンドは、このレポートのインスタンスを生成し、表示します。
model = "slrgex_f14"; rptName = sprintf('%sVariables', model); load_system(model); rpt = SystemDesignVariables(rptName, model); fill(rpt); close(rpt); close_system(model); rptview(rptName);
fill(rpt)
コマンドは、Report Generator が基底クラスから継承する fill
メソッドを使用します。このメソッドは、f14
モデルの Web ビューをレポートに組み込みます。また、Report Generator の fillContent
メソッドを呼び出して、レポートのドキュメント ペインに f14
モデルで使用される変数についてのレポートを表示します。
結果として得られる組み込み Web ビュー レポートの一部を以下に示します。
レポートの他の部分への移動の詳細については、組み込み Web ビュー レポートのナビゲートを参照してください。
組み込み Web ビュー レポートのクラス定義ファイルの生成
このクラスは、指定された Simulink® モデルで使用されるワークスペース変数とデータ ディクショナリ変数のファイルを生成します。
classdef SystemDesignVariables < slreportgen.webview.EmbeddedWebViewDocument %SystemDesignVariables Report on variables used by a Simulink model % Defines a class of report generators to produce HTML reports on % the workspace and data dictionary variables used by a Simulink % model. The generated report includes this information for % each variable: % % Value (if the value is a scalar, numeric value) % Data Type % Source (e.g, path of dictionary containing the variable) % Source Type (e.g., data dictionary or base workspace) % Users (path of blocks that use the variable) methods function rpt = SystemDesignVariables(reportPath, modelName) % Invoke the EmbeddedWebViewDocument constructor, which % saves the report path and model name for use by the % report's fill methods. rpt@slreportgen.webview.EmbeddedWebViewDocument(reportPath,... modelName); % Turn off duplicate link warnings to avoid warnings for % blocks that use multiple design variables. rpt.ValidateLinksAndAnchors = false; rpt.ExportOptions.IncludeMaskedSubsystems = true; rpt.ExportOptions.IncludeSimulinkLibraryLinks = true; rpt.ExportOptions.IncludeReferencedModels = true; end function fillContent(rpt) % Fill the Content hole in the report template with design % variable information. You can use DOM or Report API methods % to create, format, add, and append content to this report. %% Set up report % Allow use of unqualified names for DOM and Report objects, % such as Paragraph instead of mlreportgen.dom.Paragraph and % TitlePage instead of mlreportgen.report.TitlePage. import mlreportgen.dom.* import mlreportgen.report.* % Obtain model name, which was saved by the report % constructor. getExportedModels returns model names as a % cell array, in case a report uses multiple models. model = getExportModels(rpt); % Extract the model from the cell array. (This report uses % only one model.) model= model{1}; % Add a title page to the report add(rpt, TitlePage("Title",[model " Report"],"Author","")); % Find variables used by the reported model finder = slreportgen.finder.ModelVariableFinder(model); % Create a Variables Chapter ch = Chapter("Variables"); while hasNext(finder) result = next(finder); % Create a section for the variable s = Section(result.Name); % Add variable information to the section using % default reporter settings reporter = getReporter(result); add(s,reporter); % Add this section to the chapter add(ch,s); end % Add the chapter to the report add(rpt,ch); end end end
設計変数のユーザー パスと、その設計変数を使用する Web ビューのブロック間の双方向リンクを生成するには、次のコード行を
% Add variable information to the section using % default reporter settings reporter = getReporter(result); add(s,reporter);
次のコード行に置き換えます。
% Create a Users list with links to the embedded model usedByPara = Paragraph("Used By:"); usedByPara.Bold = true; add(s, usedByPara); users = result.Users; nUsers = numel(users); for u = 1:nUsers userLink = createElementTwoWayLink(rpt, ... users{u}, ... Paragraph(users{u})); add(s,userLink); end