MES制造执行系统的原理和实现.docx
《MES制造执行系统的原理和实现.docx》由会员分享,可在线阅读,更多相关《MES制造执行系统的原理和实现.docx(21页珍藏版)》请在冰豆网上搜索。
MES制造执行系统的原理和实现
.、八、-
刖言
近些年来,我国已经涌现了大量的制造型企业,随着竞争的发展,对产品质量的要求越来越高,特别是在电子制造型的企业里,对于制造流程控制的要求不断提升。
许多企业为了增强竞争力,不惜重金实施ERP系统,以求缩减成本控制、缩短供货周期。
但在内部生产控制上,却没有一个完善成熟的平台。
MES制造
执行系统就是在这种背景上,受到大家越来越多的关注,越来越多的企业在考虑啊或实施自己的MES系统。
本书系统地介绍了MES的功能模块和实现的逻辑。
本人在国内大型的电子产品制造企业担任多年的工艺工程师和工厂控制系统业务分析师,对制造的流程非常熟悉,参与设计了所在企业的MES系统。
本书是作者多年经验的总结。
希望本书有助于大家理解MES系统,有助于国内制造企业的流程控制和质量提升。
第一章什么是制造执行系统
1.1MES的功能
在传统的加工生产企业中,往往用流程卡来进行生产的跟踪控制。
在流程卡上印刷工序列表,每经过一个工位,则由作业人员打勾、签名、标注日期。
这样产品在生产线上流转时,我们可以检查产品是否经过了所有的必须工序。
MES全称ManufacturingExecutionSystem制造执行系统,它的核心功能与
流程卡类似,即通过流水号控制生产工序。
MES通过创建产品的序列号来取代流程卡号,生产过程中的任何一个工序通过序列号访问数据库,得到所有相关的控制信息。
流程卡在生产完成之后即作废,而序列号却一直保存在企业的数据库中,
所以可以作为产品今后的跟踪依据,方便质量管理。
简单地说,MES有两大核
心功能:
根据序列号进行工序的控制,根据序列号进行历史数据的跟踪。
其它功能还有装配、包装、物料跟踪,我们在具体的模块中详细介绍。
1.2MES与ERP的关系
ERP即EnterpriseResourcePlanning企业资源计划,是生产企业的核心模块,
其主要功能是物料管理和成本控制。
所有的生产都是由ERP(通过工单)发起、由ERP(通过发货单)结束的。
一些ERP系统也包含了简单的生产模块。
我们可以把MES看成ERP生产模块的专业化。
因此MES与ERP的接口应保持逻辑上的一致性。
第二章产品、工单、序列号
2.1产品(Product)
MES的流程通常是由ERP系统发起的,因此对于产品的定义必须与ERP保持一致。
通常,用item_no(产品编或者item_no和item_revision(产品版本)的组合来定义一个产品(product)。
从ERP的角度而言,产品等同于物编码。
一个完整的产品周期可能包含以下环节,这些环节都与产品相关,如图2-1
对于MES而言,产品除了物料属性以外,还有一些其它与生产密切相关的属性,如工艺流程、装配结构、测试规范等。
我们在后面的章节中将陆续展开。
2.2工单(WorkOrder)
工单又称任务单、计划单。
一个工单定义了一次加工作业,包含以下信息:
待加工产品、数量、加工起点、原材料输出仓库、成品输入仓库,以及工单状态、计划完成时间等辅助信息。
一个标准的MES系统是由工单驱动的。
首先由计划
2-2:
员在ERP中定义工单,然后将此工单刷新到MES,车间的主管将工单落实到具
体的产品工艺路线,操作人员按照工艺路线进行作业。
如图
2.3序列号(SerialNumber)
在传统的生产过程中,我们往往用流程卡来指导产品的生产。
在MES系统中,
我们用序列号来代表一个具体的产品。
序列号代表系统里唯一的一个产品,它具有item_no属性(ERP物料号),此外,它必须与工单关联,这样才能够用工单进行驱动。
对于制造件和装配件,它们的序列号规则是不一样的。
对于制造件,其序列号可以全部由MES系统分配产生,而采购件的序列号是供应商产生的,只能作为外来数据导入MES,同时赋予其item_no属性。
在一些情况下,序列号是企业的重要资源。
如对于网卡MAC地址,其前6位是企业代号,后6位是企业内部的MAC流水号,MAC地址的申请需要向相关组织缴纳费用。
另如中国GSM手机的IMEI号码,是由政府信息产业部分配的。
在某些情况下,序列号并不代表ERP中明确定义的产品。
如有一款手机产品G10,其ERP物料号为10010,MES系统会为其分配一序列号20061100001(item_no属性为10010),然而在ERP的BOM中并没有定义IMEI,为了保持序列号格式的一致,我们为IMEI定义一个“虚拟”(ERP中没有此物料号)的item_no:
IMEI。
这样此手机在生产完成之后,至少有2个序列号,1个是10010对应的序列号,1个是IMEI对应的序列号。
车间的操作人员在作业时,将序列号与工单建立关联关系,这样工艺路线就落实到每一个具体的序列号了。
产品、工单、序列号三者之间的关系如图2-3所示,序列号继承自产品,工单通过与序列号关联的方式驱动产品。
图2-3
2.4条形码
为了提高序列号输入的效率,MES系统采用条形码(以下简称条码)来记录序列号。
条码是用条码打印设备,把序列号打印在尺寸裁切好的不干胶贴纸上,然后用激光扫描设备识别。
常用的条码打印设备有zebra公司的系列条码打印机。
常用的激光扫描识别设备有symbol公司的手持激光扫描枪系列。
常用的条码编码规范有39码和128码,在一些包装工厂,还用二维码来记录大量数据信息。
(E-WORKS)
第三章工艺路线
3.1工位(Step)
在现代化生产中,批量生产多采用流水作业,流水线由若干个独立作业的工位组成。
工位是产品生产周期中的一个点,或者说一次作业。
工位是一个逻辑概念,一个工位可以对应若干个实际的工作台,比如电脑的主板装配工位,可以
由4个工人、在4个工作台上做相同的装配作业,那么我们说这4个工作台对应于同一个工位。
在MES系统中,工位的定义可以和实际的作业有一定的出入。
还是举主板装配工位为例,在实际生产中可能作进一步的细化,分成定位、焊接、固定3个工位,但在MES系统中只定义一个工艺路线控制点,那么我们可以看作是一个工位。
3.2工艺路线(Route)
工艺路线是指产品的生产方法。
通常我们用流程图来表示工艺路线,流程图由当前工位、结果、下一工位组合而成,如图3-1。
工艺路线表达了产品完整的生产周期。
一个产品可以定义若干个工艺路线,如试生产工艺路线、量产工艺路线、返工工艺路线等。
但是一个工单只能驱动一条工艺路线,因此工单从ERP刷新到MES后,在生产之前,必须由车间主管或生产线组长指定工单到某一工艺路线。
简单地说,工艺路线是产品的一种属性,由工位组成,受工单驱动。
|泊工-I
3.3当前工艺状态(RouteStatus)
生产控制的目的,是为了实现在指定的工位,做指定的产品”。
我们在工艺路线里已经定义了当前工位、结果、下一工位的组合关系,因此我们只要再记录某个序列号对应的产品当前的工位和结果,就可以得到下一工位,由此可以进行工艺检查和工艺记录。
对当前工位的定义方法有两种。
第一种定义刚刚结束的工位是当前工位。
这样在工艺状态表里记录了序列号、当前工位名、当前工位结果。
第二种定义下一工位是当前工位。
这样在工艺状态表里记录了序列号、当前工位名。
3.4工艺检查(RouteCheck)
工艺检查是判断序列号是否出现在正确的工位。
方法如下:
按第一种定义,前台录入工单、序列号、作业工位。
后台根据工单得到工艺路线;根据序列号得到当前工位和结果;然后根据工艺路线和当前工位、结果,得到下一工位;比较下一工位和作业工位,得到工艺
呼列号
匸甲
工王料级|
V
25nilT&
»
卩堆T
检查的结果。
如图3-2所示:
F—T位
作业丨.位
按第二种定义,前台录入序列号、作业工位。
后台根据序列号得到当前工位;
比较当前工位和作业工位,得到工艺检查的结果。
如图3-3所示:
F*炉]'好.-V聊-''Lk.「.彳芒
21風T位
M3-3
3.5工艺记录(RouteUpdate)
工艺记录是指工位作业完成后,对工艺的状态进行更新。
按第一种定义,前台录入序列号、作业工位、结果,后台直接将此数据更新到工艺状态表。
如图3-4所示:
按第二种定义,前台录入工单、序列号、作业工位、结果;后台根据工单得
到工艺路线;根据工艺路线、作业工位、结果,得到下一工位;根据序列号、下
routecheck时引用工艺路
线,第二种方法在routeupdate时引用工艺路线。
第一种方法在routecheck时较为繁琐,但是适合以下这种特殊情况,即当前工位和结果的组合,对应的下一工位
有多条记录,如图3-6:
圉3-6
3.6工艺历史(RouteHistory)
在进行RouteUpdate的时候,同时产生一条log记录,包括作业时间、作业
人员、作业工单、序列号、当前工位、结果。
当生产结束的时候,一个序列号有
多条routelog记录,这些记录就构成了一个序列号的工艺历史RouteHistory,也
就是一个完整的生产周期的记录。
3.7工艺初始化(Routeinitial)
工艺的起始点比较特殊,因为有了它之后才能进行工艺检查。
为了设计的方便,我们在所有的工艺路线中,均设计其起始点为工艺初始化点,此点之后的
工位就可以使用routecheck和routeupdate方法了。
初始化的方法有两种。
第一种是在序列号创建之时就进行初始化。
第二种是在routecheck时检查是否有routestatus记录,如果没有,则先进行初始化。
初始化是一种特殊的routeupdate其工位名是initial。
3.8工艺结束(RouteClose与工单关闭
工艺结束点也是较为特殊的一个工位,它是所有工艺路线的最后一个工位。
按照routeupdate的第二种方法,则系统通过routeupdate自动产生close工位。
关闭工单时,系统得到此工单驱动的所有序列号;然后routecheck其当前工位是否都是close;如果全部close则允许关闭工单,否则需强行关闭工单。
按照routeupdate的第一种方法,则routehistory里不包括close工位,所以必须手动关闭。
关闭工单时,系统得到此工单驱动的所有序列号;然后routecheck其当前工位是否都是close;如果全部close则允许关闭工单,否则需强行关闭工单。
可以在关闭工单时,将其驱动的序列号routeupdate到close工位。
3.9故障与维修
故障工位与维修工位是较为特殊的route工位,因为它们在routeupdate的同时,还要记录相应的故障与维修记录。
故障与维修信息可以看成routeupdate的扩展
信息,每一次的故障与维修记录,都通过外键关联到一条routelog历史记录,因
此route与故障、维修的动作就接合在一起,可以通过序列号找到它们之间的关联。
3.10自动测试
在现代企业的生产中,为保证产品的质量,往往在生产周期中设置若干个测试点,在大批量的生产中,这些点往往采用自动测试完成。
具体的操作是:
首先
根据产品与工位定义testprofile测试模板,然后输入实测数据,生成测试数据文
件,并关联到序列号。
由于测试文件与测试模板是关联的,因而能够根据testprofile进行分类统计。
自动测试是一个特殊的route工位,操作前需要
routecheck,完成后进行routeupdate并生成routelogo测试数据与routelog进行关联,