使用普通的USB-CAN设备读取和解析DTC 徐亮

合集下载

如何使用USBCAN读取温湿度传感器的数据

如何使用USBCAN读取温湿度传感器的数据

如何使用IIPRO读取温湿度传感器的数据文档版本:2018/2/1如何使用IIPRO读取温湿度传感器的数据一、写作背景传感器设备是工业自动化,仪器仪表及其他很多生产活动中使用最广泛的设备之一。

大部分传感器设备在早期都是与控制器直接相连,并且各传感器设备之间无法直接通信,因此,如果一个庞大的控制系统中使用了大量的传感器设备,将会导致整个系统布线复杂、系统调试效率低、维护成本高等缺点。

由于CAN总线多主结构等特点,新一代的传感器多数都开始使用CAN总线作为通信总线,而基于CAN总线应用层的CANopen协议更是改变了设备与控制系统之间的通讯方式。

现在有CANopen协议的传感器得到了越来越多工程师的青睐,不过如何读取使用CANopen 协议的传感器的参数,成为了很多刚入手工程师的难点。

温湿度传感器如图1、2所示。

图1 温湿度传感器图片图2 温湿度传感器参数表二、读取数据的解决方案上文介绍的温湿度传感器是一个标准的CANopen从站设备,我们要想读出传感器的数据,根据CANopen协议规范,我们必须使用CANopen主站设备。

广成科技的USBCAN-II Pro分析仪(如图3)是一个标准的CAN总线调试分析设备,配合ECANTools软件的CANopen主站功能(如图4)可对CANopen从站(温湿度传感器)进行管理、参数读取、调试及数据分析等工作,并根据读取上来的PDO数据,按照传感器的使用手册来进行温度、湿度的解析。

图3 USBCAN II Pro设备图4 CANopen Master界面三、具体操作1、USBCAN-II Pro和传感器物理层连接CAN总线在实际接线时只需要将CAN_H连CAN_H,CAN_L连CAN_L即可建立通信。

CAN总线网络采用直线拓扑结构,总线最远的2个终端需要安装120Ω的终端电阻;如果节点数目大于2,中间节点不需要安装120Ω的终端电阻。

对于分支连接,其长度不应超过3米。

CAN总线的查找及连接方法

CAN总线的查找及连接方法

CAN总线的查找及连接方法CAN总线是一种常用的控制器局域网络,用于在不同设备之间进行通信。

CAN总线可以用于汽车、工业自动化、通信设备等领域,可以实现实时性高、稳定性好的数据传输。

在实际使用中,需要先查找并连接CAN总线才能实现通信功能。

下面将介绍CAN总线的查找及连接方法。

一、CAN总线的查找方法1.查看设备手册:首先,在需要使用CAN总线的设备手册中查看是否支持CAN总线通信。

设备手册中会详细说明CAN总线的参数、接口类型、通信速率等信息,从而确定是否支持CAN总线。

2.查看设备外部连接接口:如果设备支持CAN总线通信,可以通过查看设备的外部连接接口来确认CAN总线的接口类型和连接方式。

通常情况下,CAN总线的接口是一个圆形的9针插座,也有一些设备采用其他类型的接口,需要根据具体设备来确认。

3.使用专用工具进行扫描:如果无法确定设备是否支持CAN总线通信或者找不到外部接口,可以使用专用的CAN总线扫描工具来扫描设备,看是否可以检测到CAN总线信号。

扫描工具通常可以识别CAN总线的信号并显示通信状态,从而确认设备是否支持CAN总线通信。

二、CAN总线的连接方法1.准备CAN总线设备:在确认设备支持CAN总线通信后,需要准备好CAN总线设备,包括CAN总线模块、CAN总线数据线等。

2.连接CAN总线模块:将CAN总线模块插入设备上的CAN总线接口,确保插入正确,避免损坏设备。

通常情况下,CAN总线模块插入后会有“咔嚓”声,表示已连接成功。

3.连接CAN总线数据线:将CAN总线数据线连接到CAN总线模块上的引脚上,通常情况下,CAN总线数据线有两根线,一根为CAN_H,另一根为CAN_L,需要分别连接到CAN总线模块上对应的引脚上。

