文档库 最新最全的文档下载
当前位置:文档库 › OPC技术规范

OPC技术规范

OPCUA技术总结

OPC UA (OPC Unified Architecture,OPC统一体系架构) 1. OPC UA 简介 OPC UA(Unified Architecture)标准是OPC基金会2006年推出的一个新的工业软件应用接口规范,是企业软件架构的一个全新方向。OPC UA的主要目标是建立更丰富的数据模型与平台的独立性,以及提高工厂底层和企业系统之间的集成支持。 2. OPC UA 产生 现有OPC 规范的不足: 1) 缺少跨平台通用性。由于COM/DCOM对Microsoft平台的依赖性,使得OPC-COM 接口很难被应用到其它平台上。 2) 较难与Intemet应用程序集成。由于网络防火墙会过滤掉大多数基于COM传输的数 据,因此OPC-COM不能与Intemet应用程序进行交互。DCOM 不适用于Internet 环境,它不支持通过Internet访问对象; 3) COM 产生的传输报文复杂,并且由于防火墙的存在,在Internet 上发送COM 报文 非常困难。 4) 较难与企业应用程序连接。企业应用程序需要实时的工业现场数据,这些数据通常 来自具有OPC-COM接口的服务器。但是这些上层应用程序大多没有与OPC-C0M服务器交互的OPC-COM接口,因而不能进行连接。 促使OPC UA 出现的主要因素: 1)工业应用软件正转向https://www.wendangku.net/doc/884538734.html,; 2)客户端软件需要一个集成的API 集成现有OPC规范及各自独立的API; 3)客户端软件需要对数据语义进行识别; 4)客户对服务器安全性、可靠性等性能方面更高的要求。 针对上述因素和现有OPC 的不足,新规范OPC UA 主要通过以下方法来解决: 1) OPC UA 的消息采用WSDL 定义,实现了规范的平台无关性; 2) OPC UA 定义了一套集成的服务,解决了现有OPC 规范在应用时服务重叠的问题; 3) OPC UA 采用了集成的地址空间,增加对象语义识别功能,并实现了对信息模型的 支持; 4) 另外,OPC UA 采用冗余技术、安全模型等一系列机制,提高了安全性、可靠性等 方面的性能。 虽然我们可以用OPC XML-Data Access 规范,并结合SOAP、WSDL 等Web Services 技术,能弥补上述缺陷,但是由于规范本身的问题,其在可互操作性、安全性、可靠性等方面仍不能满足用户的需求。为此,OPC 基金会推出新一代OPC 规范——OPC UA。 3. OPC UA 服务器体系结构 OPC UA 服务器体系结构中主要包括真实对象、OPC UA 服务器应用程序、OPC UA 地址空间、公布/ 预定实体、OPC UA 服务器服务API、OPC UA通信栈,其中真实对象包括物理对象和软件对象。

如何开发OPCServer

