ERP是什么?MES是什么?APS又是什么?无论他们有什么功能,对企业有什么意义,不过都是计算机在读写一些数据而已。实际上这一切的本质不过是数据在硬盘和内存中快速的读和写。
ERP是……,APS是……,MES是…….,这些概念早已为大家所熟知,谁也改变不了,所以不必多说。本文要做的是对它们所共有的‘生产计划’部分的对比和分析。
  首先,我们谈论的是一个关于计算机的话题,那么就有一个最基本的问题:计算机能干什么?对这个问题似乎答案太多了,计算机本身就是一个大千世界,随便就能找出很多种答案。但是告诉你最基本的,计算机实际上只干两件事:读和写。它的所有花里胡梢的功能,最终不过是在用最笨的方式干这两件最简单的事情,速度快而已。
  不信吗?仔细想一想,不必去深究它的基本原理,你可能会感觉到,无论上网、看电影听音乐、玩游戏、编写文档、操作数据库,这些的确都不过是在快速地读和写一些数据。但是,计算机还有计算功能,这不象读写那么简单吧。比如你要算25×96,计算机马上给出结果:2400。难道它能事先知道你要算这个数已经把结论保存在那儿了吗?难道这也是读和写的结果吗?没错!这个过程计算机的确只是进行了一些读写操作。不信,你找一支笔来,在纸上手算这个乘法题,然后逐步记录你的整个计算过程。
  那么计算机呢,你可能会想,它应该有一些更高明的手段。告诉你,计算机也是这么算的!它同样没有办法直接计算出25×96,而是把它分解成多个个位数字相乘和相加的运算,原理与你在纸上计算过程是一样的。你在计算的时候心里早就背会了一个小九九,计算机也早就把这个九九乘法表存在那里了,当要算5×6的时候,它就去把30调出来写到一个位置,算2×6的时候把12调出来写进去,然后呢,1+1=2,2+3=5这样的个位加法的所有组合也都早就存好了,直接去取结果就可以。看,只要有一个乘法表加上一个加法表,计算机就可以通过简单的读写操作计算出你的任何乘法计算。
  这么看来,计算机并不比我们更高明,它用一种与我们手算相同的计算方法。而且,计算机如果有知觉,他根本不知道自己在干什么,有什么实际意义,它只知道按照一个固定的规则进行了一堆的读写操作,不会任何变通,只不过速度比我们快几百万倍,也正因为此,我们错误地感觉到它在计算,似乎比我们更聪明。
  回到我们的话题,依此类推,ERP是什么?MES是什么?APS又是什么?无论他们有什么功能,对企业有什么意义,不过都是计算机在读写一些数据而已。你用ERP把今天的订单录到计算机里再查询昨天的销售数据统计出一个报表保存到服务器上,另一台电脑读了这个报表再读BOM算出需要采购哪些物料和生产哪些物料,另一台电脑打印和显示出这些数据……。实际上这一切的本质不过是数据在硬盘和内存中快速的读和写,我们就不厌其烦地为类似这样的计算机读写过程起了无数个名字,ERP、MRP、APS、SCM、CRM、PDM、PRM、MES等等,还产生了无数的管理理论,并为此争论不已。
  企业中那么多复杂的工作流程,那么多先进理念,其最底层的工作本质真的只是计算机简单存了一个数字再简单把它取出来吗?计算机真的只是比人快但是没有人聪明吗?先不要忙着下结论。
