写在前面

ZCANPRO是致远电子ZLG公司推出的canpro继任软件,尽管界面花哨了很多,不过个人用得并不习惯。主要原因有以下几点:

  • ZCANPRO没有了【导入数据】功能,只能通过【数据回放】来将保存的离线数据进行加载,在一定程度上浪费了点时间;
  • ZCANPRO可显示的报文列表最大数量仅仅只有100000帧,你没数错,就是只有10万帧,这对于总线负载比较高的场合也就是几分钟数据就得被覆盖,非常不利于将数据保存下来离线分析。然而原版的CANpro的列表显示上限不设限制,个人测试中显示过300多万帧都不卡。
  • 还是数据量的问题,尽管ZCANPRO也可以进行【实时保存】,但是它每隔10万帧就会自动分割成两个文件,不利于离线分析。

不过,ZLG官网已经不再提供CANpro的下载了,所以在这里我们就针对他主推的ZCANPRO软件的.can文件来分析分析。如果有CANpro安装包需要,可以点击这里到百度网盘下载,提取码:001q 。ZCANPRO软件请自行到ZLG官网下载,下图是ZCANPRO软件本尊:

言归正传

ZLG公司是国内CAN总线的先驱者,其推出的CAN总线产品也是广受好评。对于吾等处于无产阶级的学生仔来说,ZLG的CANtest、CANpro等软件可以免费无限制使用真是太好了。ZLG公司也针对其产品,定义了.can格式的二进制文件来保存CAN数据,以降低文件的体积。ZCANPRO软件作为CANpro的接棒者,其保存的.can格式文件与CANpro软件的.can文件并不相同。CANpro软件生成的.can文件的解析请参看本人另一篇博文《ZLG的CANpro保存的.can文件解析》。

先抛结论

  1. CANpro中,.can文件中保存的N帧CAN报文数据的总字节数为:20+N×24
  2. ZCANPRO中,.can文件中保存的CAN报文数据是变长度的,其N帧报文总字节数为:
    BytesCount=12+N×58+∑i=1Nlength(i)BytesCount=12+N×58+ \sum_{i=1}^N{length(i)}BytesCount=12+N×58+i=1∑N​length(i)
    如有错误,请务必指正,谢谢!

这都是什么鬼东西

固定前缀

ZCANPRO的.can文件的固定前缀为12字节:ff ff ff ff 00 00 00 00 01 00 00 00。嗯,也不知道它代表啥意思,不像CANpro那样很直白的“Zhiyuan CAN Data ”。反正就是这么个前缀。

单帧报文

ZCANPRO的.can文件的单帧报文为变长度的58~66字节。

Bytes 含义 示例
Byte0~Byte4 组号GROUP_ID 15 00 00 00 01 表示组号为:0x0100000015
Byte5~Byte29 不详 -
Byte30~Byte33 CAN_ID ef 1f f1 18 表示组号为:0x18F11FEF
Byte34 不详 -
Byte35 帧格式 0x00为数据帧,0x01为远程帧
Byte36 帧类型 0x00为标准帧,0x01为扩展帧
Byte37 数据长度length 根据数据长度取值,例如0x08表示长度为8
Byte38~Byte41 不详 -
Byte42~Byte(42+length-1) 数据Data[0]~Data[?] 此区域长度为数据长度。
Byte(42+length)~Byte(42+length+5?) 时间戳(微秒) 单位为微秒,例如:FC 98 7F 04 00(即0x00047F98FC)表示时间戳为75.471100 s。特别说明:此处长度有可能不止5字节
Byte(42+length+5?)~Byte(42+length+15) 不详 -

接下来,我们对不同长度的CAN报文进行测试,为了更便于观察,已将前缀10个字节删去,不同数据长度下单帧报文的数据如下:









通过以上各Bit的解析,即可对.can文件进行数据分析,本人在自开发的X-CAN离线分析软件中也实现了对ZCANPRO软件生成的.can文件的数据解析。详情请看本人博文:CAN报文的离线分析:X-CAN离线分析平台

