车辆工程毕业设计131汽车发动机零件管理系统的开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
在汽车发动机研制过程中,由于其结构复杂、参数众多且在设计过程中需要处理大量数据及文档。
这样就会有大量的数据与信息交换共享,因此采用高效、快捷的数据管理对发动机设计具有重要意义。
传统的手工数据管理方式已经愈来愈不能适应现代发动机设计要求,采用数据库技术可有效改善信息管理质量,减少信息冗余,提高信息共享。
本文详细论述了一个发动机零部件库管理系统的开发设计过程。
系统采用VC++ 6.0作为开发平台,SQL Server 2000作数据库管理系统,实现了零部件增加、修改、下载、删除、查询等功能。
本文组织如下:首先阐述了该系统的开发背景、意义;其次介绍了相关的开发工具及技术基础;接着对系统的需求进行了分析,并提出了具体的设计方案和数据库模型;然后展现了整个系统的具体实现,包括数据库的设计和连接,各功能模块的实现。
此系统为缩短发动机的设计周期、降低发动机的研制费用、提高发动机制造效率、提高设计质量和设计效率提供了一套有效的工具;提高发动机设计单位的应变能力;为发动机的改进设计提供技术保障;为新一代发动机的快速研制提供技术储备。
关键词:汽车发动机;零部件库;VC++;C/S结构;SQL server 2000
ABSTRACT
While the automobile engine manufactured, on account of the engine is so sophistic,parameters are so many and the process of design need to deal with numerous data and documents. There will be large quantity data and information exchanged, the traditional data management system is not suitable for the modem engine development, so the new data and information management system with high efficiency is significant.In this case, database technology is a better choice for the sake of improving management quality and efficiency.
It uses VC++ 6.0 as the development platform, SQL Server 2000 as the database management system, and includes the functions of automobile engine parts increased、modified、downloaded、deleted and queried, etc.
This article is organized as following.Firstly, analyzes the background and significance; Secondly, introduces the development tools and the foundation of the technology; Thirdly, analyses the demand of the system, gives a specific design project and a database model; Then shows the implementation of the whole system, which includes the design and linkage of the database and the implementation of every module.
The system provide an effective tool to shorting the cycle time of automobile engine design、reducing engine development costs、improving the engine manufactured standards、improving the design quality and design efficiency; improve the resilience of an engine design organization; provide a technical support to improving the engine design; provide a technical reserves to developing the generation engine rapidly.
Keywords: Automobile Engine; Parts Library; VC++; C/S Structure; SQL Server 2000
第1章绪论
1.1选题的目的及意义
在汽车发动机研制工作中,由于发动机结构复杂、参数众多和在设计及装配过程中都需要处理大量数据及文档。
巨量的信息在设计部门、工艺部门、装配部门、测试部门、管理部门以及生产部门之间传递,而且一个新型号发动机从设计到量产通常需要多次的迭代反馈才能完成(如图1.1所示)。
使用传统的数据处理方式必然会导致数据缺乏管理、使用效率低、信息冗余等问题。
采用计算机数据库技术可有效利用数据库强大的数据处理功能,统一管理设计、实验及装配过程中产生的各种数据,在不同的应用中共享数据库中的各种资源,减少信息冗余[1]。
设计
工艺
装配
测试
量产
图1.1 发动机设计到量产界面
汽车发动机从开始研发到大量生产需要经过一个漫长的周期,设计人员经常需要使用其它产品的标准零部件或通用的零部件。
但目前这些零部件都分散在设计人员的机器中,由个人进行维护和管理,存在着缺少相关描述性信息、使用和查询不方便等缺点。
采用传统的信息管理方式将无法适应新情况下的需求,因此,只有充分利用数据库系统强大的数据处理功能,建立一个汽车发动机零部件数据库,将这些的零部件集中管理,共享发动机设计及各种文档信息,才能从根本上解决发动机设计、论证周期长、效率低的问题。
该零部件库的建立可以提高发动机设计单位的应变能力,降低发动机的研制费用,提高发动机制造效率,为发动机的改进设计提供技术保障,为新一代发动机的快速研制提供技术储备。
在发动机设计过程中使用数据库技术具有如下重要性与意义[2]:
(1)改善管理手段。
使用发动机数据库技术可以将分布于各个部门的纸介质图样和技术文档转化为数字化信息,统一管理。
(2)提高产品装配质量,最大限度消除人为因素的影响。
采用统一的发动机数据库管理模式,将设计资料、工艺信息、制造资源与实验数据建立在同一个数据库中,可以由系统来保证数据的一致性和正确性。
(3)优化流程,降低成本。
设计文档与测试数据的网上交换,可以省去大量资料分发与传递的时间,大大减少管理与工程人员的工作。
(4)提高工作效率和劳动生产率。
采用数据库协同设计/装配/测试技术,可以提高信息发放/接收和更改的效率:协同个各部门工作,改进工艺设计方式和资源的再利用方式,提高员工劳动生产率。
(5)缩短设计周期。
采用数据库交换信息,辅助发动机设计、装配,统一管理测试与实验数据能大大节约各项活动的时间,最终缩短发动机设计周期。
总之,汽车发动机零部件库的建立可以为发动机的总体布局、部位安排设计、数字预装配等研制工作提供必要的底层支持;可以与设计环境实现无缝集成,使用方便快捷;减少了工程设计人员的工作量,避免了重复性劳动,提高了设计质量和设计效率,大大缩短了设计周期;实现标准件设计过程的自动化,有效提高产品设计效率和质量等。
另外通过汽车发动机零部件库的建立,可以实现设计资源的共享。
该发动机零部件库管理系统必须具备以下功能:
(1)用户可方便浏览管理系统中的零部件信息。
(2)对零部件进行分类管理。
(3)根据用户权限可对库中零部件进行使用及维护。
如增加、删除、查询、下载等。
(4)管理员可以增加、修改、删除用户。
这样不仅能较好的帮助用户在最短的时间内找到自己所需的零部件,而且能让用户以最高的效率进行发动机研发,提高发动机制造效率。
1.2国内外研究现状
由于计算机技术的飞速发展、CAD技术和标准化技术的广泛应用,国外一直很重视对零部件库技术的研究。
在美国及其他发动机制造技术比较发达的国家也均先后成立研究机构,进行相关技术研究,并取得了一定范围的应用成功[3]。
国外对标准件库系统的研究和开发可追溯到早期的二维CAD平台的标准件库系统,如基于Auto-CAD 平台的标准件库系统[4]。
早在1971年,德国标准化协会(DIN)制定发布了标准件和通用件的DIN4000标准,并逐渐得到了多个国家的采用[5]。
ISO/TC184技术委员会在DIN4000的基础上,制定了一个关于计算机可解释的零件库数据表达和交换的国际标准—IS013584,为基于Web的零件库建立与应用提供了必要条件[6]。
随着网络技术的
发展,许多国家纷纷开展网络环境下零件库的研究工作,如欧共体的CIREP项目[7]、美国的ECCI项目[8]、日本的JEMIMA项目[9]等。
国际标准化组织ISO/TC184/SC4也成立了WG2工作组,制订和完善零件库的国际标准ISO13584[5]。
国外对基于Web的零件库的研究相当成熟,已有多家极具规模的零件库[10,11],如TracePart、3D ContentCentral、WebScope、CoCreate、CADClick等。
其中,TracePart的前身为Web2CAD,有超过90多家世界主要的零件制造商加盟(如BOSCH、SIEMENS等),号称目前世界第一大零件库;3D ContentCentral是由美国Solidworks公司推出,提供直接下载三维实体模型功能,同时还为全球的机械工程师提供实时更新的模型零件库,便于设计时的共享;WebScope实现在线聊天,2D文本和图像注释,3D注释,视图旋转、平移、放大、精确测量、加亮隐藏指定模型特征和交叉视图等。
国内对零部件库的研究起步稍晚于国外,但是对这方面的研究也越来越重视,并取得了很多的成果。
在理论研究方面,中国矿业大学的张宏林等对建立基于Internet 的符合国际标准(IS013584)的零件库总体开发方案进行了探讨[12];中科院软件研究所研究了基于Internet/Intranet零件库资源共享技术;上海交大的杨东,张申生等探讨了零件库的零件表达方法、体系结构和实现方案等[13,14]。
目前,随着工程CAD软件如AutoCAD,Pro/ENGINEER,UG,CATIA,SolidWorks 等在国内的普遍使用,许多研究单位和部门都在这些CAD软件平台上利用其对外提供的二次开发接口进行了基于这些软件的标准件库的开发,以弥补这些软件本身不包含标准件库,或库中包含的标准件种类及数量有限,不能满足工程设计人员的需求的缺点。
例如华中理工大学的华中软件公司开发出了基于SolidEdge的三维标准件库Inte3Dlib,能快速生成三维常用标准件和通用件,具有良好的用户界面及交互性能,具有建库、扩充标准件库的能力[15];华中科技大学开发了用于齿轮CAD系统设计的标准零件库。
该标准零件库包含了齿轮传动设计时所用的各种零部件,在用户输入必要的功能参数后,该CAD软件根据优化设计理论能自动生成符合设计要求的齿轮传动系统,包括装配图和零部件图;南航CAD中心所开发的标准件库,分为系统数据总库、临时文件库和用户数据库。
允许用户建立自己的常用零件库并对该零件库的记录进行删除、插入、增加等操作。
用户零件库中的零件记录均来自系统数据总库,总库中的记录不能进行任何更改;北京斯泰普产品数据技术中心开发的基于AutoCAD平台的标准零件库;西北工业大学开发了龙腾实用化三维标准件库系统和CATIA下的标准件库;还有东北大学欧磊公司在SolidEdge上用自动化接口开发了标准件库;哈尔滨工业大学现代生产技术中心开发的基于UG二次开发的导弹电缆标准件库系统等等。
随着计算机信息技术、网络技术的发展,适应产品设计制造全球化、网络化的趋
势,国内科研单位、企业也纷纷研制推出网络化的零件库系统。
单鸿波等人提出了基于Web的面向装配的设计系统集成框架,采用Java和Web技术建立了基于网络的WebDFA原型系统[16];同济大学CAD研究中心推出了基于Web的参数化跨平台零件库系统,该系统具有良好的可扩展性,使设计人员从一些繁琐的绘图中解脱出来,提高产品的设计效率并降低设计的成本[17];西北工业大学开发了基于B/S模式的飞机工装零件库系统,实现了工装常用零件的远程调用和资源共享[18]。
目前国内有不少企业在网络上发布自己的零件库,例如中国机械网()提供了在线3D标准件零件库,可以通过网络浏览三维零件图并查看尺寸;杭州新迪数字工程系统有限公司发布了基于SolidWorks的新迪3D零件库(),收录了最新国家标准的各类GB标准件,包括:螺钉、螺母、螺柱和螺栓、垫圈和挡圈、销和键、铆钉和焊钉、结构件、轴承、密封件等九大类标准件;三维设计资源在线()提供国家现有的各类标准件和行业常用件,可以动态配置、预览和下载三维产品模型,并提供了SolidWorks、Parasolid、ACIS、STEP、IGES 、Pro/E等多种文件格式,直接融入到设计者的设计中。
随着汽车制造业对产品知识数据库系统需求的不断升级,已有很多公司开始着力为汽车制造商提供知识库框架系统。
发动机零件库的开发和应用对提高产品的设计效率起着相当重要的作用。
据统计,在一个产品开发过程中,诸如标准件(包括自制零件、外购件等)的使用率占到零件总数量的60%以上。
标准件建库工作开展较早,取得了不少成果。
目前许多CAD软件都开发了有各自的标准件库,如在CADDS5、CATIA、Cimatmn、MDT、AutoCAD、Pro/E、UGII、Ideas、SolidWorks、solidEdge等国外中高档CAD系统上开发了标准件库;另外一些国产CAD系统如CAD-Tool[19]、InteCAD 等也配备了常用标准件库,甚至出现了基于web的标准件库系统。
然而,这些标准件库系统的共同的缺点是:可移植性和软件复用性差[20]。
随着电子商务技术的发展,以及应用服务提供商(Application Server Provider)这一概念渐渐引入我国,零件库和电子商务技术以及应用服务提供商技术相结合,使得零件库资源得以实现更加广泛的共享。
因此国内有人提出建立基于Internet的全国范围的零件库系统,这还需要在实现技术上做进一步的研究。
1.3 相关领域已有的研究成果
国际著名汽车企业的实践证明:只有以数字化技术为开发平台,利用成功产品的开发数据,在成功经验知识的指导下,才能实现真正意义上的快速、经济和成功的开发。
各类机电产品行业为提高其市场竞争力以及提高其设计生产效率,都在开发或利用一些标准件库来辅助设计。
国内也有不少学者进行了标准件库开发的研究,研究成果
也比较丰硕。
举例说明如下:
(1)莫蓉研究的满足装配建模的标准件库的设计与实现是针对产品的工装夹具设计中标准件库的建库问题,且详细地分析满足装配模型对标准件信息的需求,提出了一个以三维参数化为基础的标准件建库方案。
装配建模对标准件所需信息可以直接通过数据库查询得到,提高了明细表生成的自动化程度。
此文提出的建库方法具有通用性,不同行业可针对自己的标准件范围与类型设计自己的标准件库,非常方便[21]。
(2)由于干式变压器在各方面的优良性能以及特种场合下对干式变压器的应用需求,它的市场前景十分乐观广阔。
随着国内干式变压器厂家的生产能力不断提高,市场竞争也异常的激烈。
加之同一电压级的同容量段的变压器各部分设计结构特征相似或相近,通用件、相似件的比例相当高,工程设计人员在设计时有很多相同的地方。
所以戴永斌、林鹤云、徐子宏、宋宇等人开发了基于UG二次开发技术的干式变压器标准件库,对提高设计员的设计效率,缩短产品开发周期,提高企业的竞争能力起了很大作用[22]。
(3)万久团、黄翔建立的基于UG的三维参数化标准件库覆盖面广而且采用新标准。
其中包括了紧固件、定位元件、夹紧元件、导向元件、机床连接和辅助元件。
通过对这些零件建模,便形成了零件种类较多、规格较全的参数化标准件库对提高设计效率有很大的提高[23]。
(4)钱玲玲、李建军、王义林、叶晓峰等的标准件库管理系统中的知识重用技术研究实现了流程重用、装配关系重用、零部件重用以及特征重用,利用已有资源,花费较少的时间完成产品设计,标准件设计的自动化,提高了设计效率[24]。
1.4 设计目标
构建一个基于客户机/服务器结构的汽车发动机零部件库管理系统,要求该系统能对登录后的用户实行权限管理。
在系统启动后,普通用户能在客户端根据自己的需要查询、下载零部件,管理员具有下载、增加、修改、查询、删除零部件和人员管理的权限。
1.5 系统设计原则
1.5.1 实用性原则
适用于中小型企业发动机零部件管理,用户界面友好,操作方便,具有高效的数据处理能力。
1.5.2 可靠性及可扩展性原则
系统具有较高的可靠性,能保证系统的正常运作,系统还有待升级,保证了系统
的可扩展性。
1.5.3 兼容性原则
对于所选软硬件系统及平台,能很好地适应开发和使用的需要。
1.5.4 规范性原则
软件设计过程严格按照“软件工程”的规定,系统编码、文档、操作系统平台以及开发方法采用相应的国际标准、国家标准和行业标准。
1.6 设计内容
随着网络技术的发展,网络技术为资源管理提供一种非常好的解决方案。
用户不仅可以利用本机资源,还可以通过网络共享他人资源。
本课题致力于开发基于C/S网络模式的汽车发动机零部件库管理系统,重点讨论系统的设计开发过程及关键技术的实现。
课题主要内容如下:
1.6.1 需求确定
一个简单的发动机零部件库管理系统,主要包括登录用户对话框、发动机零部件信息界面和零部件的下载、删除、增加、修改等几方面的功能。
用户通过身份验证进入零件管理系统。
用户分为普通用户和管理员,普通用户只有下载、修改用户密码、修改用户密码、查询零部件和报表输出的权限,管理员具有下载零部件、修改用户密码、增加零部件、修改零部件、删除零部件、查询零部件、修改用户密码、报表输出和人员管理的权限。
通过这种权限的划分可以避免数据库系统管理混乱。
增加新零部件功能:用户可以上传新设计的零部件到零部件库系统中,不仅录入零部件的非几何信息(包括零部件名称、类型、质量等)还要录入零部件的几何信息(包括零件的三维模型、CAD图纸、二维简图)。
1.6.2 总体设计
总体设计阶段即系统的概要设计,需要完成对系统结构的分析和设计,以及设计系统需要的主要数据结构。
在基于需求分析的结果上给出简单发动机零部件库管理系统的总体结构。
1.6.3 数据库构建
数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库,使之能够有效地存储数据,满足各种用户的应用需求的过程。
1.6.4 程序开发
利用VC++开发汽车零部件库管理系统。
第2章 系统总体方案设计
前端客户机运行数据库应用程序(称为前端系统),处理有关屏幕显示和用户输入输出的用户请求,并向数据库服务器提出请求(如SQL ,Structured Query Language ),对数据库进行操作,通常是一个PC 机。
后端服务器接受客户机的请求,执行SQL 查询、对有关的数据文件进行处理并将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。
同时,服务器还提供完善的安全保护及对数据的完整性处理等操作,并允许多个客户同时访问同一个数据库。
2.1 汽车零部件库系统相关技术
2.1.1 基于Pro/E 三维建模技术
1、Pro/E 简介
1985年,PTC 公司成立于美国波士顿,开始参数化建模软件的研究。
1988年,V1.0的Pro/ENGINEER 诞生了。
经过10余年的发展,Pro/ENGINEER 已经成为三维建模软件的领头羊。
目前已经发布了Pro/ENGINEER proewildfire5.0。
PTC 的系列软件包括了在工业设计和机械设计等方面的多项功能,还包括对大型装配体的管理、功能仿真、制造、产品数据管理等等。
Pro/ENGINEER 还提供了目前所能达到的最全面、集成最紧密的产品开发环境。
其主要特性有全相关性、基于特征的参数化造型、数据管理、装配管理、易于使用。
数据表
数据处理逻辑
浏览器
显示逻辑请求响应
SQL 请求处理客户端数据库服务器
发
动机零部
件管理系统
图2.2 发动机零部件库管理系统软件结构
局域网
汽服访问客户端
车辆访问
客户端
交运访问客户端
物流访问
客户端
图2.3 发动机零部件库管理系统的拓扑结构
2、Pro/E 建模技术举例说明
本文给出几个有代表性的发动机零件的示意图,如图2.4
、图2.5、图2.6,图2.7为发动机装配体的Proe/E 装配体模型。
图2.4 发动机汽缸体
图2.5六角螺母
图2.6 发动机曲轴
图2.7发动机总装图
2.1.2 基于SQL Server 2000的数据库
1、SQL语言简介
SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
同时也是数据库脚本文件的扩展名。
美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准ANSI声称,SQL是关系数据库管理系统的标准语言。
SQL语句通常完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。
使用SQL的常见关系数据库管理系统有:Oracle、Sybase、Microsoft SQL Server、Access、Ingres等等。
虽然绝大多数的数据库系统使用SQL,但是它们同样有有别于其他的用于它们的系统的专有扩展功能。
但是,标准的SQL命令,比如“SELECT”、“UPDATE”、“DELETE”、“INSERT”、“WHERE”、“Create”和“Drop”常常被用于完成绝大多数数据库的操作。
SQL 功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来可以分成以下几组:
(1)数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。
(2)数据查询语言(DQL),例如:SELECT语句。
(3)数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK 等语句。
(4)数据操作语言(DML),例如:INSERT(插入,用于增加数据到数据库)、UPDATE(修改,用于从数据库中修改现存的数据)、DELETE(删除,用于从数据库中删除数据)、SELECT(检索,用于检索数据)语句。
SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。
2、SQL Server 2000数据库
SQL Server是一个关系数据库管理系统,是Microsoft推出新一代数据管理与分析软件。
SQL Server 2000是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。
SQL Server 2000为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。
通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQL Server 2000为不同规模的企业提供了一个完整的数据解决方案。
SQL Server 2000数据平台包括如下工具:关系型数据库、复制服务、通知服务、集成服务、分析服务、报表服务、管理工具、开发工具。
SQL Server 2000数据平台为不同规模的组织提供了如下好处:充分利用数据资产、提高生产力、减少IT复杂度、更低的总体拥有成本(TCO)。
本数据库采用SQL Server 2000的企业管理器建立。
2.1.3 基于VC++的数据库访问技术
用VC++开发的发动机零部件库管理系统,要使用数据库对所需的数据进行存储与管理。
VC++提供了几种接口(DAO、OLE/DB、ADO、ODBC)来支持数据库编程,利用这些接口,可以在程序中直接操作各种各样的数据库,如SQL Server、Microsoft Access、Microsoft FoxPro等等。
采用以上几种接口访问数据库各有千秋,本系统是采用ADO接口实现对数据库的访问。
VC++中MFC与SQL Server2000数据库的连接方法:
1、创建一个用来连接的ADO类库
系统菜单中Insert->New Class项,Class type选择Generic Class;在Name后输入类名“ADOConn”,点OK。
这样,在工程上自动生成ADOConn.h和ADOConn.cpp两个文件。
2、导入ADO动态链接库msado15.dll
在ADOConn.h中导入一个ADO动态链接库msado15.dll,添加代码:#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace
rename("EOF","adoEOF") rename("BOF","adoBOF")(rename("BOF","adoBOF")也可以省略),同时在ADOConn.h中定义public://添加一个指向Connection对象的指针: _ConnectionPtr m_pConnection; //添加一个指向Recordset对象的指针: _RecordsetPtr m_pRecordset。
3、获取连接字符串
m_pConnection->Open(_bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options) 操作。
ConnectionString为VC++中对SQL SERVER中ADO设置。
如,Provider= SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test;Data Source=.。
其中Data Source为服务器名称,可以用Server代替,本机表示为.或者(local);Initial Catalog为你要使用的数据库名称可以用Database代替;Integrated Security=SSPI表示用集成模式,此时uid 和pwd 设置不起作用;只有当Integrated Security=FALSE表示用混合模式,uid 和pwd 设置才起作用。
参数Options 表示CommandText的类型:adCmdText-文本命令;adCmdTable-表名adCmdProc-存储过程;adCmdUnknown-未知。
4、添加两个成员函数
(1)执行查询函数_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL)。
(2)执行SQL语句BOOL ExecuteSQL(_bstr_t bstrSQL)。
5、错误解决
若在数据库应用程序编译时遇到102个错误,则可把Debug文件夹删了重新编译即可。
2.2 本章小结
本章研究了目前国内外常用的软件系统开发模式:C/S模式,在此基础上结合本本设计的实际背景,建立了基于C/S模式的发动机零部件管理系统软件结构,并给出了系统的拓扑结构图。
研究系统开发过程中的相关关键的基于Pro/E三维建模技术、SQL Server 2000数据库技术、VC++的数据库访问技术。