主要内容

信号基础知识

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

  • 信号的名字

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

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

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

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

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

请注意

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

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

信号线样式

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

信号类型 线条样式
标量和非标量
非标量(使用宽非标量线选择enabled-see宽非标量线

控制信号

虚拟总线
Nonvirtual总线
总线阵列
适应

信号特性

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

  • 信号名称和标签

  • 信号记录

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

  • 信号的文档

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

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

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

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

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

信号名称和标签

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

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

  • 信号名可以解析为a金宝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对象。

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

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

测试信号

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

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

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

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

场景可以帮助测试模型。

相关的话题