- 博客(17)
- 资源 (5)
- 收藏
- 关注
原创 Davince 使用笔记--网络信号的导入及映射
1.导入dbc文件(Configure软件)导入步骤:Input Files->Open the Input Files Assistant->Input Files Assistant->Update the configuration now2.Can Controllers Filter配置配置路径:Communication->Bus Controller->Acceptance Filter3.Can Bus Timing配置配置路径:C.
2021-12-18 13:58:47 1531
原创 Autosar Blockset Software Architect笔记
Software Architect自上而下的使用上没什么问题。但是项目经常是多人协同开发,自下而上的方式开发的。关联swc后,顶层目录下添加Port和Port之间的连线,工作还是比较机械繁琐的。虽然没有图形化的操作界面,但matlab还是开放了一些接口,通过二次开发的方式快速实现。首先要获取模型的对象, archModel = autosar.arch.createModel(archModelName,true);%创建新的模型 archModel=autosar.arch.loadM
2021-08-13 14:07:50 998
原创 PPT实现单页点名的方式
PPT实现单页点名的方式 安装OK控件来实现,网上有很多资源,介绍很详细,不赘述。不爽的地方就是还要控件 通过PPT 开发工具中的控件来实现 1)office默认是没有把“开发工具”显示出来的。我们可以要把它先显示出来。依次点击 文件-> 选项->自定义功能区 中勾选 开发工具。如图:2)选取开发工具中的命令按钮(CommandButton),添加到PPT页面中。如图:3)双击CommandButton1,进入VBA界面下的控件回调函数Sub CommandB
2021-04-28 18:04:31 2450 2
原创 函数复用-For Each Subsystem
最近发现了一个被忽略掉的simulink库模块For Each Subsystem,在同一个子系统下用来替代函数的复用,使用起来非常便捷。结合matlab自带的例子sldemo_foreach_vectorized,简单说明一下。复用的部分封装在For Each Subsystem中,上边的输入信号Signal和Coeffs在复用模块中每次调用是不同的,但它们为同一类输入,把他们放在一个相同维度的数组(实现这个数组的输入可以通过Mux或着Vector Concatenate。)中。同时在Fo
2021-02-03 14:42:18 1842
原创 基于APP Designer 实现串口数据监测功能App总结(3)——app package
制作完app后就可以作为上位机使用了,但是要依托matlab环境。在R2016a版本上可以将设计的app制作成独立运行的.exe文件。通过“应用程序/Application Compiler”工具来实现:界面如下把前文设计的.mlapp 文件作为主文件单击package就可以了。当然,需要的话可以加入一些版本、版权、描述的信息。生成的文件如下其中for_redistributio...
2019-04-29 18:16:00 2674
原创 基于APP Designer 实现串口数据监测功能App总结(2)——app设计
本文具体介绍app设计的过程文章目录1. 选择串口2. 选择波特率1. 选择串口使用下拉框控件 双击"下拉框",“下拉框”label变为可编辑,修改label为“COM”;同样修改“option 1”为“COM1” 也可以选中控件后,通过右下角的属性修改。这里我们修改一下控件的name “DropDown”,修改为“COM”这里可以添加多个串口,如“CO...
2019-04-29 11:11:18 9400 5
原创 基于APP Designer 实现串口数据监测功能App总结(1)——函数间变量传递
文章目录MATLAB GUI传递方式1、全局变量;2、作为函数的参数传递;3、利用控件的userdata数据;4、为handles结构体添加新字段;5、setappdata函数为句柄添加数据;6、跨空间计算evalin和赋值assignin;七. 将数据保存到文件,需要时读取八. 带参数调用GUI的M文件总结几点:MATLAB GUI传递方式1、全局变量;运用global定义全局变量传递参...
2019-04-26 13:14:42 7848 6
原创 如何在stateflow中实现 位运算
m脚本中是有位运算函数的:bitand,bitor,bitxor...stateflow选择action language 为Matlab时,这些函数都是可以使用的:生成的代码如下图:但是,stateflow中action language 一般选择为C,这就有点蛋疼了。我在R2014a之前的版本上直接使用C的位运算符 &,| 时,都会直接转化成&&,||。位运算直接变成了...
2018-05-07 16:46:32 5171 2
原创 Simulink Merge 在Matlab R2010a版本中留下的坑
Merge的主要用法是把多个信号组合成一个信号。使用方法在help文档有详细描述。我这里主要说明一下matlab不同版本的默认设置对该block的影响。R2010a版本中Underspecified initialization detection的默认设置是:classic;Detect multiple driving blocks executing at the same
2018-01-22 19:10:39 3982
原创 stateflow 状态中嵌入循环的几种方式
我以求绝对值为例做说明m语音实现:注意此处的chart运行环境是Matlab ,不是C。C环境中是无法在状态机中识别if语句的,另外C中运算符 (?:),在chart中也无法识别,否则可以直接通过b=a>0?a:-a; 来实现。节点实现:还可以通过函数调用的方式实现,函数在Graphic Function或者Simulink Function中实现。
2018-01-03 09:52:13 12257 4
原创 建模规范
建模其实很自由的一项编码方式,不要太多的语法知识,简单接触过后就可以搭建功能复杂的模型生成代码供工程使用了。但是不按照一定的规范建模,结果很可能搭出来的模型可读性差、执行效率低、代码臃肿。而建模规范去一条一条的学习,枯燥不说效率也很低下。比较好的方式可以直接借助于tool来建模使之搭建的更有水平,同时学习建模规范。 使用的工具就是model advisor中的 MAAB检查, 界面如下:。
2017-01-17 10:51:08 2903
原创 定点化
Simulink是有定点化工具(fixed-point tool),没有用过,因为我想生成一个不带有浮点数的代码的话只要把所有的数据类型定义为非浮点的形式就好了。 首先 要做的是找到模型中的浮点数(当然如果建模的时候没有对数据类型进行特别设置的话,默认的数据类型都是double型的浮点数)。找浮点数有两个方法:以R2014a为例,选择菜单栏中的Display/Signal & Ports/Po
2017-01-16 11:08:38 10202
原创 Stateflow 状态机是怎么代码实现的
在处理时序问题上优选的就是Stateflow,利用状态之间的跳转完成时序任务的编码,非常的简洁直观高效。但是代价是有的,建模太过自由,在生成代码上可能就会产生几倍代码量。避免这个问题,就有必要仔细考虑一下模型是如何生成代码的。 简单的说就是,每个状态对应一个状态标志位,所有的状态标志位(包括整个模型所有chart)会在定义在一个结构体中。状态之间的跳转通过Switch-Case完成,每个c
2017-01-15 12:14:18 7478 1
原创 函数的复用
函数的复用可以通过以下几种方式实现: 1. 添加到lib库中 建立一个lib库,用来存放经常使用的模块,使用的时候直接从lib里边copy,生成的函数就是可以复用的。 2. chart默认可复用 嵌套在simulink模型中的chart模块是auto可reusable的,为了确保复用成功,可将Code Generation中Function packing 由默认的auto模式改为Reus
2017-01-15 12:13:10 2585
原创 搭建Simulink模型
完成设置后就可以搭建模型了。 Code Generation 的模板一般采用Function-Call Generator模块。(也有直接对subsystem直接采用 build This Subsystem的形式生成代码,这里不推荐)如下: 生成文件 按照上篇文章描述进行的设置会生成以子系统名为名的.c和.h文件,以及rtwtypes.h。如下: Model.c即函数的源文件。 Mo
2017-01-10 18:15:28 8559
原创 MBD怎么给simulink设置
不同的matlab版本,有细微差别,但大体上需要对以下设置进行关注(以R2014a为例): solver: 嵌入式要求是离散的,所以需要固定步长,离散求解器。 Data Import/Export: 该项可以暂时不用关注,仿真验证需要借助inspector时需要对里边的内容进行设置 Optimization: 该项在对代码优化时需要关注,初学咱不关注 Diagnostics : 该项
2017-01-10 17:04:57 1700
原创 基于模型开发总结
基于模型开发总结本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:对象: 汽车电子嵌入式应用层开发 环境: Simulink ** 优势: 1. 善于处理复杂的时序、逻辑、运算(定点化数学运算) 2. 可以基于PC完成功能验证测试 3. 自动生成的代码不存在基本的语法问题 流程: 1. 需求分析 2. 框架设计
2017-01-10 16:39:53 4342
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人