1、勘误
在《浅谈混合动力构型(二)》这篇公众号文章,最后一段讲P2.5的混合驱动模式中,是当C2 合,C1开,有错别字,特此纠正。在此感谢读者的热心反馈,此外有部分读者在阅读其他文章时也提出了对源码或模型的需求,楼主会后续发给这些有需求的同学!
2、公众号活动结果公布
上次的活动,抽中的是下面这位同学:
请这位朋友联系楼主,将自己所选的书籍、邮寄地址及联系方式私信我或发送到Ljhuster@126.com。此外楼主也收到了很多其他童鞋的反馈,楼主只摘出一部分与大家分享,相信大家看到后或多或少都有些感触。
大家都是一群有想法的人,既有忧患意识也有积极面对的态度,希望我们每个从事汽车行业的人都在新的一年里有所进步。
楼主也建议每位读者在开工时都该定个小目标,目标不一定会实现,但可指引你努力的方向,没有目标,你浑身的劲都没处使。不过,目标定大了叫画大饼,定小了没意义,所以设立目标也要贴切实际,而且尽量具体。
3、言归正传
废话不多说
继续Simulink的第四篇教程,这次楼主主要介绍函数声明及调用。函数是我们在编程中经常碰到的,它可实现一定的功能设计,也叫做子程序。一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。在C语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其他函数,其他函数也可以互相调用,同一个函数可以被一个或多个函数调用任意多次。在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用,善于利用函数,可减少重复编写程序段的工作量。
Simulink如何实现如下函数的声明和调用?
void Add(void)
{
z = x y;
}
其实使用Simulink实现如上代码方式有多种,下面楼主主要介绍两种。
1
使用Atomic Subsystem
首先使用Atomic Susystem模块创建如下模型;
创建如上模型后,选中Atomic Susystem模块鼠标右键选中Block Parameters(Subsystem)打开对话框并进入Code Generation选项,然后按如下说明设置:
做好其他配置后,比如信号字典中数据和信号的配置,即可生成所需代码:
2
使用Stateflow Graphical function
首先使用Stateflow及图形函数创建如下模型;
然后进入Model Explorer中创建信号变量等数据并进行如下设置:
配置完成后,即可生成所需代码,如下:
开工第一天简单写了点,主要介绍了使用Simulink如何实现函数定义和调用,谬误之处还请不吝赐教!!!