郭晓龙 宋仁旺 任 鹏
(太原科技大学电子信息工程学院,太原 030024)
目前,在工程机械远程故障诊断中,国内大多数检测还停留在维修人员现场诊断模式,而维修大多采用事后维修的手段。这种维修策略已不适用于当今工程机械的维修,它不仅严重影响了工程机械的使用寿命,增加了维修成本,同时在工程机械施工过程中出现突发性故障时,也不能快速、安全、准确地进行维修。随着智能制造技术的快速发展,工程机械制造、诊断技术也逐步向网络化、信息化、智能化和绿色化方向靠拢,尤其是先进智能制造技术的引入,使这种完全依靠现场维修人员对知识储备的诊断维修策略,不适合现在快速维修的理念,因此,如何能够远程、在线、实时、快速、准确地进行故障诊断,成为各维修厂商亟待解决的问题。
远程故障诊断系统是将终端采集到的数据传输到远程故障诊断专家系统中,专家系统通过对大量数据的分析,快速找到故障所在处并提出合理的维修策略,然后将维修策略反馈给维修人员[1~5]。然而在整个远程故障诊断系统中,数据能否安全、准确地传输到远程故障诊断专家系统中,是整个系统的关键点之一。张欢等研究了基于GPRS(General Packet Radio Service)技术的远程故障诊断[6],由于GPRS的传输速率慢,依赖于信号的良好覆盖,这种低速率传输不利于现有大量数据的传输。张宏提出基于3G的远程故障诊断系统[7],虽然3G网络的传输速率可以满足使用要求,但是其使用费用较高,而在使用远程故障诊断系统时需要传输大量的采集数据,同时进行数据交换,这无疑又间接增加了运营成本,不利于远程诊断的可持续发展。
WIFI(Wireless-Fidelity)无线模块是基于IEEE 802.11 b/g标准规范,由AP(Access Point)和无线网卡组成的无线网络,最高传输速率可以达到11Mbit/s,WIFI模块通过连接热点进行数据传输,并且数据传输具有较高的安全性和高效性,更重要的是WIFI模块可以替代3G模块,不必专门为了传输数据而去购买一张3G手机卡,它可以通过手机或其他移动热点来进行网络连接,且不必考虑使用4G及5G等网络用来加快传输速度去更新硬件设备,只需要通过系统的优化及专家系统的更新等软件因素来提高系统性能,增强故障诊断的快速性、准确性和可靠性。
面对工程机械故障诊断、维修中的实际问题,笔者将WIFI技术应用于工程机械远程故障诊断系统中,将有利于解决远程故障诊断网络传输的各种实际问题。
在整个远程故障智能诊断系统设计框架中,考虑到智能诊断需要将大量的采集数据作为诊断依据,而数据采集如果直接连接智能处理芯片,会消耗处理器的其他运算能力,所以在硬件设计中,将数据采集与智能处理芯片分离开来实现“双核”功能。其中一核用作智能采集,将采集到的数据通过表决法及聚类分析等方法,把数据做初步处理;另一核用作智能处理,在智能系统的基础上,将采集来的数据通过专家系统的理念,作为小型的智能诊断终端,解决一些简单的故障问题,减轻服务器的压力,防止数据大量地涌入服务器。
工程机械远程故障诊断系统硬件部分主要包括处理器ARM、WIFI无线模块、LED显示屏、数据采集模块、FLASH、电源及时钟等,其硬件组成框图如图1所示。
图1 工程机械远程故障诊断系统硬件组成框图
ARM 920T核心处理器。ARM 920T是一个带有内存管理单元并支持16位Thumb指令集和32位ARM指令集的五级流水芯片,其体积和质量小、功耗低且性能高,使用了大量寄存器,寻址简单,执行效率高,主频可达533MHz。在本设计方案中,ARM 920T起到控制和处理数据的作用。作为控制器,它起到了对网络信号的检测及连接热点等控制作用。在数据处理方面,将从WIFI模块上接收到的数据进行解包、解压、数据分析,或将要发送的数据压缩、打包、发送。
WIFI无线模块选用的是RT3070芯片,该芯片支持64、128、152bit加密,WPA/WPA2及WPA-PSK/WPS2-PSK等高级加密与安全机制,以多种方式保护网络数据安全,同时它符合802.11 n/g/b标准,传输速率150Mbit/s,传输距离300m,稳定性好,性价比高。在使用RT3070芯片的过程中可以完全屏蔽底层硬件,通过加载好的驱动程序接口,使用Socket语句来连接无线网络,并且在每发送一定数量的数据包后进行网络状态判断,通过网络状态来有效地进行数据收发,虽然这种网络状态监测消耗了一定的时间,但是对数据的安全性起到了一定的保护作用。
数据采集模块。数据采集模块是故障诊断系统的数据来源,它的数据准确性、可靠性和快速性直接影响着故障诊断的结果,笔者通过实际需求,设计了基于Modbus-rtu协议的数据采集模块,该协议包括1个起始位,8个数据位,还有CRC校验,它的帧格式简单、紧凑,同时又有16位的CRC校验,满足了数据传输的快速及可靠等需求。
电源模块。在整个硬件电路的设计中,电源模块的设计非常重要,它提供各模块(ARM 920T、WIFI模块、FLASH及USB等)需要的不同工作电压。使用5V的输入电压,然后分别通过LM1117-1.8V芯片、LM1117-3.3V芯片、MAX8860EUA18芯片生成1.8、3.3、1.25V电压,为各器件和模块提供所需要的电压。
系统软件框图如图2所示。系统的软件部分可以分为Linux操作系统和用户应用程序两大部分。Linux系统主要负责内核的调度、内存清理及屏蔽底层硬件等,为用户层应用程序做好准备。而用户应用程序是为了实现用户需求而单独开发的一套应用程序。
图2 系统软件框图
在整个软件开发过程中,利用QT软件具有的良好人机交互特点和可移植性,对整个应用程序进行软件开发,开发流程如图3所示。
图3 软件流程
根据上述具体需求和目标,结合实际应用提出将WIFI模块与智能终端的串口或USB相连接,进行大量数据的收发,保证信息在传输过程中的安全性、可靠性和快速性。传输原理如图4所示。
图4 WIFI模块传输原理
根据上述的工作原理与数据传输要求,进行测试。并不是直接将WIFI模块与ARM处理器相连接后就可以进行数据收发,需要先将WIFI模块驱动加载到Linux系统中,然后依据驱动程序接口进行网络配置和程序编写,这样才能实现所需要的收发功能。
向内核加载WIFI模块驱动。所谓的WIFI模块驱动就是屏蔽了底层硬件设备,为操作系统和应用程序提供一个访问、使用硬件设备的接口,通过接口操作来实现功能的一段程序。由于硬件模块生产厂商的不同,需要加载不同的模块驱动,笔者基于RT3070模块加载了驱动程序,加载方法如图5所示。
图5 WIFI模块加载过程
WIFI网络配置。系统的usr/sbin目录下有3个实用命令程序,分别是SCAN-WIFI、start-WIFI和stop-WIFI,作用分别是无线扫描、开始网络和停止网络,笔者采用QT应用程序进行了图形界面开发。
数据收发测试。在PC机上通过TCP/UDP Socket调试工具来模拟一个服务器,在板子上写入数据并进行接收。经过测试,在空旷地带250m范围内和使用串口连接都可以达到要求,说明该设计可以安全可靠地进行数据收发,具有良好的可靠性和可扩展性。
系统以ARM+WIFI+数据智能采集系统为硬件平台,采用Linux操作系统和QT图形界面开发软件,将WIFI模块应用到远程故障诊断系统终端,来提高对大量数据进行快速、准确、安全传输的性能,避免了在使用无线网卡时因网络快速发展而需要更新硬件模块的问题,解放了专属的无线网卡,降低了后期投入费用。经过测试,该系统能够对数据进行安全、准确、可靠的收发,传输距离可达200m,具有实际应用价值,双接口模式有利于扩展,具有广阔的实际应用价值和前景。
[1] 郑君,张冬泉.故障诊断技术[J].电气时代,2008,(5):96~98.
[2] 张进明,李印武.基于网络的远程诊断专家系统的研究[J].北京化工大学学报(自然科学版),2003,30(5):97~100.
[3] 王敏,杨文峰.OBD——车载诊断系统简介[J].汽车运用,2007,(6):31~32.
[4] 杨凡.基于ARM的数据监测与数据融合[D].北京:北京交通大学,2010.
[5] 郭玉东.Linux操作系统结构分析[M].西安:西安电子科技大学出版社,2002.
[6] 张欢,邓志良,刘利.基于GPRS技术的远程故障诊断系统设计[J].江苏科技大学学报(自然科学版),2006,20(6):54~57.
[7] 张宏.基于3G的汽车远程故障诊断系统分析[J].赤峰学院学报(自然科学版),2013,(20):116~117.