4.设置CAN总线参数:连接好CAN总线设备后,需要设置CAN总线的参数,包括通信速率、数据位率、校验方式等。

设置参数需要按照设备手册上的说明进行,确保设备之间能够正常通信。

USB-CAN Tool使用说明

USB-CAN Tool使用说明
USB-CAN Tool 安装及使用说明书
DSP 开发工作室
USB-CAN Tool安装及使用说明
说明书版本:V1.72 版本更新日期:2012.10.16
USB-CAN Tool 安装及使用说明书
DSP 开发工作室


第一章 安装驱动............................................................................................................................. 1 1.1 运行引擎安装......................................................................................................................... 1 1.2 USB-CAN 设备驱动程序安装 ................................................................................................. 5 第二章 USB-CAN TOOL 使用说明 ................................................................................................... 1 2.1 界面介绍 ................................................................................................................................ 2 2.1.1 标题栏 ............................................................................................................................. 2 2.1.2 菜单栏 ............................................................................................................................. 2 2.1.3 发送设置区...................................................................................................................... 2 2.1.4 ID 格式设置 ..................................................................................................................... 3 2.1.5 接收滤波 ID 设置 ........................................................................................................... 3 2.1.6 控制按钮.......................................................................................................................... 3 2.1.7 统计区 ............................................................................................................................ 3 2.1.8 数据列表......................................................................................................................... 3 2.2 启动和关闭设备 .................................................................................................................... 4 2.2.1 选择设备类型................................................................................................................. 4 2.2.2 启动 CAN 卡 ................................................................................................................... 4 2.2.3 关闭 CAN 卡 ................................................................................................................... 4 2.3 发送消息 ................................................................................................................................ 4 2.3.1 帧 ID ................................................................................................................................ 5 2.3.2 发送总帧数...................................................................................................................... 5 2.3.3 ID 递增 ............................................................................................................................. 5 2.3.4 数据递增......................................................................................................................... 5 2.3.5 数据 ................................................................................................................................. 5 2.3.6 发送文件.......................................................................................................................... 6 2.4 接收消息 ................................................................................................................................ 7 2.5 CAN 参数 ................................................................................................................................. 7 2.5.1 CAN 参数设置.................................................................................................................. 7

汽车综合性能检测过程中CAN通信网络的使用方法

汽车综合性能检测过程中CAN通信网络的使用方法

汽车综合性能检测过程中CAN通信网络的使用方法CAN(Controller Area Network)通信网络在汽车综合性能检测过程中起到了至关重要的作用。

本文将介绍CAN通信网络的使用方法。

CAN通信网络是一种高效可靠的汽车通信网络,它能够实现车内各种电子设备之间的数据传输。

CAN通信网络中的每个设备都有一个唯一的标识符,用于区分不同设备。

在汽车综合性能检测过程中,我们可以通过CAN通信网络来读取和解析车辆传感器的数据。

通过CAN通信网络,我们可以获取车速、转速、油温等数据。

为了使用CAN通信网络进行数据读取,我们首先需要了解车辆中各个设备的CAN标识符。

这些标识符可以在车辆的技术手册或者相关的文档中找到。

一般来说,厂家会将CAN通信网络的标识符进行分类,例如将发动机相关的设备放在一个标识符范围内,将仪表盘相关的设备放在另一个标识符范围内。

一旦获取到了设备的CAN标识符,我们可以使用CAN通信工具来读取设备发送的数据。

CAN通信工具一般可以连接到车辆的OBD(On-board Diagnostics)接口上,通过该接口读取CAN数据。

通过CAN通信工具,我们可以选择要读取的设备和数据类型,并设置读取频率。

读取到的数据可以进行实时显示和记录。

在实际的检测中,我们可以使用PC或者移动设备来实时监测车辆的性能数据,例如车速、转速、油温等。

对于较复杂的检测,我们可以使用数据日志记录器来记录数据,以便后续分析和处理。

还可以使用CAN通信网络来向车辆发送控制命令。

通过CAN通信工具,我们可以选择要操作的设备和要执行的操作,并发送相应的控制命令。

我们可以通过CAN通信网络来控制车辆的车窗、车灯、空调等设备。

CAN通信网络在汽车综合性能检测中的使用方法包括以下几个步骤:了解设备的CAN标识符、使用CAN通信工具读取数据、实时显示和记录数据、发送控制命令。

