当前位置:网站首页>建模规范:环境设置
建模规范:环境设置
2022-06-27 00:27:00 【chhttty】
本文描述MAAB建模规范的意义,同时研究一下环境设置规范。
1 建模规范
Mathworks公司针对汽车行业提出了MAAB建模规范,通过遵守建模规范,可以提高模型的可读性、提高代码生成质量。模型工程师应该在开发过程中遵守建模规范。
建模规范分为很多章节,包括命名规范、架构规范、模块规范、Stateflow规范等。注意,博主后续文章中不会逐条分析MAAB建模规范,而是研究其中比较重要的部分,并且结合工作经验谈谈实际应用中是如何实现的以及为什么要这么做。
本文先描述最简单的环境搭建规范。
2 环境设置
2.1 Matlab版本
项目开发团队中,要保证所有人都用的相同版本的Matlab。Matlab软件本身每年都会发两版更新,不同版本之间有着细微的差异。例如,对于相同的模型,2015b版本和2020a版本生成的代码会有少许差异。两个人进行同样的生成代码的流程,但是结果却不一样,这是有极高风险的。所以统一版本是首当其冲的。
在Matlab中,输入以下指令可以查看版本以及工具箱信息:
>> ver
回车以后会出现如下结果:
2.2 内置编译器
团队需要在Matlab中安装相同的编译器,用于Simulink的S-Function或者调用外部C函数时的编译。
在Matlab中,输入以下指令可以查看编译器信息:
>> mex -setup
回车以后会出现如下结果:
从中可以看出安装的编译器是MinGW64。
2.3 模型配置
另外,项目团队成员一定要使用同样的模型配置,以确保在不同人的电脑上都能获得相同的仿真结果或生成相同的代码。
点击Simulink界面的小齿轮,就可以打开如下配置窗口。相同的配置指的是这里的每一个选项都要一样。
为了实现每台安装Matlab的电脑在建模时都有同样的配置,可以使用以下两种方法。
2.3.1 引用数据字典中的配置
在模型同目录中可以建立一个数据字典sldd文件,其中除了数据以外,还能存放模型配置信息。
通过模型关联数据字典中,就可以使用其中的配置文件。此时,如果再打开模型中的小齿轮,就会提示配置已经引用数据字典中的了。
该方法的优点在于加载速度快,缺点在于不能直观地查到配置项,却容易出现误篡改的情况。因此,如果团队技术比较稳定,不怎么修改配置项的时候可以考虑使用此方法。
2.3.2 打开模型时导入配置
很多公司的做法是通过把所有的配置项放在一个表格中管理,然后打开一个模型时通过脚本配置模型。方法如下:
1)首先需要制定一个表格模板Config.xlsx,其中记录了配置属性和数值;

2)如果希望模型在启动后就导入配置,可以在Callback的PostLoadFcn中编辑导入脚本;
通过该方案,可以在模型打开后直接将表格中的配置覆盖进去。
3)如果希望模型在启动后先不导入配置(可能只是看一下模型,不想等待导入的时间),而是由工程师在仿真前手动进行导入,则可以用一个双击子系统的方式;

用这种方式,只要对Config.xlsx表格进行版本管理,那么每个人都拿到最新的表格导入配置,就可以实现每个人的配置相同。即使时临时修改配置用于其他验证,下一次打开模型还是可以按照模板中标准的配置进行导入。
具体脚本实现的过程可以参照博主其他文章。
3 总结
环境设置是建模规范的第一步,在此基础上才可以进行分工搭建模型。
边栏推荐
- Flink 实战问题(七):No Watermark(Watermarks are only available EventTime is used)
- ESP32实验-自建web服务器配网02
- The [MySQL] time field is set to the current time by default
- Competition Registration | one of the key ai+ scientific computing competitions - China open source scientific software creativity competition, competing for 100000 bonus!
- Oracle database basics concepts
- How to use ch423? Cheap domestic IO expansion chip
- 这10款文案神器帮你速码,做自媒体还担心写不出文案吗?
- MySQL之账号管理、建库以及四大引擎+案例
- How to measure the thickness of glass substrate by spectral confocal
- 超越锂电池——未来电池的概念
猜你喜欢

How to use ch423? Cheap domestic IO expansion chip
![Count the logarithm of points that cannot reach each other in an undirected graph [classic adjacency table building +dfs Statistics - > query set optimization] [query set manual / write details]](/img/cc/a0be58eddc72c22a9a6ee5c61eb81a.png)
Count the logarithm of points that cannot reach each other in an undirected graph [classic adjacency table building +dfs Statistics - > query set optimization] [query set manual / write details]

3-wire SPI screen driving mode

LeetCode 142. 环形链表 II

温故知新--常温常新

Hid device descriptor and keyboard key value corresponding coding table in USB protocol

Generate flow chart with code, and how to use markdown

墨者学院-X-Forwarded-For注入漏洞实战

滑环选型选购时需要注意的技巧

XSS攻击笔记(上)
随机推荐
How to convert an old keyboard into a USB keyboard and program it yourself?
目前哪个证券公司炒股开户是最好最安全的?
Central Limit Theorem
Esp32 experiment - self built web server distribution network 02
Generate flow chart with code, and how to use markdown
2022健康博览会,山东养生保健展会,产后健康、睡眠健康展
Competition Registration | one of the key ai+ scientific computing competitions - China open source scientific software creativity competition, competing for 100000 bonus!
Lambda表达式
直播回顾 | 子芽&CCF TF:云原生场景下软件供应链风险治理技术浅谈
光谱共焦如何测量玻璃基板厚度
Flink practical problems (VII): no watermark (watermarks are only available eventtime is used)
Implementation of ARP module in LwIP
Oracle database basics concepts
ESP32实验-自建web服务器配网02
XML learning notes
com. fasterxml. jackson. databind. exc.MismatchedInputException: Expected array or string. at [Source:x
Esp32-solo development tutorial to solve config_ FREERTOS_ UNICORE problem
How to control the quality of HD slip ring in the production process
[vscade] preview MD file
Statistical Hypothesis Testing