说到聪明,我们再回到那个乘法问题,一个一般智力的人只会用纸上手算的方法,但如果让一个聪明的算术高手来计算这个题目,他很可能采取一种简化的方法,96是100-4,而4×25刚好=100,于是25×96=25×(100-4)=2500-100=2400。不用繁琐的个位相乘,很快就能得出结果。你看,计算机就没有这么聪明,它必须按照自己固定的步骤走完全部流程,不会随机应变,人比计算机聪明多了。
  但是且慢,计算机虽然只会读写,但它有一个很大的优势,它很善于学习,记忆力很好。人只要把一种计算的方法转换成它能接受的读写方式教给它,它就变得和人一样聪明了,而且永远不会忘记,还能很快复制给其他同伴。
  一个一般智力的人把乘法手算方式教给计算机,计算机就拥有了乘法计算的功能。而一个更聪明的人利用复杂的条件判断语句可以把简化计算法教会计算机,计算机就拥有了人的这种聪明。这时候,一个智力一般的人不仅在速度上远远不如计算机,而且在方法上也显得没有计算机聪明了。计算机的灵魂背后是人的思维。
  这就引出了算法的概念。任何人的手工乘法运算就是一种算法,聪明人的简化运算也是一种算法。计算机聪明与否,全看它所接受的算法是不是聪明的。如果计算机接受的是需要一定专业知识的专家级别的算法,那么计算机就会拥有一个专家级别的聪明,一般聪明人在智力上也根本无法与之相提并论。
  现在,我们评价一台计算机是不是聪明就有了一个新的标准:看人教给它的算法是不是很高明。如果这种算法就是我们手工每天都在用的类似乘法运算的那种方法,虽然把这种方法教给计算机也需要很专业的知识,但是,计算机还是并不比我们更聪明,只是比我们快而已;而如果这种算法不是简单到谁都能想到的方法,例如简化乘法运算,那么这台计算机就是一台比较聪明的计算机了。
  算法,给了我们一个新的视角来观察ERP。很多时候企业要求的是一个聪明人教会的拥有高明算法的计算机,而不是一个智力一般的人用日常方法教会的计算机。但现实情况,很多ERP公司都只满足于低水平重复性地把日常手工的方法教会计算机,再给这种本质上是手工的方法起一个流行的名称,声称它多么高明。仔细考察,只不过是原来的手工方法和日常工作流程的电子化而已。
  而企业管理中需要很多真正高明的算法,所要求的聪明程度远不象前面的简化乘法那么简单,需要很高深的数学知识。这时候绝大多数ERP公司由于自身缺乏对基础数学的深入研究和积累而无能为力,这并非单指国内ERP公司,国外大型ERP公司也并不例外。
  企业管理中在复杂的约束条件下要求寻找一个工艺流程的关键路径、寻找一个计划的最早和最迟开始时间、或者寻找目前生产计划中哪个资源最短缺的时候,运筹学、数论、图论、线性代数、模糊数学等等数学科学的最前沿理论已经取代了我们一般的直观分析。计算机解决这类问题已经不能再用简单通用的手工方法或者仅仅使用一般的小聪明全凭速度优势代替手工劳动,而是必须集成最前沿数学理论,拥有一个数学专家级别的专业算法。在整个企业管理中,无疑生产排程部分由于它的错综复杂的条件和对精确结果的需求,是最需要这种专家级别的算法的地方。
  有了这些基础概念做为武器,我们可以回到关于ERP、APS、MES的正题上来趟一趟这潭混水了。
