方式1:定期抓取数据
某些设备的关键工艺参数(如变速器轴齿热处理炉的温度)非常重要,需要定期抓取以生成实时曲线,及用于长期追溯分析。
这些工艺参数通常都是模拟量,数值始终不停地变化。
通常我们可以通过OPC软件读取这些数据,经过精度处理,然后定期写入实时数据库中。
这些数据的特点是:读取频率高,数据变化小,因此存入数据库时会存在大量重复的记录,而实时数据库提供数据压缩的功能,特别适合此类数据的存储。
方式2:基于条件触发
有许多工艺参数(如螺栓的拧紧值)的收集,主要是用于事后的质量追溯分析的,通常我们会定义一个触发信号通知MES读取。
比如发动机在某工位完成物理装配作业后,PLC会把关键的工艺参数写入数据交换区,然后给DATA_READY信号置位。
而MES会每隔1秒扫描监听DATA_READY信号,当此信号处于高位时,则读取数据交换区的质量追溯数据。
可参考下图:
图1 定义一个触发信号通知MES读取
具体握手过程为:
1.发动机完成某个装配步骤,PLC写入参数1。
2.发动机完成某个装配步骤,PLC写入参数2。
3.发动机完成所有物理装配作业,PLC将DATA_READY置位。MES读取参数1、参数2。
4.发动机准备离开当前工位,PLC将所有数据复位。
方式3:请求-响应机制,1次握手
这种方式和IT系统的MQ/WEB SERVICE等消息处理机制非常类似。
如发动机上线工位,MES给PLC下发工单,过程可参考下图:
图2 MES给PLC下发工单
具体握手过程为:
1.PLC在PLC_MSG写入请求数据,如工位,同时将REQUEST_SENT置位。
2.MES扫描到REQUEST_SENT,读取PLC_MSG,然后生成工单数据,并写入MES_MSG,同时将RESPONSE_SENT置位。
3.PLC扫描RESPONSE_SENT,读取MES_MSG并写入本地数据块,然后将REQUEST_SENT和PLC_MSG复位。
4.MES将所有数据和控制位复位。
我们可以看出,整个数据交换的过程只发生了1个来回,即1-2步,而3-4步是将消息销毁的动作。
这种方式还有一个特点,就是封装性好,同样一个接口,既可以下发工单,也可以上传过站数据,区别在于PLC_MSG/MES_MSG里存储的数据内容不一样。