MES在汽车制造中的应用之架构篇(5)-Kepware OPC产品介绍

本章介绍在业内应用最广泛的OPC产品:KepwareOPC Server及其插件。

1.什么是OPC

OPC即OLE forProcess Control,用于过程控制的OLE。

而OLE即Object Linkingand Embedding,对象链接与嵌入。

比如WORD中插入一个EXCEL表格,就利用了OLE技术。

图3.5-1 OPC的作用

如图3.5-1所示,OPC的作用是将PLC数据块(DataBlock)转换成MES(通过OPC客户端)能够直接读写的内存变量(Tag)。

一般来说,如果PLC要和上位系统通信,通常会把数据存储在专用的接口数据块中,并且为每个数据块规划好专有结构,如:

但是这些数据块的地址是无法被MES直接访问的。

而经过OPC映射后,这些PLC变量和一般的IT服务器内存变量在形式上已经没有了区别,OPC服务器能够直接对这些PLC变量进行读写操作。

而我们可以在MES上部署OPC客户端,对这些变量进行访问和读写。

目前OPC协议主要有两种:OPCDA和OPC UA。

OPC DA即OPC DataAccess,这个协议基于微软的DCOM技术实现,已经用了很多年,非常成熟,但是只能部署在WINDOWS平台。由于DCOM的限制,OPC DA的安全性不高,配置也较繁琐。

OPC UA即OPC UnifiedArchitecture,是跨平台的,可以部署在LINUX+JAVA环境下,但是目前应用还不是很广泛。

2.DataLogger

DataLogger是Kepware的一个插件,能够将OPC变量的值自动记录到数据库中。

对于一般的PLC数据采集需求来说,这个插件已经足以满足了,它只需要一些简单的配置,不需要任何的代码开发。

数据存到数据库里以后,可以通过编写数据库存储过程或者应用层逻辑,来对数据进行业务处理。

比如我们要对一个旧工厂的冲压车间实施PMC,采集设备状态信息,那么我们可以利用OPC DA + DataLogger来采集数据,然后在数据库里编写触发器和存储过程来对数据进一步处理。

3.ODBC Driver

DataLogger只能对数据库进行写操作,不能进行读操作,因此数据只能从PLC向MES上行传输。

但某些时候,我们需要读数据库。

比如我们要对焊装车间增加订单下发和时间同步功能,那么我们可以利用ODBC Driver插件来实现。

ODBC Driver把数据库作为一个设备进行管理,调用ODBC引擎实现数据库连接和读写操作。

我们可以建立两个接口表,一个用于存储当天工单,一个用于存储时间同步信号。

OPC服务器通过这两个表来读取信息,然后将数据通过OPC DA写到PLC中。

4.Advanced Tags

Advanced Tags是一组插件,这里介绍应用较多的Link Tag。

Link Tag能够将一个变量的值自动写入另一个Tag。

这里介绍两个应用案例。

案例1:PLC通信。如区域A进行装配,区域B执行检查。当区域B检查出现问题时,通过ANDON系统通知到区域A PLC。由于区域A和区域B之间距离较远,且工艺上没有数据交互。因此,我们可以在不增加硬件设备(如耦合器)的情况下,通过OPC DA + LINK TAG来实现2个区域PLC之间的通信。

案例2:PLC数据上传到MES。DataLogger尽管能够写数据库,但是它有一个很大的限制:只能增加行记录(INSERT)。而ODBC DRIVER能够更新接口表(UPDATE)。因此我们可以通过OPC DA来监控PLC变量,再通过LINK TAG将PLC TAG映射到ODBC DRIVER对应的接口表。详细实现,可参考我的文章《通过KEPWARE ODBC DRIVER和ADVANCED TAG实现数据库和PLC的双向通信》。

5.IoT Gateway

IoT Gateway即Internet ofThings Gateway物联网网关。

Kepware以插件的形式提供了4种网关:

-MQTT客户端

-REST客户端

-REST服务器

-ThingWorx网关

前3种都可以很方便地配置使用。

MQTT即Message Queuing Telemetry Transport,是一种专门用于远程窄带网络的消息队列服务协议。比如在一些机加车间,网络信号不稳定,那么我们可以在不改造网络的情况下,利用此客户端来采集PLC数据。

REST即Representational State Transfer可重新表达的状态迁移,是一种应用较广泛的实时可靠的IT信息传递方式,目前在很多场合取代了Web Service进行部署。

REST客户端能够侦测PLC变量,一旦发生变化,则自动调用MES REST服务器,将数据上传给MES。比如AVI系统的车辆过站记录,能够通过REST客户端实时上传。

REST服务器提供了一个监听器,将PLC变量暴露出来,MES可通过REST客户端来执行特定的指令。如MES要冻结某个工单,则可通过REST调用将信息实时写入PLC。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171225G0ZJAL00?refer=cp_1026

扫码关注云+社区