基于CAN总线的桥梁数据采集系统研究
2009-05-12
作者:廖传书, 张 培
摘 要: 提出了一种基于CAN总线的数据采集系统的设计方案,介绍了数据采集系统的系统功能、硬件结构以及软件设计方案。实际应用表明,该系统简单、运行稳定、可靠性高。
关键词: CAN总线; 桥梁监测; 数据采集; 控制系统
在桥梁健康监测工作中,数据采集是整个监测系统中最重要的一个环节。为了避免造成重大的经济损失,应该对桥梁结构进行实时监控和结构状态的智能化评估,通过测定其关键性能指标,获取反映结构状况的信息,分析其健康运行情况,分析其是否受到损伤,以便将未知的危害降到最低。这对确保桥梁的运营安全,及早发现桥梁问题,延长桥梁的使用寿命起着积极的作用[1]。
本系统采用应力式传感器,设计了桥梁的数据采集及其监控系统。包括数据采集模块、控制模块和通信模块,通过CAN总线将采集到的数据传送到工控机,并通过Internet将数据传送到远端的控制室的终端PC机上,在终端PC机上远程监控桥梁的健康情况。
1 系统总体结构
由于CAN总线为多主方式工作,最多可挂接110个节点,系统采用现场总线分布式数据采集控制方式。系统主要包括现场数据采集控制系统、现场控制室、远端控制室3部分。其系统总体结构如图1所示[2]。
现场数据采集控制系统,可分为A/D转换单元、MCU以及CAN控制器、光耦隔离、CAN驱动器等接口电路单元。其主要功能是采集分布于不同桥墩现场的拉力传感器所采集的实时信息,并根据所得的信息发送控制命令,控制现场的设备,并实现故障报警等功能。
由于CAN总线的通信距离有限,并且远端控制室和现场相隔较远,所以需对数据进行预处理。现场控制室主要由CAN接口适配卡以及上位PC机组成,并且通过代理服务器将数据发送到远端的控制室。
远端的控制室主要由客户端PC机通过Internet以及客户端的操作软件,对CAN节点传送来的数据进行存储、分析、打印等基本操作。
2 电路设计
整个系统的电路设计,分为传感器和单片机组成的现场数据采集控制部分、现场工控机和CAN接口适配卡以及代理服务器组成的现场控制室的传输部分、终端PC机和操作软件组成的数据处理部分。其中关键是现场的数据采集控制部分,本文将对这一部分进行重点介绍。
2.1 数据采集
基于CAN总线的分布式数据采集与控制系统的结构特点,能够将系统功能尽可能地分散到各个节点,各节点以微处理器为核心,完成各种数据采集与监控功能。为了让各个节点不同种类、不同格式的信息在基于CAN的协议标准下通信,每个节点都设有与CAN总线接口的电路。数据采集部分的电路如图2所示。
由图2可知,此电路是以单片机STC89C52为核心处理芯片,整个硬件电路由5部分组成:
(1) CAN总线接口电路:由SJA1000[3]及STC82C250组成,STC89C52对SJA1000的操作,类似于对外部RAM的操作,其P0口接SJA1000的AD0~AD7,ALE、/WR、/RD、P2.5端分别接SJA1000的ALE、/WR、/RD、/CS端,另外SJA1000的中断信号/INT接STC89C52的/INT0端,使得STC89C52可收发各类信息。CAN总线收发器STC82C250提供了CAN控制器与物理总线之间的接口,提供总线的差动发送和接收能力及抗干扰能力,使得信号能够更远更可靠地传输。其TXD、RXD端通过高速光耦分别接SJA1000的TX0、RX0,两个输出端CANH和CANL分别与物理总线的CAN_H和CAN_L连接[4],在总线的末端加上120Ω匹配电阻,以减少信号反射干扰。
(2) A/D转换电路:由11路模/数转换芯片TLC2543实现,STC89C52的P1.0~P1.3引脚分别与TLC2543的/CS、CLOCK、DATA IN 和DATA OUT 相连,通过这些连接,STC89C52可以控制A/D的转换时间、选择转换通道和极性等。当A/D转换结束后,TLC2543通过EOC引脚以中断的形式通知STC89C52接收数据。其中TLC2543为CMOS 12位开关电容逐次逼近模/数转换器,具有快速转换和通用的控制能力。片内设有采样-保持电路。
(3) RS-232协议转换电路:该电路主要完成现场的数据调试功能。其中STC89C52通过串口TXD、RXD与MAX232的相应管脚相连,当STC89C52需要将从现场采集到的数据或从CAN总线上接收到的数据转换成RS-232协议格式的信息与现场设备或其他模块进行通信时,可直接将信息通过串口TXD、RXD传送给MAX232,由芯片MAX232完成数据格式的转换。
(4) 多路输入输出电路:该部分主要完成现场故障报警、结果显示等功能。由于基于CAN总线的数据采集模块可直接与多种模拟量或数字量设备相连,所以当模块需要采集现场的I/O信息或需要根据处理结果进行显示、报警、控制时,可通过由P1.4~P1.7和高速光耦隔离组成的多路输入输出电路实现。
(5) 数据存储器RAM扩展电路:为了满足数据存取和处理的需要,电路还扩展了8 KB的RAM数据存储器空间。
2.2 数据传输
服务器担负着与单片机通信、数据处理、数据存储和与控制室通信等多项任务,是连接桥梁现场和远端控制室的重要组成部分,它的优劣直接影响整个系统的性能。本系统最终目标是实现整个系统的无人值守和长期连续的工作,因此要求服务器性能稳定、工作可靠。本系统中选择性能优越的工控机操作系统Windows Server 2003,数据库系统软件采用SQL Server 2005。另外,由于本系统为连续工作,而数据量很大,所以服务器外接可移动存储设备以利于数据的更新与备份。
现场的代理服务器负责接收下位机采集到的桥梁状态信息,在这里信息进行预处理,例如和预设的报警门限值进行比较,如果超过门限值则马上发出报警,同时数据在这里存入数据库。现场服务器与Internet网络连接数据,经过打包实时地传送给远端的控制中心,在控制中心进行最终的分析和处理实时地显示出状态变化。
2.3 数据处理
数据处理部分主要实现数据分析、处理等功能。由客户端PC机和操作软件界面通过Internet接收数据,并且进行数据分析、数据处理等。
3 软件设计
系统的软件设计可以分为数据采集、数据传输和数据处理3部分。其中,数据传输部分包括单片机与服务器之间数据传输、服务器与控制室PC机之间的数据传输,数据处理包括客户端PC机上的客户操作、分析、处理软件等。
根据分布式数据采集与控制系统的特点,系统各个节点之间和节点到操作站的距离较远,现场环境干扰大。整个系统应有实时数据采集、实时控制、实时故障报警、现场情况显示、数据存储、历史数据查询、打印报表等功能。
3.1 数据采集部分
数据采集部分的程序流程如图3[5]所示。
由图3可知,STC89C52先对自身进行初始化,然后立即对SJA1000进行初始化以尽快建立该数据采集模块与CAN总线之间的通信链接。其中对SJA1000的初始化是该软件设计中一个比较关键的部分,主要包括在复位模式下设置通信的波特率、AMR、ACR、OCR、CDR,这些参数与将要发送的报文标识符有关。BTR0、BTR1寄存器的内容可以惟一确定系统的通信波特率和同步跳转宽度,所以整个系统中的所有节点,这两个寄存器的内容必须相同,否则无法通信。对ORC的操作可确定CAN控制器的输出方式,并建立起CAN总线要求的电平逻辑所需输出驱动器的配置。
与CAN总线的通信建立之后,STC89C52就开始采集现场数据,先是模拟量,然后是数字量。在对模拟量的数据采集中,为了减少外部干扰带来的误差还进行了消除误差处理,主要包括判断数据是否存在超大误差,对连续多次采样得到的数据求平均值作为采样值等措施,以减少系统采样误差。再判断采集的值是否超出设定的界限,需要报警否,是否显示设备的状态,是否准备往CAN总线发送数据等,如需要则进行不同数据的转换。
3.2 数据传输部分
服务器是整个系统的核心,它担负着数据采集、数据管理和传输数据的任务,因此它的工作直接影响到整个系统的性能和工作。由于本系统要求服务器能够在无人职守的情况下长期稳定地工作,因此最好选用性能优越的工控机,可以为采集系统提供更多的串行口。
客户端的主要任务是接收数据和处理数据,实现数据传输的第一步是客户端必须连上服务器,首先要设置服务器的IP地址和端口号,然后发送联机请求。
3.3 数据处理部分
数据处理部分是要在远端控制室的PC机上,实现友好的人机操作界面,并实现实时控制、实时故障报警、现场情况显示、数据存储、历史数据查询、打印报表等功能,通过Visual C++ 6.0编程,进行对各种数据源进行操作访问,远程监控桥梁的健康情况。
桥梁的健康状况监测对于桥梁的安全运行有着重要的意义。桥梁结构健康监测不只是传统的桥梁检测技术的简单改进,而是运用现代传感与通信技术,实时监测桥梁运营阶段在各种环境条件下的结构响应与行为,获取反映结构状况和环境因素的各种信息,由此分析结构健康状态、评估结构的可靠性,为桥梁的管理与维护决策提供科学依据。
本文在详细分析了桥梁的结构特点的基础上,设计了利用传感器、CAN总线以及Internet网络实现桥梁状态远程监测的方法,提高了对桥梁结构损坏和突发事件的反应速度,节约人力物力。它改变了传统的以人工为主的检测手段,大大提高了桥梁监测的实时性准确性及安全性。
参考文献
[1] 周文松,李惠,欧进萍,等.大型桥梁健康监测系统的数据采集子系统设计方法[J]. 公路交通科技,2006(3):83-84.
[2] 王毅峰,李令奇.基于CAN总线的分布式数据采集与控制系统[J].工业控制计算机,2000(5):34-35.
[3] Philips Semiconductors. SJA1000 stand-alone CAN controller,1997.
[4] 邬宽明. CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996.
[5] 亓跃峰,毕卫红,卢辉斌.大型桥梁分布式健康监测系统设计[J]. 计算机测量与控制,2004,12(4):327.