您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 电子商务 > 数据库技术在机车清洗中的应用
数据库技术在机车清洗中的应用马昌训吴运新(MaChangxun)(中南大学机电工程学院长沙410083)(CollegeofMechanicalandElectricalEngineringofCentralSouthUniversity,Changsha,410083)摘要:随着我国城市轨道交通的快速发展,机车的自动化清洗的机车的运营和管理过程中起着越来越重要的作用。本文对城市轨道交通喷淋式机车清洗系统作了简要介绍,在对机车清洗系统数据库进行简要的需求分析的基础上建立了其E-R模型。介绍了数据库的实施过程并给出了使用VB6.0开发的应用程序连接和操作数据库的关键程序代码。关键字:数据库,机车清洗,MSAccess,VB6.0,E-R模型中图分类号:文献标识码:文章编号:1引言随着我国铁路运输工业的迅速发展,对机车自动化清洗的需求越来越迫切,机车清洗机的应用将越来越普及。但目前的机车清洗机大多为现场作业,有必要开发具有远程监视和控制能力的机车清洗系统,以提高机车清洗机的应用水平,这里的关键技术之一就是建立数据库系统。数据库系统,从根本上说是计算机化的记录保持系统,它的目的是存储和产生所需要的有用信息。一般情况下,一个数据库系统要包括数据、用户、硬件和软件。现在数据库市场产品繁多,最常用到的数据库有甲骨文的Oracle,IBM公司的DB2,微软的SQLServer等。MicrosoftOfficeAccess(简称Access)是由微软发布的关联式数据库管理系统。它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,并且同现有大部分数据库管理系统一样是一个基于关系型数据模型的数据库管理系统,它提供了强大的数据处理能力,并且能够存取Access/Jet、MicrosoftSQLServer、Oracle或者任何ODBC兼容数据库内的资料。虽然Access在数据量过大时性能会急剧下降,但考虑到在机车清洗中数据有限并且具有移植性好的优点,选择Access数据库结合VB6.0来建立机车清洗机的数据库系统。本文将在简要介绍机车清洗机的基础上按数据库的设计步骤来介绍数据技术在机车清洗中的应用。2机车清洗机概述这里将要介绍的清洗机是专门针对地铁机车的射流式清洗系统。地铁机车相比于长途客运列车来说具有运行环境较好、机身较清洁等特点,因此该射流式清洗系统主要是在内燃机车的清洗机的基础上精简和改进产生的。该清洗系统主要由喷淋系统、光电开关、控制系统、上位机、应用程序和数据库系统所组成。在机车缓慢行驶通过光电开关的检测位置时,系统启动,PLC控制喷淋装置按顺序完成清洗动作。机车清洗机采用三菱公司的FX2N系列PLC控制,并通过串口通信与上位机通信,从而实现与整个数据库系统联机操作和监控。3前期准备工作数据库系统在实现以前,都需要通过常规的设计步骤进行数据库的需求分析、概念,逻辑和物理结构设计等阶段,然后建立数据库,编制与调试应用程序。数据库的需求分析是整个数据库设计开发的最重要步骤之一,是后继各阶段的基础。由于一个城市的地铁数量较多,且每辆机车的入库时间和运营时间都不是一致的,为了保证机车的维护质量,根据机车的实际运行状况和对现有的清洗系统的分析,该系统需要建立用户数据库和车辆信息数据库。其中用户数据库需要考虑用户帐号、真实姓名、职位编号、注册时间以及登录身份等几项数据,而对于车辆信息数据库,需要考虑机车的车辆编号、车型代号、开始清洗时间、清洗结束时间、系统运行状况和故障代码以及信息备注等几项数据。经过分析后得到整个数据库的数据流图如图1所示。概念模型是对所求信息的建模,能够方便、准确地表示出所求信息的常用概念。由于概念模型的表示方法有很多,这里只用最为著名且使用也最为广泛的实体-联系方法,即E-R模型来表示机车清洗机的概念模型。机车清洗系统数据库的实体-联系图如图2所示。4数据库实施我们知道数据库实施主要包括用DDL定义数据库结构、组织数据入库、编制与调试应用程序以及数据库试运行等几项主要工作。由于系统基于VB编程软件开发,并且所有的数据库都只能是在整个系统都投入实际运行时逐步添加或自动生成的,在计算机上建立里好数据库的物理结构并使用DDL定义好数据库结构以后,接下来的主要工作便是在应用程序客户端组织数据入库以及实现数据的查询和更新等操作。图3和图4分别是用户数据库和车辆信息数据库在客户端的操作界面。其关键的程序代码如下所示。车辆信息用户操作账号姓名职位编号注册时间身份信息备注车辆编号车型代号开始时间结束时间运行状况故障代码图2实体-联系模型监控模块调度模块PLC系统数据库工作状况开始/结束时间故障代码用户输入查看车型/车号图1数据流图(1)定义用户数据库的SQL语句,车辆信息数据库于此相似CREATETABLEtable_user(usernoCHAR(20)NOTNULLUNIQUE,userxingmingCHAR(20),usertimeDATE,图3用户数据库操作界面图4车辆信息数据库查看界面useridentityCHAR(10),userjobnoCHAR(15));(2)数据库的变量声明OptionExplicitDimadoConAsADODB.Connection'声明对象DimadoRstAsADODB.RecordsetDimvBookmarkAsVariant'书签变量PrivateConstODBC_ADD_SYS_DSN=4PrivateDeclareFunctionSQLConfigDataSourceLibodbccp32.dll(ByValhwndParentAsLong,ByValfRequestAsLong,ByVallpszDriverAsString,ByVallpszAttributesAsString)AsLong(3)在VB应用程序中调用动态数据库StrAttributes=DSN=tesuin&Chr(0)'tesuin是数据库服务器名StrAttributes=StrAttributes&Dbq=&App.Path&\data.mdb&Chr(0)&FIL=MSAccess;&Chr(0)StrAttributes=StrAttributes&MaxBufferSize=2048&Chr(0)&PageTimeout=5&Chr(0)CallLoadDbSource2(MicrosoftAccessDriver(*.mdb),StrAttributes)'data.mdb是数据库文件的名字(4)在VB应用程序中与数据库建立连接SetadoCon=NewADODB.Connection'建立连接adoCon.OpenDSN=tesuin;uid=sa;PWD=123456'服务器名;数据库用户名;数据库密码SetadoRst=NewADODB.Recordset'建立记录集SetadoRst.ActiveConnection=adoConadoRst.CursorType=adOpenStaticadoRst.CursorLocation=adUseClientadoRst.LockType=adLockOptimisticadoRst.Source=table_user'数据库表名adoRst.Open,,,,adCmdTable'建立连接完成(5)在用户数据库中添加新纪录adoRst.AddNew'记录集添加新记录adoRst!userno=Text1(2).Text'编程给用户名字段赋值,其他字段与之相似...adoRst.Update'记录集及数据库的真正更新(6)查看用户数据库中的记录,对应图3中的各个输出值Text2(0).Text=RTrim(convertNull(adoRst!userno))'输出用户名Text2(1).Text=RTrim(convertNull(adoRst!userxingming))'输出用户姓名Text2(2).Text=RTrim(convertNull(adoRst!userjobno))'输出用户工作编号Text2(3).Text=RTrim(convertNull(adoRst!usertime))'输出用户注册时间Text2(4).Text=RTrim(convertNull(adoRst!Useridentity))'输出用户的身份(7)查看车辆信息数据库中的记录DimChaxunTiaojianAsString,ChaxunYuJuAsString'声明变量DimTiaojian1AsBoolean,Tiaojian2AsBoolean,Tiaojian3AsBoolean,Tiaojian4AsBooleanChaxunYuJu=selectchexingas车型,chehaoas车号,qxmoshias清洗模式,ksshijianas清洗日期,jsshijianas结束时间,guzhuangas故障状态,beizhuas备注fromtable_cheliangChaxunTiaojian=ChaxunYuJu&wherechexinglike'&Combo2(0).Text&%'andchehaolike'&Combo2(2).Text&%'andksshijianbetween#&Date-7and#&Dateandguzhuang='是';'查询满足某一条件时的查询语句Adodc1.CommandType=adCmdText'设置数据库连接工具AdodcAdodc1.RecordSource=ChaxunTiaojianAdodc1.Refresh'刷新,输出5小结利用VB6.0编程软件和MSAccess开发设计了机车清洗机系统的数据库及客户端应用程序。由于Access数据库可移植性好,软件包基本可以在任意WindowsXP系统里安装和使用,这给实际应用带来极大方便。经过测试表明,该系统不仅具有友好的操作界面,而且数据库稳定可靠,从而实现了机车清洗机信息的计算机管理,进一步促进了机车的自动化清洗,提高了清洗机的应用水平。参考文献[1]曾海平,李铁骑,丁启全.串行通讯技术在机车清洗机中的应用[J].内燃机车.2005年1月,第1期(总第371期)[2]梁灿,赵艳铎.Access数据库应用基础教程[M].北京:清华大学出版社,2005[3]于晓薇,李铁骑,李宝龙.PLC在机车清洗机控制系统中的应用[J].机电工程,2004年第21卷第1期[4]萨师煊,王珊.数据库系统概论(第3版)[M].北京:高等教育出版社,2002.2作者简介:马昌训,(1985-),男,硕士研究生,曾参与开发设计机车清洗系统数据库应用程序,现主要研究工程机械的故障诊断作者姓名:马昌训作者单位:中南大学机电工程学院邮政编码:410083通信地址:湖南长沙中南大学校本部桃花公寓A栋435联系电话:13212638745电子邮箱:tesuin@hotmail.com
本文标题:数据库技术在机车清洗中的应用
链接地址:https://www.777doc.com/doc-2428409 .html