通过合理使用CAN通信网络,我们能够更好地进行汽车综合性能检测,提高检测效率和准确性。

CAN信号值解析

CAN信号值解析

CAN信号值解析本⽂提供⼀种可以解析CAN信号各信号值的⼀种⽅法并进⾏说明。

⼀般情况下,⾼端⼀点的设备会计算每⼀个信号的值,但是接受到CAN信号的报⽂实际上有各种情况,如何通过设定的起始位和数据长度来获取某⼀信号的值,详情请参考,本⽂⽅法⽐较笨拙,如有更好的办法,欢迎指教。

假设,我们获取到的数据长度为8byte,即DLC为8。

CAN Matrix表格如下:我们约定,⼀种表⽰信号的⽅式如下:1. lsb起始位2. 数据长度按照上⾯的图来说,该信号起始位为40,长度为10。

所以,该信号表⽰值的范围在0-1023之间,⾄于具体表⽰的物理量的含义需要有其他的⽂件规定。

获取到⼀帧数据以后,如何通过⼀系列的运算来得到信号值呢?这⾥提供⼀种思路:根据起始位和长度信息确定信息跨越的byte位根据起始位确定LSB所在的bit位根据跨越的byte位组合为数据把以上组合的数据进⾏位与,得到信号值。

⼤概分为以上的4部分,以下分别说明:设定:lsbbit,lsbbyte,msbbyte,start,length.按照以上的例⼦就是: lsbbit = 0lsbbyte = 5msbbyte = 4start = 40length = 10计算lsbbit: lsbbit = start & 7计算lsbbyte: lsbbyte = start >> 3计算msbbyte: 由于数据是向byte减少的⽅向进⾏的。

所以: msbbyte = lsbbyte - x x为跨越的位数,也就是:lsbbit + length - 1所占的长度,如果⼤于7说明为另⼀⾏,即: msbbyte = lsbbyte - ((lsbbit + length - 1) >> 3)组合data: 我们知道数据介于msbbyte-lsbbyte之间,那么我们可以组合这两个数据: for(index = msbbyte -> (lsbbyte+1)): data_merge += data[index] << (( lsbbyte - index ) << 3)获取数据value: 去尾:value = data_merge >> lsbbit 按位与:value = value & ((1 << length) - 1)所以,最终得到的结果为筛选出来的信号值,然后根据该信号值关联上实际的物理值,就可以得到具体的物理数据了。

USBCAN安装及使用

USBCAN安装及使用

安装前准备:硬件:USBCAN、EPEC2024、相应的接插件和连线。

软件:PcanV iew、CANmoon、Codesys_21、Library。

一、安装PcanV iew1、点击\PcanV iew\USB-CANmodul_setup.exe进行软件安装:2、插上USBCAN硬件:3、在设备管理器中可以找到下图代表安装成功:4、点击菜单PcanV iew (USBCAN),Baudrate根据实际选择,一般都是250k:5、如果出现下图表示USBCAN硬件没有插好,或者驱动没有装好:二、安装CANmoon1、点击\CANmoon\install_CANmoon.exe进行软件安装:(会被认为是病毒,请添加为信任。

)2、拷贝\CANmoon\CanMoon.ini到C:\Program Files\CanMoon\文件夹。

3、删除开始->程序->CANmoon的快捷菜单。

4、在桌面上创建C:\Program Files\CanMoon\CANmoon.exe的快捷方式:。

5、点击程序CANmoon进行CAN Swttings,BaudRate一般选择250:表示CanMoon.ini文件没有拷贝。

表示驱动没有选对。

表示USBCAN硬件没有插好,或者驱动没有装好。

表示连接成功。

说明:(1) install_CANmoon.exe会被杀毒软件认为是病毒,请添加为信任。

三、EPEC2024程序上传下载1、硬件连接图:2、扫描节点:按上图连接好并打开CANmoon,EPEC2024初次上电会发送报文。

点击进行节点扫描,如果EPEC2024连接正常,会扫描到,第一个4表示当前节点,第二个4表示设置节点,2.18表示底层版本号。

