PDM、ERP与MES的实施谁在先谁在后

标签:ERP企业管理PDMMES

访客:22067  发表于:2012-02-23 10:53:12

最近有文章提出没有产品数据管理(PDM),企业资源计划(ERP)是无源之水,没有制造执行系统(MES),ERP就是无本之木,所以ERP就成为“枯萎的ERP”。我认为这个结论过于简单,会造成许多误解。

1、PDM与ERP谁先谁后

前面的规点,首先从数据流向上看它是对的。没有产品设计,没有零件目录,没有工艺文件和工时定额,生产组织是无法进行的。这无论搞不搞信息化都得如此。但是,就信息集成的角度来讲,必须视企业的情况而定:按定单设计的企业,产品结构频繁变化,生产周期又粮短,这时如果没有CAD和PDM,却要运行ERP,确实是非常困难的,这样的企业我们主张先上CAD和PDM,再上ERP。但就一般企业而言,产品结构相对稳定、新老产品都在同时生产,企业就是上了CAD和PDM,设计部门的主要精力肯定还是放在新产品的设计上,无暇顾及老产品的信息化。而生产管理则不同,新老产品都要进行管理,这样,在相当长的一段时间内,即使上了PDM,老产品的物料数据、物料清单、工艺路线及工时定额数还是要靠手工录入,不能依靠PDM的集成。一个企业的老总曾经告诉我,他计划ERP的实施要5年。我问他为什么?他说:“我要把主厂的全部产品都用CAD和PDM实现信息化,才能做ERP。”这位老总说这话至今已6年了,他确实在6年前购买了PDM,但是这个立广的老产品至今并没有信息化,时至今日ERP还是没有上——这就是将PDM一定要先于ERP绝对化了。我们主张:先上PDM还是ERP,一定要视企业情况而定。严格按定单生产的企业先上PDM是对的,一般企业必须视企业的需求而定,什么影响企业的生存和发展就先上什么;就是先上了PDM,也不要指望在1~2年内就能从PDM里拿到ERP想要的全部数据。一是因为老产品一时不能被信息化,还需要人工录入;二是因为何时PDM才能提供符合ERP要求的制造物料清单并不确定(提供工程物料清单谁也不怀疑),因为往往PDM提供的物料清单并不能满足生产计划和成本核算的要求,需要修改。

从发展历史来看,MRPⅡ和ERP至今已有近30年的历史,而PDM只有10来年,这就证明没有PDM的年代,MRP和ERP仍然是可以运行的。

2、MES与ERP谁先谁后

制造执行系统,MES(Manufacturing Execution System),按照美国AMR研究公司对MES的定义:MES是一个工厂层的信息系统,介于企业领导层的计划系统与生产过程的直接工业控制系统之间。它以当前视角向操作人员/管理人员提供生产过程的全部资源(人员、设备、材料、工具和客户要求)的数据和信息。MES在工厂综合自动化系统中起着中间层的作用。在ERP系统所产生的长期计划的指导下,MES根据底层控制系统采集的与生产有关的实时数据,对短期生产作业的计划调度、监控、资源配置和生产过程进行优化。MES的功能模块包括工序详细调度、资源分配和状态管理、生产单元分配、过程管理、人力资源管理、维护管理、质量管理、文档控制、产品跟踪和产品清单管理、性能分析和数据采集等模块。在MES下层,是底层生产控制系统,包括DCS、PLC、NC/CNC和SCADA或这几种类型的组合。

可见,MES是业务计划系统和控制系统的中间环节,什么样的制造业企业有完善的控制系统呢,流程工业和高度数控化的离散制造业,只有这类企业他们才能从底层控制系统中采集生产执行情况的数据,反馈给MES和ERP。也只有在这种环境下,MES才能显示出它独特的魅力。在这种环境下可以说:没有MES的ERP在执行层就像没有触觉和视觉,不能得到及时准确的信息反馈。这类企业上MES是完全必要的。

然而对于一般的离散制造业,由于设备自动化水平低,底层缺乏甚至根本就没有控制系统,没有办法从底层自动获取生产执行数据,一切生产执行数据都需要人工键入,这时的MES就失去了它的威力。这种生产环境下的MES与ERP的车间生严管理系统没有两样,因此也谈不上没有MES的ERP是“无本之木”,因此,并非什么企业都需要MES。

同样的理由,从发展历史来看,MRPⅡ和ERP至今已有近30年的历史,而MES只有10来年,证明没有MES的年代,MRPⅡ和ERP仍然是可以运行的。

3、结 论

按定单设计,按单件制造,产品结构数据变化频繁的企业,建议先上PDM/PLM,再上ERP。对于一般企业先上什么后上什么.一定要视企业的需求而定。对于流程工业和高度数控化的离散制造业,MES可以从底层控制系统中获取及时、准确的数据,这时MES具有独特的魅力,对于那些自动化程度很低,甚至根本就没有底层控制系统的企业,ERP中的车间管理和MES具有相同的功能。

评论(0)

您可以在评论框内@您的好友一起参与讨论!

<--script type="text/javascript">BAIDU_CLB_fillSlot("927898");