MBD基于模型的设计
文章平均质量分 87
Matlab/Simulink基于模型的设计应用案例、自动化脚本、模型验证、工具链应用等
汽车电控杂谈
这个作者很懒,什么都没留下…
展开
-
使用Stateflow实现模型调度
目录应用场景Stateflow实现调度Stateflow实现优先级控制应用场景在嵌入式ECU开发中,应用层的大部分功能都是周期性任务或中断型任务。例如1ms、5ms、10ms、500ms...的周期性任务,在不同周期任务中实现信号处理、状态管理、故障诊断等。对于一些实时性要求比较高的,例如电机FOC算法,则常会在PWM中断任务中进行处理。应用层模型中一般都会有信...原创 2020-04-24 13:20:46 · 6437 阅读 · 4 评论 -
MBD之代码生成——结构体数组的生成
目录应用场景:模型实现:模型数据对象:模型配置:模型关联数据对象生成代码在开发应用层模型时,有时会使用一些结构体、结构体数组等类型的接口变量,方便与其他C代码进行集成。那么,我们如何在Simulink模型中实现结构体数组的代码生成呢?应用场景:例如我们有以下一个结构体:typedefstruct{UInt8Data_Array[8];...原创 2020-04-19 19:45:42 · 1664 阅读 · 0 评论 -
Simulink中的SIL实现方式
目录MBD中的SILSimulink实现SIL的几种方式基于顶层模型进行SIL仿真验证基于模型引用进行SIL仿真验证基于SIL Block进行SIL仿真验证Top-Model实现SIL验证测试基于模型引用实现SIL验证测试MBD中的SIL在MBD开发流程中,大家熟知的MIL、SIL、PIL、HIL这几类在环测试方法,贯穿于整个开发过程,每种在环测试都有其...原创 2020-04-12 22:16:07 · 5549 阅读 · 5 评论 -
MBD之代码生成——自定义存储类
使用过Simulink代码生成的童鞋都知道,在进行代码生成的时候,需要在模型数据字典或WorkSpace中对模型中的信号、参数进行定义,如:A = Simulink.SignalB = Simulink.Parameter A是信号,一般用于信号线命名并进行关联,B是参数一般用于Constant、Gain、Saturation等模块中的参数设置。对上面的Signal或...原创 2020-04-12 21:36:50 · 4132 阅读 · 0 评论 -
MBD之代码生成——自定义数据类型别名
目录应用背景实现步骤1、Model Explore中添加Simulink AliasType2、Configuration Parameters设置数据类型别名替换结果演示应用背景在Simulink模型及生成的代码中,都有其默认的数据类型,默认的一些基本数据类型如下图所示:默认设置的情况下,代码生成后基本的数据类型会如下所示,如:uint8_T、int16...原创 2020-04-12 21:30:28 · 1742 阅读 · 0 评论 -
MBD之代码生成——CAN Pack/Unpack模块的代码生成
在一些应用场合,我们会直接在应用层Simulink模型中使用CANPack和CANUnpack这两个模块加载DBC文件,进行CAN报文的解析和打包。例如我们有DBC文件,主要包含以下两个报文:图1.dbc文件Layout现在需要在Simulink中创建MCU的CAN报文处理功能模块,即获取HCU发送的数据,解析获取HCU的指令信号;打包MCU内部信号,作为MCU发送报文...原创 2020-04-12 21:24:54 · 3786 阅读 · 1 评论