如何开发OPC Server 首先我们先来看一下什么是OPC OPC (OLE for Process Control——用于过程控制的OLE)是基于Microsoft公司的DNA (Distributed Internet Application)构架和COM(Component Object Model)技术的一个工业标准接口,是根据易于扩展性而设计的。 再来了解一下OPC的用途 OPC主要适用于过程控制和制造自动化等应用领域。 OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来 然后我们再来看看OPC Server的组成 一个设备的OPC Server主要有两部组成,一是OPC标准接口的实现;二是与硬件设备的通信模块。 实现OPC 标准接口 [图1] 在这些接口中,IOPCServer 是OPC Server的主接口,通过它实现OPC Server在操作系统中的安装和注册。此接口是必须要实现的,其所有方法也必须实现。其它的接口都是可选的我们就不做介绍了,下面主要来介绍如何实现IOPCServer接口。 在IOPCServer接口中共有六个法: 1、 IOPCServer::AddGroup HRESULT AddGroup( [in, string] LPCWSTR szName, [in] BOOL bActive, [in] DWORD dwRequestedUpdateRate, [in] OPCHANDLE hClientGroup, [unique, in] LONG *pTimeBias, [in] FLOAT * pPercentDeadband, [in] DWORD dwLCID, [out] OPCHANDLE * phServerGroup,

OPC规约详细内容

OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。 应用程序与OPC服务器之间必须有OPC接口,OPC规范提供了两套标准接口:Custom 标准接口,OLE自动化标准接口。通常在系统设计中采用OLE自动化标准接口。 OLE自动化标准接口,及采用OLE自动化技术进行调用,其技术为OLE自动化技术。OLE 自动化标准接口定义了以下三层接口,依次呈包含关系。 OPC Server:OPC启动服务器,获得其他对象和服务的起始类,并用于返回OPC Group 类对象; OPC Group:存储由若干OPC Item组成的Group信息,并用于返回OPC Item类对象。 OPC Item:存储具体Item 的定义、数据值、状态值等信息。 由于OPC规范基于OLE/COM技术,同时OLE/COM的扩展远程OLE自动化与DCOM技术支持TCP/IP等多种网络协议,因此可以将OPC客户、服务器在物理上分开,分布于网络不同节点上。 OPC规范可以应用在许多应用程序中,如它们可以应用于从SCADA 或者DCS系统的物理设备中获取原始数据的最低层,它们同样可以应用于从SCADA 或者DCS系统中获取数据到应用程序中。实际上,OPC设计的目的就是从网络上某节点获取数据。 OPC的数据访问方法分别有同步访问、异步访问和订阅式数据采集方式三种。 1、同步数据访问方式 OPC服务器把按照OPC应用程序的要求得到的数据访问结果作为方法的参数返回给OP C应用程序,OPC应用程序在结果被返回之前必须处于等待状态。 同步访问特点为:读取指定OPC标签对应的过程数据时,应用程序一直要等到读取完为止;写入指定OPC标签对应的过程数据时,应用程序一直等待写入完成为止。当客户数据较少而且同服务器交互的数据量比较少的时候可以采用这种方式,然而当网络堵塞或大量客户访问时,会造成系统的性能效率下降。 2、异步数据访问方式

OPC简介与开发总结

背景简介 OPC(OLE for Process Control,用于过程控制的OLE)是为过程控制专门设计的OLE 技术,由一些世界上技术占领先地位的自动化系统和硬件、软件公司与微软公司(Microsoft)合作而建立的,并且成立了专门的OPC 基金会来管理,OPC 基金会负责OPC 规范的制定和发布。 OPC 提出了一套统一的标准,采用典型的C/S 模式。厂商可以开发一个高度优化的、可重用的OPC Server 访问底层的硬件,并将数据以OPC 接口方式提供给任何支持OPC规范的客户端软件,客户就可以按照统一的数据访问标准访问不同厂商的硬件产品。(IEC61850/MODBUS/DNP) 。 OPC 技术本质是采用了Microsoft 的COM/DCOM(组件对象模型/分布式组件对象模型)技术,COM 主要是为了实现软件复用和互操作,并且为基于WINDOWS的程序提供了统一的、可扩充的、面向对象的通讯协议,DCOM 是COM技术在分布式计算领域的扩展,使COM 可以支持在局域网、广域网甚至Internet 上不同计算机上的对象之间的通讯。 OPC规范简介 OPC 规范作为一个工业标准,是开发OPC 服务器与OPC 客户软件之间数据传输的规范,并已形成一个体系。根据开发软件功能的不同,OPC 制定了以下领域单独规范: 数据访问规范:定义了OPC 服务器中一组COM 对象及其接口,并规定了客户对服务器程序进行数据存取时需要遵循的标准。借助Microsoft 的DCOM 技术,OPC 实现了高性能的远程数据访问能力。 报警和事件处理规范:该规范提供了一种通知机制,在指定事件或报警条件发生时,OPC 服务器能够主动通知客户程序。 历史数据访问规范:该规范提供一种通用历史数据引擎,可以向感兴趣的用户和客户程序提供数据汇总和数据分析等额外的信息。 安全性规范:该规范提供了一种专门的机制来保护OPC 服务器中的现场数据,防止未授权的操作误修改这些参数。 批量过程规范:该规范基于OPC 数据存取规范和ISA88 系列批量控制标准,提供了一种存取实时批量数据和设备信息的方法。 XML规范 OPCDA205 规范(OPC Data Access Custom Interface Specification 2.05)是2002 年5 月OPC 基金会发布的OPCDA 自定义接口规范。该规范制定了OPC 服务器和OPC 客户程序的COM 接口标准,通过制定标准的接口来实现多个厂家的OPC 服务器和OPC 客户程序开发。 OPC 客户程序和OPC 服务器 一个OPC 客户可以连接一个或多个OPC 服务器,而多个OPC 客户也可以同时连接同一个

OPC服务器与客户程序开发指南

第1章OPC概述 关键字:COM DCOM OPC DA 通讯规范 CLIENT SERVER GROUP ITEM 自定义接 口自动化接口同步异步回调 随着计算机科学技术、工业控制等各方面新技术的迅速发展,计算机监控系统由早期的集中式监控向全分布式的方向发展,计算机监控系统软件随着面向对象技术、分布式对象计算、多层次Client/Server技术的成熟,也从早期面向功能的系统软件,发展为面向具体现场设备为特征的面向对象的监控系统软件。 同时,计算机监控系统规模越来越大,不同厂家生产的现场设备的种类在不断增加,由于不同厂家所提供的现场设备的通讯机制并不尽相同,计算机监控系统软件需要开发的硬件设备通信驱动程序也就越来越多,造成了硬件通讯驱动程序需要不断开发的现象,而基于COM/ DCOM技术的OPC技术,提供了一个统一的通讯标准,不同厂商只要遵循OPC技术标准就可以实现软硬件的互操作性。 OPC(OLE for Process Control,用于过程控制的OLE)是为过程控制专门设计的OLE技术,由一些世界上技术占领先地位的自动化系统和硬件、软件公司与微软公司(Microsoft)紧密合作而建立的,并且成立了专门的OPC基金会来管理,OPC基金会负责OPC规范的制定和发布。OPC提出了一套统一的标准,采用典型的CLIENT/SERVER模式,针对硬件设备的驱动程序由硬件厂商或专门的公司完成,提供具有统一OPC接口标准的SERVER程序,软件厂商只需按照OPC标准编写CLIENT程序访问(读/写)SERVER程序,即可实现与硬件设备的通信。 如图1.1所示,与传统的通讯开发方式相比,OPC技术具有以下优势: ·硬件厂商熟悉自己的硬件设备,因而设备驱动程序性能更可靠、效率更高。 ·软件厂商可以减少复杂的设备驱动程序的开发周期,只需开发一套遵循OPC标准的程序就可以实现与硬件设备的通信,因此可以把人力、物力资源投入到系统功能的完善中。 ·可以实现软硬件的互操作性。 ·OPC把软硬件厂商区分开来,使得双方的工作效率有了很大的提 高。

西门子PLC的以太网通讯及OPC通讯介绍

西門子PLC的以太網通訊及OPC通訊介紹 1.以太網通訊 CAL有很多地方用到以太網通訊,L2,焊機與PLC間通訊等,表檢的成像原理為:在金屬板帶表面沒有缺陷時,反射的光在明視場下很強,而在暗視場的散射光很弱;如有缺陷,則明視場的光強減弱,而暗視場的光強增加。根據這個原理,通過檢測攝像頭裡光強的變化,可檢測出材料表面上的一些物理缺陷。CAL 僅僅用到了它的檢測破孔這一個功能。 下面再來看西門子的以太網通訊,使用以太網通訊處理器可能的連接方式: 我們可以看到不同的通訊方式在PLC裏面需要調用不同的功能塊。 像S7-Connection方式連接的,需要調用SFB12/FB12等來讀取發送數據息,而TCP等連接的,需要FC5等來讀取發送數據。 下面簡單介紹下每種連接特點: Send/receive: iso 連接:ISO傳輸服務通過組態連接提供SEND/REVEICE interface服務在以太網上傳輸數據,此時服務使用的是ISO協議。此通訊速度較快,可是不能實現網絡路由,只能用於局域網通訊。 Send/receive: iso-On-TCP 連接:突破了局域網的限制,可以路由到公網上去;數據重發功能和基於第2層的CRC校驗保證了數據傳輸的完整性和可靠性。 Send/receive: TCP 連接:TCP/IP提供面向連接的數據通訊,數據並不會被打包因而並沒有數據包確認位,在這TCP服務提供了統一的sccket接口到每一個終

端,因而數據塊可以整體發送,這裡區別於iso-On-TCP 連接。 Send/receive: UDP連接:UDP提供簡單數據傳輸,無需確認,與TCP同屬第4層協議。與TCP相比,UDP屬於無連接的協議,數據報文無需確認。 S7通信:S7協議是西門子S7家族的標準通信協議,使用S7應用接口的通信不依賴特定的總線系統(Ethernet,PROFIBUS,MPI)。接口位於ISO-OSI參考模型的第7層,下面圖模型各層的通信方式。 那麼根據表檢的通訊協議規定: Transmission mode:TCP protocol (not S7), PLC will always be the client , Gauge will always be the server. Byte order: use PLC Byte Order ( not x86 byte order ). 我們建立通訊就需選擇send/receive中的TCP連接。 因此,在PLC中做如下配置: 1.打開硬件配置->點擊網絡組態:

Opc统一架构

Opc统一架构 一假期完成的看书 1 opc的定义与产生 OPC 全称是OLE(Object Linking and Embedding,对象链接和嵌入) for Process Control,它的出现为基于Windows 的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC 标准应运而生。OPC 标准以微软公司的OLE 技术为基础,它的制定是通过提供一套标准的OLE/COM 接口完成的,在OPC 技术中使用的是OLE 2 技术,OLE 标准允许多台微机之间交换文档、图形等对象。 OLE 不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为部件对象模型(Component Object Model),简称COM。 2 opc基金会 1996年8月,opc da(数据访问)规范发布了,opc基金会是维护这一标准的非盈利性组织,几乎所有提供工业自动化系统的厂商都成为了opc基金会的成员。Opc基金会可以比其他组织快得多的定义,通过,实践,有关标准。通过12年的发展,opc基金会已拥有超过450个成员,包括全世界所有的自动化系统供应商。 3 经典opc 根据工业应用的不同需求,已制定了三个主要opc规范:数据访问(da),报警和事件(a&e),历史数据访问(hda)。 3.1 Opc数据访问 Opc数据访问(da)接口可以读,写,检测包含当前过程数据的变量。Opc da 客户端明确的选择了他们需要从服务器中读,写或者检测的变量(opc项)。Opc客户端通过创建一个opcserver对象来建立一个到服务器的连接。 3.2opc报警和事件 opc a&e接口可以接收事件通知和报警通知,要接收通知,opc a&e 客户端连接到服务器,订阅通知,然后接收在服务器触发的所有通知。Opc客户连接第一步是在a&e服务器上创建一个opceventserver(opc事件服务器)对象,第二步生成opceventsubscription(opc事件订阅)对象来接收事件消息。 3.3opc历史数据访问

OPC自动化接口的浅析

OPC自动化接口的浅析 未知来源供稿2004-10-8 17:38:00 【字体:大中小】 1 引言 OPC全称是OLE for Process Control,直译为过程控制中的对象连接嵌入技术。在当今过程控制领域,是一种非常流行的数据交换技术。其实质上是将微软的Activex(控件)技术应用于过程控制领域。也就是说在过程控制系统中,硬件服务商或软件提供者提供的数据源,在设计数据接口方面就采用了微软的OLE技术,并提供相应的控件、动态链接库,即支持OPC接口技术;当监控系统需要与数据源进行数据交换时,其开发的基于Windows的应用程序仅需将数据源提供的控件引入或者遵循OLE技术,就可以与数据源进行通讯,而无需开发数据源硬件驱动或与服务商软件通讯接口,大大地节省了开发费用,使应用程序和现场过程控制建立了桥梁,相互之间进行数据交换更加方便、灵活。OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口(Automation interface);自定义接口(Custom interface), 如图1所示。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用Visual Basic、DelphiPowerBuilder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C++等高级编程语言而制定的标准接口。 图1 OPC的两种通用接口方式 OPC现已成为工业界系统互联的缺省方案,给工业监控编程带来了便利,用户不用为通讯协议的难题而苦恼。 2 OPC服务器数据访问过程

OPC数据访问提供从数据源读取和写入特定数据的手段,一个OPC对象具有一个作为子对象的OPC组集合对象(OPCGROUPS)。在这个OPC组集合对象里可以添加多个的OPC 组。每个组对象都具有一个作为子对象的OPC标签集合对象(OPCITEMS)在这个OPC标签集合对象里可以添加多个OPC对象。假定现有一个由DCS、I/O驱动器或独立的软件供应商用C++开发的OPC服务器,其服务名称为OPC—Jsample SERVER, 自动化接口组件为:OPCDAAUTO.DLL,以下是用VB访问OPC服务器数据的过程。 2.1 注册OPC组件 利用VB开发OPC应用程序时,因为VB应用程序是运行在与OPC服务器不同的计算机空间,不能直接调用OPC服务器的接口进行数据交换,需要通动态链接库并利用操作系统提供的通信能力进行数据交换,所以必须注册OPC自动化接口组件OPCDAAUTO.DLL(一个动态连接库),这样就能够引用该组件建立OPC各种对象以便于OPC服务器连接。在批命令中运行语句%RegSvr32Path %RegSvr32/s opcdaauto.dll 进行注册。注册完后引用该组件。 2.2 引用OPC组件 如图2所示:在引用对话框中,将OPC Automation 2.0加入。这样在对象浏览器中将看到OPC 的各种属性和方法,供编程时使用。

opc服务器

Opc 1、在控制领域中,系统往往由分散的各子系统构成;并且各子系统往往采用不同厂家的设备和方案。用户需要,将这些子系统集成,并架构统一的实时监控系统。 2、这样的实时监控系统需要解决分散子系统间的数据共享,各子系统需要统一协调相应控制指令。 3、再考虑到实时监控系统往往需要升级和调整。 4、就需要各子系统具备统一的开放接口。 5、OPC(OLE for Process Control) 规范正是这一思维的产物。 6、OPC 基于Microsoft公司的Distributed interNet Application (DNA) 构架和Component Object Model (COM) 技术的,根据易于扩展性而设计的。OPC规范定义了一个工业标准接口。 7、OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。 8、OPC定义了一个开放的接口,在这个接口上,基于PC的软件组件能交换数据。它是基于Windows的OLE——对象链接和嵌入、COM——部件对象模型(Comp onent Object Model)和DCOM——分布式COM(Distributed COM)技术。因而,OP C为自动化层的典型现场设备连接工业应用程序和办公室程序提供了一个理想的方法。 OPC应用领域 1、工控解决方案用户 2、楼控解决方案用户 3、工控解决方案厂商 4、楼控解决方案厂商 5、工控解决方案集成商 6、楼控解决方案集成商 7、All Automation Fields OPC是为了连接数据源(OPC服务器)和数据的使用者(OPC应用程序)之间的软件接口标准。数据源可以是PLC,DCS,条形码读取器等控制设备。随控制系统构成的不同,作为数据源的OPC服务器即可以是和OPC应用程序在同一台计算机上运行的本地OPC服务器,也可以是在另外的计算机上运行的远程OPC服务器。 OPC接口既可以适用于通过网络把最下层的控制设备的原始数据提供给作为数据的使用者(OPC应用程序)的HMI(硬件监督接口)/SCADA(监督控制与数据采集),批处理等自动化程序,以至更上层的历史数据库等应用程序,也可以适用于应用程序和物理设备的直接连接。所以OPC接口是适用于很多系统的具有高厚度柔软性的接口标准。

OPC通讯简介

OPC通讯简介 OPC 概念 在OPC之前,需要花费很多时间使用软件应用程序控制不同供应商的硬件。存在多种不同的系统和协议;用户必须为每一家供应商和每一种协议订购特殊的软件,才能存取具体的接口和驱动程序。因此,用户程序取决于供应商、协议或系统。而OPC 具有统一和非专有的软件接口,在自动化工程中具有强大的数据交换功能。 OPC (OLE for Process Control)是嵌入式过程控制标准,规范以OLE/DCOM为技术基础,是用于服务器/客户机连接的统一而开放的接口标准和技术规范。OLE是微软为Windows系统、应用程序间的数据交换而开发的技术,是Object Linking and Embedding的缩写。 OPC从数据来源提供数据并以标准方式将数据传输至任何客户机应用程序的机制。供应商现在能够开发一种可重新使用、高度优化的服务器,与数据来源通信,并保持从数据来源/设备有效地存取数据的机制。为服务器提供OPC接口允许任何客户机存取设备。 OPC将数据来源提供的数据以标准方式传输至任何客户机应用程序。OPC(用于进程控制的OLE)是一种开放式系统接口标准,可允许在自动化/PLC应用、现场设备和基于PC的应用程序(例如HMI或办公室应用程序)之间进行简单的标准化数据交换。定义工业环境中各种不同应用程序的信息交换,它工作于应用程序的下方。您可以在PC机上监控、调用和处理可编程控制器的数据和事件。 服务器与客户机的概念 OPC数据项是OPC服务器与数据来源的连接,所有与OPC数据项的读写存取均通过包含OPC项目的OPC群组目标进行。同一个OPC项目可包含在几个群组中。当某个变量被查询时,对应的数值会从最新进程数据中获取并被返回,这些数值可以是传感器、控制参数、状态信息或网络连接状态的数值。OPC的结构由3类对象组成:服务器、组和数据项。 OPC服务器:提供数据的OPC元件被称为OPC服务器。OPC服务器向下对设备数据进行采集,向上与OPC客户应用程序通信完成数据交换。 OPC客户端:使用OPC服务器作为数据源的OPC元件称为OPC客户端。 OPC 数据访问 OPC服务器支持两种类型的数据读取:同步读写(Synchronous read/write)和异步读写(Asynchronous read/write)。 同步读写:OPC的客户端向服务器发出一个读/写请求,然后不再继续执行,一直等待直到收到服务器发给客户机的返回值,OPC 客户端才会继续执行下去。 异步读写:OPC的客户端向服务器发出一个读/写请求,在等待返回值的过程中,可以继续执行下面的程序,直到服务器数据准备好后,向客户机发出一个返回值,在回调函数中客户端处理返回数值,然后结束此次读/写过程。 同步读/写数据存取速度快,编程简单,无需回调,但需要等待返回结果。异步读写不需等待返回值,可以同时处理多个请求。

接口技术-OPC DA服务器的设计与实现

OPC DA服务器的设计与实现 马亮, 张志鸿 (郑州大学信息工程学院,河南郑州 450001) 摘要:本文对OPC技术做了详细的分析,在OPC DA标准的基础上,给出了一个OPC数据存取访问服务器框架的设计方案,并介绍了实现的主要步骤。在设计中引入了适配器模式,用来针对不同数据源进行快速开发。 关键词:OPC;数据访问;COM;适配器模式 中图分类号:TP273 文献标识码:B Design and Implement of OPC Data Access Server MA Liang , ZHANG Zhi-hong (School of Information Engineering, Zhengzhou University, Zhengzhou Henan 450001, China ) Abstract: This paper presented a detailed analysis of OPC technical, gave an OPC Data Access Server framework on the basis of OPC DA standards, and introduced the main steps of realization. In the design, we exploited the Adapter Pattern to accelerate the implement for different data sources. Key words: OLE for Process Control; Data Access; COM; Adapter pattern 0 引言 OPC全称OLE for Process Control,它是由OPC基金会制定的自动化领域过程控制标准。实际上,OPC代表一系列的标准,包括OPC 数据访问(OPC Data Access),OPC报警与事件(Alarms & Events ),历史数据访问(OPC Historical Data Access),OPC XML-DA(1.0)等[3]。目前,OPC标准在现代工业控制领域,特别是在数据采集和软实时控制方面已有很好的应用。 1 OPC标准介绍 在OPC标准制定之前,工业软件制造商需要为不同的硬件开发各自独立的驱动接口。对于开发典型监控程序软件的技术人员来说,约有20%-30%的时间是用于编写通讯驱动程序[4]。当供应商提供一个新的硬件时,应用软件研发人员就不得不重新编写一个新的程序。而OPC标准的出现为此解决该问题提供了一个方案,它制定了一系列的数据存取,事件,报警等规范,使得当有新的硬件出现时,供应商只需提供实现的OPC标准接口,而上层应用软件则不需重新改写。这样,在系统与设备之间,车间现场与信息管理之间,甚至更远的距离上,都可以通过OPC标准实现无缝通讯,而不必担心设备升级带来的不便和额外费用。 OPC为不同的应用制定了不同的标准,OPC DA是针对现场数据进行存取的接口规范,该标准基于OLE / COM / DCOM / COM+技术,采用Client / Server模式。数据通过特定的采集卡或串口等,从现场设备中获得,然后OPC DA服务器将这些从数据源采集到的数据,以OPC标准接口形式提供给外部应用程序,例如工控软件,实时数据库等。OPC服务器可以通过本地或远程服务服务器两种方式,为依照OPC标准实现的客户端提供服务。 DA服务器的设计 2 OPC 本文通过使用VC++编程实现的一个OPC DA服务器框架,来介绍OPC DA服务器设计中需要解决的主要问题。在OPC服务器的设计中,引入适配器模式[6],通过适配层将数据访问同具体的数据源操作相分离,以便针对不同的数据来源时,进行快速的二次开发。 实现OPC DA服务器,需要依照OPC基金会提供的OPC DA标准,将从数据源中采集数据,以标准规定的接口形式提供给外部。其中,OPC规范为OPC服务器规定了两套接口方式:定制接口(Custom interface)和自动化接口(Automation Interface)[1]。其中,前者是OPC服务器必须实现的接口,后者则是为方便VB等脚本语言而提供,可以选择性实现。

OPC通讯接口设计

神龙汽车成都四厂 焊装制造执行系统FMES 详细设计书 施耐德电气(中国)有限公司 2015年8月25日 版本:A

第一章引言 1.1编写目的 本说明书在需求分析的基础上,对神龙汽车四厂焊装制造执行系统FMES的各个功能模块的实现,以及系统管理界面UI和数据库的设计进行了说明。程序开发人员应参考本说明进行代码的编写和测试。 1.2背景 系统的名称:神龙汽车四厂焊装制造执行系统FMES 任务提出者:神龙汽车有限公司成都分公司 系统开发者:施耐德电气(中国)有限公司 本系统完成后,在神龙汽车有限公司成都四厂进行安装部署和投入使用,该项目总体目标应达成以下要求: 1.实现ANDON管理模式,实施生产可视化、停线和响声管理; 2.对现场发生事件的统计分析,以便持续改善; 3.对现场各类设备(输送、工艺和机器人)的实时监控; 4.实现车间车身和载具的详细跟踪; 5.实现各分装区的生产管理; 6.实现与自动化和管理系统的通讯; 7.实现各类统计报表的生成; 1.3定义 1.4参考资料 四厂MES项目招标文件 神龙四厂FMES需求分析报告 工业应用系统与PLC的接口规范 神龙四厂FMES与SPPV系统接口设计规范

第二章系统架构 2.1网络架构 FMES系统布置2台应用服务器,具备热备冗余和负荷均衡功能。通过软件方案keepalived + Heartbeat来实现。 2.2系统功能分解图 2.3任务概述 2.3.1业务需求 2.3.2运行与开发环境 操作系统: 神龙四厂FMES服务器:Windows Server 2008 R2简体中文标准版 开发环境: 微软开发平台C# .net framework 4.0开发版 开发工具:Microsoft Visual Studio 2010 数据库:Microsoft SQL Server 2008 R2 PRO 开发语言:C# 版本控制:SVN UML建模:Enterprise Architect 11 结构图绘制:Microsoft office visio 2007

OPC通讯协议简介

OPC通讯协议简介 OPC(OLE for Process Control, 用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。 基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。 OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。 COM是Component Object Model的缩写,是所有OLE机制的基础。COM 是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的。例如,用户可以使用C++语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用Visual Basic,C,Pascal,Smalltalk 或其它语言编写对象访问程序。在Windows NT4.0操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM 的这个扩展被称为DCOM(Distributed COM)。 通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。OPC采用客户/服务器模式,把开发访问接口的任务放在硬件生产

opc规范

opc技术规范是以microsoft的ole/com技术为基础,定义了一组接口规范。它包括opc自动化接口(automation interface)和opc定制接口(custom interface)。另外,opc技术规范定义的是opc服务器程序和客户机程序进行通讯的接口或通讯的方法。 1 opc对象与接口: opc服务器对象提供了对数据源进行存取(读/写)或通讯的方法,而数据源可以是现场的i/o设备,也可以是其它的应用程序。通过接口,opc客户应用程序可以同时连到由一个或多个厂商提供的opc服务器上。如图1所示。opc服务器封装了与i/o控制设备进行通讯和访问数据的类型与名字及进行设备操作的代码。 2 opc数据存取(data access)规范: 总体来说,opc数据存取规范包含几个对象:服务器对象(server object)、组对象(group object)、项对象(item object)。opc服务器对象维护着服务器的信息,同时也是opc组对象的包容器。opc组对象维护着它自己的信息并提供包容opc项的机制,同时管理opc项。 opc组提供客户应用程序组织数据的机制,例如:一个组可以包含一个显示面板所有数据的项,并可对数据进行读写。在一些特殊情况下,还可以在组里建立客户应用程序与项的连接,并可以根据需要禁止或允许这种连接。opc客户应用程序还可以修改opc服务器向opc 客户应用程序提交数据变化的刷新数率。 opc组有两种类型:公共组(public)和局部组(local or private)。公共组可以为多个客户程序共享,而局部组只为某一个客户程序所有。在每个组里,客户程序可以定义多个opc 项。如图2所示。 opc项代表了与服务器里数据源的连接。从定制接口(custom interface)角度来看,一个opc 项不能被opc客户程序作为一个对象来进行操作,因此,在opc项中没有定义外部接口。所有对opc项的操作都是利用opc项的包容器(opc组)或opc项的定义来进行的。 每个opc项包含值(value)、品质(quality)和时间标签(time stamp)。值(value)的类型是variant,品质的类型是short。 应当注意的是项不是数据源,而只是与数据源的连接。例如:在dcs系统中定义的可以让opc客户程序访问的标签。opc项应该被看成是数据地址的标示,而不是数据的物理源。 2.3 opc报警与事件(alarm and event)规范: opc报警与事件规范接口提供了一种机制。通过这种机制,当i/o设备中有指定的事件或报警条件产生时,opc客户应用程序能得到通知。通过opc报警与事件规范接口,opc客户应用程序可以设置opc服务器支持的事件和条件,并获的其当前状态。 这里使用了过程控制中常用的报警和事件的概念,在不严格的场合,报警和事件在意义上差别不是非常明显,二者可以互换。 在opc中,一个报警就是一个非正常情况(condition),因此是一种特殊情况。一个情况是opc事件服务器(event server)或其所包容的对象中命名了的一个状态,而这个状态对opc客户应用程序来说是有用。例如:标签fc101可以有以下几种相关情况:上限报警、上上限报警、正常、下限报警、下下限报警。 另一方面,一个事件是某种可以检测到的变化,而这种变化对opc服务器及其所表示的i/o设备或opc客户来说是非常重要的。一个事件可能是和某种情况相关的,也可能和任何情况都无关。例如:系统从正常情况变化到上限报警或从上限报警变化到正常情况,这是和某种情况相关的事件。但是,操作人员的动作、系统配置的更改、系统故障就是与情况无关的事件。opc客户程序可以得到这类特殊事件发生的通知。 opc事件服务器接口类iopceventserver提供的方法可以使opc客户程序完成如下功能:●决定opc服务器支持的事件类型。 ●对某些特定事件进行登记,以便opc客户能在这些事件发生时得到通知,也可以采用过

工业标准通讯接口OPC Server

工业标准通讯接口OPC Server ForeverCredit OPC Server服务器软件,简称OPCServer,是北京华恒信远争对企业生产过程中所涉及到的各种DCS、PLC、组态软件、电力综合自动化等控制系统、测量系统、其它辅助生产的设备和软件系统自主研发的标准OPC接口,为第三方应用系统提供工业标准通讯接口,主要作用是为先进控制、实时数据库、MES、MIS、ERP等系统提供数据。 (1)DCS系统OPC Server接口 1)Yokogawa(日本横河): CENTUM B CENTUM V CENTUM Uxl CENTUM XL CENTUM CS CS1000 CS3000 2)Honeywell(美国霍尼韦尔): S9000 TDC3000(CM50) TDC3000(US) TDC3000X(UxS) TDC3000X(AxM) PlantScape TPS(GUS) TPS(APP) PKS

