您的位置:网站首页 > CAM

关于锅炉冷作部件CAPP总体及数据库的设计

时间:2011-02-28 10:31:43 来源:

  0 引言

  CAPP系统的总体设计在软件开发中占有非常重要的地位,总体结构设计的好坏,不仅影响着系统的效率、维护性和扩展性,更影响系统使用的方便性和可靠性。同样,数据库设计在CAPP系统开发中也起着重要作用。本文对如何合理设计及使用表、视图和存储过程等数据库对象及事务的合理使用进行说明。

  1 总体设计

  1.1方案设计

  该套系统的总体结构是根据锅炉冷作部件加工制造流程和企业现有计算机硬件情况等因素决定的。由于该系统使用人员主要是工艺员,用户数量不大,且使用地点相对固定,而系统需要处理的数据量大而复杂,交互性、实时性和安全性要求较高,所以设计中采用客户端/服务器(Client/Server,C/S)体系结构。C/S结构模式随着网络技术、操作系统和软件技术的发展而不断完善,具有较强的安全性和可靠性,它是通过客户端与服务器端之间相对独立和分工协作而实现的。

  1.2系统组成

  本套CAPP系统由用户管理模块、工艺文件信息管理模块、知识管理模块和工艺文件管理模块等四部分组成,如图1所示。

  

  1.2.1用户管理模块

  由于该系统是多用户使用,根据制造企业的要求,不同的用户拥有不同的权限,以保障系统的可靠运行以及工艺文件的安全。因此,系统提供了用户管理模块,该模块由"用户管理"、"岗位管理"和"权限管理"三个子模块组成。它的使用者是冷作部门的系统管理员,其他人员无权使用。系统管理员利用此模块,可以对冷作部门不同级别的用户授予不同的权限。例如,可对一般工艺人员提供编制、修改、打印和预览,以及查询工艺等功能;而对高级用户除提供一般用户具有的权限外,还提供如工艺文件的审核和批准、工艺知识的编辑等一些高级功能的使用权限。

  1.2.2工艺文件信息管理模块

  工艺文件信息管理模块主要由"文件信息录入"、"文件信息修改"和"文件信息浏览"三个子模块组成。该模块提供对冷作工艺文件信息的管理功能,为后面的工艺文件管理模块打下基础。

  1.2.3知识管理模块

  知识管理模块由"知识获取"、"知识更新"和"知识摒弃"三个子模块组成,该模块提供的功能对本系统非常重要。该模块存在的实际意义如下:制造企业零/部件工艺路线的安排,实际上处于一个动态变化过程之中,由于新材料、新设备和新加工刀具等因素的存在,工艺路线会发生变化。但这并不等于工艺路线的安排没有规律可循,在一定时间段内,在工装、设备、量检具和刀具等因素不变的情况下,工艺路线的安排是有规律可循的。具体到该公司,其生产电站锅炉中的冷作部件工艺路线更有特殊性,即冷作部件的工艺路线更具有稳定性,易于实现工艺编制的计算机化。但从发展的眼光看,根据公司工艺专家总结出来的知识库不是一成不变的,必须能实现知识库的动态管理,这样才能适应公司的实际发展需要,系统才具有更长的生命力。

  当冷作部件工艺路线发生变化,并且这种变化经过一段时间的生产实践检验,确认是可行的,即可通过知识管理模块提供的功能,对原来储存在数据库中的工艺知识进行修改,将新的工艺知识存人数据库,以便实现知识库的更新,利用更新后的知识库即可编制出符合当前工厂实际情况的工艺文件。知识管理模块提供的功能属于高级功能,因此,只有经过系统管理员授权的用户才能使用此功能。

  1.2.4工艺文件管理模块

  工艺文件管理模块由"工艺编制"、"工艺审核"、"工艺批准"、"查询浏览工艺"和"工艺打印预览输出"等子模块组成。它主要负责工艺文档的管理,包括生成新工艺文件、修改工艺、审核工艺、批准工艺、查询工艺和打印输出工艺文件等功能。工艺编制子模块主要负责生成新的工艺文件,编辑修改工艺文件,直至工艺文件编制完成。审核工艺子模块实现的功能是当工艺编制人员编制完工艺文件后,将工艺文件提交审核。具有审核权限的用户对工艺进行审核,确认工艺文件是否合理。批准工艺子模块实现的功能是当审核员审核确认工艺文件无误后,将工艺文件提交批准。具有批准权限的用户对工艺进行批准操作,确认工艺文件是否合格。查询浏览工艺模块实现的功能是对经批准合格的工艺文件进行浏览,但只能对工艺文件进行读的操作,而不能对工艺文件进行任何写的操作。因此,一般用户都具有进行工艺文件查询的权限。工艺打印预览输出子模块包括输出制造过程卡、输出制造卡和按车间编号输出制造过程卡三个模块。

  1.3系统层次结构

  本套系统的层次结构中,服务器、客户端PC和网络等位于物理设备层。物理设备层之上的是操作系统,服务器端采用Windows2000 Server,客户端采用Windows2000或Windows XP Professional版本。服务器端的支持软件MS SQL Server 2000位于Windows2000Server操作系统之上,为开发工具VisualBasic 6.0提供数据存取支持,如图2所示。本系统位于层次结构的最顶层。

  

   数据库是存储、管理和操作数据的核心,其设计的主要任务是按照应用的要求,为信息建立一个结构合理、使用方便和效率较高的数据库。数据库中的数据按照一定的数据模型组织、描述和存储,因而具有较小的冗余度,较高的数据独立性和易于扩展性,并可为各种用户共享。CAPP系统不单纯地为个人或工艺部门服务,而是为整个企业信息化服务。

  因此必须使用网络化的大型数据库平台。由于该企业的工艺数据量大且复杂,采用先进的稳定的关系型网络数据库是必然的。而且CAPP系统是一个能为企业提供数据查询功能的系统,管理着非常重要的产品数据,对系统的可靠、稳定性要求严格。Microsoft SQLServer 2000是一个运行于Windows操作系统上的高性能数据库管理系统。它具有数据利用率高、安全性好、容错性强和数据结构完整等特点。因此,本系统选择SQL Server 2000作为数据库支持软件。

  2.1数据库对象

  2.1.1表

  表是包含数据库中所有数据的数据库对象,定义为列的集合。由于SQL Server2000是关系型数据库系统,所以数据在表中是按行和列的格式组织排列的,每行代表唯一的一条记录,而每列代表记录中的一个域。表是使用其他数据库对象的基础,所以它的设计最为重要。设计数据库时,应先确定需要什么样的表,各表中都有哪些数据以及各个表的存取权限等。而要正确做到这一点,就必须对制造企业的业务流程及开发的CAPP系统数据流有充分的了解,同时表的结构设计应尽可能地符合三范式原则。只有这样才能将数据冗余降到最低,且最大可能地保持数据的一致性。具体设计时应注意以下问题:表所包含数据的类型;表的各列数据类型;哪些列允许空值;是否要使用默认设置或规则;所需索引的类型,哪里需要索引;哪些列是主键,哪些列是外键。

  2.1.2视图

  视图是保存在SQL Server数据库中的SELECT查询。视图通常用来集中、简化和自定义每个用户对数据库的不同认识。视图可用作安全机制,方法是允许用户通过视图访问数据,而不授予用户直接访问视图的权限。视图具有如下优点。

  1)简化数据操作。通常可将经常使用的联接、联合查询和选择查询定义为视图,这样,用户每次对特定的数据执行进一步操作时,不必指定所有条件和限定。例如,在编制工艺制造卡时,制造卡中的数据来源于产品工序表和产品工步表,如果用SQL语句实现对这两个表中的相关数据的查询,则实现起来的代码比较复杂,如果将这两个表中的相关数据定义为一个视图,在每次需要查询时只访问这个视图即可。该视图定义如下列的含义,甚至当数据库结构改变时都不会影响用户,故增加了逻辑数据独立性,方便系统的维护。

  

  2.1.3存储过程

  存储过程是存储在数据库中能够从外部源被调用和执行,能够接受0个或多个参数的T-SQL代码块,这些参数可以是输入或输出参数,存储过程也能够返回用于说明过程状态的单个整数值?。在数据库管理系统中使用存储过程,主要有以下三个优点。

  1)减少网络通信流量。使用存储过程,数据处理在服务器上完成,网络上仅传输最终结果。而采用传统编程方法,客户端需要实现所有数据库编程,通过网络向服务器发出查询或更新请求,并根据服务器发回的结果再发送新的请求,客户端和服务器间交互占用了大量网络资源。

  2)执行效率高。存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终存储在系统表中的执行方案。以后每次调用不再需要分析,从而避免了后续的执行优化和编译这两个阶段,这为过程的执行节省了时间。

  3)标准组件式编程把完成某一数据库处理的功能设计为存储过程,可以在应用程序中重复调用,一方面可以减轻程序编写的工作量,另一方面可以提高程序的可移植性,提高了代码的可重用性。把查询封装到存储过程中,当存储过程所描述的功能发生变化时,仅对服务器上的存储过程进行修改和维护,不用修改客户端应用程序。相反,如果把查询嵌入到应用

  程序中,当需求发生改变时,就需要修改程序中那部分代码,并发布新的客户端版本。

  在本系统中大量使用了存储过程,提高了系统的响应时间,减少了与服务器之间的网络通信量。例如为了实现删除一份正在编辑的工艺文件而编写的存储过程如下:

  

  2.1.4关系

  关系表示表之间的连结,使一个表中的外键引用另一个表中的主键。在关系数据库中,关系能防止冗余的数据。表与表之间存在三种类型的关系。一对多关系;多对多关系;一对一关系。在本系统中,所创建的表之间的关系大多数是一对多的关系。例如,表Processes和Steps之间的关系就是典型的一对多的关系,Processes中的一个工序记录行可以在Steps中有多个工步记录行相匹配。通过在Processes和Steps之间创建关系,确保Steps和Processes之间的引用完整性。同时,在创建的此关系的属性中,选中了级联更新和级联删除复选框,在服务器端就确保了当更新或删除Processes表中的记录时,数据库会自动在Steps表中将相关的列或记录更新或删除。所以合理的使用关系,可以极大地减小编程工作量,确保据的一致性。

  Processes和Steps之间的关系如图3所示。

  

  2.2事务的应用

  2.2.1事务

  数据库系统中,事务是"一种机制,一个操作序列"。它包含一组数据库操作命令,所有的命令作为一个整体一起向系统提交或撤销操作请求,即要么都执行,要么都不执行。

  2.2.2事务控制语句

  

  

  通过应用事务,实现了要么将相关数据全部存入数据库,要么一个数据也不能存人数据库。不会出现一部分数据存入数据库而另一部分没有存人数据库的情况。如在工艺知识管理模块,由于工艺知识的完整是整个CAPP系统正确运行的基础,所以在进行编辑工艺知识时,使用了事务,以确保工艺知识相关数据的完整性。

  3 结语

  本文以锅炉冷作部件CAPP系统总体及数据库设计为例,对该系统框架结构及数据库设计相关问题进行了详细的介绍,对于CAPP系统的整体架构及其数据库设计有一定的借鉴意义。