In 2009 when I was discussing with people on a BBS about manufacturing information systems, I made an assert,'In the future, no matter which industry, the trend for information systems is: Equipment <==> EAP <==> MES <==> ERP <==> Whole Supply Chain <==> End market, all these sections with be fully integrated, IT technology is the most powerful tool, it will extend to each corner of industrial productions, it's the best tool to optimize the overall value chain.'
Of course, the people who was arguing with me laughed.
What I assumed was that there can be a big virtual supply chain platform, all the organizations in upstream and downstream can publish requests and respond to requests from outside in real-time, thus a big virtual factory can be formed, the overall efficiency of the industry can be maximized. To support this real-time pattern, inside of the factory there shall be real-time integration from ERP down to equipment in the bottom.
In the spring of 2014, I was thinking of translating the i4.0 report published by the German i4.0 work group into Chinese to bring awareness, but when i was just starting, I saw on the MIIT website there are some translated chapters which is 2 chapters ahead of me. Thus it's pointless to do the same thing. So I decided to change direction, in combine with my own experience and ideas, try to write a series of articles about the realization of software applications which adopt the German i4.0 concept.
The topics I was thinking of include:
1) My understanding over the i4.0 itself.
2) SOA and i4.0
3) real-time integration and how can available IOT technologies might be able to support this
4) real-time costing in i4.0 framework
5) case: starting with an ECR process flow, to discuss the real-time decision making for an organization or value chain in the context of i4.0
6) case: practicals to promote the i4.0 concept in selected industries
As I was busy with my own work as a PLM sales, only by noting down ideas time to time, they're still some scratches.
One day when I was showering, a concept came into my mind, that is, self-aware value network. After dressing up, I talked to my wife about this, as her work background is logistics and supply chain management. She said never heard about this but it's very interesting, thus I should dig into it. I explained to her shortly the main concept of i4.0, and drew for her on paper my initial idea -- a real-time value chain looks like a neural network. This is the origin of this article.
I will explain this concept first, then comes to detail realization later.
Self-aware value network, is an open, dynamic, demand driven value network. To fulfill certain market request, the value chain is formed randomly by diverse points. Each point is an organization can provide certain product, parts, raw material or certain service like design, consulting, or a special processing service. These product and services, before the organization is adapted to the value network, shall be certified. Ad in the meantime, all these points should be able to fully master its capability and internal status(logistics is a service as well and logistics service provider is a very important point in the value network. But it does not add to the value of product or service provided by other points, it only increases the cost. And its actually independent with each vertical industry).
Here comes to the scenario:
1) At anytime, based on its own requirements, every point in the value network can publish request to the outside points, like 'I will need certain amount of product/parts/raw material at a certain location at a certain cost.'(the ideal situation here is, all the request initiates from the final consumers, thus in this perfect DDVN, there is no redundant inventory). Te request information, can be sensed by all the points which has registered(also been certified with) the ability to provide that kind of product/service. Te points forward can decided to respond the request based on its own situation. If forward point decided to respond, it will run an internal calculation, based on its current capability plan, measure its resourced like raw material, calculate out its requirements and publish to notify its own forward points(lets assume this calculation over its own capability and resource can be done in real-time)
In this way, as you can imagine, the initial request, after been divided and published in parallel far to the most forward points in the value network, like a neural network.
2) when the request comes to the most forward points in the value network, based on its own situation, the most forward points can provide feedback to backward point(It has no forward point). Lets say this forward point is capable to deliver and decides to respond to the requests, it will acknowledge the backward point, then the forward point will publish a logistic request to all the logistic vendors in the value network to check if the logistic requirements can be meet(or the backward point can publish this logistic request), after confirmation about the logistic part, the forward point can send a respond plan to the backward point. In this respond plan there is information like the quotation of the service/product, the logistic cost and due date.
Similar to step 1, the respond plans to the requests are passed back to the backward points. Each backward point can chose the best respond plan from forward points, like best price or best delivery schedule, in order to better respond to its backward points(there might be necessary several runs in this step till forward and backward points can come to an agreement on respond plan).
3) The initial request point or say the most backward points, selects the best respond plan from its forward points, makes the deal. Then its forward point does the same. In this way the deal is done in the whole value network.
4) From the most forward point, according to the respond plan, the requests are fulfilled backwards till the most backward point's requested product or service is delivered. In this step, each points monitor its request respond status, and shall pass the information to its backward points in real-time. Like logistic failure, or equipment failure inside of the point itself.
To avoid duplication, when the initial request is published from the most backward point, it will carry the unique ID of this point per request, when the request is passed again over to forward point, another unique ID of the forward point will be added in addition to the request, it might be useful for forward points, because it might face requests from same initial source point but routed through different points in between.
All in all, this scenario includes: one request information transmission forward, one request respond plan information transmission backward, one deal agreement information transmission forward, and the actual request fulfillment.
The transmission of information is done in real-time and in a parallel pattern like a neural network.
Now let's see how to realize this.
It’s obvious that the difficulty lies on(Logistic service is simpler, I won’t discuss about it here):
1)The universal understandable semantics over the request and the respond in between the forward and backward value network points
2)For each point the ability of calculate out the request to forward points and the respond plan to backward points.
Look at the first difficulty. The exchange of information of points should be based on understandable semantics between points. This part, should be mainly solved at product RD or service definition phase. The certain specifications should be defined. For process industry, the universal raw material code can be adopted, for discrete manufacturing, it will be more complicate, but we can try to the concept which used in some area already -- UPC, to extend the UPC concept here, define UPC (as possible as we can) for each depth of points, so before transmitting the request to the forward points in different depth of the whole value chain, each points can calculate out the BOM it will need based on UPC and in combination with the internal ability.
(It useful to discuss the real-time RD collaboration inside of value network)
Let’s look at the second difficulty, this part looks more like traditional APS domain, but what I will discuss won’t be like the top-down method like APS, I will change a way, and will continue use the neural network used before.
We can treat previously discussed points of the value network as an object, in the meantime, inside of each point(enterprise organization) there are more objects like a equipment, a work center, a site.
Every object has following characters:
1) Location: The physical location, be used for physical logistics, for example, in which bay and port is the equipment located in a work center(Used for the automatic handling and material transfer system like AGV and conveyors),or the the address of the factory in the city(or only a location for deals with outside entities), and the virtual address, like emails or the unique port on the value network used for information certification, communication and so on.
2) Service ability: as shall be defined in product RD or service definition(Like different process recipes of a equipment, or service like shop floor logistics)
3) Input: To finish a request, the necessary outside support, like energy, labor, raw material(or the UPC defined previously), these resource should be fully tracked real-time.
4) Status: Each object’s status, like due time for a job, and other internal information might be interesting to outside objects when there is a work inside.
5) Output: The actual output of a work, all the related tracking information should be attached to each output.
We can use the following structure to define the objects. This is one slide from Mr. Jean Vieille’s PPT about Enterprise Physical Assents in the ISA8895 introduction
For now in different industries, the MES or SCADA systems are just able to collect information and download some simple instructions, what we need to do is: Based on MES or SCADA system, create an perpetual running software instance for each object according to the levels showed above. This instance shall master all the characters listed previously for itself. It should maintain a list of the service capability of its own, like for an equipment object, it’s a list of different process recipe; and for a product line, it’s a list of product categories it can produce, say different size of semiconductor chips. Also, all the actual status of each object collected by MES/SCADA, every work’s starting and estimated finishing time(the maintenance plan for each object also need to take in to account). Thus every object instance can create an calendar-like capability plan(same to requests). When an outside request comes, the instance can provide possible respond instantly. But the transmission of request/respond plan inside of an enterprise points, is not like the transmission inside of value network between points, it’s not a publish to all, it will follow the route product and service defined inside of the enterprise entity, it’s more guided not random.
Lets’ come back to the beginning, similarly, for each point of the value network, there should be an perpetual running software instance, all the information exchange, are done by this instance, following the scenario described.
Summary:
This kind of neural network like operation, have the ability of parallel processing and tolerance to damage(one point’s failure is not fatal to others),and the ability of generalize can be done via the big data analysis over each point itself(Every point can have the evaluation for the forward and backward value network, to improve its oven efficiency, capability, the point itself can evolve, which will brings in the evolve of the whole value network)
i4.0 will break all the legacy information systems in the manufacturing world, for example, a WIP which bears a RFID which include the future process recipes and routes, then MES will lose the function of work dispatching, cause the automation device can based on the information read from RFID chip then dispatch the WIP to the destination itself. Thus, I think to achieve the success of i4.0, we can not be restricted to the old concepts.
14年春天开始想尝试去翻译德国工业4.0工作组发布的最终报告,正准备下手之际,偶然却发现国家工信部网站上已经有人在逐章节发布中文版本,看来是有同好在做此事。想想自己动作比人晚了一两个章节,做重复的事情已再无意义,所以便放弃了这个念头,转而想根据自己研读该报告后,结合自己已有的经验和知识,来写一系列的关于德国工业4.0结合实际软件应用的一些构想。
当时想到的大致会分以下几个方向:
1)对于德国工业4.0报告本身的解读
2)SOA理念与工业4.0的结合
3)实时化整合的实现,现有IOT技术对此的支撑
4)实时成本法在工业4.0框架中的实现
5)情境设想:以一个工程设计变更流程设想工业4.0框架下的企业/价值链的实时决策
6)情境设想:标杆产业应用推广工业4.0 的设想
由于自身的工作本身比较繁忙,只是有了一些想法就记下来,并在闲暇再进行一些推敲,所以仅仅是有了一些雏形。
去年有天在洗澡的时候突然想到了一个字眼:具有感知能力的价值网络。出来穿好衣服后我便和我太太讲了这个,她本身的工作背景时物流和供应链管理,她说这个观点很新鲜建议我深入去研究一下,我给她稍稍介绍了一些工业4.0的理念,又拿纸笔给她画了一画我的设想--一个类似神经网络的价值链,这,便是本篇文章的由来。
我先阐述下这个构想,后面试着再讨论一些细节的实现。
具有自我感知能力的价值网络,是开放、动态的和以需求为驱动的,为了满足某个市场需求,价值链是随机地由众多节点构成,每个节点可以是能够生产某种产品、零件、原料或者能够提供一定的服务比如说设计服务、咨询服务、或者某种特殊的加工工艺服务的企业组织。在被纳入价值网络前,这些所有产品服务的能力要经过验证,同时每个节点对自身的能力状况有实时、完全的掌控。(物流也是一种服务,物流企业也是一个价值网络的节点,但和其他的产品和服务提供商有别,它不对产品和服务增加价值,而只是增加了成本,而且实际上是独立于实际产业之外)
设想以下机制:
1)在任意的时间,每个节点都根据自身需求,对外发布需求信息,比如说在某个时间地点以一定的价格需要一定数量的某种产品、零件或原料等等(当然理想状况是,所有需求起始于最终消费者,这样才是完美的需求驱动的价值网络,价值网络内不会有冗余库存),该需求信息,可以实时地被能够提供该种类服务和产品(也经过认证了)的其他节点感知,前溯节点在收到这广播的需求后,决定是否响应该需求,如果响应的话,该节点在根据自身当前的能力计划、衡量物料等各种资源的状态,再接着向它自己上游的节点发出需求请求(我们不妨假设这些自身能力和对资源的的计算都是实时的)。
你可以想象到,由于这些需求请求会像神经网络一样,最末端的需求会被并发地分解发布直致到达价值链的最前端。
2)在需求信息达到最前端时,前端的节点则会根据自身状况回复对需求的反馈(有始有终,最前端节点再无前置)。如果前端节点有能力且决定响应需求,则告知后端节点即需求方,同时前端节点会需要发布一个物流服务请求(抑或是这一段的需求发布者来发布物流请求),向所有能够提供物流服务的节点广播,经过物流节点确认可以满足物流要求后,则该前置节点会将这一需求响应预案反馈给自己的需求节点,这个反馈预案中包含了服务或产品价格,物流成本,可达成的交期等等。
类似的,对需求的响应一层层地传导回来至需求的源节点。每一层的需求节点可以在其收到的响应中挑出最优的,比如说最优价格,交期等等,从而能够更好地响应自己后端的节点。(可能在每一段中需求方和响应方需要经过几轮的交互来敲定最终预案)
3)在收到前置节点的响应预案时,需求起始节点从中挑出最优的,选择成交,然后成交信息沿着每段内最优预案往前传导,从而在整个价值网络内达成交易。
4)从最前端的节点开始,根据响应预案逐步往后满足需求,直到完成最后节点所需要的实际产品和服务的交付。在这个阶段,监控所有服务的进度,包括物流。如果有异常则实时进行反馈处理,比如说某个节点因为内部设备故障推迟交付产品或服务,该节点应该立刻向后传导该差异,以利于后端节点进行处理。
为避免重复,起始需求从最后端节点往前传导时,要带上自身节点的此次需求的唯一识别码,前置节点在传导需求时,在后端节点识别码的基础上加上本节点的唯一识别码,因为在需求询问阶段,可能前端会面临来自同一最终需求源但经过不同路径的中间节点的需求询问。
综上,该机制包含:向前需求信息的传导,向后的需求响应预案的传导,向前的成交信息的传导,和向后实际服务的满足,前三个信息的传导是实时化的类似神经网络的并发传导。
接下来讨论具体的实现。
很明显,难点在于(物流服务相对要简单一些,这里就不作讨论)
1)前后节点之间对需求和响应的可理解的通用语义规范;
2)实时地计算出节点自身对前置节点的需求和对后端节点需求的响应预案。
先来看第一点,节点之间的交互肯定是需要基于可供前后相关节点可理解的通用语义。这一部分,更多的要在研发阶段,对产品和服务的设计和定义时做出具体规范。流程制造业可以用通用的原料代号,离散制造业的情形则会复杂一些,但是可以尝试延用某些领域已有的UPC的概念,延伸开便是: 尽可能地为每个阶段的节点定义UPC,这样在逐级对价值链前端的需求进行传递时,每个节点可以根据UPC结合自己内部的能力逐步计算出本对象所需要的外部BOM,(可以展开再去讨论研发在价值网络内的协同)
接下来我们主要看第二点,这部分看起来更多的会像是传统的APS的范畴,但这里这里展开的讨论将不再会是如同APS的那种自顶而下的方式,我会换个思路,并且将会继续用到前面的神经网络模型。
我们可以将每个前述的价值网络的每个节点看作一个对象,同时每个节点(企业组织)的里每一个设备、工作中心、厂区、也都是一个对象。
每个对象拥有以下基本属性:
1) 地点:每个对象的实际物理地址,用于实体物流,比如说设备位于工作中心的哪个bay 哪个port(供自动化搬送和传输设备比如AGV和传送带使用),工厂在城市的地址(或者仅仅是所有对外交易服务的实体交割点)等等,还有虚拟地址,如Email,或者处于价值网络上的唯一的端口用于信息认证、通讯等等。
2 ) 服务能力: 包括产出产品和服务的能力(具体的设备的不同的加工方法工厂内的AGV提供的自动化搬送)
3) 输入: 完成某项工作所需要的支撑,能源,人力,物料(或者是前面提到的UPC),这三点要实时可追踪。
4) 状态: 对象身的状态,比如预计工作完成时间等所有可以搜集到和发布的外部可能会感兴趣的所有关于对象在运作过程中的信息。
5) 输出: 实际的产出或能提供的服务,产出要附带上在节点内部所有相关的信息。
下面是Mr. Jean Vieille 做的ISA8895系列介绍,阐述企业物理资产时的一页PPT。可以参考这个结构去进行对象的划分。
目前各产业领域内的MES或SCADA仅有能力去搜集信息和下达一些简单指令。我们要做的是,在MES或SCADA系统的基础上,为如上层级的每个对象创建一个永续运转的软件实例,该实例要管控所有关于本对象的如上信息。它维护该对象的服务能力列表,比如说对一个设备的对象实例来说则说不同的加工工艺方法,对一个生产线来说则是能够生产的产品种类,比如说不同尺寸的晶圆片。同时所有MES/SCADA系统搜集到的关于该对象的状态,每次工作的开始和预计结束时间信息也被搜集维护(在计算本对象能力的时候,也要考虑到维护停机等事项),如此每个对象实例可为本对象维护一个类似日历的的能力计划(需求亦类似)。这样在每一项外部需求来临时,可以立刻反馈出对该需求的可能响应。不过在企业节点内的需求传递则不会像价值网络内的广播,而会是按照产品或服务类型所规定好的途程做定向传递。
我们再回到前面,同样的,每个节点,都有一个永续运转的软件实例,所有涉及到的信息交互,都由这个实例来完成,基于前述的机制。
结语:
这种类似神经网络式的运作,并行处理,对损伤有冗余(每个节点的失败对其他节点不致命), 而可以归纳的能力则体现在:对每个节点的大大数据分析可以带来更多的优化(每个节点都可以有围绕自身的向前向后延伸的价值网络的评估,提升自身节点的性能,响应速度,响应能力等等,实现自身节点的进化进而整个价值网络的进化)
工业4.0会打碎以往的信息化系统,比如承载了RFID的在制产品自身带有需要经过的加工工艺信息,那MES则失去了自动派工等作用--底层自动化设备仅根据读取到的RFID芯片的信息则可自行将物料搬送至预设的节点。所以我认为,工业4.0成功,不能限于以往旧的系统思维。