MATLAB软件开发通用控制的软件架构参考
物以类聚 人以群分
学而思则罔思而学则殆---孔子《论语·为政》
在软件开发过程中也要学会总结,库模块的设计和使用对于软件开发模块化,标准化,可继承和复用有着良好的反馈。
使用MATLAB软件开发通用控制的软件架构为
1.信号处理(滤波,微分,积分,数据有效性处理,信号替代值,信号融合等);
2.逻辑运算(布尔运算,条件判断,数值滞回,时间延时等);
3.状态跳转(初始化,激活状态1,激活状态2,故障状态,过程Ramp状态,等);
4.输出控制(FF前馈+FB反馈(PID控制(P项及I项的增益可选择,I项初始化选择,AntiWindup ,I 项饱和控制,输出饱和控制);
5.仲裁(逻辑仲裁,加权等);
软件开发完成,经过单元测试(UT),模块测试,集成测试及仿真(Simulink&CarSim联合仿真),HIL测试,实车测试,结果多轮迭代完善,最后应用到产品,后续可以通过OTA升级。
需要通过多方评审,包括但不限于:
1.产品策略;
2.架构网络;
3.整车状态管理;
4.诊断UDS及软件刷写;
5.功能安全;
6.信息安全;
7.OTA;
8.底软及Autosar;
9.工艺;
10.售后;
11.营销;
知易行难,从创意需求到软件落地,不断迭代,不断优化。人力物力的投入,最后积累工程化开发及管理经验。
甲辰年八月廿一 与君共勉