基于数据库的MRPⅡ基础数据存储研究
顾诚
1引言
MRPⅡ(ManufactureResourcePlan,制造业资源计划)是重要的现代企业管理方法。在实施MRPⅡ时,一般企业可参照其原理整合机构,再按机构设置建立分系统。不便让某个部门单独管理的共用数据,如产品结构数据,被称为基础数据,都集中到基础数据分系统中。从理论上讲,该分系统可以调度和支配整个系统的数据,也是整个系统运行的基础。如何设计基础数据的存储方式,一直是实施MRPⅡ系统的核心问题之一,结合关系数据库原理和特定的企业类型研究MRPⅡ的基础数据存储方式,有助于提高MRPⅡ系统的针对性和效率。
2产品明细数据
(1)数据结构
基础数据分系统的主要任务是保存涉及到多个部门的数据和由技术部门直接管理的数据。如产品结构明细数据,各种定额数据,工艺数据,能力数据,以及诸如部门编码和工厂日历等辅助数据。
其中产品结构明细数据又是基础数据中的基础,它负责描述企业的生产对象,是联系企业生产活动中各个环节的主要纽带。怎样存放产品结构明细数据,即用什么样的数据结构来表示产品结构明细数据是设计基础数据分系统的重点。只有建立一个适应性强,易于操作,又相对高效的产品结构明细表,才能为其他部门的应用项目奠定基础。为了达到此目的,可建立三个相互联系的表,即
产品结构表:
序号字段名字段定义说明
1隶属号C3描述子项在父项中所处的物理位置
2位置号C8描述子项在父项中的顺序
3项目号C15父项节点编号
4子项号C15子项节点编号
5子项数N3在本父项节点中包含的相同子项节点数
6通用标志C2用G表示该子项节点是通用件。
7备注M
项目代用表:
序号字段名字段定义说明
1结构项目C15该项目出现在产品结构表中,可用其他项目替代,它还必须是叶节点,不能用其他项目作子项目分解
2代用项目C15即用于替换结构项目的可选零件
项目属性表:
序号字段名字段定义说明
1项目号C15能唯一识别项目的标志,项目可以是成品,部件和零件
2项目名称C20
3项目规格C30
4项目材料C30
5加工图号C15只有自制件才有此项
6项目图号C15描述该项目的图纸编号
7坯件类型C20
8坯件重量N5
9成品重量N5
10重量单位C4
11更改号C10对该项目属性进行更改的文件号
12更改日期D
对该项目属性进行更改的最近日期
13项目类型C8外购:表示通过市场采购
外协:表示通过合同请其他企业生产
自制:表示自己生产的零件或部件
成品:表示自己生产的可用于销售的成品
独立项:表示可以用于销售的自制零部件
14重要程度C2用1,2,3依序表示该项目的重要程度
15备注M
(2)典型操作
在与产品结构有关的操作中,有三种典型操作,即单级展开,多级展开和反查。它们是实现MRP分解,制订生产计划和采购计划,进行差缺件分析的基础。数据结构对算法有直接的影响,在采用产品结构表,项目代用表和项目属性表这三个表描述产品结构明细数据之后,上述典型操作很容易实现,且效率较高。
单级展开意为给指定的项目号查出所有直接组成它的子项号;反查是单级展开的逆运算,意为给指定的子项号查出所有能直接由其组成的项目号,算法较简单,本文不再赘述。
多级展开的目的是确定给定的项目号最终是由哪些零件组成,有时也被称为“拆零”,它形象地说明在多级展开时,不会将展开停留在部件或组件的项目上,描述给定项目号的是不可以再用其他项目号分解的基本零件。多级展开是MRP分解中最常见的操作之一。算法如下
A:输入待查的项目号X;
B:在产品结构表中循环查询,如果有:项目号=X,将对应的子项号记入暂存文件TEMP;<
BR>
C:从TEMP中取出一个项目号,用Y表示;
D:在产品结构表中循环查询,如果有:项目号=Y,将对应的子项号插入在暂存文件TEMP的Y项目之后,并删除Y项目,转C;如果没有:项目号=
Y,转E;
E:在项目属性表中查询,定位到“项目号=Y”的记录,将对应属性记入TEMP文件;<
BR>
F:在项目代用表中查询,如果有:结构项目=Y,用Z表示代用项目,<
BR>
G:在项目属性表中查询,定位到“项目号=Z”的记录,将对应属性记入TEMP文件;<
BR>
H:如果在项目代用表中仍有“结构项目=Y”的记录,循环F;<
BR>
I:如果TEMP中仍有未取完的项目号,循环C;
J:输出TEMP文件,即得到多级展开的子项信息。
利用索引,单级查询和反查均容易实现。但是多级查询的情况要复杂一些。如果某个企业有N个产品,每个产品从零件到总成经历了部件,分总成等多个中间环节,平均有M级,且每级平均由H个子项组成,即每个产品在产品结构表中平均有M×N项,整个表长为M×N×H。在多级展开时,一个产品的每个节点都必须查询到,即需要查询M×N次。即使在表上建立了索引,每次查询需要有LOG2(N×M×H)次比较,所以,多级展开的比较总次数为:M×N×LOG2(M×N×H)。
当产品结构较复杂时,M,N和H的值均较大,因而多级展开的计算量很大。由于多级展开又是计算机辅助生产管理中的常规操作,提高其计算效率用户和设计人员普遍关心的问题。
产品结构数据一般是静态的,也就是说各种成品与构成它们的零件之间的关系是相对固定的,不会经常改变。根据产品结构数据的特点,我们可以在产品结构表中扩充一个字段,其定义为:
子项位置C8
让一条记录不仅可以指明某项目在逻辑上什么子项,而且可以指明该子项的存储位置。通过这个位置指针,查询者可以直接定位到描述子项的记录,而不再需要利用索引等查询工具。虽然在每次产品数据结构发生变化之后,子项位置亦会有相应的变化,故需要专门的维护,但这种维护的次数较少,开销较小,所以对较大的企业而论,在产品结构表中增设子项位置字段可以大幅度提高多级展开的查询效率。
3定额数据和能力数据
定额数据是基础数据分系统中的另一类重要数据。产品结构数据描述了产品的零件构成,但这种静态描述并不能完整地反映产品对零件的需求情况,因为在由零件生产部件或产品的过程,会因废品等因素发生额外消耗。这种消耗不仅与产品结构有关,也与生产环境,设备,和工人素质有关,通常用零件消耗定额来反映这种额外消耗。即使相同的产品,在不同企业的零件消耗定额也可能不同,这是反映企业综合水平的重要的定额数据。此外,材料消耗定额用来描述自制零件的各种物耗,是另一类重要的定额数据。
零件定额表:
序号字段名字段定义说明
1零件号C15即相对于父项号的子项号,代表一个零件或部件
2父项号C15代表由零件组成的部件或成品
3消耗定额N10.5表示由零件构成一个父项件时的加工消耗
材料定额表:
序号字段名字段定义说明
1零件号C15代表一个基本零件,它不能再用其他子项表示
2材料代码C15料代码与材料名的对应一般由专用的材料编码表解决,在原材料种类不多的企业中,可直接用名称代替代码使用
3消耗定额N10.5表示单件零件需要消耗多少材料
4单位C6一般为重量单位,如G,KG,T等
除了零件消耗定额和材料消耗定额之外,企业中还有许多其他定额数据,如工时定额,工具定额,能源定额等。有些定额数据由专门的部门管理,不属于基础数据分系统,如工时定额虽然对企业管理活动极具影响,但一般由劳动人事部门管理。另一些定额数据的全局性较弱,多分布在各自的分系统中,或因对生产活动的影响不大而未被纳入计算机辅助生产管理系统。
能力数据分两大类,一是能力需求,二是能力资源。虽然能力种类很多,如资金,设备,劳动力等,但对大量劳动密集型企业来说,劳动力的数量需求虽大,质量要求却不高,比较容易得到满足。相比之下,企业的设备资源是主要制约中短期生产活动的关键因数。
对一种产品而言,工艺路线文件描述了对设备能力的基本需求。所以通常将工艺数据纳入基础数据分系统,作为产品的基本能力需求数据。其结构设计如下:
工艺路线表:
序号字段名字段定义说明
1工艺编号C15对应于某个产品的工艺文件编号
2产品代号C15即产品的项目号
3工序号C5产品加工顺序,用三位数符表示,不足三位用“0”补齐
4前工序号C5本工序的前一道工序号,如本工序是第一道工序,填0
5后工序号C5本工序的后一道工序号,如本工序是最后一道工序,填0
6工序编码C10按加工类型对工序所作的标准化编码,主要用于技术管理
7工序名称C20
8工步号C5一道工序若由多个工步组成,本字段用于描述在一道工序中更具体的加工顺序,
9现行标志C5Y:表示现行工序
N:表示候选工序
10设备C20本工序所需用的主要设备,若有多个,中间用“;”隔开
11工装C20本工序所需用的主要工装,若有多个,中间用“;”隔开
12技术指标C20加工中所用到的技术要求,如加工精度等
13加工数量N3指在一道工序中同时加工该产品的个数
14工艺内容M关于工艺文件的辅助说明
虽然工艺文件是一种描述加工能力需求的权威技术文件,但仅仅用此来指导生产活动尚有许多问题。第一,它没有规定严格的生产时间坐标,只说明了需用哪些设备,而没有说明要用多久,在实际管理操作中,必须与工时定额,设备定额等数据结合起来,才能发挥作用。第二,工艺文件必须事无巨细,面面俱到,而生产管理则是讲究抓重点,抓关键。特别是在采用计算机辅助管理时,因为生产计划中所面临的问题多为NP,即每增加一个优化因素,计算时间就会增长一倍。如只优化10台加工中心的任务分配,需用30分钟,那么优化11台加工中心的任务分配需用60分钟,若有12台加工中心,则要耗时2小时,计算的时效性太差,会使结果失去意义。
所以在将工艺路线数据作为能力需求的一部分放入基础数据分系统之后,还需要建立更易于计算机处理的能力清单。能力清单是管理人员依据工艺数据,工时数据,设备数据等多种信息资源提炼整理出的二手数据,着重描述某个产品对关键设备或加工单元的需求,结构如下。
能力清单表:
序号字段名字段定义说明
1产品号C15对应一加工产品
2单元编码C6描述产品所需要的加工单元或关键设备
3产能N10描述在加工单元或关键设备中能生产多少指定产品
4产能单位C6指产能的时间单位,如每天,每小时,等
5提前期N2指在加工单元或关键设备中生产指定设备的最短时间,一般以“天”为单位
能力清单的特点在于正好弥补了工艺路线数据的不足。其一,它只涉及影响整个企业生产全局的关键设备和加工单元,总量被限制在计算机可以有效地进行优化处理的范围内;其二,它不仅说明了能力的类别,而且有时间段要求。应该说能力清单是由计算机辅助生产管理技术引入的新内容,在基础数据分系统中维护一张准确的能力清单对整个系统的运行,尤其是生产计划分系统的运行十分必要。
在生产管理活动中,不仅要考虑能力需求,还要考虑能力资源,通过对两者的平衡来达到最佳生产组合。虽然企业中能力资源的种类较多,但正如前面的阐述,设备能力,尤其是关键设备能力仍是影响生产活动的主要因素。为此,可以将关键设备和加工单元的能力归纳到工作单元表中,其数量以满足计算机系统的及时排产处理为限。
工作单元表:
序号字段名字段定义说明
1单元名称C16可以是关键设备名,加工单元名,组装线名等
2单元编码C6相当于班组编码,是企业标准编码,在企业内有唯一性
3每天班次N2每天可开几班
4每班人数N3每班需要的工人数
5现有人员N3本工作单元共有多少工人
6每班时间N4.1每班的实际工作时间
7利用率N5.3平均使用频率,反映工作单元可承担的负荷情况
8效率N5.3反映工作单元在开动时能否达到设计能力
9关键设备C16描述工作单元中的关键设备,本字段和后面两个字段主要用于有关分系统的设备管理操作
10设备数量N4
11所属部门C16
3其他数据
在基础数据分系统中通常还包含其他一些辅助数据,如部门编码,工厂日历等,这类数据对企业生产管理均有全局性的影响,故一般被归纳到基础数据分系统中。
部门编码数据是整个企业中各二级和三级部门的统一编码,结构如下。
部门编码表:
序号字段名字段定义说明
1编号C6通常用第一位表示部门类别,如W表示生产车间,M表示管理部门,C表示辅助部门
2名称C10
工厂日历主要是为生产计划分系统和车间管理分系统服务,它规定了整个企业的生产节拍。在工厂日历中描述了每天的工作状况,即是否正常工作日,是否加班,是否法定节假日,或是否停工休假。
工厂日历表:
序号字段名字段定义说明
1日期D
2工作情况C6W:表示工作日
S:表示假日
H:表示节日
WS(WH):表示由节假日调整为工作日
SW:表示由工作日调整为假日
如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐
jill.jiang@amt.com.cn | 021-51096826-112 |
在线联系