1、摘 要分布式总线控制技术是未来车辆发展的方向,本文所研究的车辆健康监测系统基于分布式总线控制技术的大型矿用车这一平台。分布式总线中,车辆最常用的是CAN总线。CAN总线作为主控通讯总线,除了使整车线束更少,更加有条理外,可以做到全车信息实时共享,这也为车载健康监测系统提供了一个良好的嵌入平台。本文首先对车辆健康管理的内容进行了总结和论述,设计了针对大型矿用车的健康监测系统。本文主要研究的是具有多种标准接口的车载健康监测系统上的数据驱动机制。根据可重用性的软件设计思想,参照数据驱动机制原理,设计了一系列流程驱动的数据集合,包括触发条件集、数据定义集、判断准则集、数据记录集、格式表、固定信息表等。
2、实现了在不编译修改软件的情况下,用户可以随意选择采集所关心的数据,提高了软件的稳定性和可重用性。同时,集合式的监测标准兼顾了规范性和扩展性。 本文完成了车载健康监测系统的总体框架设计,硬件设计和软件设计,实现了电动轮汽车发动机、发电机、整流器、逆变器、制动器、工作时间、燃油消耗、行驶里程等参数的在线监测、存储和远程传输。关键词:健康监测,数据驱动,软件重用,数据集合,CAN总线 - V -AbstractThe distributed bus control technology is the future direction of the vehicle development. The V
3、ehicles Health Monitoring System researched in this article is just based on the platform of large-scale distributed bus control mining vehicles. CAN bus is the most commonly used in the vehicles among distributed bus. Using CAN bus leads to less wiring, whats more, CAN bus system structures make th
4、e whole vehicle share information instantly, which provides a good embedded platform for the vehicles health monitoring system.This paper analyzed the contents of the vehicle health management and designed the vehicle health management system for the large mining vehicles firstly. Vehicle health man
5、agement system can be divided into vehicle platform, the base analysis server and communication system. This paper is focus on the vehicles health monitoring system with a variety of standard interfaces. A series of flow driven data set is designed according to the reusability of software design and
6、 Data-driven Mechanism, including the Trigger Condition Set, the Data Definition Set, the Determining Criterion Set, the Data Record Set, the Format Table, the Fixed Information Set. Users can collect the data that they wanted without compiling or modifying the program, this change improves the soft
7、ware stability and reusability. At the same time, the assembling the monitoring standards combines specifications and scalability.This paper completed the ensemble design, the hardware design and the software design of the vehicles health monitoring system, achieved the online monitoring, storage an
8、d remote transmission of the parameters including engine, generator, rectifier, inverter, retarder, working hours, fuel consumption, mileage and so on.Key Words:Health monitoring, Data-driven, Software reuse, Data Set, CAN bus目 录致 谢I摘 要IIIAbstractV1 引言11.1 课题研究背景11.2 国内外的研究现状21.3 论文的主要研究内容31.4 论文的章节
9、安排42 车辆健康管理的理论52.1 车辆健康管理的概念与内容52.2 车辆健康管理的划分62.3 车辆健康管理系统的组成82.4 本章小结103 数据驱动机制的研究123.1 软件重用思想概述123.2 数据驱动机制原理123.2.1 数据驱动机制的提出123.2.2 数据驱动机制的概念133.2.3 数据驱动机制原理143.3 数据驱动机制的设计163.4 数据驱动的数据集合研究设计173.4.1 触发条件集173.4.2 数据定义集193.4.3 判断准则集213.4.4 数据记录集223.4.5 格式表243.4.6 固定信息表253.5 数据驱动机制的标准化与扩展性253.6 本章小
10、结274 监测系统总体方案研究284.1 监测内容需求分析284.2 监测系统框架研究304.2.1 硬件总体框架分析304.2.2 软件总体框架分析314.3 本章小结345 监测系统硬件分析设计365.1 监测系统硬件概述365.2 CAN总线收发模块385.3 数据采集存储模块395.4 GPRS远程通信模块415.5 USB模块435.6 A/D信号采集模块445.7 本章小结456 监测系统软件分析设计466.1 监测系统数据流程总体分析466.2 数据交互部分软件506.2.1 CAN总线接收模块506.2.2 RS232数据交互模块536.2.3 USB数据下载模块546.3 数
11、据驱动软件部分586.3.1 SD卡读写586.3.2 数据驱动机制626.4 本章小结657 系统测试668 结论728.1 论文总结728.2 论文展望72参考文献75附录A3.4.5节中格式简表的格式表完整版79作者简历及在学研究成果81独创性说明83关于论文使用授权的说明83学位论文数据集11 引言本课题来源于国家课题,同时参照了两个企业横向课题设计要求,一个是包头市北方股份TEREX_NHL合资公司的四轮电动轮自卸车控制系统设计,另一个是徐工集团的六轮电动轮式平路机控制策略设计。以上课题中的一个共同点是,随着工程机械车辆朝着智能化不断发展,车辆上的电子电气设备越来越多,需要监测的数据
12、源也越来越多,对数据监测提出了新的要求。在以上课题的设计中,车辆控制系统采用的是分布式总线控制系统设计,需要实时的监测来自总线上的数据,并对车辆运行状态进行初步的诊断和现场数据保存。本课题基于这一实际需求,在结合工程机械车辆实际应用环境,设计了一套车辆健康监测系统。1.1 课题研究背景健康的概念的研究首先起源于医学科学和仿生科学1。20世纪70年代,面对大量的航天活动事故,NASA(National Aeronautics and Space Administration)首先把健康状态管理这一概念引入到飞行器工程中2。在后来的发展过程中,名称发生了一些变化,如:FDIR(Failure de
13、tection Isolation and Recovery)、故障诊断、VHM(vehicle health monitoring)等3-5。而后,随着技术的不断进步,健康管理技术开始向其他领域延伸,从80年代开始出现的大型桥梁健康监测6-7,以及最近十年来出现的大型设备健康管理技术(如大型的发电机组等设备)8-9,从整体上来讲,健康管理朝着智能化、综合性发展。随着汽车的电子化、信息化和智能化程度不断提高,健康管理技术(Health Monitoring technology)开始应用到具有复杂电子结构的车辆上10。像目前流行的如电子燃油喷射技术(EPI)、防抱死制动系统(ABS)、自动调速
14、系统、汽车空调系统、电子控制转向系统等,为汽车健康管理做了大量的监测技术铺垫。同时,一些汽车公司也发展了一些故障诊断系统,如大众公司为奥迪车系研发的故障诊断系统。参照飞行器健康管理的发展模式,对以上这些技术进行系统集成,可以发展出针对汽车的健康管理系统。目前来讲,小型乘用车已经出现了一些健康管理系统的雏形,但是还没有成熟的汽车健康管理系统。在大型工程机械车辆上,也有了汽车健康管理系统的尝试。对于工程机械车辆而言,车辆本身造价高,工作环境恶劣,故障率远远高于小型乘用车。本文所关注的大型电动轮矿用自卸汽车,载重达到几十吨甚至几百吨,体积庞大,成本高昂,一旦出现故障,不但带来高额的维修费用,而且车辆
15、停机也给矿业运输带来巨大的损失。为此,能够实时监测车辆的运行数据,提前发现并预防故障的发生,可以极大的提高车辆的利用率和生产力。1.2 国内外的研究现状日本小松公司在2002年提出了车辆健康监测系统(Vehicle Health Monitoring System)的概念,并在其HD465-7型车上首次安装了车辆健康监测系统。该系统为工程车辆提供动态管理,包含一个专用采集器记录工程车辆的数据信息,并提供远程管理使用;一个机器故障预测和寿命预估系统,分析收集到的故障数据,去帮助维修人员及时采取适当的措施11。整体上来看,小松的这套系统可以基本上实现了车辆健康管理,但是其采集的信息量仍然受限,仅仅
16、包括一些车辆位置,工作里程,燃油消耗和报警等信息,监测对象不够丰富,无法判断车辆故障原因是自然折损还是司机误操作引起。上海交通大学和抚顺挖掘机制造有限责任公司合作研制的工程机械远程监控管理系统,可以对在役大型起重机进行远程实时状态监测与故障诊断,目的是实现进行24小时在线实时健康监测。该系统可以将传感器采集到数据信息通过CAN总线传到DSP处理,最后通过GPRS网络发送到服务器数据路里。设备的远程监控平台,可以对设备的状态信息、历史数据、维护计划、故障报告等进行查询和管理12。对厂家协调售后维修人员的任务提供了一个良好的信息平台,此系统的数据传输所用的技术是通用和成熟的,但是,监测系统所采集到
17、的数据只能是在故障发生后,被生产厂家的售后维修人员所获取,用户很难获得数据,即便用户得到了数据,但是记录数据种类繁杂,也很难甄别,不具备临时选择性在线采集功能。三一重工研发的工程机械远程监控系统主要由安装在监控中心的中央监控系统、安装在工程机械上的车载移动单元以及GSM/GRPS通信网络三部分组成。其车载单元可以接收GPS卫星定位数据,在经过处理后, 计算出移动目标的经纬度、速度和方向, 并利用现有的GSM/GPRS通讯网作来传递车辆的定位信息。此系统的移动单元设备可以为控制中心实时提供每一辆车的最新位置数据、车辆的状况和报警信息, 控制中心自动记录这些信息以便事后分析13。总体分析,三一研发
18、的远程监控系统与“抚挖”的远程监控管理系统存在相似的地方,重点在与工程车辆的定位,为集群化管理带来便利。在数据采集方面,数据采集量仍然单一,仅仅涉及车速,油位,温度等少量数据,不够全面。另外,系统的可扩展性和软件的重用性没有重点体现。包括电动轮矿用车在内的大量的工程机械车辆,虽然用途不一,外形体积千差万别,但是存在一些共同的特性。这些工程机械车辆工作环境恶劣,大都工作在多粉尘,道路崎岖不平的工地,有些还在一些高寒、高热环境下工作,设备持续工作时间长,故障发生几率高。对工程机械车辆实现监测并进行健康管理,对降低故障发生率,提高生产效率,解决成本方便有巨大的作用。当前,针对这种情况研发的系统很多,
19、每种系统大都针对各自类型的具体应用,通用性不高,如“抚挖”针对的是挖掘机,中联重工的起重机监控系统等12,14,还没有通用的集成方案,同时,大都针对厂家对数据的确定性专属需求,忽略了用户的数据获取需求和选择性采集需求。因此,设计一种通用的工程机械车辆健康管理方案,并且同时满足厂家和用户的数据需求,降低系统开发难度,具有重要的意义。1.3 论文的主要研究内容在集合了分布式处理技术、CAN总线技术、数据驱动技术、GSM/GPRS无线通信技术、故障诊断专家系统技术等等一系列当今流行的技术成果的基础上,本文将采用数据驱动机制原理,研究电动轮汽车健康监测系统的解决方案。 (1) 分析车辆健康管理的内容,
20、从大型工程机械车辆的动力系统、控制系统、电气系统、辅助控制系统以及车辆群组作业协调管理的方面,界定健康管理的行为,如行车状态监测,健康诊断,故障预测,系统自修复,作业管理等五个方面。同时,从信息交互的角度,把健康管理划分为信号处理层、健康监测层、预测层以及人机交互层,分析每层所用到了关键技术和技术难点,提出技术解决方案。(2) 研究车载健康监测系统的需求分析,系统方案。为了满足厂家和用户频繁的选择性需求,提高软件的可重用性,设计针对嵌入式系统的数据驱动机制,在不修改系统源程序的情况下,实现数据的选择性采集监测和对设备升级的数据兼容性采集监测。在具体实现上,设计一系列的数据驱动集合,如数据定义集
21、,判断准则集等,以及这些集合在程序中的使用方法,另外,设计制定电动轮汽车分布式现场总线系统的通讯协议,制定数据驱动方式采集所遵循的技术标准。(3) 针对在线监测系统,完成系统整体方案设计,系统的硬件设计和软件设计。硬件设计上,兼顾嵌入式操作系统的管理优势和单片机的实时性优势,既可以为系统管理和未来的系统升级提供更多的资源,又可以满足系统的实时性要求。软件设计上,管理系统可以实现司机驾驶信息的管理,与基地健康管理系统的数据交互;数据采集的驱动数据录入,驱动程序的具体设计,远程传输的数据管理等。1.4 论文的章节安排第一章引言主要描述课题的来源,国内外的研究现状和背景,以及本课题的主要研究工作。第
22、二章研究总结车辆健康管理理论。在基于前人大量工作的基础上,总结了车辆健康管理系统的内容和组成。为健康管理行为划分了健康管理层级,明确了健康监测的内容,构建和明确了车载健康监测系统的框架和任务。第三章是数据驱动机制的研究。首先论述软件重用的思想,然后分析数据驱动机制的原理和方法,结合本系统完成数据驱动机制的设计。设计一系列的数据驱动集合,制定了监测数据集合标准和规范,并提出了方案扩展的方向。第四章概要设计健康监测系统的总体方案研究。在前面理论总结的基础上,主要从监测内容需求分析,硬件总体框架设计,软件总体框架设计方面进行论述。第五章是健康监测系统的硬件分析设计。其中详细设计本系统包含的几大关键子
23、模块,如CAN总线收发模块,数据采集存储模块,GPRS远程发送模块,USB模块, A/D信号采集模块等一系列的硬件设计。第六章是车载健康监测系统的软件分析设计。详细设计健康监测的流程,并把软件设计分为数据交互部分和健康监测部分。然后针对每一部分进行详细设计,其中的健康监测部分将是本文软件设计的重点内容。第七章是系统测试。主要是对本系统的研究实现之后,完成一个系统集成层级的测试。包括数据监测的报警测试,存储模块的数据记录测试,GPRS无线网络数据传输测试。第八章是总结与展望。2 车辆健康管理的理论2.1 车辆健康管理的概念与内容车辆的健康状态描述了整车系统、子系统以及部件在执行其所设计功能的一种
24、能力。车辆健康管理是由对车辆的状态检测、评估、控制和管理功能所构成,目的是为驾驶员及维修管理人员提供必要的信息和辅助决策,节省运营管理成本和避免一些不可预料的事故。车辆健康管理建立在状态/信息感知的基础之上,具备数据融合和辨识的能力,以故障诊断、故障预测作为主要手段,具有智能和自主的特征1,15-16。目前车辆健康管理作用的对象是车辆复杂的动力系统、底盘系统、电气系统、车身及辅助控制系统以及对所属车辆群组作业协调的管理。车辆动力系统,主要是指发动机系统。发动机是汽车的动力源,是汽车的心脏,汽车的一些基本技术性能都直接或间接地与发动机的相关性能相联系,同时,发动机也是车辆的常见故障点之一。车辆健
25、康管理可以对车辆底盘系统的故障提前预知,提前预处理。车辆电气系统,包含了大量的电子控制装置,如电子控制悬架,电控自动变速器,车辆行车控制器等设备,对于分布式电气系统来说,电气系统的角色更为重要。电气系统的发展趋势是越来越复杂,故障几率会随之提高,健康管理也显得尤为必要。车身及辅助控制系统,也属于健康管理的范畴。围绕电动轮汽车工作的整个生命周期,健康管理行为大致有以下5个方面的内容:(1)行车状态监测在车辆的运行期间,在线数据采集系统通过安装车辆各处的传感器监测当前的工况,并对采集到的数据有选择性的存储记录5,15。一般情况下,需要监测的数据主要包括发动机转速、水温、机油压力、机油温度、油位、悬
26、挂系统压力、尾气排放、轮胎压力等等一系列的运行参数。行车状态监测是车辆健康管理的原始数据来源,这是健康管理的基础性工作。目前,这监测这方面,已经有了很多的实践和应用。(2)车辆健康诊断车辆健康诊断是根据监测到的数据,对车辆是否处于正常状态做出判断,发现系统的哪一部分工作不正常,以及不正常到何种程度,并给出诊断的结果。同时,诊断应该能判断出车辆的症状,确定故障的部位和原因。诊断的目标是在症状刚出现时就识别,而不是等到所有情况都清楚之后。同时,要记录保存行车信息数据,以便后方下载分析5,15。在诊断方面,有很多故障诊断的方法,如状态空间法,故障树法,神经网络法等4,18,针对车辆不同部分进行专门的
27、故障诊断。(3)故障预测故障预测是确定车辆状况将要发展的过程。要求具备根据过去和现在的行车信息推断出车辆将要发生的故障,提前发现,提前解决,避免等到故障发生后造成更大的损失。举例来讲,车辆的悬架系统,在出现断裂等重大故障之前,往往首先出现的是悬架的裂痕,机械屈服力的下降,这些状态如果可以被提前发现,及时停车修理,便可以避免造成更大的损失5,15。故障预测也体现在其他的方面,如发动机。现在大型工程车辆的发动机,很多选用的是康明斯系列。康明斯发动机本身的电子控制单元(ECU)可以提供很多发动机的监测数据,采集到这些数据并将这些数据将给故障专家系统,根据相关的预测策略,能够很好的实现对动力系统的预测
28、。(4)系统自修复故障发生后,系统可以自动对故障进行处理,最大可能保证车辆的有效性和可控性。经过系统评估之后,可以提示驾驶员进行人为干预,将故障部分恢复到正常状态5,15。(5)作业管理管理人员可以远程监控车辆所在的位置,所从事的作业任务,以及可以向车辆平台发送指令,实现对车辆的调度管理5,15。2.2 车辆健康管理的划分对应健康管理行为的需要,从信息交互角度,可将VHMS分成4个信息层,如图所示。分别为信号处理层、健康监测层、预测层以及人机交互层。该结构实现了从车辆平台上到基地服务器完整的信息传递过程,在每个层级之间信息都可以实现交互传递15,19-20,23。(1) 人机交互层该层应具备与
29、其它所有层通讯的能力,并可通过便携式维修设备、维修管理和操作管理实现综合健康管理系统与维修人员的人机交互界面功能。这一层可以交互的主要车辆平台人机交互和基地平台人机交互两个部分。方式上可以有按键操作式,语言命令式,视觉传达等。车载健康监测系统基地健康管理系统人机交互层预测层健康监测层信号处理层数据传输图2-1 车辆健康管理系统层级关系(2)预测层该层的功能是根据下层传送过来的数据,根据车辆健康评价模型对车辆整体和车辆子系统的健康状态做出判断,对剩余使用寿命进行估计。在预测层中,要求系统具有自推理能力,可以建立任务与操作性能评估推理机,诊断维修推理机,使用寿命推理机。本层产生的推理结果可以发送给
30、下层健康预测层,控制车辆动作,为驾驶员提供驾驶建议,也可以上传给人机交互层,为管理人员提供车辆管理与控制的依据21。(3)健康监测层健康监测层的功能是接收来自信号处理层的各种传感器数据,和预测层的评估数据输入,以及其他数据源的信息输入,对系统与子系统的健康状态进行评估,向上一层报告监测结果。本层的信息输入有上一层级向健康监测层下达监测信号范围和报告准则,设定数据的阈值大小和报告频度,来自人机交互层的车辆管理指令,还有信号处理层传递过来的数据。本层根据要求完成对关键数据的监测,根据数据的阈值做出是否有超限,是否需要发出报警信号,并对信号处理层传递过来的原始数据进行记录存储。同时,本层的另一个任务
31、是接收来自上一层的管理指令控制,为驾驶员提供必要信息,完成对车辆的任务调度与管理22。(4)信号处理层信号处理层通过安装在电动轮汽车各个位置上传感器采集各种数据,并对采集到的数据进行信号调制和转换,然后把数据发送给信号处理模块处理。在这一层级是基础层级,需要采集的数据包括车辆各个子系统当前的工况,传感器采集类型一般包括:温度、压力、位移、应变、振动、流量等,还有电气系统关键点的电压、电流、磁场强度等。在这一层上进行处理、分析时,一般常用的方法有数字滤波、噪声分析、自互相关、FFT、小波变换、均方根值等15,19-20,23 。目前在这一层级传感器种类丰富、处理技术先进,在整个车辆行业已经发展较
32、为成熟。在以上四层结构中,信号处理层、健康监控层位于车辆平台上,是车辆健康监测与管理的主要内容。功能可直接借助车辆子系统中的传感器、处理器以及分布式系统总线网络和计算单元来具体实现。预测层和人机交互层在功能上需要更强的计算处理资源,以及更加广泛、完整、全局性的数据资料和历史性档案,主要由基地服务器的相应健康管理子系统/设备来实现。二者之间的数据交换通过卫星通讯、无线局域网、本地下载等方式完成。2.3 车辆健康管理系统的组成车辆健康管理系统(VHMS)主要分为三部分: 车载健康监测系统、基地健康管理系统和通信系统。其中车载健康监测系统包括车辆运行数据的监测,执行来自基地指令,完成任务管理。基地系
33、统以建立车辆群组综合信息系统为基础,是一个颇具规模的计算机网络,包括车辆群组的运行控制站、诊断推理机、维修推理机和维修资源管理器。二者之间通过通信系统完成数据传输。如图2-2所示。GPRSGPRS/GPS电动轮汽车基站PCVHMSVHMS电动轮汽车车载健康监测系统GPRS/GPSGPRSPC基地健康管理系统通讯系统图2-2 车辆健康管理系统原理图(1)车载健康监测系统其功能是完成车辆数据的监测和记录,自测试诊断与自缓和修复。主要由传感器信号采集部分,数据转换部分,自测试诊断部分,数据存储记录部分组成。目前的电动轮汽车的数据采集的元器件大多采用总分结构,由专用控制器将车辆各个位置上的传感器连接起
34、来,传感器负责信息的采集,在控制其内部完成AD转换。车载健康监测系统终端通过现场总线采集到车辆工况数据,在对数据进行转换和整理后,发送给通讯系统。车载健康监测系统如下图2-3所示。发动机模块励磁控制模块车载健康监测终端逆变控制器电制动控制器GPS模块车内温度传感器排气温度传感器油箱油位传感器转速传感器油门踏板位置机油压力传感器GPRS其他传感器模块USB以太网模块报警模块图2-3 车载健康监测系统框图(a) 传感器信号采集目前大部分电动轮车辆上布置有各种功能的传感器,如转速传感器、压力传感器、温度传感器等等,将传感器按照车辆子系统进行分类,采集到的信号由专用控制器集成,完成信号AD转换。(b)
35、数据转换数据转换根据实际情况在专用控制器部分或者监测系统终端完成。在这部分的具体操作,可以根据数据的作用和重要程序来区分。如果数据时车辆控制策略判定时所必须的,往往在控制器内完成;如果不是必须的,为了让控制器的任务尽量简单,明确,数据转换工作由监测系统来完成。(c)自测试诊断部分车载健康监测终端根据自诊断推理规则,结合监测到的车辆运行数据,对车辆的健康状态进行初步诊断,并根据诊断结果响应预警或报警动作。目前来讲,车辆的自诊断能力还是初步的,这与当前的车载硬件平台的性能有关,但是,这些初步的自诊断能力,对车辆保持正常运行有着积极的作用。(d)数据记录能力这部分完成原始行车数据的记录,在记录中利用
36、数据字典技术,结合数据时标(Time Scale)记录保存,根据数据记录结果可以在后台完成行车状态的完整还原重现。在记录上,可以根据不同的方法,有些是选择本地记录,有些是选择远程服务器端记录,如日本小松公司的车辆健康监测系统。存储介质上,无论是记忆卡,还是Flash,这方面的区别并不大。(2)基地服务器健康管理系统基地健康管理系统由一个性能较高的后台服务器及其配套计算机组成。具有较大的数据库管理能力,车辆健康状态诊断推理能力,对作业车辆群组控制协调能力。在数据库的管理上,可以建立详细的车辆全寿命运营档案,对整车的工作寿命期间跟踪监控;健康状态诊断推理由车辆健康专家系统组成,包括故障诊断推理机、
37、寿命预测推理机、维修推理机,维修资源推理机等,可以在故障发生前预测车辆的子系统或部件的寿命,及时更新,避免造成更大的损失;基地管理人员可以向正在作业车辆群组下达控制指令,控制车辆以最佳状态完成作业要求。(3)通讯系统通讯系统是指车辆健康管理系统各部分之间的通信与信息交换的方式。在车辆与基地健康管理系统之间的通信,主要通过卫星、地面基站等无线通讯传输方式,以及以总线接口的直接数据下载等方式来实现;基地健康管理系统各部分间主要通过计算机网络的互联来实现。通信系统的功能是确保体系中各个部分之间进行正确、通畅、协调、安全的信息交流,从而实现整个体系的信息化、网络化、一体化。2.4 本章小结本章主要分析
38、了健康管理概念在车辆领域的新应用,围绕电动轮车辆工作的整个生命周期,总结了车辆健康管理的内容,论述了车辆健康监测的必要性。根据健康管理的需求,在参照飞行器健康管理理论的基础上,从信息交互方面,把车辆健康管理划分为人机交互层,预测层,健康监测层,信号处理层四个层级。本章从工程实现的角度,界定了车辆健康管理系统的组成,整个系统可以分为车载健康监测系统,基地健康监测系统和通信系统三大组成部分。同时,明确了本课题研究的重点车辆健康监测系统。3 数据驱动机制的研究3.1 软件重用思想概述计算机技术不断发展的同时,带来了新的变化,一方面是软件需求不断增加,另一方面是应用软件开发效率低下,难以满足实际需要。
39、这使得计算机专家们为软件开发寻找一些新的途径。从目前的计算机软件行业研究现状来看,主要存在两种发展趋势:一是软件生产自动化(如程序自动生成技术),二是软件重用技术。程序自动生成技术是指计算机根据用户给出的问题描述自动生成程序的一种程序设计方法,从而实现用户只给出做什么,而不必说明如何去做;软件重用技术是指以一切可能的方法对一切可以重复利用的软件产品进行重用24。自上世纪60年代以来,人们就开始谈论软件重用,软件重用技术在一些软件开发中得到了重视,开发出的软件重用的方法也有很多种,包括:软件系统文档、软件系统逻辑结构、程序代码、测试数据、系统开发工具等,其中数据结构和程序代码是软件产品最重要的方
40、面25-28。 软件重用技术对业界发展带来的好处如下29:(1)提高软件生产率,减少开发时间和费用;(2)提高软件质量,开发出来软件可靠性高;(3)降低开发风险;(4)简化软件开发流程,使得软件开发易于管理;(5)降低维护的难度、工作量和费用,且有可能延长运行期以提高软件系统的效益;(6)共享有关建立系统的知识,便于学习系统结构和建立好的系统,促进软件开发过程的标准化;(7)易于提供文档资料等25。基于软件重用的角度出发,为了更好的保持软件的稳定性和继承性,避免经常性的修改,方便用户的使用,在软件设计方法上,本文借助于数据驱动机制,实现程序与数据最大限度的分离,提高了程序独立性。3.2 数据驱
41、动机制原理3.2.1 数据驱动机制的提出一个设计模式的提出,往往是由于大量的相似的问题的出现。比如,在实验室与北方重汽的一个项目合作中,用户的需求之一就是要求具有数据采集功能。在研发的车辆上安装了大量的数据采集子系统,这些采集子系统具有大致相同的作用,只不过采集的数据种类和类型不同而已。如果需要采集某种数据,需要针对其设计一个专用数据采集器;如果需要更改采集的数据类型,更是需要来自采集系统提供方帮助,由提供方对采集子系统的软件重新修改,再次编译烧写到采集器上。这个过程需要花费很大的人力物力。有时候,车辆面临设备升级换代,因此而产生新的数据监测需求,需要更换或者安装一个新数据采集系统。数据采集子
42、系统多而杂,他们之间不具有关联性和通用性,执行大量重复的工作。为了实现系统的通用性,理想情况下,在车辆上只需要安装一套数据监测系统,就可以完成对所有数据的监测。由于数据种类繁多,数据量大,势必对系统的硬件性能有很高的要求,同时,保持数据监测和记录的实时性也变成一件困难的事情。但是,在实际工作中,用户通常仅仅关心少数几种数据,采集到的即是所需的,并不想在后台再去做二次选择。这就对新的监测和采集模式提出了新的要求:第一,要求具有简单性和低成本。只安装一套监测系统,硬件成本不高,但是具备监测和采集车辆所有数据的能力;第二,要求具有和实时性和选择性。即用户可以任意选择他们所关心的实时性数据;第三,要求
43、具有简便性。用户在选择性监测和采集的时候,不需要对软件修改和做二次开发,即可完成;第四,要求具有可扩展性。当车辆增加新设备或者设备升级的时候,也不需要去改变监测和采集系统软硬件环境。3.2.2 数据驱动机制的概念根据上述分析,用户所关心的是采集到他们需求的数据,并在保证实时性的情况下,对数据做出一些简单的预处理。数据驱动机制,是在基于软件重用思想的程序设计发展趋势中,提出的一种新的模式,它将程序中访问关键节点数据抽象为元数据模型,利用不同的抽象模型,产生不同的控制行为流,最终达到一个程序实现多种不同软件流程的作用。在本文中选用数据驱动机制,为了更好地理解元数据驱动模型和相关机制的控制原理,首先
44、明确以下几个基本概念。(1) 元数据(Metadata) 当数据在程序中不是被加工的对象,而是被用来对程序的运行起控制作用,并且可以通过值的改变而改变程序的行为时,这样的数据称为元数据30,31。元数据可以对程序流程进行控制,为了提高稳定性,元数据仅在采集系统进行维护时可能发生修改,相对稳定,一般选择为静态存储,在本系统设计中,考虑到存储的简单性,高适应性,对元数据选择二进制文件来描述。(2) 数据驱动(Data-driven) 基于元数据进行程序设计和行为控制,当元数据更新时,程序的行为或者结果产生预期的变化,称为数据驱动31。数据驱动可以实现程序与数据的分离,数据位程序的执行提供入口,并影
45、响程序的执行过程。(3) 目标逻辑(Target Logic) 根据特定目标规则,用实现特定功能单元的结点和表示结点行为关系的边形成的特定工作流程来表述并实现了功能目标,称为目标逻辑31。(4) 流程图(Flowchart) 表示特定目标逻辑的有向图,其结点表示特定的服务处理功能,边表示服务处理功能之间的关系。在元数据驱动模型中,流程图用元数据表示,由特定的构件加载,并根据其表现的目标逻辑来控制其他相关构件的运行31.3.2.3 数据驱动机制原理23,31-33监测系统软件设计的出发点来自用户的需求,用户有选择性的关心车辆某一种或者某一类工况数据,将用户的这种选择性需求抽象为一类元数据。元数据
46、驱动机制的控制核心思路是,程序读取元数据,根据元数据内容选择不同的执行路径,这样就实现了一层被重用的功能模块用程序的行为控制流来封装,不同的功能模块之间的不同关联关系用数据来描述。这样,对请求方的需求行为,也就是要求对方提供服务的行为,可以用数据来表达和控制,数据的变化就会引起行为的一定流程控制范围内的改变。基于这种思路,目标逻辑的稳定部分和可变部分可以被分开,对于那些具有可选择性的可变部分,可以完全用数据来表示,那些稳定的可以用框架程序来表示,这样,就提高了程序的可操作性。基于元数据驱动模型的行为实现中,目标逻辑划分成两个部分,一部分是经过抽象后由不同的单元构成的集合,每个单元的内部有十分密
47、切的逻辑关系,而且将来发生部分改动或扩充的可能性较小,这样的单元称为结点;另一部分是由结点之间逻辑关系构成的集合,这一部分将来发生改动或扩充的可能性较大,这样的关系称为边。用不同种类的构件来实现不同种类的结点,结点内部的逻辑用程序中的控制流体现。用元数据来表示映射成结点之间的关系,这样一组元数据完全代表了一个具体的流程图。根据目标系统的特定领域软件体系结构约束规则,用特定的流程图控制构件来加载流程图,在外部激发下找到对应的流程图,从其入口启动其起始结点运行,再根据其运行结果对图中的边进行解释,确定要执行的结点标识,然后激活下一结点运行,递归控制,直至到达该流程图规定的一个合法出口为止。元数据驱动的控制过程见图3-1。目标逻辑结点边元数据文件表示元数据加载构件目标系统控制元数据标记规则结点程序抽象抽象程序实现映射映射关联动态选择与控制动态加载动态产生规定的目标行为图3-1 元数据驱动的控制原理采用以上的功能模块与模块关系之间的划分思路,一个具体的流程图一般对应一个元数据文件,表达一个具体的目标逻辑。这个目标的最终行为的产生是3个因素综合的结果。首先是实现功能行为的结点语义,其次是元数据文件描述的对应特定流程图的所有可能执行路径,最后是一次执行过程中的动态加载的各种反映环境关系的控制参数。后两