文章目录

  • 前言
  • 一、什么是OPC?
  • 二、OPC解决的问题
  • 三、OPC客户程序和OPC服务器
  • OPC 服务器的对象组成
  • 四、OPC的主要功能
  • 总结



前言

公司因为工程功能需要实现opc与设备进行通信以及用java编写opc应用程序,因此记录一下学习过程。


一、什么是OPC?

OPC是工业控制和生产自动化领域中使用的硬件和软件的接口标准,以便有效地在应用和过程控制设备之间读写数据。O代表OLE(对象链接和嵌入),P (process过程),C (control控制)。

二、OPC解决的问题

传统的通讯开发方式,不同的设备以及不同厂家的设备需要开发不同的设备通讯驱动程序,这样的话设备不断增加,就造成了硬件通讯驱动程序需要不断开发的现象,而且后面越来越多,也难以维护。

plc和java哪个更有前景 java与plc的opc通讯_应用程序

OPC 提出了一套统一的标准,采用典型的 CLIENT/SERVER 模式,针对硬件设备的驱动程序由硬件厂商或专门的公司完成,提供具有统一 OPC接口标准的 SERVER 程序,软件厂商只需按照 OPC 标准编写 CLIENT程序访问(读/写)SERVER 程序,即可实现与硬件设备的通信。

plc和java哪个更有前景 java与plc的opc通讯_plc和java哪个更有前景_02

三、OPC客户程序和OPC服务器

OPC 技术的提出就是基于 COM 的 C/S 模式。一个 OPC 客户可以连接一个或多个 OPC 服务器,而多个 OPC 客户也可以同时连接同一个 OPC 服务器。

plc和java哪个更有前景 java与plc的opc通讯_应用程序_03

OPC 服务器的对象组成

一个 OPC 服务器由三个对象组成:服务器(Server),组(Group),项(Item)。

服务器: OPC 服务器用来提供关于服务器对象自身的相关信息,并且作为 OPC 组对象的容器。

组: OPC 组对象提供了 OPC 客户程序用来组织数据的一种方法。

项: OPC 项代表了 OPC 服务器到数据源的一个物理连接,数据项是读写数据的最小逻辑单位。

plc和java哪个更有前景 java与plc的opc通讯_应用程序_04

四、OPC的主要功能

OPC的数据访问方法主要有同步访问异步访问两种。

同步访问

同步访问就是OPC服务器把按照OPC应用程序的要求得到的数据访问结果作为方法的参数返回给OPC应用程序,OPC应用程序在结果被返回为止一直必须处于等待状态。

plc和java哪个更有前景 java与plc的opc通讯_网络协议_05

异步访问

异步访问就是OPC服务器接到OPC应用程序的要求后,几乎立即将方法返回。OPC应用程序随后可以进行其他处理。当OPC服务器完成数据访问时,触发OPC应用程序的异步访问完成事件,将数据访问结果传送给OPC应用程序。

plc和java哪个更有前景 java与plc的opc通讯_plc和java哪个更有前景_06

数据订阅

数据订阅也属于异步通讯方式的一种,客户端通过订阅方式后,服务器端将变化的数据通过回调传送给客户程序。

plc和java哪个更有前景 java与plc的opc通讯_数据访问_07


总结

本章讲的是OPC应用程序开发所需的基础知识。