2023.01.01:增加对Kvaser的支持

参考了CANoe写了下面的软件,主要用途是对报文的回放及曲线的分析。

1、CAN连接,支持周立功CAN、CANFD及PCAN

2、DBC解析与生成文件

打开DBC,可以打开已有的DBC文件,内容会在主界面上显示。优先显示中文注释和实际值。
如果用本软件的编辑DBC功能,把协议类型改为:发送帧,就可以在主界面进行DBC的发送模式。

DBC编辑界面:简单直观好用。

点击空白行可增加一行新的内容,可以输入中文,在数据区增加新行时,LSB值会根据上一行的位长度计算出自己的值。
更改数据类型为枚举类型,可以在右侧直观的输入相应的值,值会在新建行时自动加1.
Bit矩阵可以显示当前信号所在的位置。

点击空白行可以增加新的行

3、历史报文解析,支持asc、csv、blf、trc等格式

如果你用的历史报文不是标准格式无法导入,可以把报文另存为CSV格式,其中CSV的格式如下:

对历史数据进行播放:只显示当前DBC的报文
点击开始可以对历史报文进行回放,主界面显示当前报文的实时值。

4、曲线生成,仿CANOE的曲线显示

鼠标中键可以对鼠标所在的区域进行放大与缩小。
对整形与枚举区分显示不同的曲线,与CANoe一致

实时显示:显示连接到CAN后的时间报文。
播放记录:播放当前记录曲线,在播放前要在:报文分析->导入数据,进行历史数据的导入工作。
Y轴适应:Y轴显示当前数据的数值最大值。
X轴适应:X轴显示全部时间数据
X轴竖线:显示两条竖线间的时间t1、t2、和△t

局部放大:放大按住鼠标后,拖选的区域

5、支持J1939报文的解析,可以解析充电桩国标报文

6、UDS故障诊断

可以更改配置后,进行保存,也可导入已存的配置的导入。

支持安全算法DLL的导入 。

7、UDS烧写功能

可以自定义烧定的流程。支持Hex、Bin、S19文件的烧写。

可以保存与导入配置

8、其中安全算法的demo程序如下:

用VS编写,

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace UDS //命名空间,不能更改
7 {
8 public class SecurityAccess //类名,不能更改
9 {
10 public byte[] GetKey(byte requestSeed, byte[] seed) //计算KEY函数名称,不能更改
11 {
12 byte[] key = new byte[seed.Length];
13
14 if (requestSeed == 0x01) //发送种子地址1
15 {
16 //安全算法等级1
17 }
18 else if (requestSeed == 0x03)//发送种子地址2
19 {
20 //安全算法等级2
21 }
22
23 return key;
24 }
25 }
26 }

https://pan.baidu.com/s/1nIK4ig2TW4pdCfUxiYL6VA

网盘地址:百度网盘 请输入提取码 提取码:1234

软件的基本功能已更新完毕,后期主要是对其中的BUG进行更改,大家在使用的过程中如果有想要增加的功能或发现了BUG都可留言,我会尽量增加与优化,谢谢。

