Simulink仿真入门到精通(三) Simulink信号

摘要:
信号是Simulink中非常重要的组件。有线表示连接模型中的模块。它不仅可以传递数据,还可以清晰地表达模块的输入和输出依赖关系。技能可以命名自己以显示其物理含义,也可以绑定Simulink Signal数据对象以在生成的代码中表达变量。还有另一种方法来命名信号。在信号线上单击鼠标右键,选择“属性”,然后在属性对话框的“信号名称”中输入表示信号名称的字符。
3.1 Simulink信号概述

所谓信号,表示一种随着时间而变化的量,在时间轴上的采样时刻都对应有数值。

信号在Simulink中是相当重要的组成部分,有线(line)表示,在模型中穿针引线地将各模块联系起来,既能传递数据又可以明确表达模块的输入输出依赖关系,技能给自己命名以示自身的物理意义,又能绑定Simulink.Signal数据对象来表达生成代码中的变量。将Simulink信号线理解为类似网线之类的物理设备其实是不恰当的,它所表达的往往不是物理连接,而是数学上的一种关系或者说逻辑联系。

3.2 Simulink信号的操作

信号的命名

双击信号线,在信号线附近就会自动出现一个矩形可编辑区域,可输入表示信号名的字符。

Simulink仿真入门到精通(三) Simulink信号第1张

命名信号还有另一个方法,右击信号线,选择Properties,在属性对话框的Signal name中输入表示信号名的字符。

Simulink仿真入门到精通(三) Simulink信号第2张

信号的分支

将鼠标放在信号线上之后,同时按住Ctrl和鼠标左键拖曳,即可从原有的信号线上再新生出一个分支来。

Simulink仿真入门到精通(三) Simulink信号第3张

3.3 Simulink信号的分类

Simulink使用不同的线型表示传递不同数据类型的信号线,以方便建模者掌握信号的规模和种类,增强模型的可读性。

Scalar

Simulink仿真入门到精通(三) Simulink信号第4张

每个采样时刻传输1×1信号,最常见的信号,用一根细实线表示。

Vector

每个采样时刻传输一个向量数据,如Constant模块中输入一个向量数据,在其输出端口输出的信号,或者在Mux模块中将多个Scalar信号合并后输出的信号。

Simulink仿真入门到精通(三) Simulink信号第5张

 默认情况下Vector信号以同Scalar信号的细实线表示,若勾选Display→Signals&Ports→Signal Dimensions可以看到其维数,若勾选Display→Signals&Ports→Wide Nonscalar Lines可以显示粗实线。

Matrix

Simulink仿真入门到精通(三) Simulink信号第6张

Bus

虚拟Bus

Simulink仿真入门到精通(三) Simulink信号第7张

非虚拟Bus

Simulink仿真入门到精通(三) Simulink信号第8张

Bus数组信号线:Bus数组信号是指信号线中传递数组规模的信号,数组中的每一个元素都是同样的Bus类型,并且必须是非虚拟Bus信号。

 Simulink仿真入门到精通(三) Simulink信号第9张

Function-call信号

Function-call信号是指用于进行子系统调用的控制类信号,并非实际信号。

Trigger模块及自定义S函数模块可以输出该信号。

尺寸可变信号

尺寸可变信号是指在Simulink仿真过程中,每个维数中的元素个数可以变化的信号,及仿真过程中信号所包含的元素个数和值都是不固定的。但是信号的维数是不可变的。

Simulink仿真入门到精通(三) Simulink信号第10张

Simulink仿真入门到精通(三) Simulink信号第11张

Simulink仿真入门到精通(三) Simulink信号第12张

configuration Parameter→Data Import/Export→Format→Structure/Structure with time。

未连接信号

Simulink仿真入门到精通(三) Simulink信号第13张

3.4 Simulink信号的属性

Simulink仿真入门到精通(三) Simulink信号第14张

>> sys=get_param('mymodel','Handle')

sys =

    2.0001

>> line_object=find_system(sys,'FindAll','on','type','line')

line_object =

   23.0006