(这里只是一个例子,实际的节点是由当前的控制器决定。

)3、上传EPEC2024的程序:(有:通信参数、应用参数、应用程序。

)(1)在中输入你扫描到的节点,点击将出现将上图的通信参数记录下来,留作后面使用。

使用USBCAN分析仪打开软件收不到数据

使用USBCAN分析仪打开软件收不到数据

使用USBCAN分析仪软件收不到数据的排查方法随着CAN总线应用场合越来越多,USBCAN分析仪的使用频率也越来越高。

使用USBCAN 调试CAN总线的时候经常会遇到收不到数据的情况。

本文展示了使用广成科技USBCAN分析仪调试CAN总线的一些经验和方法。

通常情况下收不到数据一般是因为接线问题、通信波特率不匹配、CAN总线电阻值不匹配、CAN总线目标设备或USBCAN分析仪问题。

准备工具:Windows系统电脑(台式、笔记本均可)广成科技USBCAN-II Pro分析仪一台目标CAN总线设备(汽车、伺服电机控制器、ARM开发板等)一、接线问题接线时需要将USBCAN-II Pro分析仪的CANL接到目标CAN设备的CANL上,USBCAN-II Pro 分析仪的CANH接到目标CAN设备的CANH上。

目前最常见接线方式是凤凰端子、DB9、OBD 三种接线方式。

凤凰端子接线时应注意以下几点:①接线时注意CAN1和CAN2通道要和上位机软件相对应;②H与L不要接反(不同厂家的CAN设备定义的位置不同,请按照标识接线);③拧端子螺丝的时候要顺时针拧紧;④通常接线时只需接入L与H,P为屏蔽线,如有强磁干扰时可以将P接入大地;⑤接线推荐使用双绞线。

若没有强电磁干扰,实验室环境下的短距离通信可以使用普通导线或杜邦线。

图1 接线端子DB9接头的接线:国际上通用的定义是2脚为CAN低(CANL),7脚为CAN高(CANH)。

如果出现一个DB9接头包含两路CAN的情况需要查询设备相关手册。

图2 DB9接头高速CAN定义OBD接头的接线:大部分车型是6脚、14脚为CAN高、CAN低,还有部分车型为3脚、11脚分别是CAN高、CAN低。

在接线前请先查阅相关手册或使用万用表测量被测引脚对地的电压值,确认被测引脚是否为CAN信号。

通常CAN信号的静默电压为2.5V。

若电压高于4V 或小于1V则可以确定不是高速CAN信号。

USB—can

USB—can

USB-CAN总线适配器 产品说明书说明书版本:V1.0更新日期:2015.01.01目录第一章产品简介 (3)1.1 概述 (3)1.2 性能与技术指标 (3)1.3 典型应用 (3)第二章外形与接口描述 (4)2.1 外观与接口 (4)2.2 信号定义 (4)2.3 出厂配置 (5)第三章调试软件使用说明 (5)第一章产品简介1.1 概述USB-CAN总线适配器是带有USB2.0接口和2路CAN接口的CAN总线适配器。

USB-CAN总线适配器可以被作为一个标准的CAN节点,是CAN总线产品开发、CAN总线设备测试、数据分析的强大工具。

采用该接口适配器,PC可以通过USB接口连接一个标准CAN网络,应用于构建现场总线测试实验室、工业控制、智能楼宇、汽车电子等领域中,进行数据处理、数据采集、数据通讯。

同时,USBCAN接口适配器具有体积小、方便安装等特点,也是便携式系统用户的最佳选择。

接口适配器产品可以利用厂家提供的USB工具软件,直接进行CAN总线的配置,发送和接收,在线调试。