PMD QCS(达芬奇) 3)Foxboro(美国福克斯波罗):I/A’S 4)ABB: MOD300 ADVANT500 AC800M AC800F Industrial IT Symphony 5)Bailey(贝利): N-90 INFI-90 6)MOORE(摩尔): MICRO II APACS For Dos APACS For Windows3.2 APACS For Windows NT APACS+ R4 7)Emerson(爱默生): Provox (CHIP) Provox Direct RMV9000 RS3 RNI(System III)

OPC说明书--中文版

<> 题目 :Opc 数据存取接口定义标准 版本 2.05A 日期 2002 6 28 规范类型: 工业标准规范 题目:OPC 数据存取接口定义规范 作者:OPC基金会 日期 2002 6 28 版本:2.05A 软件:MS_Word 资源:opcda205a_cust 状态:发布 大纲 这个规范是为OPC客户端和服务器端开发者作的接口规范.这个规范是在为能产生一个能够让不同的卖主的客户和服务器能一起无缝交互的分析和设计过程中诞生的.[/color] 商标:[/color] 多数计算机和软件都有商标或者已经注册商标,在这里不单独列出商标. ]需要运行环境 这个标准需要 Windows 95 Windows NT 4.0 或者更晚版本. 公开的授权协议书 opc基金会,一个非赢利的公司(“opc基金会“),已经建立了一系列为增强过程控制工业里的自动控制应用程序,现场系统/设备和商业/办公应用程序协作能力已经建立了一系列标准的ole/com接口协议 当前的opc规范,原理性样例和相关的文档(统称”opc资料“),形成了一系列建立在微软的ole/com技术的功能需要的基础上的的标准的ole/com接口协议。这些技术为服务器适时信息定义了一些标准的对象,方法和属性,象分散过程控制系统,可编程逻辑控制器,精巧的现场设备和为传输信息的分析系统这些服务器适合所有符合标准的ole/com技术的设备(例如,服务器,应用程序等)。 opc基金会同意你(用户)无论是个人还是法人单位,具有授权和为用户提供一个当前的opc资料的一个拷贝,只要用户接受包含在这个非专有的授权协议书里的条款。opc资料如果无用,所有资料的拷贝(所有形式的),用户的个人财产必须被销毁和归还opc基金会。使用opc资料的用户(包括任何雇员和用户代理)必须接受这个协议书了的约束。 授权的承认: 这份协议的期限和条件,OPC基金会承认不独占,免费出售的用户,禁止使用,拷贝,展示,分发OPC资料为制造,使用,销售或分发其他的任何产品和或者符合OPC资料的标准产品文献。 所有的用户制作的或分发的OPC资料的拷贝必须把opc资料里包含的版权和其他 的所有权声明包含进来。OPC基金会保留所有在OPC资料里的权利,标题和利益,标注的协议里禁止的用户的授权。

