(武汉理工大学 机电工程学院,武汉 430070)
随着机车系统的数字化程度越来越高,机车检修过程的数据信息呈指数级速度增长,充分合理地利用这些数据,对于运行人员正确分析故障信息、及时处理故障、完成检修任务,进而提高机车检修管理水平有很大的帮助。
目前机务段已有一些信息系统投入应用,但是各个信息系统相互独立,无法实现检修过程信息共享,造成了一些基础性数据的重复录入和人力资源的大量浪费。同时,机务段生产过程中业务信息的传达依赖于电话通信,数据信息依靠人工录入,数据共享通过纸张传递[1]。这都不能保证数据的完整性和安全性,易造成数据丢失等问题。而且数据分析过程只是对基础数据进行简单的分析和处理,未能深入挖掘其蕴含的丰富知识,无法从时间和空间上深层次理解与运用这些数据,因此存在数据挖掘不够充分、系统分析功能不全面、检修信息综合利用度不够等不足。
针对上述不足之处,采用ASP.NET技术开发出机车检修过程管理系统,并建有独立的SQL数据库,通过采集机车检修过程数据,及时地查看每一台机车检修过程中的具体信息,并记录机车在段内的检修、停时、超修部件等情况,将这些数据制成统计图表展现给决策者,使其能快速了解段内机车的检修情况,提高检修工作效率。
在机车检修过程管理系统软件的开发过程中,采用ASP.NET技术、B/S分布式系统结构模型,选用SQL数据库,通过ADO.NET提供的Data Grid等数据库组件直接和数据库联系,了解和分析机务段的需求,再结合具体的实际情况,实现对ASP.NET技术与数据库技术的整合应用,进而开发了基于ASP.NET的机车检修过程管理系统。
ASP.NET是Microsoft公司推出的服务器的一个组件。它可以结合HTML、CSS、Active X控件和ASP.NET指令创建交互的、动态的、高效的应用程序,且易于完成进一步的扩展功能[2]。ASP.NET技术的重要特点为
编程语言多样化ASP.NET没有特定的编程语言,用户在编写代码时,可以使用VB、C#、C++等脚本语言。ASP.NET不仅可以只选用一种语言,还可以选用多种语言混合编程,各种不同的语言结合起来,编程语句更加简便、易懂。ASP.NET可以直接与数据库通信,读取和存储数据,且由于Active X控件可以无限扩展,因此ASP.NET相对于HTML等更方便、更灵活多变。
对象、组件内置为便于编写复杂的程序,ASP.NET提供6个内置对象,更加便捷地完成一系列从变量到表单提交的工作。还可通过自定义Active X Server Component来扩充控件。
制作简单、高效ASP.NET使用Visual Studio开发环境,采用代码托管简化了页面开发过程,且多次访问时,不需要重新编译。
ASP.NET的一般工作过程如图1所示,用户在浏览器上输入URL地址①,服务器做出响应,浏览器就会显示相应的页面②,用户在此页面上进行操作,发送HTTP请求给服务器终端③,让其执行相对应的ASP应用程序,当程序需要连接到数据库时,ADO.NET提供接口使其与数据库交互⑤,从而实时更新数据库的信息,使用SQL读取数据库信息⑥,再将执行后的动态结果生成一个HTML页面返回浏览器端④。
图1 ASP.NET工作过程Fig.1 Working processing of ASP.NET
B/S结构即为浏览器和服务器结构,是随着互联网技术的快速发展,在Client/Server结构基础上的改进。它结合多种脚本语言和Active X等技术,用通用浏览器实现强大功能,不再需要复杂的专用软件,节约了开发成本,简便了开发过程。B/S结构采用3层客户服务器结构,将应用分为表示层、业务逻辑层和数据存储层3个不同的处理层次[3]。从逻辑上看,中间件负责客户机与服务器、服务器与服务器之间的通信,实现了应用程序与数据库的高效连接,提供给3层服务器结构一个开发、部署、运行和管理的基础平台。在这种3层结构中,层与层之间彼此独立,不影响其它层,减轻了客户端电脑的负荷,使得系统维护与升级的成本和工作量降低。图2为系统的3层构架。
图2 系统的3层构架示意Fig.2 Schematic diagram of the three layer structure of the system
B/S结构的重要特点有:
开发、维护、升级方式简捷只需要打开通用的浏览器,就可以在任何地方操作,不需要安装任何客户端,更不需要维护和升级,因此系统的扩展性能很好;
分布性、共享性较强且成本较低在访问权限范围内,不同人员可以从不同地点以不同的接入方式访问到相同的数据库。但同时数据安全和管理访问权限也可以得到有效的保证。一次性完成开发B/S结构,使得成本降低。
机车检修过程中会产生大量的机车质量信息数据,这些数据是非常宝贵的信息资源,是建设信息化机务段的基础。对这些数据资产进行有效管理既是生产调度指挥中心的重要要求,也是机车质量管理重要的潜在价值[4]。采集和统计整理这些数据资源既是机务段信息化建设的出发点,又是机务段信息化的目标。为了使信息系统的应用效果达到最佳,必须对数据作充分的分析。当数据积累到一定程度时,通过先进的数据分析手段,可以深入挖掘机车质量特性等众多有价值的信息,从而充分体现信息化带来的数据资产价值。
机车检修过程产生的数据包含有检修过程状态、故障原因、停时、超修等数据。集中管理、统计和共享这些数据,并利用此数据对机车质量进行分析,建立故障模型、完善故障诊断技术等。因此,机车检修过程在整个机务段的作业流程中有着非常重要的作用。
目前,机务段机车检修过程是手动记录机车检修的相关内容,这种方式会产生大量繁复的数据,工作量很大,不能从收集到的数据中获取一些深层次的知识和信息,这样就会导致数据挖掘不充分、分析不全面,未能实现基础数据标准化、数值化、资产化。而且检修过程中,各部门只能通过纸质进行交互,机务段机车检修工作效率低下[5]。基于ASP.NET的机车检修过程管理系统通过统计采集到的各类机车检修数据,分析故障原因、停时、超修数据,制作成各种统计图,便于工作人员了解机车检修进度,学习各种故障类型和解决方案,形成故障诊断技术知识库,并能根据机车某些故障状态和指标,预测机车的故障类型,及时提供解决方案,因此不但在很大程度上提高了工作人员的工作效率,也为决策者提供了参考依据,使其能快速了解段内机车的生产情况。
机车检修过程管理系统的主要功能是及时地查看每一台机车检修过程中的具体信息,并记录机车在段内的检修、停时、超修部件等情况,将这些数据制成统计图表展现给决策者,使其能快速了解段内机车的生产情况,提高工作效率。主要包括以下几个模块:过程管理、停时管理、超修管理、停时统计、超修统计、检修统计以及基本信息设置。
过程管理模块的主要作用是查看机车检修过程中的各项内容是否完成,并查询检修的具体信息。同时可以实时查询到机车在段内的检修情况,了解机车的检修进度。停时管理模块主要是根据机车的扣修时间以及交车时间,确定机车在段内的停时。对于超过规定停时的机车,记录其超停时原因和相关的改造项目以及对应的折算台数。超修管理模块的主要作用是记录机车在段内检修时各专业的超修情况,便于查询和统计。停时统计模块主要用于统计各个修程和机型的机车在段内的停时情况,便于决策者了解各机型,各修程的机车检修情况。超修统计模块统计各个专业的超修项目出现的次数及其折算情况,以图表的形式展现出来,便于相关人员的决策和信息收集。检修统计模块主要用于统计各个机型的机车在不同修程内的数量以及改造项目的数量,为相关人员在决策或者考核中提供数据支持。基本信息设置模块主要是对检修过程管理模块的基本信息进行设置,包括检修部件设置、超停时原因设置、改造项目设置、标准停时设置以及折算台数设置。
ADO.NET是由微软公司开发的用于访问数据库的一套组件模型,它可以实现应用程序与数据库在数据缓存非完全连接时进行交互,灵活多变,广泛地满足了不同的数据访问要求[6]。ADO.NET组件对象模型是.NET Framework的重要组成部分,由Connection,Command,Data Reader,Data Adapter和Data Set 5个对象组成,它们相互之间分工合作,完成应用程序对数据库的访问。其中,Connection对象连接数据源,Command对象生成并执行应用程序中的数据库语句,Data Reader对象按顺序读取执行数据库语句后得到的数据,Data Adapter对象将语句执行后得到的数据搬运到数据集中,Data Set对象存放数据源数据[7]。在系统开发过程中,利用ADO.NET访问数据库的步骤如下:
1)创建数据库Connection对象,以连接到数据库;
2)创建数据库Command对象,以在数据库中执行数据库语句的操作;
3)使用Data Reader对象在数据库中读取执行指定的操作后在数据库中得到的结果,或者创建数据Data Adapter对象将结果填充到创建的Data Set中,作为应用程序的数据源;
4)在应用程序对数据结果执行操作后,使用Command对象或者Data Adapter对象更新数据源中的数据;
5)释放ADO.NET中的5个组件对象,断开与数据库的连接。图3为ADO.NET访问技术原理。
图3 ADO.NET访问技术原理Fig.3 Principle of access technology
其部分相关代码如下:
机车检修过程管理系统的页面由过程管理页面、停时管理页面、超修管理页面、停时统计页面、超修统计页面、检修信息统计页面、基础设置页面共7个页面组成。此系统集成了检修过程管理所需的各个功能,模块功能清晰,操作简单快捷,实现段内无纸化作业,提高机务人员的工作效率,且深度挖掘数据信息,为机务段决策者提供决策依据,现实数据的共享和资产化。目前该机车检修过程管理系统已经在机务段投入使用,运行稳定,操作方便简单,效果明显。系统界面如图4所示。
图4 机车检修过程管理系统界面Fig.4 Interface of design of maintenance processing for locomotive
基于ASP.NET的机车检修过程管理系统较好地满足了机务段检修运作的需求,提高了机车检修过程效率,促进了机务段的信息化、数据共享化和资产化,为机务段以后的发展奠定了良好的基础。整个系统的功能设计思路清晰、易于维护、安全性有保障。同时,系统也存在一些问题,系统的稳定性和处理速度没有得到检测,有待进一步研究和改进。
[1]LI Yishan,HONG Lifang.Development of a non-pollution orange fruit expert system software based on ASP.NET[J].Agricultural Sciences in China,2011,10(5):805-812.
[2]Zhang Qian,Zhong Shengjun,Jiang Guanyu.Development of an expert system for dust explosion risk management based on ASP.NET and Prolog[J].Journal of Software,2011,6(9):1857-1865.
[3]方开红.ADO.NET数据库访问技术在ASP.NET开发中的研究与应用[J].软件工程师,2015,18(7):19-21.
[4]徐春婕.铁路大型客运站管理系统及关键技术研究[D].北京:中国铁道科学研究院,2014.
[5]李勋,龚庆武,杨群瑛,等.基于数据挖掘技术的保护设备故障信息管理与分析系统[J].电力自动化设备,2011,31(9):88-91.
[6]徐岩柏.ASP.NET数据库访问技术[J].中国科技信息,2009(11):145-146.
[7]蒋薇,赖青贵,秦玲,等.基于ADO.NET数据访问技术的研究和应用[J].微计算机信息,2010,26(30):141-143.