dbc转excel和excel转dbc的转换工具

2023-11-06 20:11
文章标签 工具 excel 转换 dbc

本文主要是介绍dbc转excel和excel转dbc的转换工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 introduction

 

无论是OEM还是supplier,dbc文件在开发还是测试阶段都是必须的。

然而由于其需要使用vector或者其他工具才能进行编辑,所以某种程度上造成了开发的不便利性。而excel也就成了间接传输dbc内容的工具,但是不管是从excel到dbc还是从dbc到excel,整车成千上万条的数据通过人工一条条的转换,效率低,且易出错。

基于提高生产效率的目的,开发了一个DBC和excel之间的转换工具。

但是由于各家oem给出的excel格式也并非统一,此工具终究不能尽善尽美,只能尽可能的减少人工耗时。

 

2 architecture

      

 

软件工作流程如图所示:

底层定义了两个类:message和signal

结构如下:

MsgID

Message ID

MsgName

Message name

MsgType

standard/extern

Cycletime

Cycle

Delaytime

//

SendType

//

DLC

Data length

Transmiter

//

Receiver

//

Commants

//

Signals

SigName

 

StartBit

 

Length

 

ByteOrder

 

ValueType

 

InitialValue

 

Factor

 

Offset

 

Minimum

 

Maximum

 

Transmiter

 

Receiver

 

Commants

 

ValueTable

 

Unit

 

 

         

 

DBC2EXCEL

       1 定义并实例化List<message>

       2 按行读入dbc文件内容,同时解析每行内容并添加至list<message>相关属性

       3 完成读入之后,就已经将dbc相关内容变成了一个list,(由于dbc涉及到很多属性,目前工具只针对上述存在的属性值进行解析)

       4 选在保存excel的目录,启动生成excel步骤

       5 工具首先打开 excel 模板,如图

6 便利list<message>内的每一条message,并根据表格定义的字段名,将相应每条message的属性值添加到excel里面;

7 保存excel;

8 DONE!

工具界面如图

1 press loaddbc button , select a dbc file

2 press dbc2excel, select a folder to save the excel which need to be defined a name

3 you will see the progress from the status bar and progressbar

4 after completing the task, press openexcel button, the file generated will be open

 

EXCEL2DBC

  1. 定义并实例化List<message>
  2. 加载excel文件

为尽可能适应大多数excel定义的数据格式,设计如图,右侧列表定义了将要导入的excel,对于相关字段定义在哪一列进行说明。打开默认值为上面模板中的定义。用户可以修改

  1. 操作步骤与dbc2excel类似。
  2. 完成后点击opendbc将会在richtextbox内直接显示dbc文件内容。

 

 

Appendix

       目前工具限制非常多,bug也很多,但基于当前手上的demo测试,双向打通,如果严格按照规范来,应该会省很多时间。

       1 excel2dbc时,数据行必须从第三行开始

       2 message和signal的格式如模板,前一行是message后面是该message下的signals(看了几个oem的excel大致都会这样操作)

       3 关键字段一定要指定清楚,如message ID等,如果没有这些基本信息也不会生成正确的dbc。

  1. Byterorder必须是Motorola或者是Intel(dbceditor里面也是这么定义的)
  2. Valuetype必须是Unsigned 或者是signed
  3. Valuetable是 “xx空格引号yy引号空格xx引号……”dbc里面的格式,这个不好做t统一,xx是10进制,yy为定义名称
  4. Dbc2excel就相对简单了,生成的都是按照模板来的,并且不能改变模板…

 

更新版本0515--支持29bitsID(GitHub)

 

综合留言反馈:不响应的问题,可能有很多,1,缺少excel模板,这个可以在github上下载放到exe目录里,2,dbc文件没有解析成功,这个可能是程序兼容性不好的原因,3 .net环境没有搭建,建议安装4.5以上版本;4 电脑office有关?不确定

我的运行环境是office365,net4.5.1,win10.

最近很忙已经无暇顾及这个应用了。代码也很乱,不拿出来献丑了...,能用则用,用不了,小生也爱莫能助了...sorry!

如果发现不可救bug,大家可以留言哦...

Ending

这篇关于dbc转excel和excel转dbc的转换工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/358811

相关文章

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经

基于Python实现简易视频剪辑工具

《基于Python实现简易视频剪辑工具》这篇文章主要为大家详细介绍了如何用Python打造一个功能完备的简易视频剪辑工具,包括视频文件导入与格式转换,基础剪辑操作,音频处理等功能,感兴趣的小伙伴可以了... 目录一、技术选型与环境搭建二、核心功能模块实现1. 视频基础操作2. 音频处理3. 特效与转场三、高

SpringBoot+EasyPOI轻松实现Excel和Word导出PDF

《SpringBoot+EasyPOI轻松实现Excel和Word导出PDF》在企业级开发中,将Excel和Word文档导出为PDF是常见需求,本文将结合​​EasyPOI和​​Aspose系列工具实... 目录一、环境准备与依赖配置1.1 方案选型1.2 依赖配置(商业库方案)二、Excel 导出 PDF

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过