主要内容

信号基础知识

一个信号是一个在所有时间点都有值的时变量。您可以指定广泛的信号属性,包括:

  • 信号的名字

  • 数据类型(例如,8位、16位或32位整数)

  • 数字类型(实数或复数)

  • 维度(一维、二维或多维数组)

在仿真金宝app软件®,信号是动态系统的输出,由Simulink图中的块和图本身表示。金宝appa中的线框图表示由框图定义的信号之间的数学关系。例如,a块的输出与B块的输入连接的一条线表示B块的信号输出依赖于a块的信号输出。

金宝appSimulink框图用带有箭头的线表示信号。信号的源对应于在计算其块方法(方程)期间写入信号的块。信号的目的地是在计算块方法(方程)期间读取信号的块。模型中信号的目的地不一定代表模型中块的仿真顺序。仿真顺序由Simulink自动确定。金宝app

请注意

金宝appSimulink信号是数学的,而不是物理的实体。框图中的线表示块之间的数学关系,而不是物理关系。金宝appSimulink信号不像电信号沿电线传播一样,沿着连接模块的线路传播。块图不代表块之间的物理连接。

您可以通过向模型添加一个源块来创建一个信号。例如,可以通过添加的实例创建一个随时间呈正弦变化的信号正弦、余弦块从Simulink Sour金宝appces库到您的模型。要查看在模型中创建信号的块列表,请参见来源.或者,您可以使用查看器和生成器管理器在模型中创建信号而不使用块。

信号线的风格

Si金宝appmulink模型可以包含许多不同类型的信号。在构建框图时,所有信号类型都显示为一条细实线。在更新图表或启动模拟之后,信号将以指定的线条样式显示。这些信号类型使您能够区分不同的信号类型。对于所有信号类型,只能自定义非标量信号类型。想要了解更多,请看信号类型

