1 引言
图1 工时系统总体系统结构图
2 系统原理和结构
- 确定典型的、具体的生产组织技术条件,如机床型号、加工方法、零件材料、加工批量、零件技术要求等数据,这是建立工时模型的前提依据。
- 按照上述已选定的典型条件搜索有关工时定额的资料,分析工时定额与主要影响因素(如切削深度、切削速度、加工余量、进给量、走刀次数等)之间的关系,总结出典型的计算公式,建立相应的数学模型。
- 根据生产实际中出现的各种技术组织条件以及一些基本规律之外的影响因素,分别制定出机床系数、材料系数、批量系数等。
- 系统重构功能当出现一个新的生产对象时,用户只需要输入该生产对象的工时数据、数学模型公式等一些基础数据,而不需修改或添加任何上层程序,就可以进行该生产对象相关工时定额的计算和使用:
- 各种报表输出功能不同的企业对报表的格式要求不同,通用化工时系统应满足各种格式的要求。
3 系统软件的开发
- 数据库创建模块
- 生产对象的工时定额主要受各种参数的影响,如对于立车切削,影响其工时定额的参数有设备型号、刀具材料、加工对象、加工方法和加工方式等。不同的生产对象有其不同的影响参数,如对于普通铣床切削,其工时影响参数有机床类型、刀具材料、加工深度和铣刀宽度等,这就不同于立车切削的工时影响参数,所以不同的生产对象有不同的数据结构。
- 传统数据库设计的方法采用多表的方法,就是根据基础数据的不同结构,分别在数据库中建立每一张表。如上面提到的立车切削和普通铣床切削就需要建成两张不同的表。这样必然造成:①数据库维护繁琐。由于每一张表存放着不同的数据,用户要想对数据进行维护,必须先维护好每一张数据表:②扩展性差。当出现一个新的生产对象时,用户必须重新设计其表结构,在数据库中创建一张新表:③数据库冗余大。虽然每个生产对象工时定额数据结构有其不同之处,但也有其相似之处,采用不同实体创建不同的数据表,完全没有利用其相似点,势必造成数据库的冗余。如上面的立车切削工时表和普通铣床切削工时表就有冗余字段刀具材料。
- 针对多表数据库设计存在的缺点和系统通用化的要求,我们采用了单表设计的方法。基本思路是先进行各生产对象的分类编码,确定各类的数据结构,然后提取各类的共性,最后确定和设计数据表。本系统总共使用了两张表:具体数据表ITEM_DATA和参数对应含义表ITEM_MEANS。通过对各种加工工时形式的总结,一般只有两种情况:一种是直接能够给出最后时间数据的,如各种辅助时间(上活、找正、卸活)、准终时间(准备、结束),另一种是只能给出一些决定最后工时定额的切削参数,如各种切削标准,给出的是切削速度、切削深度、走刀次数等。我们将其他查询的与工时计算无关的属性(如宽度、长度等)以通用参数的形式表示,一般这种无关的属性不超过, 个,这样我们就设计了一张数据表,表的基本形式见表1。
表1 具体数据表:ITEM_DATA 序号 字段名称 字段类型 字段含义 说明 1 TYPE_CODE VARCHAR2(4) 工时类型编号 NOT NULL 2 PARA_1 VARCHAR2(50) 查询参数1 3 PARA_2 VARCHAR2(50) 查询参数2 4 PARA_3 VARCHAR2(50) 查询参数3 5 PARA_4 VARCHAR2(50) 查询参数4 6 PARA_5 VARCHAR2(50) 查询参数5 7 PARA_6 VARCHAR2(50) 查询参数6 8 V NUMBER(8,3) 切削速度 9 T NUMBER(8,3) 切削深度 10 S NUMBER(8,3) 进给量 11 I NUMBER(8,3) 走刀次数 12 TIME NUMBER(8,3) 时间标准 - 表中包含一个TYPE_CODE主码,用来表示不同生产对象,采用四位编码形式××××,前两位代表设备类型,如普通铣床用MX表示,立式车床用LC表示:第三位代表工时类型,如辅助时间用A表示,切削标准用C表示:第四位表示加工类型,如加工平面用P表示,加工圆角用R表示。这样对于立式车床车削平面这类生产对象,我们就可以用编码LCCP来表示。参数对应含义表指的是具体数据表中不同工时类型对应的各查询参数所表示的具体含义。具体表的结构如表2。
表2 参数对应含义表ITEM_MEANS 序号 字段名称 字段类型 字段含义 说明 1 TYPE_CODE VARCHAR2(4) 工时类型编号 NOT NULL 2 PARA_N1 VARCHAR2(50) 参数1含义 3 PARA_N2 VARCHAR2(50) 参数2含义 4 PARA_N3 VARCHAR2(50) 参数3含义 5 PARA_N4 VARCHAR2(50) 参数4含义 6 PARA_N5 VARCHAR2(50) 参数5含义 7 PARA_N6 VARCHAR2(50) 参数6含义 - 用户先将具体的生产对象进行分类,确定各类的编码(TYPE_CODE),再确定其查询参数的个数和含义,在具体数据表中输入具体的工时数据和编码,若给出时间标准的则直接输入到TIME字段中,否则TIME字段为空,输入具体的V、T、S和I,同时在参数对应含义表中输入该类型的工时类型编码和各查询条件对应的含义。这样就完成了基础数据库的创建。
- 这种数据库的设计通用性好,不管企业具体的数据表有多大的区别,但是由于与工时有关的参数基本相同,因此都可使用具体数据表来存放数据,同时由于上层应用程序是针对数据表结构开发的,所以不受具体数据的影响。另外这种数据库的扩展性很强,当企业总结出一种新的工时定额表的形式后,用户只需将其编码和具体数据输入到数据表中,将各参数对应的含义输入到参数含义对应表中即可使用。最后,由于数据库中只有两张表,所以数据维护较为方便,同时数据库基本上没有冗余。
- 生产对象的工时定额主要受各种参数的影响,如对于立车切削,影响其工时定额的参数有设备型号、刀具材料、加工对象、加工方法和加工方式等。不同的生产对象有其不同的影响参数,如对于普通铣床切削,其工时影响参数有机床类型、刀具材料、加工深度和铣刀宽度等,这就不同于立车切削的工时影响参数,所以不同的生产对象有不同的数据结构。
- 数据库管理模块
- 由于受计算机水平的限制,用户不可能在数据库中对数据表进行直接操作,开发数据库管理系统正是为了满足用户这一要求,它通过提供一些基于数据表的简便、美观、友好的界面,并在这些界面中提供基本操作功能,如数据查询、数据插入、数据删除、数据修改等,来达到对基础数据库的维护,包括具体数据表、参数对应含义表、批量系数表、材料系数表和计算公式文件的维护。
- 随着图形界面开发工具的发展,我们可以使用基于ORACLE数据库的DEVELOPER2000、VB、Power-Builder、Delphi等一些工具来开发。本模块除了上述提到的功能外,还需具有另外一个重要功能:用户分级管理功能。由于工时定额基础数据是整个企业制定工时定额的标准,并不是所有的使用者都有权对数据进行修改,有些只是一个数据访问作用,因此需要对用户进行分级,可以分成两级:高级用户和普通用户。高级用户可以进行所有操作,如数据修改、删除,通常对应于厂里的工时标准制定员:而普通用户只能进行数据的查询操作,通常对应于厂里的工时定额员。
- 由于受计算机水平的限制,用户不可能在数据库中对数据表进行直接操作,开发数据库管理系统正是为了满足用户这一要求,它通过提供一些基于数据表的简便、美观、友好的界面,并在这些界面中提供基本操作功能,如数据查询、数据插入、数据删除、数据修改等,来达到对基础数据库的维护,包括具体数据表、参数对应含义表、批量系数表、材料系数表和计算公式文件的维护。
- 工时定额制定模块
- 对于机加工,每道工序的工时定额由基本时间Tb、辅助时间Ta、布置工作时间Ts、休息与生理需要时间Tr、准备与终结时间Te等几项组成,其单件工序计算公式可表示为
式中n是每批件数,因为Te是每批进行准备和结束工作的时间,所以分摊到每个零件上的准终时间为Te/n。Tc=Tb+Ta+Ts+T r+Te/n (1) - Ta、Ts、Tr和Te可以通过工时类型编号TYPE_CODE 查询具体数据表ITEM_DATA 直接得到,而基本时间Tb需要通过计算获得,其制定过程可用下式表示:
Tb=SmSqF(x1,x2,……,xn) (2)
图2 工时制定流程图- 上式中,Sm表示材料修正系数,通过查询材料系数表得到:Sq表示批量修正系数,通过查询得到:x1、x2、… xn影响工时定额的切削参数,可通过查询具体数据表ITEM_DATA 获得:F表示该生产对象的计算公式,可从计算公式文件中读入。
- 本模块的主要功能是完成上述工作。它通过输入的工时定额编号去访问基础数据库和计算公式文件,查询出满足条件的基础数据,并结合具体工时计算公式计算出选定工序对应的工时,其程序流程见图2。
- 对于机加工,每道工序的工时定额由基本时间Tb、辅助时间Ta、布置工作时间Ts、休息与生理需要时间Tr、准备与终结时间Te等几项组成,其单件工序计算公式可表示为
- 报表生成打印模块
- 对于工时系统来说,主要的报表是工序工时表和工时汇总表。工序工时表也就是生产工票,直接用于零部件的加工和对工人工作的安排,其生成一般以装配或部套为单位,即生成选定装配或部套下所有零部件的工序工时表:工时汇总表是零部件生产加工工时和人工工时的一种分类汇总,是成本核算的一个重要依据,其生成一般以部套或产品为单位。
- 传统使用程序生成表格格式的方法存在很大的缺陷,主要表现为:(1)程序复杂,表格的格式完全由程序画出来:(2)打印预览能力差,由于受屏幕的限制,这种方法生成的表格通常不具有预览功能:(3)通用性差,由于表格的格式是固化在程序中的,所以生成的格式是一定的,不能满足格式多样的需要。
- 本模块采用基于WORD模板的表格生成和打印的方法,先在用户的本地机上创建一个模板目录,存放按一定规则创建的各种格式的工序工时表和工时汇总表模板,程序运行时,打开相应的模板文件,将工序工时表内容或是工时汇总表内容写到该模板上,从而完成报表的生成,并在WORD环境中实现打印。对于不同格式的报表,只需将该报表模板复制到模板目录底下就行了,这就保证了系统的通用性。
- 对于工时系统来说,主要的报表是工序工时表和工时汇总表。工序工时表也就是生产工票,直接用于零部件的加工和对工人工作的安排,其生成一般以装配或部套为单位,即生成选定装配或部套下所有零部件的工序工时表:工时汇总表是零部件生产加工工时和人工工时的一种分类汇总,是成本核算的一个重要依据,其生成一般以部套或产品为单位。