3.1 Simulink信号概述

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

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

3.2 Simulink信号的操作

信号的命名

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

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

信号的分支

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

3.3 Simulink信号的分类

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

Scalar

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

Vector

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

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

Matrix

Bus

虚拟Bus

非虚拟Bus

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

Function-call信号

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

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

尺寸可变信号

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

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

未连接信号

3.4 Simulink信号的属性

>> 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信号的更多相关文章

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

    从2019年12月27到2020年2月12日,学习了Simulink仿真及代码生成技术入门到精通,历时17天. 学习的比较粗糙,有一些地方还没理解透彻,全书梳理总结: Simulink的基础模块已基本 ...

  2. Simulink仿真入门到精通(十八) TLC语言

    TLC(Target Language Compiler)是一种为转换为目标语言而存在的额解释性语言,其目的就是将模型中编译出来的rtw文件转换为目标代码(C/C++等).与M语言类似,既可以写成脚本 ...

  3. Simulink仿真入门到精通(十七) Simulink代码生成技术详解

    17.1 基于模型的设计 基于模型设计是一种流程,较之传统软件开发流程而言,使开发者能够更快捷.更高效地进行开发.适用范围包括汽车电子信号处理.控制系统.通信行业和半导体行业. V字模型开发流程整体描 ...

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

    8.1 M语言控制模型的仿真 M语言与Simulink结合的方式: 在Simulink模型或模块中使用回调函数 在M语言中调用与模型相关的命令,控制模型的建立,设置模块的属性,增删信号线,以及运行模型 ...

  5. Simulink仿真入门到精通(五) Simulink模型的仿真

    5.1 模型的配置仿真 由各种模块所构建的可视化逻辑连接,只是模型的外在表现,模型仿真的核心驱动器是被称作解算器(Solver)的组件,相当于Simulink仿真过程的心脏,驱动着模型仿真,它在每一个 ...

  6. Simulink仿真入门到精通(二) Simulink模块

    2.1 Simulink模块的组成要素 用户构建系统模型时无需直接面对成千上万行的代码,而是通过模块化图形界面以模块化的方式构建,能够使理解变得容易,让大脑减负.通过层次化模块分布将系统功能模块化,而 ...

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

    14.1 Simulink环境自定义功能 sl_sustomization.m函数是Simulink提供给用户使用MATLAB语言自定义Simulink标准人机界面的函数机制.若sl_sustomiz ...

  8. Simulink仿真入门到精通(十一) 模块的封装

    当用户编写了自定义的S函数或者使用Simulink标准库中的模块搭建子系统后,可以通过封装为其设计显示外观,追加参数对话框. 封装是构建一个以对话框为接口的交互界面的过程,它将复杂的模块逻辑关系隐藏起 ...

  9. Simulink仿真入门到精通(七) Simulink的回调函数

    7.1 什么是回调函数 Callback functions(回调函数)是因某种操作而除法对其调用的函数,如按下按钮或双击操作等. 常用的Simulink回调函数可应用在以下场合: 打开Simulin ...

随机推荐

  1. Spring-IOC(DI)的三种注入方式

    spring为方便不同的需求,为我们提供了3中不同的注入方式分别是set.get方法注入,构造注入还有p命名空间注入,老规矩,直接上代码 首先创建实体类Student public class Stu ...

  2. CSA|EI

    信息检索 CSA是学科特色的包含相关学科的内容,其网址是https://search.proquest.com/ 可以使用命令行检索: 分类的限制检索: 寻找检索线索可使用百科全书 EI是工程领域最全 ...

  3. eclipse批量替换,修改变量名或单词(两种方法)

    第一种(常用): ①如图:双击选中变量名id,右键选择Refactor中的Rename ②之后如下图所示,红箭头的带有方框的就是选中修改的变量名,此时修改提示框的内容,后面带方框的也跟着修改, 而蓝色 ...

  4. 《Java 面试问题 一 Spring 、SpringMVC 、Mybatis》

    自己理解SSM框架可能问到的面试问题 一.需要知道的SSM基础知识 1.什么是Spring? Spring 是一款轻量级的 IOC (依赖反转) 和  APO (面向切面) 容器框架.(个人理解: 就 ...

  5. 转发: python3.7下 Flask-SQLAlchemy中解决1366报错

    原链接:https://segmentfault.com/a/1190000010596306 详情: 安装MySQL驱动(我升级过Python,所以要再装一遍) 本想安装MySQL官方驱动mysql ...

  6. 使用Connector / Python连接MySQL/查询数据

    使用Connector / Python连接MySQL connect()构造函数创建到MySQL服务器的连接并返回一个 MySQLConnection对象 在python中有以下几种方法可以连接到M ...

  7. 18岁,赚到了人生中的第一个10W!

    大家好,我是九歌 今年我18岁,赚到了我人生中的第一个10W 截至2019年10月14日,我已经做了43天的公众号啦,粉丝也悄然增长到了1W8,感谢各位读者朋友给我的支持和鼓励. 相信大部分读者都是从 ...

  8. iOS适配UIViewView/WKWebView,H5生成长图,仿微信进度条

    前段时间撸代码猥琐发育的时候,设计师老王给了张截图某宝APP上一个生成长图分享的功能,正好公司有这个需求,于是在立马开始操练起来!在万能的度娘上搜集整理资料后发现很多文章介绍的方案对WKWebView ...

  9. 面试的绝招(V1.0)

    <软件自动化测试开发>出版了 测试开发公开课培训大讲堂 微信公众号:测试开发社区 测试开发QQ群:173172133 咨询QQ:7980068 咨询微信:zouhui1003it

  10. 悖论当道,模式成空:汽车O2O真是死得其所?

    O2O热潮的兴起似乎来得颇为蹊跷--或许是线上连接线下的模式太过空泛,具有极大的包容性,让各个行业都忍不住在其中横插一脚.在经历过最初的崛起和后来的火爆之后,最终形成目前的寒冬.究其原因,O2O并不是 ...