信号类型 线条样式
标量和nonscalar
Nonscalar (宽nonscalar行选择enabled-see宽Nonscalar行

控制信号

虚拟总线
Nonvirtual总线
数组的公交车
适应

信号特性

您可能希望在模型中指定信号属性,以便为信号提供名称或标签,准备用于日志记录的数据,或在模型中自定义信号。使用属性检查器、模型数据编辑器或信号属性对话框指定以下属性:

  • 信号名称和标签

  • 信号记录

  • 金宝app仿真软件编码器™用于生成代码

  • 信号记录

要访问属性检查器中的信号属性,首先显示属性检查器。在建模选项卡,在设计,点击属性检查器.当你选择一个信号时,属性会出现在属性检查器中。

要打开模型数据编辑器,请在建模选项卡上,单击模型数据编辑器.然后,检查信号选项卡并选择一个信号。

要使用信号属性对话框,右键单击一个信号并选择属性

要以编程方式指定信号属性,请使用如下函数get_param创建一个变量,该变量包含创建信号线的块输出端口的句柄。然后,用set_param设置端口的编程参数。例如:

p = get_param (gcb),“PortHandles”) l = get_param(p。输出港,“行”) set_param (l,“名字”“s9”

信号名称及标签

可以在模型中以交互方式或编程方式命名信号。信号名称的语法要求取决于您如何使用该名称。最常见的情况是:

  • 不要使用少于字符(<)以开始一个信号名称。

  • 信号名称可以解析为金宝app仿真软件。信号对象。(见金宝app仿真软件。信号.)信号名称必须是一个合法的MATLAB®标识符。该标识符以字母字符开始,然后是字母数字或下划线字符,直到函数给出的长度namelengthmax

  • 信号有一个名称,这样就可以在数据日志中通过名称识别和引用信号。(见使用信号记录导出信号数据.)这样的信号名称可以包含空格和换行符。这些字符可以提高可读性,但有时需要特殊的处理技术,如处理日志名称中的空格和换行符

  • 信号名称的存在只是为了阐明图,没有计算意义。这样的信号名称可以包含任何内容,不需要特殊处理。

  • 信号是总线对象的一个元素。为信号名称使用一个有效的C语言标识符。

  • 输入一个总线的创造者块必须有唯一的名称。如果有重复的名称,则总线的创造者块附加(信号#)所有输入信号名称,其中为输入端口索引。

使每个信号名称合法的MATLAB标识符处理广泛的模型配置。意外需求可能要求更改信号名称以遵循更严格的语法。你可以使用这个函数isvarname以确定信号名称是否合法的MATLAB标识符。

通过使用以下选项交互式地命名一个信号:

信号名称出现在信号下面,显示为信号标签

要以编程方式命名信号,请使用get_paramset_param对信号起作用。下表总结了如何在Simulink编辑器中处理信号名称和标签。金宝app

任务 行动
给信号线命名 双击信号并键入它的名称。
为已命名信号线的分支命名 双击分支。
列出信号的每一个分支 右键单击信号,选择属性,并使用对话框。
删除信号标签和名称 删除标签中的字符或删除信号属性对话框中的名称。
只删除信号标号 右键单击标签并选择删除标签
打开信号标签文本框进行编辑

双击信号线。

点击标签。

选择信号线(不是标签)并使用F2

在一个Mac,选择信号线(不是标签)并使用控制+返回

移动信号标签 将标签拖动到同一信号线上的新位置。
复制信号标签 Ctrl +拖动信号标签。
更改标签字体 选择信号线(不是标签),然后在格式选项卡上,单击字体属性按钮箭头,然后单击字体为模型

信号显示选项

在模型图中显示信号属性可以使模型更容易阅读。例如,在Simulink编辑器中金宝app调试选项卡,使用信息覆盖菜单中包含有关信号属性的模型布局信息,例如:

  • 端口数据类型

  • 设计范围

  • 信号的维度

  • 信号的分辨率

有关详细信息,请参见显示信号的属性

您还可以突出显示信号及其源或目标块。有关详细信息,请参见突出信号源和目的地

信号和状态的商店设计属性

您可以使用块参数和信号属性来指定信号设计属性,如数据类型、最小值和最大值、物理单位和数字复杂性。要配置状态,可以使用块参数。当您使用这些块参数和信号属性时,您将规范存储在模型文件中。

或者,您可以通过使用属性指定这些属性金宝app仿真软件。信号金宝app仿真软件。ValueType对象,存储在工作区或数据字典中。

根据您的建模目标选择使用哪种策略。

建模的目标 策略

提高模型的可移植性、可读性和易于维护

在模型文件中存储信号属性规范。不需要保存和管理外部对象。考虑设置模型配置参数信号的分辨率没有一个,禁止使用金宝app仿真软件。信号对象的模型。

将信号属性规范从模型中分离出来,这样您就可以独立地管理每个信号

使用金宝app仿真软件。信号对象。

将信号属性规范从模型中分离出来,以便可以重用特定于应用程序的属性集

使用金宝app仿真软件。Valuetype对象。

要使用可进行排序、分组和筛选的列表来配置信号的设计属性和代码生成设置,请考虑使用模型数据编辑器.对于对象,也可以使用模型浏览器

确定将a永久存储在何处金宝app仿真软件。信号金宝app仿真软件。ValueType对象,看到确定Simulink模型中变量和对象的存储位置金宝app

测试信号

您可以对信号执行以下类型的测试:

  • 最小值和最大值—对于许多Simulink块,您可以为输出信号指定一个有效值范金宝app围。金宝appSimulink提供了一种诊断方法,用于检测在模拟过程中,当块生成的信号超出其指定范围时。有关详细信息,请参见指定信号范围

  • 连接验证——许多Simulink块对它们接受的信号类型有限金宝app制。在模拟一个模型之前,Simulink检查所有的块,以确金宝app保这些块能够容纳由块连接到的端口输出的信号类型,并报告关于不兼容的错误。要在运行模拟之前检测信号兼容性错误,请更新图表。

信号编辑器块显示可互换的场景组。使用信号编辑器显示、创建、编辑和切换可互换的场景。

场景可以帮助测试模型。

相关的话题