本章主要介绍如何创建Dcm SWC、Dem SWC。
由于达芬奇配置界面的友好性,BSW的接口一般都是走RTE的,例如置故障、获取DID车速数据等,一般都是通过RTE获取其他模块数据或者为其他模块提供服务。也就是说,将Dcm、Dem、NvM等底层模块的接口连接到上层某个或者某些SWC中,在SWC中实现获取数据、执行服务的具体操作。
看全文,请点击 Davince如何创建诊断SWC
做个好人 点点赞!
在Develop中创建SWC
打开Develop,创建SWC,
将创建SWC命名为Dcm_User,点击“确定”即可
同上,继续创建名为Dem_User的SWC !
最终如下图:
将DCM底层接口连接到SWC
切到Cfg界面,找到App Component界面
右击添加刚刚创建的两个SWC,
按照下图指示找到Dcm服务接口的界面,选中需要mapping的接口并右击选择“Connect to new port...”
此时弹出如下对话框,选择Dcm_User对话框并点击“Next”
弹出如下对话框,选择所有接口,点击Finish. (这里只连接DID DD02、RID 3003作为示例)
至此,Dcm和SWC的连接关系建立完成!连接后的效果如下:
将DEM底层接口连接到SWC
按照如下步骤,将Dem相关接口连接到Dem_User
同理,继续将如下接口连接到Dem_User
上面的操作中,只介绍如何连线,实际只是连接几个接口作为操作实例。实际工程中需要连接哪些接口依据需求而定。
经常有小可爱们不知道这些奇怪的接口到底是什么意思,其实..........
跳转到 Davince如何创建诊断SWC 再查看
连接之后的效果
连接之后,Dcm_User中生成了对应的Runnable,这些Runnable的触发方式都是执行对应服务时触发。
再看一下生成的Runnable代码!
下图的22服务执行时的条件检查函数,用户可以在这个Runnable函数中增加条件检查逻辑
下图是22服务获取数据的函数,用户可以在这个Runnable函数中增加数据获取逻辑,例如:Data[0] = 1;
下图是31 01 3030服务指令的接口,用户可以在这个Runnable函数中增加例程处理逻辑
连接之后,Dem_User中并未生成任何Runnable,
但是生成了很多CS接口,用户可以在这个SWC中调用这些CS接口
至此,达芬奇的底层到上层连接的所有操作就介绍完了,这些操作不仅仅适用于诊断模块,其他底层模块操作亦是如此,举一反三!
实际项目中,不论诊断架构如何设计,操作都是如此!
更多精彩内容,下次再介绍。
困了, 睡觉了!