计算机应用研究
APPLICATION RESEARCH OF COMPUTERS
2000　Vol.17　No.2　P.95-96



轴承压装及跑合试验微机数据采集处理系统
郝宗潮　唐建湘
摘 要 介绍了基于集散式结构的微机数据采集处理系统在铁道车辆轴承压装及跑合试验台上的应用，阐述了系统检测原理、硬件结构及系统软件的编制方法。
关键词 微型计算机 集散式检测 数据采集处理 串行通信
1 前言
　　为保证行车安全，车辆生产检修部门必须进行车辆滚动轴承的压装压力检测以及轮对跑合试验，对于这两个过程的检测部分可以根据采用分级分布式检测原理，将两者合二为一，以达到减少投资，方便管理的目的。该微机数据采集处理系统作为轴承的压装及跑合试验综合性能检测的配套设备，能对多路压力、温度传感器进行巡回检测、实时处理，而且预留了接口，以便为以后进一步开发的轮对和轴承检修流水线上其它状态参数的检测并网，从而实现整个流水线微机系统的科学管理。
2 系统检测原理
　　该系统采用分级分布式检测原理，系统框图如图１所示。基于微处理器的前端数据采集器放置在传感器附近完成A/D转换，经环形数据通信子网，将传感信号送入主控制器，进行初步数据处理后，将相应的温度、压力等参数经RS-232串行口传送到上位管理微机，由微机进行较为复杂的模式识别及轴承压装力和轴承温升极限值的判别，并打印输出结果。

图1　检测系统框图
3 系统硬件结构
　　系统硬件主要包括主控制器、环形数据通讯子网、前端数据采集器及压力和温度传感器。
3.1 主控制器
　　主控制器主要由以89C51 CPU为核心的最小系统、RS-232串行接口、RS-485通讯接口等部分组成。其框图如图2所示。

图2　主控制器框图
　　在8031最小系统中使用看门狗专用芯片MAX813作复位控制，与管理微机通讯的RS-232接口芯片采用MAX202。通讯子网采用RS-485工业级通讯总线，这样可以增强系统的抗干扰能力，控制芯片采用的是MAX1487。
3.2 环形数据通信子网
　　本系统采用RS-485总线作为分布式系统的通信子网。该总线一般设计成多个测试点挂在同一根线上，MAX1487最多可驱动128个点，最长传输距离可达1,200米，其基本接线图如图3所示。总线接成环形冗余形式，并采用局域网的广播式收发制，确保线路上出现了一个断点后数据仍能够准确无误地传送。同时将直流电源与RS-485信号同时用一根四芯屏蔽电缆传送给环行数据通讯子网，让屏蔽层与电源线同时构成多层屏蔽，以保证传输可靠。

图3　MAX1487基本接法
3.3 前端数据采集器
　　采集器是基于89C2051的单片机系统，需要测量多点温度与压力，其结构框图如图4所示。其中温度传感器选用的是数字式温度计DS1820，从CPU到DS1820只需要一根数据线，读写和完成温度转换所需的电源可以直接由数据线本身提供，而无需外接电源。同时由于每一片DS1820都有一个序列号以示区分，可以使多个DS1820并存于一根数据线上，以减少大量传输线。压力传感器我们采用的是ZQY-1型电阻应变式压力传感器，量程10Mpa输出40mV。模数转换采用内带可编程增益放大器的(-(A/D转换器AD7710，能够达到较高精度要求。

图4　前端数据采集器
4 系统软件的编制
　　本系统的软件编制工作主要包括主控制器、前端数据采集器以及上位管理微机的软件编程。主控制器及数据采集器的程序采用MCS-51系统汇编语言编写，管理微机软件用Visual Basic 5开发。下面详细介绍一下有关通讯部分的编程。
4.1 通讯总线程序设计
　　约定RS-485通讯总线上每一模块均设定唯一地址，且都能作为接收器和发送器使用。首先各前端机开中断等待(SM2=1)，主控制器发地址帧，所有前端机对地址帧产生串口中断，将地址与本机地址比较，被寻址前端机将SM2清0、TB8置1，把本机地址码发回供主控制器核对，核对正确后，被选前端机将采到的数据以数据帧发送给主控制器，发送完后SM2置1、TB8清0；未被寻址前端机保持SM2为1，开中断等待。整个通讯总线的程序包括主控制器主程序、主控制器通信子程序、前端机主程序、前端机中断服务子程序。
4.2 RS-232串行接口编程
　　主控制器与上位管理微机的通信采用的是RS-232串行通信。主控制器将前端数据采集器送来的数据经初步处理后，按照一定的格式组装成帧，分组发送给上位管理微机。通信波特率设为4,800 bps,采用奇校验。由于篇幅所限，仅给出上位机的部分源程序(采用VB5编写)。
　　串行口通讯可用VB控件MSComm进行编程。首先在窗体(Form1)上设置一MSComm控件(MSComm1),根据通迅协议，对其编程如下：
Private Sub Form_Load( )
　MSComm1.Parity="4800,8,0,1" '串口参数
　MSComm1.ComPort=2 'Com2为通迅口
　MSComm1.InputLen = 162 '读入数据长度
　MSComm1.InBufferCount = 0 '清输入缓冲区
　MSComm1.RThreshold =162 '设置响应'oncomm函数数据个数
　MSComm1.OpenPort '打开通讯口
End Sub
　　上段程序将串口协议参数设置为：波特率4,800、8位数据位、奇校验、1位停止位，同主控制器串口参数保持一致。读入数据的长度设为162(即一个数据块的长度)，同时将MSComm1的RTHreshold属性设为162,当输入缓冲区接收到162个数据时，会响应oncomm函数的comEvReceive事件，可在响应此事件后进行数据处理。编程如下：
Private Static Sub MSComm1_OnComm ( )
　Select Case MSComm1.CommEvent
　　Case comEvReceive
　　Dim Buf1 As Variant
　　Buf1=MSComm1.Input '将数据块读入Buf1中
　　MSComm1.InBufferCount = 0 '清输入缓冲区
　　　　… '数据处理部分
　　　　Case ... '其它事件时的处理
　　　　...
　End Select
End Sub
4.3 管理微机软件
　　这部分软件是用户直接接触和使用的部分，采用VB5.0编写，运行于32位Windows平台，这些平台具有强大的连网和数据共享功能，为本系统与流水线上其它的检测系统联网打下了基础。软件界面全部采用Windows风格的图形界面方式，简单易学。
郝宗潮（长沙铁道学院机电工程学院 信息工程学院 长沙 410075）
唐建湘（长沙铁道学院机电工程学院 信息工程学院 长沙 410075）
参考文献
1，邱公伟等. 多微机系统的通讯技术. 北京：清华大学出版社, 1996,7
2，李 华等. MCS-51系列单片机实用接口技术. 北京：北京航空航天大学出版社, 1993,8
3，黄达胜, 李克明. 197726型轴承压装力与压装力曲线的探讨. 铁道车辆, 1996, (1): 16
4，中华人民共和国铁道部.铁路段修规程. 北京：中国铁道出版社. 1992年
5，[美] Eangelos Petroutsos. Visual Basic5从入门到精通. 北京: 电子工业出版社, 1997
收稿日期：1999年7月16日