一般说MES就是生产执行管理,但它在定义自己的时候喜欢把多多益善的东西都拉进来,于是侵犯了很多软件的传统领地,难免引发一场论战。MES最乐道的是连接企业管理系统和生产控制系统,承上启下弥补了空白。
  但是,它声称的每个部分的功能都早有其他专业系统承担。比如资源分配和工序排程,是APS的领地;文件管理和控制一直属于OA的范畴;劳动力管理早有详细到每分钟工作记录的专业人力资源HR系统承担;维修管理则有企业资产管理EAM和专业设备-固定资产管理软件;制造流程控制和管理有SFC(shop floor control);质量管理有集成了更多功能的ERP-QA/QC模块;至于实时数据收集,有无数做硬件的PLC、DCS系统供应商提供与硬件设备的专业数据连接和分析系统,功能只会更强。这些且不说,就连最普通的ERP软件都声称拥有MES的绝大部分功能。看来实在是没有什么空白可以留给MES去弥补。实际的市场状况MES也一直处在多种软件的挤压下在夹缝中艰难生存,特别是它与ERP一直处于一种直接对抗状态。

  MES与其他系统的江湖恩怨与本文无关,本文只说MES与APS和ERP互相重合的生产排程这一段内容。对用户来说MES与ERP、APS概念的互相交错,软件商之间激烈争论,让人困惑。到底选择ERP、APS、MES有什么区别?
  一般说软件之间的比较,不是看它集成的功能多不多,而是首先要看企业最需要的关键功能是不是有。如果都有,那就需要注意‘有’跟‘有’的差别很大,一个小小的区别可能就是本质的不同,要点就是要看它们的算法哪个更好。一个好的算法可以更深入地解决问题,运算速度快,很容易扩展到其他功能,修改起来方便等等。别的不说,在对比ERP、APS与MES之间的关系时,算法就起到关键作用。
  在正常情况下,高级计划排程APS的算法比MES中的详细排程以及资源分配的算法要强很多。而MES中的算法比ERP中的MRP的算法也要强很多。
  ERP中的MRP算法实在太简单,就是把平时手工的工作方式电子化,相比而言类似于开发一个乘法运算的难度。因此很多企业不需要MRP在EXCEL上也可以实现相同功能。
  而MES的排产功能肯定要强于ERP的生产计划功能。因为如果在这个关键核心功能上不占一定的优势,MES就根本不会有自己的市场份额。但是,它在本质上也只是把一些手工的、经验性的好方法集成进了软件,类似于简化乘法运算,虽然有很大的实用价值,但这与APS的以数学模型为基础的算法相差甚远。
  否则,MES开发商就会把这部分拿出来单做成APS出售了,要知道其中的价格差异很大。(当然也不排除某些MES系统集成了APS系统的可能)。
  APS系统拥有以数学模型为基础的最强算法,可以满足更高难度、更广泛的需求。但它不是可以直观理解的方法,真正的难点不在于把算法变成软件,而是在于寻找和证明这个算法。因此,各APS公司对其核心算法和数学理论都是保密的,并且申请专利保护。
当然对企业来说,算法也不是唯一的选择依据。一般说,整套系统中的某个功能不如专业系统的功能强大,但是价格低廉,与它集成在一起的功能很多,用起来方便,这是整套系统的优势所在。
  ERP的生产管理部分对比MES和APS最简单但也最便宜,一般仅限于简单的物料需求计划。如果企业对生产计划要求比较低,只侧重于较粗物料需求,就可以只选用ERP的生产模块。
  MES的排产功能更强一些,但是价格更高。适合于对生产计划要求不太高但是对生产排产管理比较精细的企业。目前国内自称提供MES系统的企业有很多,但其内容差别很大,水平良莠不齐,用户在选择的时候注意比较的关键是算法。从目前出现的趋势看,ERP软件公司倾向于集成MES系统,并与APS系统集成。
  APS是功能最强也是最昂贵的软件,适合于多品种、小批量、工艺流程变化很快、对生产计划有很高要求的生产型企业。目前APS开发商都只专注于生产排程功能,不搞其他相关系统。因此APS需要与其他软件集成在一起使用。
  目前,国际知名ERP全部都已和某个独立的APS系统集成在一起,常见的如SAP的APO,ORACLE的ASCP。国内用户如果选择了国外ERP软件就可以考虑上它的APS,但是加上大量的定制开发以后,其价格昂贵有可能会超过整个ERP的价钱。
  目前国内也有APS系统,主要在特定行业应用,主要是侧重复杂的制造排产调度。在复杂计划优化较弱,但由于价格较低,属于本土化服务,性能价格比要优于国外系统。
  综上所述,我们要学会超越一个软件表面上的概念、功能、特点,而以算法作为判断的一个重要标准。这对MES、APS、MRP这样的系统来说尤其重要。

