Simulink 环境基础知识(二十)--信号标签传播

目录

支持信号标签传播的模块

Simulink 如何传播信号标签

显示传播的信号标签

信号传播的特殊情况


        可以在 Simulink® 模型中为信号提供信号名称并配置传播信号名称,以跟踪通过一个或多个模块的信号标签。为信号命名并对允许的模块的输出信号启用信号标签传播显示时:

  • 如果存在 Simulink 可以传播的用户指定的信号名称,则传播的信号标签会将该名称包括在尖括号中(例如 <sig1>)。

  • 如果没有可传播的名称,Simulink 将为该标签显示一对空的尖括号 (<>)。

        例如,在下面的模型中,为 Subsystem 模块的输出信号配置了信号标记传播。传播的信号标签(<const>) 基于 Constant 模块的上游输出信号的名称 (const)。

支持信号标签传播的模块

        可以为几个连接模块(这种模块在模型中传输信号但不改变数据)的输出信号使用信号标记传播功能。连接模块不执行任何信号转换。此外,Model模块支持信号标签传播。

        支持信号标记传播的连接模块包括:

  • Enable

  • From

  • Function-Call Split

  • Goto

  • Inport(仅子系统;非模型输入端口)

  • Signal Specification

  • Subsystem,Atomic Subsystem,CodeReuse Subsystem(通过子系统InputOutput模块)

  • Tigger

        Bus Creator 和 Bus Selector 模块不支持信号标签传播。但是,要查看任何总线信号的层次结构,使用Display Bus Hierarchy

        信号的 Signal Properties 对话框会指示该信号是否支持信号标签传播。Show propagated signals 参数仅对支持信号标签传播的模块可用。

Simulink 如何传播信号标签

        通常,Simulink 会针对以下目标或情形一致地执行信号标签传播:

  • 不同的建模结构(例如,非总线和总线信号、虚拟和非虚拟总线、子系统和模型变体、模型引用以及库)

  • 在包含或不包含隐藏模块的模型中(Simulink 会在某些情况下插入隐藏模块以实现仿真)

  • 在执行模型加载、编辑、更新和仿真时

有关某些特殊情况的信息,请参阅:

  • 引用模型的处理过程

  • 可变子系统和可配置子系统的处理过程

一般信号标签传播的处理过程

        通常,当为模块(例如,BlockA)的输出信号启用信号标签传播后,Simulink 将完成以下处理过程,以查找要传播的源信号名称:

  1. 检查输出信号连接到 BlockA 的模块,如有必要,继续检查上游模块,从最近的模块向最远的模块依次执行。

  2. 在遇到符合以下任一条件的模块时停止:

    • 支持信号标签传播并具有信号名称

    • 不支持信号标签传播

  3. 获取Simulink停止时遇到的模块的输出信号的信号名称(如果有)。

  4. 使用该信号名称作为启用了信号标签传播的下游模块的任何输出信号的传播的信号标签。

        例如,在下面的模型中,假设为Subsystem 模块的输出信号(即,连接Out1端口的信号)启用了信号标签传播。

        Simulink在该子系统内从From和GoTo模块(支持信号标签传播但没有名称)往上游检查,然后继续往上游检查到 Constant 模块(不支持信号标签传播)。Simulink 使用 Constant 模块的输出信号的信号名称const。Subsystem 模块输出信号的传播的信号标签是<const>。

如果 Constant 模块的输出信号没有信号名称,则传播的信号标签将是一对空的尖括号 (<>)。

        假设在 Subsystem 模块中为 In1 模块的输出信号启用了信号标签传播,并使用 Signal Properties 对话框为From模块的输出信号指定了信号名称const-from,如下所示。

        为 Subsystem 模块输出信号传播的信号标签将更改为 <const-from>,因为这是 Simulink 在信号标签传播处理过程中遇到的第一个具有名称的信号。

        在下面的模型中,Subsystem模块输出信号的信号标签传播使用信号名称bus1,这是Bus Creator模块的输出总线信号的名称。传播的信号标签不包含总线元素信号(a 和 b)的名称。

显示传播的信号标签

        可以显示模型中单个信号的传播信号标签,也可以显示模型中所有信号的传播信号标签。要显示所有信号的标签,请在 Simulink Editor 中,在 Debug 选项卡上,选择 Information Overlays > Propagated Signal Labels

        要显示单个信号的传播信号标签,请执行下列操作:

  1. 右键点击要显示传播的信号标签的信号,然后选择 Properties

  2. 在 Signal Properties 对话框中,选择 Show propagated signals

    Show propagated signals 参数仅对支持信号标签传播的模块的输出信号可用。

        要以编程方式启用此信号属性,请为该信号线创建句柄,并将 signalPropagation 指定为 'on'。例如,可以使用以下代码为模型图中的所有信号启用或禁用此属性。

