- 中国官网
http://www.chinaopc.org/ - 概述
OPC是OLE for Process Control的缩写,即把OLE应用于工业控制领域。OLE原意是对象链接和嵌入,随着OLE 2的发行,其范围已远远超出了这个概念。现在的OLE包容了许多新的特征,如统一数据传输、结构化存储和自动化,已经成为独立于计算机语言、操作系统甚至硬件平台的一种规范,是面向对象程序设计概念的进一步推广。OPC建立OLE规范之上,它为工业控制领域提供了一种标准的数据访问机制。
工业控制领域用到大量的现场设备,在OPC出现以前,软件开发商需要开发大量的驱动程序来连接这些设备。即使硬件供应商在硬件上做了一些小小改动,应用程序就可能需要重写;同时,由于不同设备甚至同一设备不同单元的驱动程序也有可能不同,软件开发商很难同时对这些设备进行访问以优化操作。硬件供应商也在尝试解决这个问题,然而由于不同客户有着不同的需要,同时也存在着不同的数据传输协议,因此也一直没有完整的解决方案。
自OPC提出以后,这个问题终于得到解决。OPC规范包括OPC服务器和OPC客户两个部分,其实质是在硬件供应商和软件开发商之间建立了一套完整的“规则”,只要遵循这套规则,数据交互对两者来说都是透明的,硬件供应商无需考虑应用程序的多种需求和传输协议,软件开发商也无需了解硬件的实质和操作过程。
摘要: OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定,OPC 为硬件制造商与软件开发商提供了一条桥梁,透过硬件厂商提供的
OPC Server
接口,软件开发者不必考虑各项不同硬件间的差异,便可自硬件端取得所需的信息,所以软件开发者仅需专注于程序本身的控制流程的运作。此外,由于
COM/DCOM 实作并隐藏了网络的细节,透过 OPC 可以很容易地达成远程控制的理想。OPC技术是通常是用于PLC和上位机通讯的一个基于COM的一个通讯组件。比如某个项目是用西门子系列的PLC控制的自动化系统通过西门子的中间件通常会安装S7-200
PC Access或者SimaticNet的OPC服务端软件。这两个软件的目的就是在上位机的系统中搭建了一个OPC
Server并提供访问可以编程实现遵循OPC技术使上位机与PLC通讯的功能。
此外,需要强调一点,OPC并不是西门子的技术,它是一个标准,凡是遵循OPC技术的PLC都能共通过其标准与下位机通讯 。几个关于OPC的概念:
同步读:在调用OPC的接口函数时实时的将数据(组)通过出口参数传出
同步写:在调用OPC的接口函数时实时的将数据写入寄存器
异步读:调用OPC接口不会直接写入PLC寄存器,而是在注册的回调函数中拿到数据的相关信息
异步写:也是在回调函数中将数据写入组的概念:
组中可以包含项,是多个项的一个集合
组是和OPC提供的IO接口绑定的,OPC的IO接口是用于读写数据项的概念:
项其实就是对于了PLC上的对应地址,每种OPC服务器根据厂商不同定义的格式不同
开源包,jeasyopc和utgard的区别
看完感觉utgard好点相关概念
RPC 远程过程调用协议
COM
组件对象模型 COmponent Model
DCOM
分布式组件对象模型 Distribute COM
上位机 & 下位机
- opcenum 的身份标识的交互式无法选择问题
win7 32位
将c:/windows/system32/opcenum.exe重新注册一下就可以了!注册方法:
将opcenum.exe鼠标左键拖入开始运行中,空格,/regserver,确定后,
重新打开dcom配置界面,交互式就可以选择了!win7 64位
C:/Windows/SysWOW64/opcenum.exe
OpcEnum.exe的位置 C:\Windows\SysWOW64\OpcEnum.exe