>> get(line_object)
                   DataLogging: 0
           DataLoggingNameMode: 'Use signal name'
               DataLoggingName: ''
       DataLoggingDecimateData: 0
         DataLoggingDecimation: '2'
         DataLoggingSampleTime: '-1'
    DataLoggingLimitDataPoints: 0
          DataLoggingMaxPoints: '5000'
                     TestPoint: 0
                  StorageClass: 'Auto'
       RTWStorageTypeQualifier: ''
     MustResolveToSignalObject: 0
                    SourcePort: 'In1:1'
             SignalObjectClass: 'Simulink.Signal'
                  SignalObject: []
                     CoderInfo: []
                  DocumentLink: ''
         ShowPropagatedSignals: 0
       TaskTransitionSpecified: 0
              TaskTransitionIC: '0'
           ExtrapolationMethod: 'Use global setting'
            TaskTransitionType: 'Use global setting'
          UserSpecifiedLogName: ''
             SignalPropagation: 'off'
                          Path: ''
                          Name: ''
                           Tag: ''
                   Description: ''
                          Type: 'line'
                        Parent: 'mymodel'
                        Handle: 23.0006
               HiliteAncestors: 'none'
               RequirementInfo: ''
                      FontName: 'auto'
                      FontSize: -1
                    FontWeight: 'auto'
                     FontAngle: 'auto'
                      Selected: 'off'
                   SegmentType: 'trunk'
                 SrcPortHandle: 22.0006
                SrcBlockHandle: 21.0006
                 DstPortHandle: 3.4350e+03
                DstBlockHandle: 3.4340e+03
                        Points: [2×2 double]
                    LineParent: -1
                  LineChildren: []
           SignalNameFromLabel: ''
                     Connected: 'on'常用

常用属性:

属性名属性作用
TestPoint设为TestPoint的数据
StorageClass存储类型,不同存储类型表示代码生成是信号变量的不同声明及存储形式
MustResolveSignalObject当信号线的名字与工作空间中定义的数据对象同名时,可以将此属性设为'on'以应用数据对象的特性到信号线上
UserSpecifiedLogName用户定义的记录信号线数据用名,默认与信号线同名
DataLoggingName记录信号线数据用名,不会因信号名删除而被删除
Name信号线名
SegmentType值为'trunk'或'branch',表示此信号线是主干线或分支线
Parent父对象的句柄
Handle信号线本身的句柄
Connect'on'/'off'表示信号线是否连接上
SrcPortHandle信号线的源端口句柄
SrcBlockHandle信号线的源模块句柄
DsPortHandle信号线的终端口句柄
DsBlockHandle信号线的终模块句柄

免责声明:文章转载自《Simulink仿真入门到精通(三) Simulink信号》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇docker离线安装zabbix+grafanapython之路_爬虫之requests模块初始下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Simulink仿真入门到精通(十四) Simulink自定义环境

14.1 Simulink环境自定义功能 sl_sustomization.m函数是Simulink提供给用户使用MATLAB语言自定义Simulink标准人机界面的函数机制。若sl_sustomization.m函数存在于MATLAB的搜索路径中,在当Simulink启动时就会读取此文件的内容进行Simulink的人机界面的初始化。Simulink本身就...

Simulink仿真入门到精通(十三) Simulink创建自定义库

 当用户自定义了一系列模块之后,可以自定义模块库将同类自定义模块显示到Simulink Browser中,作为库模块方便地拖曳到新建模型中。 建立这样的自定义库需要3个条件: 建立library的mdl或slx文件,将自定义模块添加到文件中保存; 建立名字为slblocks的M函数,定义模块库显示到Simulink Browser中的规格; slbloc...

DSPBuilder Matlab安装教程说明

在安装DSPBuilder时遇到了几个小问题,让我心绪颇有感触:版本一定要用对呀!! 在本人安装的软件版本: QII11.0+DSPB11.0+Matlab2011b+Questa10.0(Modelsim的10.0版)+Win7系统 由于DSPB在安装前必须要事先安装好QII11.0+Matlab2011b+Questa10.0(或者Modelsim的其...

simulink模块执行顺序

1、simulink各模块执行顺序 Simulink模块的执行顺序都是序贯进行的,也就是沿着信号的流向进行。没有输入的模块先进行计算,更新状态量与输出,需要输入信号的模块等到输入信号准备ready之后进行状态量和输出的更新。 两个模块A/B,如果B模块的输入依赖于A模块的输出,那么先执行A模块再执行B模块 1.2 如果几个模块是完全并列 的同级关系,则可...

Simulink仿真入门到精通(十九) 总结回顾&自我练习

从2019年12月27到2020年2月12日,学习了Simulink仿真及代码生成技术入门到精通,历时17天。 学习的比较粗糙,有一些地方还没理解透彻,全书梳理总结: Simulink的基础模块已基本掌握,对不熟悉的模块可以借助帮助文档了解其功能; Simulink信号基本掌握,了解了各种信号的外观及意义的不同; 对Simulink子系统的认识有待深入,...

Simulink仿真入门到精通(八) M语言对Simulink模型的自动化操作及配置

8.1 M语言控制模型的仿真 M语言与Simulink结合的方式: 在Simulink模型或模块中使用回调函数 在M语言中调用与模型相关的命令,控制模型的建立,设置模块的属性,增删信号线,以及运行模型仿真等 为了调用和操作Simulink模型,M语言中最常用的函数有sim、set_param、get_param。 8.1.1 sim控制模型仿真及参数配...