% Create an array of handles to every signal line in the diagram
signalLines = find_system(gcs,'FindAll','on','type','line');

% Enable or disable the property for each signal line
for i = 1:length(signalLines)

      % set(signalLines(i),'signalPropagation','off');
      set(signalLines(i),'signalPropagation','on');
end

        如果信号已经具有标签,则显示传播的信号标签的替代方式如下:

  1. 在模型图中,点击信号标签。

  2. 删除标签文本。

  3. 在信号标签文本框中输入尖括号 (<)。

  4. 在信号标签外点击。

    Simulink 将显示传播的信号标签。

信号传播的特殊情况

引用模型的处理过程

        要为引用模型启用信号标签传播,除了显示传播的信号标签中介绍的步骤外,还要使用 Model Configuration Parameters > Model Referencing > Propagate all signal labels out of the model 参数的默认设置。也就是说,必须要启用该参数。如果在引用模型内部进行了影响信号标记传播的更改,引用模型外部传播的信号标签不会反映这些更改,一直到更新图或进行模型仿真为止。

        例如,模型 ex_signal_label_prop_model_ref 有一个引用模型,其中包含来自 In1 模块的输出信号,信号名称为 input_1。如果为来自 Model 模块的 Out1 端口的信号启用了信号标签传播,在更新图或进行模型仿真之前,该信号不会反映名称 input_1。

可变子系统和可配置子系统的处理过程

        当同时满足以下条件时,Simulink将为Subsystem或Model模块的输出信号更新传播的信号标签(如果已启用):

  • 变体模型的输出信号有不同信号名称。

  • 更改了活动的变体模型或可变子系统。

        对于 Subsystem 模块,信号标签在编辑时更新。对于 Model 模块,更新发生在更新图或进行模型仿真时。

  • 5
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Simulink中的Gain模块中的-k-是指增益系数,用于将输入信号乘以一个常数,以改变信号的幅度。在模拟和数字信号处理中,增益常常用于放大或缩小信号,以便于处理或适应不同的系统要求。在Simulink中,可以通过调整Gain模块的-k-参数来改变信号的增益。 ### 回答2: 在Simulink中,Gain模块是一种数学模型,可用于为系统中的输入和输出信号设置缩放比例。模块中的-k-是指缩放因子,可以使用户通过调整该因子来将输入和输出信号缩放到所需的范围内,从而更好地适应系统要求。 -k-值代表增益,可以根据需求设置负数或正数,这取决于应用程序中所需的系统响应。如果-k-值为正数,则输出信号将与输入信号同向变化,反之则相反。换句话说,如果-k-值为正,则输出信号将放大,而如果-k-值为负,则输出信号将缩小。 在实际应用中,Gain模块可以用于许多控制系统的设计中,例如汽车或工厂中的生产流程自动控制。通过调整-k-值,可以实现系统的响应适应系统的实际需要。此外,该模块在信号处理和通信系统中也很常见,用于调整电压和电流信号的幅度和相位。 总之,Gain模块中的-k-值是一个重要的参数,可用于控制或优化系统响应。通过调整该值,用户可以更好地控制系统的输出,并使其满足特定应用程序的需求。 ### 回答3: Simulink中的Gain模块是一种非常基础的模块,在很多模型中都会用到。Gain模块的作用是对输入信号进行放大或缩小,通过调整Gain的值,可以控制输出信号的幅值大小。Gain模块中的-k-代表的是放大或缩小的比例系数。当-k-的值为正数时,输入信号会被放大,而当-k-的值为负数时,输入信号会被缩小。 -k-的值通常是由系统设计人员根据实际需求进行设定的。在实际应用中,通常需要对系统的输入信号进行放大或缩小以便于后续的处理和控制,而Gain模块就是实现这一功能的重要工具之一。在控制系统中,将输入与输出间的转换和信号的放大或缩小联系在了一起,使用Gain模块可以非常方便地对信号进行转换和控制,使系统更加稳定和可靠。 总之,Gain模块是Simulink中非常基础的模块,使用起来也非常简单。其中-k-代表的是放大或缩小的比例系数,通过调整该值可以控制输出信号的幅值大小,非常适合于控制系统等实际应用中的信号处理和控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值