1.2 性能与技术指标●USB与CAN总线的协议转换;●具备2个通道CAN接口;●USB接口支持USB2.0,兼容USB1.1;●支持CAN2.0A和CAN2.0B协议,支持标准帧和扩展帧;●支持双向传输,CAN发送、CAN接收;●支持数据帧,远程帧格式;●CAN控制器波特率在5Kbps-1Mbps之间可选,可以软件配置;●双模式,USB调试模式和CAN中继器模式(两CAN通道波特率可以不一致,上电默认进入中继器模式);●发送结果反馈机制,如果失败可以通过蜂鸣器进行报警提示;●两路供电电路,USB总线直接供电或外部电源(DC5V);●工作温度:-20~85℃;●外壳尺寸:100*74*29mm1.3 典型应用●通过PC或笔记本的USB接口实现对CAN总线网络的发送和接收;●快速CAN网络数据采集、数据分析;●CAN网关,连接两个不同波特率的CAN网络;●工业现场CAN网络数据监控。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用普通的USB-CAN设备读取和解析DTC 徐亮
发表时间:2018-05-22T16:28:13.320Z 来源:《基层建设》2018年第7期作者:徐亮
[导读] 摘要:利用VBA编程实现数组转换,快速生成C#语言所需使用的字符常数组、利用visual 2013开发环境, C#语言,调用USB-CAN 的二次开发函数库,实现USB-CAN设备与下位机(嵌入式产品)的通信,利用C#的List<>是泛型集合实现排序及查找。

上海交通大学上海 200030
摘要:利用VBA编程实现数组转换,快速生成C#语言所需使用的字符常数组、利用visual 2013开发环境, C#语言,调用USB-CAN的二次开发函数库,实现USB-CAN设备与下位机(嵌入式产品)的通信,利用C#的List<>是泛型集合实现排序及查找。

最终实现DTC的读取与解析。

关键词:VBA数组转换、DTC读取与解析、UDS诊断
随着汽车电子的发展,CAN总线技术几乎成了所有主机厂的标配,而CAN总线的开发,需要借助USB-CAN工具及软件的支持,这类工具以德国Vector公司开发的CANoe最为常用,并为大多数主机厂所采用,但是其高昂的价格决定了他并非能成为工程师人手必备的工具。

与此同时,市场上也不断涌现了大量的价格低廉的USB-CAN的工具,并且厂家提供给了丰富的二次开发函数库,但软件开发不足,大多都只能实现简单的通信功能,并不具备CANoe强大的数据分析及处理功能。

另外在项目开发阶段,由于排查问题的需求,工程师需要经常用到DTC(故障)的诊断以快速判断问题来源。

下面将分步骤介绍其实现方法(正文)
1 使用VBA将Excel格式的诊断调查表,转换为C语言格式的一维数组
诊断调查表的内容,一般会以excel表格格式编写。

如下图表1,由诊断调查表生成用于查询的字符型数组;可以应用excel的开发工具Visual Basic,编写一个宏,快速生成C#编程语言使用的一维字符型数组;方法如下:
数组转换示例: DtcData[i / 4] = DtcBuffer + Datatempory[i + 1].ToString("X2") + Datatempory[i + 2].ToString("X2");
故障码状态转换示例: if (Datatempory[i + 3] == 0x09) DtcState[i / 4] = "CurrentandOldDTC"; else if (Datatempory[i + 3] == 0x01) DtcState[i / 4] = "CurrentDTC"; else if (Datatempory[i + 3] == 0x08) DtcState[i / 4] = "OldDTC"; else DtcState[i / 4] = "Error";
4、解析与显示 readonly string[] DtcNum //定义常数数组,拷贝步骤1中生成的数组 {
故障码1, 故障码2, 故障码3, …
故障码n } readonly string[] DtcExplain = {
故障描述1,故障描述2,故障描述3, …
故障描述n } List<string> DTCList = DtcNum.ToList(); //使用list方法,排序 Try { //查找并显示对应故障码序号的故障码数组值及状态值 DtcIndex = (byte)DTCList.IndexOf(DtcData[i]); //获取故障码对应位置序号 listBox1.Items.Add(DtcExplain[DtcIndex] + "" + DtcState[i]); //将结果显示在列表框中 listBox1.SelectedIndex = listBox1.Items.Count - 1; } Catch //如果接收到未定义的故障代码,提示用户未查到对应的故障码 { listBox1.Items.Add("未查到" + DtcData[i] + "对应的DTC"); listBox1.SelectedIndex = listBox1.Items.Count - 1;
}
5、界面设计
界面由两个button和一个Listbox控件组成,点击“读DTC”button时,触发发送报文的事件,“清屏”button,用于清理屏幕显示结果。

Listbox用于显示解析后的故障描述。

这个可由编程者自由灵活设计。

参考文献
[1]创芯科技. 接口函数库(二次开发库)使用说明书 V2.02. 2017。

相关文档
最新文档