1系统需求分析
刀具管理是一项复杂的工作,一直以来,这项工作都是以数控技术人员的工作经验为基础、以操作者的相关记录为依据而进行的。目前,刀具种类和数量不断增加,而加工车间条件有限,不同的设备、产品零件之间的刀具还需要相互借用,这就为刀具管理工作带来了很大的困难,也为生产效率以及产品质量的保证埋下了极大的隐患。由于加工零件的多样化,使得加工刀具的种类和数量都在不断增加,刀具在机床和刀库之间的流动频率也越来越高,使得传统的纸质登记、现场找刀这一模式显得滞后。而随着数控设备数量的增多以及新产品种类的不断增加,仅凭技术人员的工作经验和到车间现场查找刀具的管理方法已经无法满足现代化生产的需要。现代化生产迫切需要加工车间采用先进的刀具管理方法来实现刀具的科学管理。
2系统设计分析
2.1系统物理结构分析
本系统采用C/S(Client/Server,客户机/服务器)体系结构,即将数据库中的数据内容存放在远程服务器上,在各个客户机上安装相应的客户端应用软件进行操作使用。C/S体系的物理结构如图1所示。C/S结构的计算机软硬件平台可通过企业内部局域网连接起来。对于数控车间刀具管理系统,可以将开发完成的客户端应用软件安装在多个PC机站点上,由多个用户共同使用。数据的安全性通过SQLServer2000数据库安装时设置的身份验证和用户级别来保证,既保证了数据的共享性,也提高了工作效率。
2.2系统功能模型
通过对刀具信息管理系统功能进行分析,系统可分为以下几个模块:用户信息管理模块、权限设置模块、刀具参数管理模块、刀具出库管理模块、刀具入库管理模块、刀具信息查询管理模块、刀具借还记录管理模块和刀具库存预警模块(图2)。
2.3系统流程分析
根据刀具管理系统需要完成的任务和实现的功能,得出系统流程如图3所示。
2.4开发工具选择
考虑到车间本身的技术与软硬件情况,选用SQLServer2000作为后台的数据库管理系统。一方面,因为刀具管理系统本身是基于局域网操作的,采取的是C/S结构模型;另一方面,SQLServer2000是一种安全性高的真正的C/S体系结构,图形化用户界面,使系统管理和数据库管理更加直观、简单,丰富的编程接口工具为用户设计程序提供了更大的选择余地[3]。在选择前台开发工具时充分利用开发工具本身的性能,比如考虑其稳定性和可靠性、可视化和访问数据库的能力等,从常用的软件中,本文选用了VC++6.0。
3数据库设计
运用VC++的数据库接口技术,以SQLServer2000为后台数据库进行车间刀具管理系统“chejiantool_db”数据库的设计,其具体的设计步骤为:正规化数据库、建立数据库、建立表、建立关系、实现数据完整性等几个步骤。
3.1数据库概念结构设计
将分析得到的系统需求抽象为概念模型,在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系,这是整个数据库设计的关键。在这一设计原则的基础上,遵循正规化的数据库设计规则与关系数据库设计的3种范式(1NF~3NF),用正规的方法将数据分为多个所有字段值不可分割的数据表[4]。每个数据库表应有一个标识,不应有重复的值或列,并尽量避免含有空列。根据这一原则建立了用户信息表、刀具参数表、刀具基本信息表、刀具出库表、刀具入库表和刀具借还记录表等。表1以刀具基本信息表为例说明其结构。它由8个字段组成,其中刀具编号是该表的主键,通过此主键可与其他表相互关联。
3.2数据库安全性设计
在建立用户的登录信息时,系统管理员不仅要为该用户选择默认的数据库,而且还设置该用户对特定数据对象的访问权,即对数据对象的读取、插入、更新和删除等的权限。而该数据库中未指定访问权的数据库对象,即使该用户登录到SQLServer服务器,并且连接上指定的默认数据库,也不能操作该数据库的数据对象。在应用软件中,用户只能用账号登录,通过应用软件访问数据库,而没有其他途径操作数据库。为防止用户密码泄露,对所有用户账号的密码进行加密处理,确保在任何地方都不会出现密码的明文。由于数据库管理员拥有对应用软件的所有权限,因此其可以对所有用户和软件功能进行管理。应用时先确定每个角色对数据库表的操作权限,然后在程序中再为用户分配角色。角色权限见表2。
3.3数据库完整性设计
在将刀具信息输入到数据库的过程中,由于某些特殊的原因,可能会造成对数据库的修改无效或者不一致的现象发生,从而导致程序数据库的崩溃。为了避免这种问题的发生,需要在数据库分析、设计完毕后,利用数据库自带的属性,对字段进行主键、索引、标识等约束,以保证数据库的完整性[5]。主要有以下3种方法:
(1)对于通过程序窗口操作输入的数据,可以通过客户端应用程序来保证数据的完整性。这样,一方面可把非法数据在提交数据库之前就过滤掉,另一方面可使用户及时得到操作反馈的信息(成功或失败),以便进行相应的操作。
(2)对于通过数据库直接输入的数据,可以通过服务器端数据库管理系统来实现数据的完整性。
(3)对于数据一致性的维护,可以由服务器端数据库的触发器或表定义的约束来实现。这样可降低客户端应用程序的开发量,提高应用系统的运行效率、可维护性及可靠性。
3.4建立数据库
数据库名称是chejiantool_db,实现步骤为[6]:
(1)打开SQLServer2000的企业管理器(企业管理器是SQLServer2000最主要的管理工具,几乎所有对SQLServer的管理工作,甚至是数据查询,都可以通过它来完成)。
(2)新建数据库,并输入数据库名称、数据文件和日志文件的位置。
(3)指定数据和日志文件。
(4)定义文件的大小和增长方式。
3.5创建数据库表及实体关系图
SQLServer2000提供了3种方法创建数据库表。其一,是利用表设计器创建表;其二,是利用数据库关系图创建表;其三,是利用Transact-SQL语句中的CREATE命令创建表[7-8]。本文选用第二种方式。在SQLServer企业管理器中,展开指定的服务器和数据库,打开chejiantool_db数据库,打开表设计器。在数据库中创建刀具基本信息表、刀具借还表、用户表、借还日志表等。
在表设计器中除了可以定义列名称、数据类型和长度外,还可根据需要定义以下属性,如精度、小数位数、是否允许为空、默认值、标识列等等。建立数据库表时,定义好各自的主键和外键,各表完成后,利用MicrosoftVisio2003“反向工程向导”或SQLServer2000企业管理器中的“操作/新建数据库关系图”即可获取系统E-R图。本文选择后者,结果如图4所示。
4过程中的数据库技术
程序的各个实现过程中,均采用了大量的SQL语句,由于篇幅有限,在各模块的实现过程中仅列出其中的一种功能实现的Transact-SQL代码[9-10]。
4.1刀具借用过程
该过程主要包括刀具信息查询和刀具借用时信息功能人,其中刀具借用信息包括借用人、借用时间和借用刀具信息的填写、修改等功能。以借用功能模块为例,当加工人员从刀库中借用刀具时,刀库管理员根据其要求的条件查询相应的刀具信息,选中后,填写借用信息,点击“借用”后,该刀具的借用信息就会被写入数据库,其状态随之变为“借出”,刀具借用过程完成。
4.2刀具归还过程
刀具归还过程中以归还功能模块为例。借用人员归还刀具时,刀库管理员根据刀具名称或借用人的名字查询到刀具的借用信息后,选中要归还的刀具记录,填入归还时间,点击“归还”后,该刀具的状态又会变成“库存”写入数据库,刀具归还过程完成。其Transact-SQL实现代码如下:sql.Format("updatetoolset归还时间='"+ghtime+"',刀具状态='库存'where刀具编号='%s'",cId)实现界面如图6所示。
4.3刀具信息查询过程
刀具信息查询包括两部分:精确查询和模糊查询。精确查询可以按刀具编号、刀具名称、刀具材料等具体查询条件查询到精确符合查询条件的刀具信息记录;模糊查询可以查询同时满足刀具长度、刀具材料和刀具编号中一条或多条的刀具信息记录。其实现界面如图7所示。
5结束语
数据库技术的应用使得刀具管理系统在实际管理过程中实现了局域网内的刀具管理,方便了刀具参数的录入,使得技术人员在进行刀具选型之前获知刀具的在库情况成为现实,提高了产品的加工效率和刀具的管理效能,并且为实现制造车间的局域网管理奠定了良好的基础。在此基础上,系统可以与其他车间管理软件(如MES、PDM等)结合形成更高效的局域网数控加工管理系统。目前,该系统已经在西北工业大学某教育部重点实验室加工车间投入使用,并受到了管理人员和加工人员的欢迎。
作者:蔺小军 高春 徐永新 李政辉 李宜明 刘相柱 单位:西北工业大学现代设计与集成制造技术教育部重点实验室
相关专题:腾讯微博 大连海事大学学报格式