【详解】ERP、APS与MES系统是什么?的更多相关文章

  1. Hadoop3.1.1源码Client详解 : Packet入队后消息系统运作之DataStreamer(Packet发送) : 主干

    该系列总览: Hadoop3.1.1架构体系——设计原理阐述与Client源码图文详解 : 总览 在上一章(Hadoop3.1.1源码Client详解 : 写入准备-RPC调用与流的建立) 我们提到, ...

  2. Hadoop3.1.1源码Client详解 : Packet入队后消息系统运作之ResponseProcessor(ACK接收)

    该系列总览: Hadoop3.1.1架构体系——设计原理阐述与Client源码图文详解 : 总览 紧接着上一篇文章: Hadoop3.1.1源码Client详解 : Packet入队后消息系统运作之D ...

  3. ERP系统和MES系统的区别

    公司说最近要上一套erp系统,说让我比较一下,erp系统哪个好,还有mes系统,我们适合上哪个系统,其实我还真的不太懂,刚接触erp跟mes的时候,对于两者的概念总是傻傻分不清楚,总是觉得既然都是为企 ...

  4. Gentoo安装详解(三)-- 配置系统

    配置系统 系统信息: 文件系统信息: 创建/etc/fstab nano -w /etc/fstab 网络信息: Host name, Domainname, etc nano -w /etc/con ...

  5. 详解Oracle的unlimited tablespace系统权限

    1. 系统权限unlimited tablespace是隐含在dba, resource角色中的一个系统权限. 当用户得到dba或resource的角色时, unlimited tablespace系 ...

  6. Git详解之八 Git与其他系统

    以下内容转载自:http://www.open-open.com/lib/view/open1328070454218.html Git 与其他系统 世界不是完美的.大多数时候,将所有接触到的项目全部 ...

  7. 记录战斗记录你,详解妖尾战斗录像系统[Unity]

    .katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...

  8. Android Intent和IntentFilter详解与使用及实现系统“分享”接口

    Intent Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到 ...

  9. CentOS7.6系统安装详解(含真机装系统的采坑之旅)!

    刚开始学习linux操作系统是总是很茫然,无所适从,以下是自己总结的工作经验,仅供参考! 一.准备资源 安装前需要准备的资源有linux系统centos7.6发行版系统镜像,vmware workst ...

随机推荐

  1. Ubuntu菜鸟入门(三)—— 无用软件卸载,wps等常用软件安装

    一  移除不需要的软件 sudo apt-get remove libreoffice-common sudo apt-get remove unity-webapps-common sudo apt ...

  2. Webkit 文字和背景效果

    -webkit-background-clip:padding-box | border-box | content-box | text,指定对象的背景图像向外裁剪的区域.对应的脚本特性为backg ...

  3. 【转】有关Oracle随机字符串的生成方法及具体应用

    Oracle生成随机字符串的方法是通过dbms_random.string实现的. 1.dbms_random.string用法Oracle官方文档参考链接:http://download.oracl ...

  4. zorka源码解读之通过beanshell进行插桩的流程

    zorka中插桩流程概述 1.在SpyDefinition中配置插桩属性,将SpyDefinition实例提交给插桩引擎.2.SpyDefinition实例中包含了插桩探针probes,probe插入 ...

  5. 【NOI2016】优秀的拆分 题解(95分)

    题目大意: 求一个字符串中形如AABB的子串个数. 思路: 用哈希做到O(1)判断字符串是否相同,O($n^2$)预处理,ans[i]为开头位置为i的形如AA的子串个数.再用O($n^2$)枚举出AA ...

  6. Leetcode Divide Two Integers

    Divide two integers without using multiplication, division and mod operator. 不用乘.除.求余操作,返回两整数相除的结果,结 ...

  7. QProcess怎么实时的读到output的信息

    在Qt里想与子程序通信, 一般都会用到QProcess这个类, 而且手册里也提到了很多通信的方法, 比如手册里的"Communicating via Channels". 我也不例 ...

  8. Linux中总线设备驱动模型及平台设备驱动实例

    本文将简要地介绍Linux总线设备驱动模型及其实现方式,并不会过多地涉及其在内核中的具体实现,最后,本文将会以平台总线为例介绍设备和驱动程序的实现过程. 目录: 一.总线设备驱动模型总体介绍及其实现方 ...

  9. 在ubuntu 12.04 x64下编译hadoop2.4

    自己编译hadoop:x64 1.安装依赖包 sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-confi ...

  10. Java并发编程底层实现原理 - volatile

    Java语言规范第三版中对volatile的定义如下: Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致性的更新,线程应该确保通过排他锁 单独获得这个变量. volatile有时候 ...