1.业务先行的制造系统
制造系统并不是一个简单的IT产品,本质上它是业务的最佳实践。现代工厂制度从产业革命时期开始发展,距今大概两百多年时间。此过程,经过无数学者、工程师和工厂经理人的持续迭代,才逐渐形成今天这样一个复杂的跨学科体系,这些各个门类的知识主要是通过一份份操作规范落到工业场景去指导人们工作。
随着管理逐渐精细化,规范就越来越多,工程师和作业员出错概率就越来越大,因此需要系统来加以辅助。
服务于工厂业务的软件,大概包括三大类:设计开发类、商业支撑类、生产运作类。分别应用在研发场景、企业运营场景和生产制造场景。MES系统是应用在生产制造过程的软件。
2.MES和它的朋友们
制造系统的门类划分最规整的是半导体行业,其次是离散制造,大体上可以包括以下一些核心系统:
MES系统:俗称制造系统的大脑,整个车间的业务逻辑都要经过它的控制和记录,比如:工艺顺序、过程流追踪等,生产流程中90%以上的RawData都会首先存在MES。工厂里面80%+的人每天都要用到系统,其中80%+的人每天都要用到MES。
EAP系统:设备自动化控制,主要负责给机台下指令和采集机台上的参数,分两类:一类是工艺特性参数,比如工件厚度和宽度等;一类是加工特性参数,比如功率、电流、角速度等。
PS:
a.并不是所有的参数都可以自动化采集,不能自动化采集的就在MES提供界面,手Key或者扫描进系统;
b.EAP系统要给上位系统喂数据,比如MES、RMS和FDC。
RMS:菜单/配方管理系统,主要用于卡控工艺特性参数,比如上料确认机台内的菜单设置是否在SOP规范内,超出就不允许Run货。
FDC:故障侦测系统,主要用于卡控加工特性参数,比如工件和靶材距离持续变大,到一定值时候,就要更换靶材。
APC:先进制程控制,主要用于跨工序之间的参数调优,比如原材料厚度不一样,加工时候,抛光时磨头的压力和转速就要进行相应调整。具体怎样调整,就是在APC设置规则。
SPC:统计过程控制,通过对工艺特性参数的统计学分析,来识别工艺能力,计算一些关键特性的CP和CPK值,量化评价过程能力。还有很多Chart图做可视化展示,以及判异规则自动Alarm。
RTD:实时派工系统,和天车以及AGV搭配使用,派工规则在这个系统设定。
YMS:良率管理系统,半导体行业才这样叫。检测类机台对接,获取器件特性参数和defect结果数据,做Map叠图分析等。
QMS:质量管理系统,会集成SPC和YMS的大部分功能,离散制造叫一般用QMS称呼。
WMS:仓储管理系统,对仓库实物进行管理控制,比如上下货架,移库,出入库,IQC等。
这些系统都负责管理工厂的某一块或某几块业务,它们之间彼此互联互通共同支撑制造提质、增效、降本、减存理念的落地。其中MES系统需要和所有系统集成。
二、关于入门MES学习的常规路径是先学理论构建出一套范畴体系,再去实践,然后再在实践过程去反思和完善理论,进而形成自己的理解框架。
MES是工厂管理系统,具有明显的行业属性和专业特征,软件的经验积累主要集中在各个公司内部,很少对外开放,资料比较少。网上所谓的“解决方案”,主要是堆砌技术名词,没什么营养。
比如一个系统可以接入扫描仪和传感器就叫物联网平台,设置一些基础数据就叫数据建模平台,捞一些数据搞几张漂亮报表就叫数据驱动,用了CCD就叫人工智能,做一些防呆控制和统计分析就叫大数据分析,整体以面向老板的宣传为主,对于具体实现方式和应用场景解构很少,就是有,也不全。这些资料,显然不是入门的首选。
三、MES的范畴体系如果我们想要学习MES,并希望以此为职业的话,首先就是要构建起一套MES的范畴体系,也就是一系列与之相关的概念以及这些概念之间的相互联系。
1.MES是什么?
MES是一个舶来品,20世纪80年代末,由美国先进制造研究机构(AMR)首先提出此概念,其英文单词为“ManufacturingExecutionSystem"。取首字母缩写为MES,翻译过来就是生产执行系统的意思。顾名思义,MES是应用在生产执行层的工业管理软件。
生产执行是啥意思。可能我们要了解一下工厂。工厂是产品制造的组织形式,按照订单或者预测,以工单为依据,输入原材料,产出成品。计划和执行是目前工厂分工管理的两个最常规活动,其中,计划工作大部分发生在办公室,主要是产出各种表单、规则、制度和排程。而具体落实这些办公室产出物的主要场所就是在车间。所谓生产执行,就是发生在制造车间的为实现计划的有目的活动。
工厂是重资产投资,好多设备一台都是几十上百万,执行要消耗这些设备资源,不能乱搞,要按办公室里制定的规则去干,否则容易成本太高。所以,需要对其进行有效的管理。
计划一般是制式表单,比如关于领料生产的制式表单就是生产计划表,生产计划表的一个实际例子大概可以总结成这样:某时某地某人要消耗某资源干某事。具体实例:x年x月x日CNC制程的全体人员和设备要加工出片物料。
时间一到,CNC车间就要按计划开始做相应的事情,比如:领料,收料,加工,打包,入库等,这里面的每一个事务细化一下都有很多事情要处理,单纯人工干容易出错。单就本案例而言,至少涉及几个面向:料不能领错,机台加工方法和参数不能出错,加工员工要符合资格,加工完成之后要确保结果正确,并按打包标准进行包装等。
这些MES都可以解决,比如针对料不能领错这个小需求,可以给每个料配一个条码,绑定不允许出错的信息,然后领料投产时申请一张单据,单据上面也记录相关信息,扫描一下条码,系统自动匹配过滤掉异常的物料。如果是立体仓库的话,自动下发单据到仓储系统,机器人自动去对应储位领料,就更方便了。这里的场景一定要和WMS集成才可以实现,也可能可能还要和天车与ERP对接。
MES就是对诸如以上的一系列事件及其细节进行辅助管理的软件,以确保计划内的事情发生和防止或减少计划外的不可控因素。
大体上理解了什么是MES之后,就会有一个感觉:MES貌似和生产业务紧密相关。但是,MES毕竟还是信息系统,除了业务维度,也要考虑技术维度。
2.关于技术和业务的权衡
单纯从业务出发,从单一场景入手,一个一个场景去实现系统化,最后落地MES,显然是可行的方式之一,事实上,很多工厂的自研MES就是这样逐步发展起来的。但是,这样孤立地设计和开发出来的系统,健壮性会比较差,很容易就掉入所谓的信息化陷阱。
毕竟生产系统本来就是一个相互紧密联系的体系,职能之间和场景之间都存在非常多的输入输出关系。想到一个就搞一个,虽然可以解决小场景的问题,但是对于整个制造运营的绩效提升并不一定就有效益。随着信息化程度推进,就会发生信息孤岛、数据混乱、逻辑复杂、维护成本高等一系列问题。
比如:要采集一台设备的参数,MES拿来SDK直接集成是可以的,但是这种方式就不好推广。毕竟设备厂商太多,数据结构也不一样,改来改去会很麻烦,所以采取分层方案,MES提供接口,现场设备控制的单独搞一套边缘系统,把差异性限制在车间现场就会相对好一点。
业务角度思考信息化和技术角度思考并不相同,业务角度侧重的是用户、问题解决和价值视角,技术角度侧重的是实现、功能复用和架构视角。
工厂业务复杂,需求繁多,为设计出一套柔性且又健壮的MES系统,避免越到后面整合难度越大,问题越多,我们需要结合二者进行考虑。
业务框架和业务数据决定了系统的技术框架和数据建模,所以有时候为了方便技术实现,业务上也要做一些妥协。比如,为了保证冗余数据模型的及时清理,业务上就可能要设置专门岗位从事数据治理工作的人员,进行无效数据的定期排查。有时候为了让用户操作更便捷,技术侧也会不得不做一些强耦合的设计或一些冗余方案。
3.信息化建设的生命周期
MES的建设是一个长期的过程,他会随着工厂运营的调整而调整,在不同阶段会有不同的工作重点。
工厂信息化建设的演进流程大致可以概括为:
流程化:业务上一定要有流程,比如领料,就要有领料流程,没有工单,仓库不能发料给生产,不允许说生产没料就发,而是要快去开一张工单。
标准化:所有操作都要形成文字规范,存储下来,成为执行标准,起到固化最佳实践的作用。
信息化:制度的执行需要靠信息系统来辅助,标准化的东西变成系统就是信息化。
可视化:信息化到达一定程度就可以打造可视化,把一些关键指标做成目视化视图,用以监督现场。
可视化的目的是用指标牵引行为,因为车间有抗扰动特性,如果KPI一直都可以达成的话,人们很容易形成对现状捍卫的共识,从而抵触变革。把可视化的数据输入到工厂管理层,由他们下达新的指示。相当于为车间引入扰动因子,打破旧平衡,让其在更高维度形成新的平衡。
数据化:信息化到了一定程度,就要对数据做整合,对一些数据结构进行调整,并通过算法让他进入到业务流程里去,去驱动业务流转,此过程,需要对重复数据进行合并,对无效数据做清理。
可以搭一个数据平台,把其他系统的数据全部采集过来,在这里来实现业务需求。比如,我要知道下单到客人收到货要多久,在这里一查就知道结果,比如最长多久,最短多久,通常多久,或者还有其他各种情况对应的时间。总之,你不能还跑到erp,wms,mes,crm,物流系统去查一堆样本,然后做各种可能性预估,再计算一下,然后加一加,才得到结论。
智能化:实现数据化之后,引导职能部门去应用数据,并搭配工厂里面的自动化设备,实现工厂业务的自决策的过程。
工厂的最终目标是智能工厂,作为一名合格的制造IT从业者,在进行不同阶段的系统建设,都要牢记这个使命,围绕顶层设计,为后续的扩展打好基础,不能只顾眼前场景的实现,而图一时方便。而是要结合起来看。
PS:所谓顶层设计是一种宏观的面向长期的设计思路。我们思考一个对象,通常有两种方式:一是往大了去思考,也就是把这个“对象”放在一个更宏观的系统里面,当成其中一个组成部分去思考。另一种是对其构成进行拆解分析。这两种思考立场,得出结论是不一样的。我们要结合起来应用,做到既胸怀千万里,又心思细如丝。
宏观方面可以参考分层模型。
4.分层模型
工厂信息化模型,大概是五层:
第0层:是业务,包括车间活动,比如检验;
第1层:就是采集业务数据的数据采集点的硬件,比如传感器,扫描仪,RFID射频这些硬件,这是现实工厂和虚拟工厂的界面;
第2层:就是服务于采集硬件的软件,面向每个数据采集工站提供支持,这更多是工站级别和车间级(或生产段级)的,比如plc,dcs,scada,sfc;第3层:就是执行层,它是对数据采集点采集的数据进行关联处理,然后形成对跨车间级生产实际执行过程的镜像模拟,mes,wms,物流系统。
第4层:就是计划层,主要是面向企业的运作,执行层只要把最终结果同步过来就行,不需要知道细节。比如产能排布,深圳多少产能,长沙多少产能,杭州多少产能,资源不够跨市怎么调度。库存维持多少,wip维持多少,各个地方整体直通率多少,能吃多少订单,产能不足是人不够还是机器不够,人要什么策略,机器要什么策略。这些大的都是在这一层,erp,mrp,crm等。
MES如果从分层模型来看,它属于执行层,上面有计划层下面有采集层,它只是其中一部分,起到承上启下的作用。也就是,它一定要包含有集成的设计方案,主要是两类接口,一是对计划层的接口,二是有对采集层的接口。对下,MES需要把采集来的信息进行预处理和计算,对上,要把数据再同步给其它上层软件。这些同步的数据里面,有些是直接数据,大部分是处理后的间接数据。这就是把MES当作模型的一部分要思考的地方。
另一方面,则是mes本层的一些任务需要在自身实现闭环。也就是微观自洽的部分。
比如这样一个场景:物料带治具,治具带RFIDtag标签,一起投入自动化机台,机台的CCD拍照获取物料连续十个尺寸值,计算后工站cnc加工的补偿值,然后将此补偿值写入物料的RFID标签内。物料进机台加工时,读取补偿值写入某个宏变量,由宏程序调用进行加工,过程参数上传mes。
这是一个获取个性化参数进行加工的需求,包含是两个由多组硬件组合在一起的数据采集点,包括光电开关、RFID读写器、天线、工控机、CCD、CCD控制器、自动化控制器等。其中,光电开关用于识别物料是否进料口,其他硬件也分别有各自的需求满足。在这个场景里,只要任何一个方面出现问题,机台就会无法运作。
比如光电开关坏了咋办?标签识别通过天线和reader实现解析,如果终端没有返回数据要怎么处理?到底是天线问题、标签问题、Reader问题,还是通信问题?如何快速判别?这些细节都应该包含在前期的解决方案设计过程中。如果一开始,就按照默认硬件都不会坏的方式去设计接口而不考虑这些业务上的具体问题,到时候现场直接停线的可能性就很大。所以延时处理和一些可靠性验证逻辑就要纳入一起规划,达到在这个具体环节的闭环。
上面的例子可以看出,除了考虑技术的架构和数据处理方案之外,对于许多细部业务闭环的思考也非常关键。
这里就要深入到对MES的构成进行思考,去厘清其内在结构以及各结构之间的逻辑关系。
5.MES业务模块的组成
根据前人总结,MES大概会包括这些功能:
a.数据采集
这很好理解,系统是电子世界的事情,现场执行事务要转换成数据才可以处理,比如:你要分析某个制程一个月产出了多少数量的物料,那就实时或者按照一定频率记录一下周期内生产的物料数,然后把它存下来。
b.履历与历史
数据被记录了,那就可以倒查历史履历,比如:一个车窗带一个