一种CAN通信矩阵纠错方法技术

技术编号:35561320 阅读:11 留言:0更新日期:2022-11-12 15:44
本发明专利技术公开了一种CAN通信矩阵纠错方法,包括:选择待检查纠错的CAN通讯矩阵文件,将其缓存在内存中,然后进入纠错检查步骤;在纠错检查步骤中,对CAN通信矩阵文件进行遍历查询识别空格并在识别到空格后给出存在空格的提醒。本发明专利技术的优点在于:通过软件或定义的函数对CAN通信矩阵进行检查,可以做到快速检查出CAN通信矩阵的错误,及时发出提醒,同时检查效率高、检查结果准确可靠。检查结果准确可靠。检查结果准确可靠。

【技术实现步骤摘要】
一种CAN通信矩阵纠错方法


[0001]本专利技术涉及汽车通信领域,具体涉及一种CAN通信矩阵的纠错方法。

技术介绍

[0002]CAN是控制器局域网络(Controller Area Network,CAN)的简称,是由以研 发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。随着CAN总线通信技术广泛应 用于各类汽车之上,CAN通信矩阵变得越来越复杂。在CAN通信矩阵开发过程中 常常会出现一些书写错误和计算错误,如何实现错误的及时核对和快速查询, 对于开发CAN来说至关重要,错误的书写和计算会造成系统通信错误,传统的 都是由人工检查,由于人工检查的不确定性会造成检查疏忽、遗漏错误等情况 的发生。

技术实现思路

