PLC编程再思考之一:MapReduce

文章探讨了在MES应用中,PLC如何利用MapReduce思想优化程序结构。通过IT PLC实现复杂业务逻辑处理和大量I/O设备读写。以ANDON系统为例,展示了Map在程序结构和配置关系定义中的应用,以及Reduce在处理线、工位、拉绳、灯逻辑中的应用,从而实现简洁的调用结构。
摘要由CSDN通过智能技术生成
大家知道MapReduce是奠定GOOGLE成功基础的三大技术法宝之一(另外两个是PageRank和BigTable),现在MapReduce方法论已经在网络开发甚至在企业开发中得到广泛的应用,而本文则探讨MapReduce在MES PLC编程中的应用。

目前PLC和自动化技术在MES的应用中非常关键,通过对PLC的集成,MES得以打通执行层、控制层、设备层,在一些汽车制造公司,甚至专门搭建IT PLC或MASTER PLC,以实现PMC、ANDON、AVI、EPS等高度复杂的业务模块,以及数以千计的外部设备(拉绳/按钮/灯)的集成。

因此,对于MES业务而言,IT PLC的重点不是过程控制,而是复杂业务逻辑的处理,以及大量I/O设备的读写。

由于上述原因,IT PLC内部运行的FB/FC就会非常多,如果不认真规划的话,OB1里调用关系就会非常混乱,因而需要对程序的结构进行严谨的设计。

本文试以ANDON为例,说明MapReduce在PLC编程上的借鉴。

 

首先是Map。

Map应体现在两个方面,一是程序结构。

如下图体现了非常清晰的调用关系,在OB1中只需要做一些业务模块的声明:

第二个方面是配置关系的定义,如线和工位的对应关系,工位和拉绳/灯的对应关系。

如下图所示,可以用数组建立线和工位的对应关系,然后把拉绳和灯的编号作为工位属性配置:

 因而我们可以用遍历数组的方式得到线对应的所有工位,然后根据工位属性得到对应的拉绳编号和灯编号。

 

再来看Reduce。

从FC40000 ANDON主FC以下,我们又看到了以下几类业务处理过程:

- 对于线的处理

- 对于工位的处理

- 对于拉绳的处理

- 对于灯的处理

 

我们可以分别编写4个FC来进行相应的处理。

- FC40100处理线的逻辑,包含两个变量:线编号和工位数量。

- FC40101处理工位的逻辑,包含变量:工位编号。

- FC40111处理拉绳的逻辑,包含变量:拉绳编号和拉绳状态。

- FC40121处理灯的逻辑,包含变量:灯编号。

 

经由以上处理,我们就得到了一个非常简洁的调用结构:

具体过程为:

- FC40000依次调用各条线FC40100。

- FC40100调用本线对应所有工位的FC40101。

- FC40101调用工位对应拉绳的FC40111。

- FC40101根据拉强绳返回的状态值FLAG,决定是否调用灯的FC40121。

 

总结一下,本文中用MapReduce处理PLC程序结构的要点:

- OB1/FC的结构要清晰、有层次。

- 业务模型通过DB中的数组等结构体现关系。

- 业务过程FC要参数化、可重用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值