System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种CAN信号远程车控模块和CAN数据库信号收集与发送方法技术_技高网

一种CAN信号远程车控模块和CAN数据库信号收集与发送方法技术

技术编号:43622270 阅读:25 留言:0更新日期:2024-12-11 15:02
本发明专利技术提供了一种CAN信号远程车控模块方案,包括:第一层,VCTRL_SM中集中处理TSP和其他模块的交互,判断数据格式与业务功能,通过状态机的切换,实现远程通信功能;第二层,VCTRL_SM_CUST负责远控流程的跳转和执行,以及业务超时的处理;第三层,为具体的远控业务功能层,所有的远程控制业务都在此层,每一个控制业务都是一个独立的代码文件,前置条件与执行结果判断都直接调用CAN数据库提供的接口进行判断;第四层,VCTRL_SM_CUST_UTIL为公共层,都在此层进行功能实现。代码分层设计模块,每种远控业务都是单独的文件,易于后期维护,代码架构适配性高,针对不同车型和需求,代码无需重新开发远控业务的判断条件,后续维护和开发只需要重新适配数据库和SQL语句即可,避免重复开发。

【技术实现步骤摘要】

本专利技术涉及汽车远程控制领域,尤其涉及一种can信号远程车控模块和can数据库信号收集与发送方法。


技术介绍

1、远程控制技术是通过tbox提供的无线网络,使得车主可以在远离车辆的情况下,通过手机app在任何时间、任何地点对车辆进行控制。进行例如,解闭锁,鸣笛闪灯,启动发动机,开启空调、通风、座椅加热。现有技术的缺点是,代码架构适配性差,变更车型和需求,代码需要重新开发,重复开发浪费资源;结构混乱,层次性低,可读性和维护性较差;can信号同步采用全局变量,对于系统内存消耗过大。


技术实现思路

1、本专利技术所要解决的技术问题是提供远程控制的适配性,减少控制过程中can信号对内存的占用。本专利技术提供一种can信号远程车控模块技术方案,包括:

2、第一层,vctrl_sm中集中处理tsp和其他模块的交互,判断数据格式与业务功能,通过状态机的切换,实现远程通信功能;

3、第二层,vctrl_sm_cust负责远控流程的跳转和执行,以及业务超时的处理;

4、第三层,为具体的远控业务功能层,所有的远程控制业务都在此层,每一个控制业务都是一个独立的代码文件,前置条件与执行结果判断都直接调用数据库提供的接口进行判断;

5、第四层,vctrl_sm_cust_util为公共层,所述第一层、所述第二层和所述第三层调用的公共接口包含数据解析组包,都在此层进行功能实现。

6、进一步地,还包括如下三种状态:

7、deactive,初始化开始后,初始化模块进入到deactive态,在此状态获取总线状态和网络状态后,切换为idle态;

8、idle,常态下维持的状态,接收并处理平台与其他模块触发的消息包含总线状态、网络状态和远控业务;

9、run,上报数据时进入的状态,当业务执行完成需要进行结果上报时,模块由idle态切换为run态进行数据上报,上报完成接收到tsp平台返回的ack后,释放状态机,切换回idle态。

10、进一步地,deactive不对接收的远控业务进行处理,获取的总线状态和网络连接状态都由所述第一层进行处理保存。

11、进一步地,idle状态时,当有业务触发时,所述第一层会先接收到相关业务,对触发的业务进行筛选处理,如果是远控业务,则调用所述第二层的解析接口对消息进行解码处理,分析出业务类型,通过函数指针调用所述第三层,进行业务的执行。

12、进一步地,run态下会接收平台与其他模块触发的消息。

13、本专利技术的技术方案还包括一种can数据库信号收集与发送方法,包括如需步骤:

14、如上述的远程车控模块,该模块用于获取发送can信号;

15、can数据库,用于进行can信号收集保存。