OPCServer概述

OPC Server概述 is OPC? OPC是OLE for Process Control的缩写。顾名思义,OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定,根据OPC Specification 的定义,OPC is "a standard mechanism for communicating to numerous data sources, either devices on the factory floor, or a database in a control room." 在现今的工业自动化中,我们需要一套整合的信息系统,由底层的各项装置采集信息 (Field Management),中层的控制系统或图控应用程序进行程序的控制 (Process Management),再由最上层的整合软件将这些信息整合起来以供企业决策或效能提升,如下图所示:

OPC 为硬件制造商与软件开发商提供了一条桥梁,透过硬件厂商提供的OPC Server 接口,软件开发者不必考虑各项不同硬件间的差异,便可自硬件端取得所需的信息,所以软件开发者仅需专注于程序本身的控制流程的运作。此外,由于 COM/DCOM 实作并隐藏了网络的细节,透过 OPC 可以很容易地达成远程控制的理想。 does OPC work? 在说明 OPC Server/Client 运作方式之前,我们先简单介绍一下Microsoft 发展的 COM/DCOM 是什么?

COM 是一种发展软件组件的方法,所谓的软件组件,是指一个可以提供应用程序、操作系统、以及其它组件服务的二进制可执行程序。事实上,发展自订的 COM 对象就好象是在建构一套可以动态执行的对象导向 API 一般。你可以在应用程序执行的时期随意拼上或移除所需要的组件。依据COM 这样的概念,发展应用程序就像是堆积木一样,每一个 COM 组件就是一块积木,你可以利用各式各样不同的积木,拼凑出你所需要的应用程序。 在实作上,COM 透过一组一组的接口 (Interface) 提供服务,所有 COM 组件的使用者,都必须透过这些 Interface 来使用组件提供的功能。OPC 的规格中便定义了许多 OPC Server 应该提供的 Interface,要撰写一个OPC Server 的 COM 组件,你必须在你的组件中加入这些接口,并提供它们的实作,Client 便可以透过这些接口,操作连接到 OPC Server 的硬件装置,这也就是 OPC Server/Client 运作的方式。以下的图标可以让这样的概念更清晰。 3. OPC Server 架构

相关文档