自制【CAN数据解析小工具】
来源:互联网 发布:杭州知味观点心价格表 编辑:程序博客网 时间:2024/06/18 01:36
一步步对照协议解析CAN数据的过程是痛苦的,为了以后方便调试,同时练练手,自制了这么个小工具,在此做个笔记。
上大学时学过一学期的vb6,那时是为了应付考试做了一个双色球选号的工具,当时VB6给我的感觉就是很丑很像上个世纪的东西(事实确实是这样- -!),并不难,因为当时轻轻松松就做了一个小软件。如今工作中需要,开始查资料,做上位机用什么众说纷纭,基于以前学过一丢丢便下定决心用vb6,虽然有很多人说过时了,但我还是觉得先做个试试,有个做上位机的过程,知道该从哪方面着手,以后再学其他的肯定就水到渠成了,就好比一开始学习51,再学习更高级的单片机,同理。先是在网上找了个vb6的教学视频大致看了看,因为有以前的基础,所以基本的也就是遛一遛就懂了,后来又从网上查资料时发现vb6有个“MSDN”的东西,就是有关各种控件语法的帮助文档,就立刻安装上了,发现真是个好东西,瞬间感觉自己发现了新大陆,里面有各种控件的属性解释还有方法的使用,还有语言的参考等等,真是太实用方便了,以后有什么不懂就可以直接按F1查。
熟悉了基本的知识后,那么就开始规划下要实现什么功能。在实现功能的过程中发现了很多问题,有什么不懂的就百度,百度真是解决了我太多的问题,太感谢有那么多热心的前辈。
一、功能
1.解析*.dbc文件
2.解析由CANTest 保存的CAN数据(txt文件),翻译成可以直接看懂的数据
3.显示某个帧ID的帧内容的实时曲线图
4.可以把信息框接收的CAN数据翻译后保存为txt文件
5.发送数据进行调试
其中可以单独发送一帧,或者可以循环发送,但是需要提前编写好内容
二、问题总结
1.手头上这个CAN卡是 广成的USBCAN II,通过翻看自带驱动文件夹中的一些说明文档,发现只要把他们的.dll文件(动态链接库)包含在vb6项目中并声明函数,就可以直接调用,非常方便,就像单片机中的.c和.h文件。更重要的是,驱动文件夹中还有他们的上位机例程,通过例程发现调用函数发送数据接收数据原来如此简单,真是一开始想多了。。。
2.第一步收发CAN数据解决了,接下来是解析CAN数据。如何解析,如何知道接收的这些CAN数据到底什么含义?当然是根据协议解析,协议自己定的。dbc文件可以定义某帧ID哪些位是什么含义,是什么单位,系数多少,偏移量多少等等,那么我们就可以把实时接收到的CAN数据与dbc文件中的CAN数据作对比,就可以知道最终结果了。
3.下面又碰到个问题,如何解析dbc文件,.dbc文件可以用记事本打开,打开后会发现它是有规律可循,就会发现那些位置是表示类名,哪些是单位,哪些是系数等等,知道了这些,就可以通过在vb6中已记事本方式读取这个dbc文件,然后再把所有的有效数据提取保存,为以后对比计算结果用。
最后附图工具主界面:
- 自制【CAN数据解析小工具】
- 自制XE2100数据导出Excel的小工具
- 自制imp/exp小工具
- 自制的批量文件复制小工具
- 自制StartUp宏病毒专杀小工具
- VB / VBA 自制二维码小工具
- 自制Python函数帮助查询小工具
- 【自制】前端html代码格式化小工具
- 自制简单ARP欺骗小工具
- 数据标定小工具
- sqlite数据导入小工具
- 简易爬虫自制之查看CSDN排名的小工具
- 项目中处理压缩文件自制的一个小工具
- c++ 解析xml的小工具tinyxml
- qqwry 纯真IP数据小工具 nali
- 小工具-串口连接数据对比
- JAVA BEAN反射组装数据小工具
- caffe--- 图片数据均值计算小工具
- Spring(七):Bean的生命周期
- Java volatile关键字
- CodeForces
- Apache 实现ProxyPass转发URL到Tomcat并实现http自动转https
- web前端如何做注册页面
- 自制【CAN数据解析小工具】
- Optimized and cross platform SMPTE 2022-1 FEC library in C, Python, Java
- 植物净化的4条原则
- 概率图模型4:贝叶斯网络
- lightoj 1424
- 给一串数字,判断是否连续
- 机械臂的现状与未来
- Spring自动注入properties文件
- 关于mybatis 传入基本参数类型使用if test 判断出错的问题