16、进一步地,在所述远程车控模块初始化阶段,根据配置表中的配置的can信号,创建can信号收集表,同时向bsw模块进行can信号的注册,注册成功后,bsw模块会将can信号实时反馈给所述远程车控模块,所述远程车控模块通过vctrl_sm层进行数据的接收,并调用数据库接口将can信号数据写入can信号收集表。

17、进一步地,vctrl_sm_cust_util公共层中存在枚举值与数据库中的业务id一一对应,当业务运行需要发送can信号时,依据已经配置好的对应的业务id来进行发送can信号的读取,发送can信号的改变只需要重新配置业务id对应的can信号id。

18、进一步地,所述数据库独立于远程车控模块为一个独立模块,提供调用接口用于sql语句的执行,所述远程车控模块包含数据库调用接口的头文件。

19、进一步地,所述车控业务逻辑判断依赖于sql语句,包含前置条件判断,结果判断,信号判断,逻辑判断在远程车控模块第三层进行触发。

20、进一步地,sql语句保存所述数据库内部,调用时直接运行,sql语句中使用的判断can信号直接从收集表中获取,只对远程车控模块返回执行结果。

21、进一步地,当所述数据库接收到远控请求时,根据业务类型执行远控流程调取vctrl_sm_cust_util中与数据库中的业务id一一对应的枚举值,通过所述数据库调用接口,执行相应logicaid内部配置的logicaisql语句进行业务处理并返回处理结果。

22、为实现上述目的,本专利技术提供了一种代码分层设计模块,每种远控业务都是单独的文件,最后整体包含于工程,结构清楚,层次分明,可读性和维护性较高,易于后期维护,代码架构适配性高,针对不同车型和需求,代码无需重新开发;远控的can信号收集采用数据库来完成,can信号注册于初始化阶段,can信号实时写入数据库中,减少系统对于内存的消耗;远控业务的判断条件,采用sql语句来完成,业务逻辑不变的情况下,后续维护和开发只需要重新适配数据库和sql语句即可,避免重复开发。

本文档来自技高网...

【技术保护点】

1.一种CAN信号远程车控模块,其特征在于,包括:

2.如权利要求1所述的模块,其特征在于,还包括如下三种状态:

3.如权利要求2所述的模块,其特征在于,DEACTIVE不对接收的远控业务进行处理,获取的总线状态和网络连接状态都由所述第一层进行处理保存。

4.如权利要求2所述的模块,其特征在于,IDLE状态时,当有业务触发时,所述第一层会先接收到相关业务,对触发的业务进行筛选处理,如果是远控业务,则调用所述第二层的解析接口对消息进行解码处理,分析出业务类型,通过函数指针调用所述第三层,进行业务的执行。

5. 如权利要求2所述的模块,其特征在于, RUN态下会接收平台与其他模块触发的消息。

6.一种CAN数据库信号收集与发送方法,其特征在于,包括如需步骤:

7.如权利要求6所述的方法,其特征在于,

8.如权利要求6所述的方法,其特征在于,

9.如权利要求6所述的方法,其特征在于,

10.如权利要求9所述的方法,其特征在于,所述车控业务逻辑判断依赖于SQL语句,包含前置条件判断,结果判断,信号判断,逻辑判断在远程车控模块第三层进行触发。

11.如权利要求9所述的方法,其特征在于,

12.如权利要求11所述的方法,其特征在于,

...

【技术特征摘要】

1.一种can信号远程车控模块,其特征在于,包括:

2.如权利要求1所述的模块,其特征在于,还包括如下三种状态:

3.如权利要求2所述的模块,其特征在于,deactive不对接收的远控业务进行处理,获取的总线状态和网络连接状态都由所述第一层进行处理保存。

4.如权利要求2所述的模块,其特征在于,idle状态时,当有业务触发时,所述第一层会先接收到相关业务,对触发的业务进行筛选处理,如果是远控业务,则调用所述第二层的解析接口对消息进行解码处理,分析出业务类型,通过函数指针调用所述第三层,进行业务的执行。

5. 如权利要求2所述的模块...

【专利技术属性】
技术研发人员:李斌
申请(专利权)人:上海麦腾物联网技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1