[0003]本专利技术的目的在于克服现有技术的不足,提供一种CAN通信矩阵纠错方法, 通过函数自动纠正的方式进行CAN通信矩阵的纠错,提高效率、减少错误。
[0004]为了实现上述目的,本专利技术采用的技术方案为:一种CAN通信矩阵纠错方 法,包括:
[0005]选择待检查纠错的CAN通讯矩阵文件,将其缓存在内存中,然后进入纠错 检查步骤;
[0006]在纠错检查步骤中,对CAN通信矩阵文件进行遍历查询识别空格并在识别 到空格后给出存在空格的提醒。
[0007]对CAN通信矩阵文件进行遍历查询识别空格包括:
[0008]定义Regex.Matches函数对CAN通信矩阵文件中的单元格进行空格数量检 查,对于CAN通信矩阵文件中的每一个单元格采用Regex.Matches函数读取单 元格的空格数量并赋值给变量NUM,对一个单元格检查后变量NUM返回值是否大 于0来判断是否存在空格,若变量NUM返回值大于0则判断存在空格,否则判 断无空格,进入下一个CAN通信矩阵文件中的单元格进行空格检查。
[0009]在进行空格检查时,分别依次循环控制的方式遍历CAN通讯矩阵文件中从 第一行第一列单元格到第999行第19列单元格范围内的全部单元格。
[0010]定义Replace函数:用于将空格符替换为下划线字符“_”;在通过NUM返 回值判断单元格中存在空格时,通过运行Replace函数将该单元格内的所有空 格替换为下划线符合“_”。
[0011]在纠错检查步骤中,对信号位进行重叠筛查并给出信号位筛查结果,其中 信号位筛查包括:
[0012]将CAN通信矩阵文件中的报文Motorola格式序列转换为自然序列,将自然 序列的信号起始位与对应的信号长度相加,若超出63则判断信号填充错误。
[0013]在纠错检查步骤中,将CAN通信矩阵列表信号名称对应的单元格中的信号 名称分别读取到定义的Str1、Str2变量中,采用循环对比方式将任一两个信号 名称读取到Str1、Str2变量中进行比较,若相同,则将对应的信号名称及位置 发出信号命名重复提醒并将对应的两个单元格设置底色标识。
[0014]在纠错检查步骤中,对CAN通信矩阵中的逻辑值和物理值进行比对,首先 读取对应的物理值和逻辑值,然后通过预设的转换算法将物理值转换为计算的 逻辑值,将计算的逻辑值与读取的逻辑值进行比较,若两者不一致,则发出错 误提醒。
[0015]将物理值转换为逻辑值包括将物理值转换为十进制的逻辑值后通过进制转 换函数将其转换为16进制字符,然后再与读取的逻辑值进行比对。
[0016]在纠错检查步骤中,对CAN通讯矩阵文件中每一个行信号列表的关键参数 进行完整性检查,将关键参数读取到变量string str中,并判断变量是否为空, 若是则发出关键参数不完整提醒,否则循环进入下一行进行关键参数检查。
[0017]本专利技术的优点在于:通过软件或定义的函数对CAN通信矩阵进行检查,可 以做到快速检查出CAN通信矩阵的错误,及时发出提醒,同时检查效率高、检 查结果准确可靠。
附图说明
[0018]下面对本专利技术说明书各幅附图表达的内容及图中的标记作简要说明:
[0019]图1为本专利技术纠错方法开发而成的工具示意图。
具体实施方式
[0020]下面对照附图,通过对最优实施例的描述,对本专利技术的具体实施方式作进 一步详细的说明。
[0021]本专利技术开发一个CAN通信矩阵纠错方法,该方法以软件形成开发完成形成 一种纠错工具,可以自动的实现对于CAN通信矩阵的纠错并提醒。CAN通信矩阵 文件为.xlsm文件,其为表格文件,在表格中行列对应不同的通信数据,对此需 要进行纠错控制,如图1所示为本申请方法开发完成后得到的一种软件工具, 将本申请的方法软件化后可以自动的对CAN通信矩阵进行纠错检查。具体方案 如下:
[0022]一种CAN通信矩阵纠错方法,包括:
[0023]首先选择待检查纠错的CAN通讯矩阵文件,将其缓存在内存中,然后进入 纠错检查步骤;将.xlsm表格文件读取到内存中后方便后续检查步骤可以快速的 运行。对应的如图1所示,点击“选择通信矩阵”按钮,会自动弹出选择窗体, 然后选择需要检查的通信矩阵文件,并点击“打开”按钮,窗体会提示所选择 通信矩阵的路径。通信矩阵选定之后,点击“缓存通信矩阵”按钮,软件会将 通信矩阵的内容缓存到内存中,这样操作的目的是为了提高运行效率。
[0024]在检查步骤中,本申请可以实现五大功能的检查:检查“空格”、位重叠筛 查、信号命名唯一性筛查、逻辑值?=物理值判断、信号完整性筛查,具体如下:
[0025]在在纠错检查步骤中,采用空格检查模块对空格进行检查,其启动为图1 中的用户界面触发对应的按钮后启动,在启动后对CAN通信矩阵文件进行遍历 查询识别空格并在识别到空格后给出存在空格的提醒。
[0026]对CAN通信矩阵文件进行遍历查询识别空格包括:定义Regex.Matches函 数对CAN通信矩阵文件中的单元格进行空格数量检查,对于CAN通信矩阵文件 中的每一个单元格采用Regex.Matches函数读取单元格的空格数量并赋值给变 量NUM,对一个单元格检查后变量NUM返回值是否大于0来判断是否存在空格, 若变量NUM返回值大于0则判断存在空格,否则判断无空格,进入下一个CAN 通信矩阵文件中的单元格进行空格检查。在进行空格检查时,分别依次循环控 制的方式遍历CAN通讯矩阵文件中从第一行第一列单元格到第999行第19列单 元格范围内的全部单元格。
[0027]检查“空格”这里要说明一下,空格在通信矩阵中是不被允许的字符,原 因是空格符作为DBC文件的间隔符,只能由系统分配,如果我们自定义的消息 名称和信号名称中出现空格,会导致DBC文件解析错误。所以我们必须将通信 矩阵中的空格符全部找出来,并用“_”代替。
[0028]如下图1所示,点击“检查空格”按钮之后,空格检查模块会执行空格检 查,并通过提醒界面给出提醒,如会提示“2020/4/22 9:35:06第8行,第4 列出现空格,建议调整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CAN通信矩阵纠错方法,其特征在于:包括:选择待检查纠错的CAN通讯矩阵文件,将其缓存在内存中,然后进入纠错检查步骤;在纠错检查步骤中,对CAN通信矩阵文件进行遍历查询识别空格并在识别到空格后给出存在空格的提醒。2.如权利要求1所述的一种CAN通信矩阵纠错方法,其特征在于:对CAN通信矩阵文件进行遍历查询识别空格包括:定义Regex.Matches函数对CAN通信矩阵文件中的单元格进行空格数量检查,对于CAN通信矩阵文件中的每一个单元格采用Regex.Matches函数读取单元格的空格数量并赋值给变量NUM,对一个单元格检查后变量NUM返回值是否大于0来判断是否存在空格,若变量NUM返回值大于0则判断存在空格,否则判断无空格,进入下一个CAN通信矩阵文件中的单元格进行空格检查。3.如权利要求2所述的一种CAN通信矩阵纠错方法,其特征在于:在进行空格检查时,分别依次循环控制的方式遍历CAN通讯矩阵文件中从第一行第一列单元格到第999行第19列单元格范围内的全部单元格。4.如权利要求2所述的一种CAN通信矩阵纠错方法,其特征在于:定义Replace函数:用于将空格符替换为下划线字符“_”;在通过NUM返回值判断单元格中存在空格时,通过运行Replace函数将该单元格内的所有空格替换为下划线符合“_”。5.如权利要求1所述的一种CAN通信矩阵纠错方法,其特征在于:在纠错检查步骤中,对信号位进行重叠筛查并给出信号位筛查结果...

【专利技术属性】
技术研发人员:韩嵩嵬雷永富杨华陶华胜赵松岭吴浩
申请(专利权)人:奇瑞商用车安徽有限公司
类型:发明
国别省市:

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

1