CANas分析软件,DBC文件解析,CAN报文分析,仿CANoe曲线显示的更多相关文章

  1. MyBatis 源码分析 - 映射文件解析过程

    1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件的解析过程.由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因.所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来, ...

  2. 解析.DBC文件, 读懂CAN通信矩阵,实现车内信号仿真

    通常我们拿到某个ECU的通信矩阵数据库文件,.dbc后缀名的文件. 直接使用CANdb++ Editor打开,可以很直观的读懂信号矩阵的信息,例如下图: 现在要把上图呈现的信号从.dbc文件中解析出来 ...

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

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

  4. CVE-2012-0003 Microsoft Windows Media Player ‘winmm.dll’ MIDI文件解析远程代码执行漏洞 分析

    [CNNVD]Microsoft Windows Media Player ‘winmm.dll’ MIDI文件解析远程代码执行漏洞(CNNVD-201201-110)    Microsoft Wi ...

  5. pcap文件格式及文件解析

    第一部分:PCAP包文件格式 一 基本格式: 文件头 数据包头数据报数据包头数据报...... 二.文件头: 文件头结构体 sturct pcap_file_header {      DWORD   ...

  6. 通过正则表达式实现简单xml文件解析

    这是我通过正则表达式实现的xml文件解析工具,有些XHTML文件中包含特殊符号,暂时还无法正常使用. 设计思路:常见的xml文件都是单根树结构,工具的目的是通过递归的方式将整个文档树装载进一个Node ...

  7. phpcms V9 首页模板文件解析

    在了解了<phpcms V9 URL访问解析>之后,我们已经知道首页最终执行的是content模块下index控制器的init方法. 下面, 我们逐步分析过程如下: 第一.首页默认执行的是 ...

  8. SharePoint 2013中的默认爬网文件扩展名和分析文件类型

    摘要:了解默认情况下 SharePoint 2013 爬网的文件扩展名及其解析的文件类型,可以借此了解搜索可以爬的文件和支持的功能. 如果“管理文件类型”页上的列表包含文件扩展名,爬网组件将仅爬网文件 ...

  9. android基础知识13:AndroidManifest.xml文件解析

    注:本文转载于:http://blog.csdn.net/xianming01/article/details/7526987 AndroidManifest.xml文件解析. 1.重要性 Andro ...

  10. Android之AndroidManifest.xml文件解析

    转自:Android学习笔记之AndroidManifest.xml文件解析 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文 ...

随机推荐

  1. Filters in ASP.NET Core(Net6之过滤器)

    Filters in ASP.NET Core 如果觉得样式不好:跳转即可 (md文件复制过来有些样式会不一样) 原文地址:https://lifengying.site/archives/net6% ...

  2. 使用vault配置加密

    简介 在使用ansible的过程中,不可避免的会存储一些敏感信息,比如在变量文件中存储帐号密码信息等. ansible通过ansible-vault命令行工具来提供对敏感文件的加密和解密. ansib ...

  3. dfs-入门模板

    模板 void dfs()//参数用来表示状态 { if(到达终点状态) { ...//根据题意添加 return; } if(越界或者是不合法状态) return; if(特殊状态)//剪枝 ret ...

  4. JavaScript 类(class)

    JavaScript 类(class) 类是用于创建对象的模板. 我们使用 class 关键字来创建一个类,类体在一对大括号 {} 中,我们可以在大括号 {} 中定义类成员的位置,如方法或构造函数. ...

  5. mysql拼接多条字段

    转 未合并情况 SELECTa.id,b.name AS "role"FROM sys_user aINNER JOIN sys_user_role c ON a.id=c.use ...

  6. css你所不知道技巧

    利用属性选择器来选择空链接 当 <a> 元素没有文本内容,但有 href 属性的时候,显示它的 href 属性: a[href^="http"]:empty::befo ...

  7. python中下拉框选择

    如选择省区城市 provice = driver.find_element_by_id('****') #先给定位的元素付个变量 select(prvice).select_by_bisible_te ...

  8. pycharm 连接服务器进行操作比 Xshell 更简单!

    一.SSH 连接 pycharm 中通过 SSH 连接服务器非常的简单,只需要简单的几步操作就能完成,如下图 1.第一步:点击开启 SSH 会话 2.第二步:填入对应的连接信息,点击 OK 3.这个时 ...

  9. jquery 中根据日期计算天数,以及去掉字符串中的空格

    //方法 增添dayNumber天 ,dates:日期 年月日 function SubDay(dayNumber, dates) { var date= new Date(dates ); date ...

  10. 遍历dom节点

    function selectOnchang(obj) { var selectedValue = obj.selectedIndex if (selectedValue == 0) { obj.pa ...