前言:
已下面这张图为例,进行Autosar初学习中SWC设计。
简单解释一下这张图,S-R Interface中 Receive Port的话有两个 分别是输入SeatSwitch和PowerManagement;
Sender Port有一个 DialLED,
有一个标定量Calibration
1、Simulink配置参数
新建模型,快捷键Ctrl+E,打开配置参数,改定步长、离散求解器,采样时间默认auto;
代码生成中系统目标文件改为autosar.tlc ;
硬件的话需要根据具体的项目要求进行选择,其它保持默认;
2、Autosar Compoment设置
点击菜单栏APP,找到Autosar Compoment,点击进去;
在AUTOSAR Platform中选择 Autosar Classic Platform,点击Next
更改Component name;Component package 不变,Component type 为Application,点击Next;
选择第一个就行,第二个是导入ARXML文件。
点击Finish就行。
设置完成后,在Simulink中左下角可以看到如下;
3、新建SWC
一整个模型就是一个SWC,但是有的情况下,一个模型中会包含很多个SWC;
4、新建Runnable
新建好的模型中,打开Code Mapping 中自动创建一个初始化的Runnable,Runnable就是函数,在Function中可以看出,或者打开AUTOSAR Dictionary中的Runnable中也可以看到。
Runnable就相当于一个函数,在simulink中需要有对应的函数实现,与Initial Runnable对应的函数是Initialize Function;
先在AUTOSAR Dectionary添加 Runnable,添加对应的Event为Timing Event
与Period Runnable(周期可运行实体)对应的函数是Function-Call Subsystem
这里需要注意的是,inport的配置需要如下设置。
添加完成后,需要将simulink与Autosar进行map,快捷键Ctrl+Shift+C,打开Code Mapping。
除了标序号的部分,其余部分保持默认就行。
进行Validation
还有一个Service Client Runnable 这个我个人感觉不是很常用,在这里的话我就不多说了, 后面用到的话我就在添加上去。
5、添加Interface&Port
Interface就是Port的一种类型,先添加Interface,然后添加Port。
Port命名可以与Interface一样。
添加元素
添加相应的Port,注意对应关系,是供型还是需型Port。
创建完成后 如下。
同理,添加另外两个Port。
inport和outport进行Map&Validation
全部添加完毕,在Simulink中添加inport和outport,需要的可以修改其数据类型,这里全部用作uint8。
模型内部。
添加输入信号和输出信号,并将信号解析为Simulink信号对象。
在相应的数据线上右击,点击属性,如下。
信号线名称必须解析为Simulink信号对象必须勾选上。
将DialLED进行同样的操作。
6、IRV标定量
标定量Calibration 主要用的是AUTOSAR中的IRV(Inter Runnable Variables) 中间变量,即在不同的SWC之间使用的变量。
添加IRV 名字IRV_Gain。
由于这里只有一个SWC,所以IRV采用参数定义的方式来说明,
先定义IRV_Gain,
IRV基本使用Go From来使用。
IRV的map如下,这里是直接定义的,所以没有显示。
暂时先写到这吧。