ZCANPRO的.can文件解析相关推荐

  1. ZLG的CANpro保存的.can文件解析

    写在前面 .can文件是周立功公司(也叫ZLG.致远电子)推出的二进制文件格式,请注意,其旗下的CANpro和ZCANPRO软件所保存的.can文件格式定义并不相同.本文主要介绍CANpro软件生成的 ...

  2. Json文件解析(下

    Json文件解析(下) 代码地址:https://github.com/nlohmann/json 从STL容器转换 任何序列容器(std::array,std::vector,std::deque, ...

  3. Json文件解析(上)

    Json文件解析(上) 代码地址:https://github.com/nlohmann/json 自述文件 alt=GitHub赞助商 data-canonical-src="https: ...

  4. OpenCV读写视频文件解析(二)

    OpenCV读写视频文件解析(二) VideoCapture::set 设置视频捕获中的属性. C++: bool VideoCapture::set(int propId, double value ...

  5. OpenCV读写视频文件解析

    OpenCV读写视频文件解析 一.视频读写类 视频处理的是运动图像,而不是静止图像.视频资源可以是一个专用摄像机.网络摄像头.视频文件或图像文件序列. 在OpenCV 中,VideoCapture 类 ...

  6. cocosstudio csd文件解析为.lua

    在学习python过程中,有幸能够看到一位大神在网页中公开的一个关于<CocosStudio 文件解析工具CsdAnalysis>的源码.本人使用稍作改变,由原有的.csd文件转换为C++ ...

  7. java解析五元组_pcap文件解析,并且按照五元组分类

    [实例简介] pcap文件解析,并按照五元组分包,全部用java语言实现. [实例截图] [核心代码] PcapTestZZ ├── PcapTestZ │   ├── 111.206.37.1930 ...

  8. 文件解析库doctotext源码分析

    doctotext中没有make install选项,make后生成可执行文件 在buile目录下面有.so动态库和头文件,需要的可以从这里面拷贝 build/doctotext就是可执行程序. do ...

  9. 安卓 linux init.rc,[原创]Android init.rc文件解析过程详解(二)

    Android init.rc文件解析过程详解(二) 3.parse_new_section代码如下: void parse_new_section(struct parse_state *state ...

最新文章

  1. 【TensorFlow2.0】(6) 数据统计,范数、最值、求和、均值、最值位置、唯一值、张量比较
  2. [SPDK/NVMe存储技术分析]012 - 用户态ibv_post_send()源码分析
  3. eclipse/myeclipse中快捷键 Ctrl+shift+down/up 出现屏幕颠倒的解决方法
  4. 选择适合 Rails 开发的操作系统
  5. 代码居中对齐_HTML span标签如何居中和右对齐?这里有HTML span标签的样式解析
  6. 不知道工作组名称怎样加入_第一次穿汉服不知道该怎样选择!一招教你用体型选汉服!...
  7. OO生存指.....抱歉无法生存
  8. LeetCode 堆栈队列 —— 括号匹配(20、232、155)
  9. python协程:RuntimeError: Event loop is closed解决办法
  10. 人工智能——皇帝的新脑还是人类的终结(学习笔记)
  11. webstorm+vue组件开发准备
  12. 数美科技:全栈防御体系怎么样护航游戏ROI增长
  13. Ubuntu下快捷方式图标存放位置
  14. Winform常用控件的使用(一)
  15. 原来姹紫嫣红开遍 -- 牡丹亭·游园惊梦
  16. 解决 winedit 打开tex文件 reading error(亲测可行)
  17. 图扑软件数字孪生汽车生产线,赋能智慧工厂科学运维
  18. 实施360绩效评估的的3个关键事项
  19. 安装tensorflow报错:Cannot uninstall ‘wrapt‘. It is a distutils installed project and thus we cannot accu
  20. requests高阶 BS4

热门文章

  1. html 字母全部大写,HTML文本框录入字母自动大写问题解决方法
  2. 《 指数基金投资指南 》by 银行螺丝钉 - 笔记 - 4 - 第一部分
  3. linux c编译安装,uClinux设置(安装,编译)
  4. graylog+kafka+zookeeper(单机测试及源码),graylog组件部署,查找问题分析(一)
  5. 最强大脑记忆曲线(12)-- 录入数据修改
  6. “我比Goodfellow提前三年想到了GAN”
  7. 2021支付宝五福活动 集五福攻略大全
  8. vue学习记录 coderwhy d3
  9. 个人承接微信H5制作设计,需要的联系我
  10. unity 转盘记录