文章目录
前言
废话不多说 给出本次学习记录对应的工程链接:(有钱的捧个钱场,没钱的评论区留下邮箱)
https://download.csdn.net/download/qq_40957243/60316028
本文仅仅针对入门者,请各位大佬指正批评。
1. 创建一个stateflow工程
命令窗口输入:sfnew learn_stareflow;
2. 创建一个MATLAB function
空白区域点击左键,模糊搜索 matlab function;(后面的模型均采用模糊搜索)
3. 写MATLAB function中的逻辑函数
注意两点:
- 函数中的pos pos_ 均为结构体,此处需要指明结构体定义。
- 对于输出的结构体需要对其初始化。
4. 定义结构体
找到bus editor
完成后就可以看到工作区有个bus 结构体。
指定pos类型:
5. 创建 From workspace ds
从工作去读取数据,此处注意 工作区读取的数据第一列必须代表时序,双击都是选择采样时间(0.02)
6. 创建 Delay
Delay 类似for 循环 ,初始值为0 或者自己输入,本教程选择input port;
7. 创建 bus creator
双击打开参数配置,定义常量输入和pos结构体输出
创建两个常量输入:constant
8. 创建 bus selector
目的是将pos结构体的各个元素分开显示
配置bus selector
9. 创建 xy graph 和scope
Xy graph :显示二维图,scope (示波器)显示一维时序
10. 最终效果如下
11. 工程使用教程
跑stateflow 前先加载数据
解压后加载数据:
Load loadData
12. 生成autosar 代码
1. ctrl+e 打开model setting
2.stem target file 设置
system target file设置为autosar.tle
3. 打开AUTOSAR component designer
点击next-next 完成
4. 生成代码
Generate code(ctrl+B)
参考文献:
https://ww2.mathworks.cn/help/simulink/slref/buseditor.html
https://ww2.mathworks.cn/help/simulink/ug/create-bus-objects-programmatically.html
https://ww2.mathworks.cn/help/autosar/ug/create-algorithmic-model-content-that-represents-autosar-software-component-behavior.html