System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及汽车远程控制领域,尤其涉及一种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,
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所述的模块...
【专利技术属性】
技术研发人员:李斌,
申请(专利权)人:上海麦腾物联网技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。