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

相关文章

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo