主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

slreportgen.report.Signal 类

命名空间: slreportgen.report

信号报告器

自 R2021a 起

描述

使用 slreportgen.report.Signal 类的对象来报告信号的属性。

信号是动态系统的输出,由 Simulink 图中的模块和图本身表示。请参阅信号基础知识

注意

要在报告中使用 Signal 对象,您必须使用 slreportgen.report.Report 类或子类创建报告。

slreportgen.report.Signal 类是 handle 类。

类属性

HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

描述

reporter = slreportgen.report.Signal 创建一个具有默认属性值的 slreportgen.report.Signal 对象。您必须通过设置 Object 属性来指定要报告的信号。使用其他属性来自定义报告的信息和信息的格式。

reporter = slreportgen.report.Signal(object)Object 属性设置为 object

示例

reporter = slreportgen.report.Signal(Name=Value) 使用名称-值参量设置 Signal 对象属性。您可以按任意顺序指定多个名称-值参量。

属性

全部展开

表示要报告的信号的模块输出端口,指定为句柄。信号报告器报告有关输出端口的属性以及连接到该端口的线路的属性的信息。

是否报告此信号的 Simulink.Signal 对象的信息,指定为 truefalse。如果此属性为 true,则信号报告器将包含有关指定信号属性的 Simulink.Signal 对象的信息。使用 mlreportgen.report.MATLABVariable 报告器报告 Simulink.Signal 对象的属性。使用此信号报告器的 MATLABVariableReporter 属性可以自定义信号对象信息的外观。如果信号没有与信号对象关联,则不会报告任何内容。

定义所报告信号的 Simulink.Signal 对象的报告器,指定为 mlreportgen.report.MATLABVariable 对象。默认值是一个空的 MATLABVariable 报告器,其 DepthLimit 属性设置为 0。默认报告器在单个表中报告有关 Simulink.Signal 对象的信息。要自定义报告信息的外观,请修改默认 MATLABVariable 报告器的属性或将报告器替换为自定义的 MATLABVariable 报告器。例如,以下代码使用 MATLABVariable 报告器的 PropertyFilterFcn 属性仅显示 Simulink.Signal 对象的特定属性:

filterFcnHandle = @(variableName, variableObject, propertyName) ...
~ismember(propertyName, ["Description", "DataType", "Unit"]);
signalRptr.MATLABVariableReporter.PropertyFilterFcn = filterFcnHandle;
信号对象的某些属性,例如 CoderInfo 属性,其值也是具有属性的对象。要在单独的表中显示属性的属性,请将 MATLABVariableReporterDepthLimit 属性设置为大于 0 的整数。例如:

signalRptr.MATLABVariableReporter.DepthLimit = 10;

信号属性表格式化程序,指定为 mlreportgen.report.BaseTable 对象。该属性的默认值是 BaseTable 对象,其 TableStyleName 属性设置为 SignalTable 样式,该样式在 Signal 报告器的默认模板中定义。要自定义表格的外观,请修改默认 BaseTable 对象的属性或将该对象替换为您自己的 BaseTable 对象。如果向 BaseTable 对象的 Title 属性添加内容,则该内容会出现在生成的报告中的表格标题前面。

是否显示具有空值的信号属性,指定为 truefalse

要报告的信号属性,指定为字符串数组或字符向量元胞数组。指定这些属性的任意组合:

  • Name

  • Description

  • Source

  • Destination

  • NonvirtualDestination

  • DataType

  • Complexity

  • Dimensions

  • Min

  • Max

  • SampleTime

此报告器的模板来源,以下列方式之一指定:

  • 字符向量或字符串标量,指定包含此报告器模板的文件的路径

  • 此报告器使用的模板或其模板库中包含此报告器模板的报告器或报告

  • 文档对象模型 (DOM) 文档或文档部分,该报告器使用其模板或其模板库包含该报告器的模板

指定的模板必须与您附加此报告器的报告类型相同。例如,对于 Microsoft® Word 报告,TemplateSrc 必须是 Word 报告模板。如果 TemplateSrc 属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。

属性:

GetAccess
公共
SetAccess
公共
NonCopyable
true

此报告器的模板名称,指定为字符向量或字符串标量。此报告器的模板必须位于此报告器 TemplateSrc 属性所指定模板的模板库中。

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string

此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget 对象。字符向量或字符串标量值转换为 LinkTarget 对象。链接目标紧接在输出报告中此报告器的内容之前。

属性:

GetAccess
公共
SetAccess
公共

方法

全部展开

示例

全部折叠

使用 slreportgen.report.Signal 对象在报告中包含有关信号的信息。

导入 MATLAB 和 Simulink 报告 API 包,这样您就不必使用长而完全限定的类名。

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

加载 vdp 模型。

model_name = "vdp";
load_system(model_name);

创建 Simulink 报告。

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

在报告中添加模型图。

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

获取想要报告的信号的端口句柄。

ph = get_param("vdp/x1","PortHandles");
port = ph.Outport;

为信号信息创建一个章节。

ch = Chapter("x1");

为信号创建一个 Signal 报告器并将该报告器附加到章节中。

signalRptr = slreportgen.report.Signal(port);
append(ch,signalRptr);

将章节添加到报告中。关闭并查看报告。

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

版本历史记录

在 R2021a 中推出