APP下载

基于ACCESS数据库的CAN总线数据采集方法的设计与实现

2011-07-07

制造业自动化 2011年21期
关键词:数据格式报文总线

张 勇

(上海飞机设计研究院 飞控系统设计研究部,上海 200436)

0 引言

CAN(Controller Area Network 控制器局域网)总线是在汽车、轮船、医疗等领域广泛应用的一种串行数据通讯现场总线,能有效地支持具有很高安全等级的分布式实时控制。由于CAN总线数据通信具有高可靠性、实时性和灵活性的特点,常被应用于飞机、汽车、轮船等计算机系统之间的通讯方式,因此CAN总线的数据采集技术也得到了广泛应用。

CAN总线为串行数据协议总线,能够同时传输多个报文(message),一个报文定义为一帧,分为三个域,标准型CAN总线数据格式如图1所示,分别为ID域(Identifier),数据长度定义域(Length)和数据信息域(Data),图中的箭头指示了数据传输的先后顺序。

图1 标准型CAN总线数据位定义

1 系统硬件方案设计实现

CAN总线为多主方式,理论上一条CAN总线上可以串接110个节点,为了读取CAN总线数据,可采用如图2所示的拓扑结构将CAN总线采集设备接入到CAN总线上。

图2 CAN总线数据采集系统连接原理图

本方案中系统硬件采用NI公司的PXI-648x系列CAN总线卡,机箱采用PXI-1050,测试服务器与测试客户端之间采用以太网连接方式。

2 系统软件设计实现

在CAN总线数据采集软件的设计实现时,需要重点考虑的问题是CAN总线数据的正确解析。CAN总线通道可同时发送多个报文,每个报文的数据域最长可达64位,理论上一个通道的信息可多达几百个,因此,正确解析每个通道的数据信息至关重要。当前CAN的总线数据采集方法广泛采用数据库技术,编写CANdb数据库文件作为数据采集和解析的基础,有众多商用软件(如CANoe,NI的QNmax等)可以实现CANdb数据库文件的编辑。本文阐述了一种基于MS Office Access数据库进行CAN总线数据采集的实现方法。

2.1 建立Access数据库

CAN总线数据采集最终要建立的是CAN总线数据库,它是CAN数据解析的基础。根据CAN总线的数据格式,在Access数据库中建立如图3所示的数据库表格。

图3 数据库设计视图

其中包含了CAN总线数据格式的各种基本信息,主要字段设计的说明如表1所示。

2.2 建立Access数据库映射程序

有了Access数据库,就需要在软件中建立与数据库对应的结构体,在程序调用时为程序变量赋值。程序设计结构体如下:

表1 Access数据库主要字段说明表

2.3 软件流程设计

CAN总线数据采集软件的开发采用NI公司LabWINDOWS/CVI软件,该软件对Access数据库的支持友好,可以方便的与数据源连接,能够满足程序设计的需要。软件系统的流程图如图4所示。

图4 CAN总线采集程序流程图

3 结束语

本文探索了一种利用Access数据库技术实现CAN总线数据采集的方法,通过LabWindows/CVI+Access软件编程实现了CAN总线数据的自动化解析、处理,很好的实现了CAN总线的自动采集功能,在试验中能够满足各种CAN总线信息的采集,取得了良好的实用效果。

[1] CAN-bus规范V2.0版本,译自BOSCH 公司《CAN Specification V2.0》.

[2] NI-CANTM Hardware and Software Manual.

[3] 王建新,等.LabWindows/CVI测试技术及工程应用[M],化学工业出版社,2006.

[4] 王俊波,胥布工.CANopen协议分析与实现[J].计算机信息,2006,22(6-2):104-106.

猜你喜欢

数据格式报文总线
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
一种基于CAN总线的误码测试方法
MIT—BIH心率失常数据库的识读
基于RFID的户外广告监管系统的设计与实现
一种融合多业务的信息化系统框架研究
ATS与列车通信报文分析
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计