学习《OPC应用程序入门》经历(转)
OPC应用程序入门
实现IT时代的测量控制系统必须的 OPC应用程序入门 -附有OPC模拟服务器和示范源程序光盘- 编著: 日本OPC协会 翻译: 郑 立 后援: OPC中国促进会日文版序 OPC(OLE for Process Control)不仅是生产系统中的关键基础技术之一,并且也是被终端用户广泛采用的软件标准技术。
作为推进这种技术的标准化和普及活动的国际组织OPC基金会和其日本地区组织日本OPC协会决心为新时代制造业的革新作出贡献。
在1980年阿尔温·托夫勒,提出了继农业革命,产业革命之后将出现大的社会体系变革的所谓“第三次浪潮”理论。
即是一次从集中向分散,从体力劳动向脑力劳动,从机械向信息转移的社会变革。
这不仅仅只是实现信息化社会。
由于来自旧社会势力的抵抗和现存技术基板的制约,不可能马上实现这种变革。
但是20年后的今天,在制造业进行的管理过程革新以及IT的飞跃发展正在逐步克服这些障碍。
21世纪将是真正地受到第三次浪潮的冲洗而出现的新地表的世纪。
在这其中,OPC正是在制造业的仪表控制领域内所发生的“第三次浪潮”的主流。
自1996年秋OPC基金会和日本OPC协会创立以来,经过五年时间,把OPC确立为一个世界标准规范的活动阶段已告一段落。
在迎接新世纪的今天,为了使终端用户真正地得到进一步的益处,我们正在放眼于超越目前为止的活动范围,目标于创立基于21世纪制造业新蓝图的生产系统而努力。
为此目标,工业,教育,政府的各个企业和团体以及个人的合作乃是必不可少的。
作为在全世界首次出版的有关OPC应用程序编程书籍的本书,正是日本OPC协会技术委员会活动的总结,也可以说是来自迄今为止为OPC作出贡献的各位成员的总结报告。
我希望本书可以成为读者在进行OPC实际应用时的入门参考,并进一步成为今后全球化技术合作的新起点。
OPC基金会亚州理事 日本OPC协会 秘书长 島貫 洋 (日本东芝公司) 本书作为日本OPC协会技术委员会五年间的努力成果,是一本按照OPC数据访问标准进行产品开发和系统组态的技术说明书。
OPC技术及其应用 - OPC
OPC技术及其应用 - OPC当大量现场信息由智能仪表或通过现场总线直接进入计算机控制系统后,存在着计算机内部应用程序对现场信息的共享与交互问题。
由于缺乏统一的连接标准,工控软件往往需要为硬件设备开发专用的驱动程序。
这样一旦硬件设备升级换代,就需要对相应的驱动程序进行更改,增加了系统的维护成本。
即使计算机中的SCADA有独立的驱动程序,但一般也不允许同时访问相同的设备,否则很容易造成系统崩溃。
可见,现场控制层作为企业整个信息系统的底层部分,必然需要与过程管理层和经营决策层进行集成,这样也存在着监控计算机如何与其它计算机进行信息沟通和传递的问题。
由于控制系统往往是不同厂商开发的专用系统,相互之间兼容性差,与高层的商业管理软件之间又缺乏有效的通信接口,因此通信规范问题成为了制约控制系统突破“信息孤岛”的瓶颈。
opc(OLE for Process Control)的出现,建立了一套符合工业控制要求的通信接口规范,使控制软件可以高效、稳定地对硬件设备进行数据存取操作,应用软件之间也可以灵活地进行信息交互,极大提高了控制系统的互操作性和适应性从软件的角度来说,OPC可以看成是一个“软件总线”的标准。
首先,它提供了不同应用程序间(甚至可以是通过网络连接起来的不同工作站上的应用程序之间)实现实时数据传输的通道标准;其次,它还针对过程控制的需要定义了在通道中进行传输和交换的格式。
OPC 标准的体系结构为客户/服务器模式,即将软件分为OPC服务器和OPC客户。
OPC服务器提供必要的OPC数据访问标准接口;OPC客户通过该标准接口来访问OPC数据。
运用OPC标准开发的软件由于都基于共同的数据及接口标准,因此相互之间具有很强的通用性。
这在工业控制领域中,具有十分现实的意义。
OPC服务器可由不同供应商提供,其代码决定了服务器访问物理设备的方式、数据处理等细节。
但这些对OPC客户程序来说都是透明的,只需要遵循相同的规范或方法就能读取服务器中的数据。
如何进行OPC范文
如何进行OPC范文OPC(OLE for Process Control)是一种基于微软的OLE(对象链接和嵌入)技术所开发的工业自动化标准。
它允许不同的工业控制设备和系统之间进行通信和数据交换。
下面将介绍如何进行OPC。
第一步:了解OPC的基本概念OPC是一种开放的标准,允许不同的设备和系统使用统一的接口进行通信。
它定义了一组规范和协议,使得不同供应商的设备和系统能够无缝交互。
通过使用OPC,用户可以从多个设备中获取数据,并且可以对其进行控制和监测。
第二步:选择合适的OPC服务器OPC服务器是实现OPC标准的软件,它负责处理和管理与设备和系统之间的数据交换。
选择合适的OPC服务器对于OPC的成功实施至关重要。
需要考虑的因素包括服务器的稳定性、兼容性、性能、功能和可扩展性等。
第三步:安装和配置OPC服务器安装和配置OPC服务器是进行OPC的关键步骤。
首先,需要将OPC服务器软件安装在计算机上,并确保与所连接的设备和系统兼容。
其次,需要根据所需的配置设置OPC服务器的参数,如通信协议、网络设置、设备和系统的连接等。
第四步:配置OPC客户端OPC客户端是用于与OPC服务器进行通信和数据交换的软件。
在配置OPC客户端之前,需要确定需要连接的设备和系统,并获取相关的OPC服务器的地址和接口信息。
然后,在OPC客户端中配置相应的连接和数据读写等操作。
第五步:测试和调试OPC连接在配置完成后,需要进行测试和调试以确保OPC连接正常工作。
可以使用OPC客户端进行连接测试,并检查所获取的数据和操作结果是否符合预期。
如果遇到问题,可以通过查看日志和调试信息等来进行排查和修复。
第六步:开发自定义应用程序一旦OPC连接正常工作,可以根据需要开发自定义的应用程序。
可以使用编程语言(如C++、C#、VB等)来编写相应的代码,通过调用OPC接口来实现数据采集、控制和监测等功能。
开发自定义应用程序将根据具体需求进行,可以包括数据显示、报警处理、历史数据存储等功能。
opc基础学习
only between nodes
OPC基金会
• 管理OPC标准的组织是OPC基金会。其
前身由一个Fisher-Rosemount、 Rockwell Software、Siemens、 Opto22、Intellution和Intuitive Technology等著名大公司组成专门的工 作组,仅仅用了短短的一年时间便开发 出一个基本的可运行的OPC技术规范。 在1996年8月发布了简化的、一步到位 的解决方案。
FB agent PLC
Accessing a server in another node
client application (OPC client) stub DCOM
TCP/IP
DCOM
TCP/IP
TCP/IP
Limitation: does not work over firewalls. Solution: OPC XML (see later)
OPC as a hub
source: Siemens WinCC
OPC connection to databases
Tools allow to build an OPC DA interface to any ODBC equipped database. The database internal structure (exposed through queries) is reflected as a hierarchy of OPC items. This allows to give a unified access to simple items.
OPC server
aspect directory
OPC client
OPC简介与开发总结
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七日谈
我从北京买了一本《OPC应用程序入门》,在此之前基本上只是知道有OPC,在五月四日开始,我学了七天。
其中有苦有甜。
我写下来,权做休息或是练练打字。
第一天安装了《入门》提供的东西,包括是下面几个文件。
还有个批处理文件,是一个注册过程。
opccomn_ps.dllopcproxy.dllopcdaauto.dllOPCTrend.ocxOPCBar.ocxOpcServer.exeOPCJDADemoServer.exe看了一阵书,知道了前三个是:通用接口,PROXY-STUB,自动化接口。
不明白。
后面两个是demo 服务器。
上网,用GOOGLE,查OPC,很自然就找到了.,又下了个free 服务器。
安装了(注册)。
到了工控网,看到有人在推荐clienttools,就下了一个,叫WXOPC。
运行一下,点击连接服务器图标,立即出现了三个:OPCJ.SAMPLESERVER.1OPCJ.DADEMOSERVER.1HEXATEC.PCDATA第三个是opcconnect上download的计算机基本情况的简单程序。
点击他们,还出现了一些“item”,“value"的内容还在变,有意思。
我就想这工具还真不错,不知我能不能做到,但一想,如果这些功能都做不到,这OPC就没多少人敢学,也就没有市场。
有一段时间没用VB了,先热了热身,看了自己过去编过的code。
第二日今天先看书。
《OPC应用程序入门》,40元,我花了48元,从汇款到收到用了12天,拿到手上,感觉很单薄。
我的看书观点是:在看的过程中迷信书,看完后怀疑书,然后忘记书。
尽管这本书上我立即就发现有错误。
我还是仔细地看下去。
这是一本教人们用VB编应用客户端程序的书,希望让一般工控技术员认识OPC其实不复杂,最起码编用户程序(客户端)不难。
在这之前,我对COM和DCOM技术有所了解,也是很模糊的,OPC以COM和DCOM技术为基础,主要是在服务器端(server),而在用户端并不要很在意它们。
OPC类库学习笔记
OPC类库学习:1.取得本机主机名和IP地址的方法,返回一个IPHostEntry类型:.Dns.GetHostEntry(Environment.MachineName)return (IPHostEntry)…取得主机名为HostName上所有OPC服务器的名称(ProgID |The ProgID is a string that uniquely identifies the registered real OPC Data AccessServer2.名称返回一个字符串数组。
OPCServer_Instance.GetOPCServers(HostName) return (Arrey)…3.连接OPC服务器。
OPCServer_Instance.Connect(ServerName,ServerIP)连接成功失败状态标志位ServerState:the server’s state, which will be one of the OPCServerState values:·OPC_STATUS_RUNNING ·OPC_STATUS_FAILED ·OPC_STATUS_FAILED ·OPC_STATUS_SUSPENDED ·OPC_STATUS_SUSPENDEDHierarchical 层次化的Filter 过滤器,筛选器Variant 变量Vendor 供应商从客户程序的角度看,访问一个OPC服务器的过程大致是首先创建一个OPCServer对象,然后通过它创建一个OPCGroup,在其中添加想要访问的数据项,之后利用订阅回调机制周期性获取动态数据或通过读写接口直接访问数据项.1.创建一个OPCServer 对象2.初始化3.连接4.创建组5.添加想要访问的数据项6.访问数据OPCServer对象.Properties:z StartTime 服务器开始运行的时间 Datez CurrentTime 服务器当前的时间 Datez LastUpdateTime 最后更新时间 Datez MajorVersion 服务器主要版本 Integerz MinerVersion 服务器次要版本 Integerz BuildNumber 服务器内部版本 Integerz VendorInfo 供应商信息 Stringz ServerState 服务器状态 Longz LocaleID 场所ID Longz BandWidth 带宽 Longz OPCGroups OPC租对象集合 OPCGroupsz PublicGroupName 服务器公共组名称Array of Stringsz ServerName 服务器名称 Stringz ServerNode 服务器节点名称 Stringz ClientName 客户端名称 StringMethods:z Strings[] GetOPCServers(Optional Node) 返回服务器的名称(ProgID)z Connect(string ProgID, Optional Node) 连接到OPC数据访问服务器z Disconnect() 断开连接z GreateBrowser() 创建一个OPCBrowser对象z String GetErrorString(Long ErrorCode) 将错误代码转化为可读的说明字符串z Long[] QueryAvailableLocaleIDs() 返回客户端/服务器会话中可用的语言代码z GetItemProperties(string ItemID,long Count, ref PropertyIDs, ref PropertyValues, ref Errors ) 返回当前数据值的属性列表OPCServer Eventsz ServerShutDown(string reason)OPCBrowser ObjectOPCBrowser对象是服务器中分支和项目名称的集合.在调用像ShowLeafs方法的时候,Filter,DataType,AccessRight属性会影响到集合,这些属性允许客户请求地址空间的子集.如果用户正在浏览项目名称以便写入数据,那么在调用ShowLeafs方法前,访问权限属性应该设置为OPCWritable.服务器有平展似的名称空间或者树形的名称空间,当名称空间是平展的,那么调用ShowLeafs方法将会得到服务器上名称集合的全集.树形空间的浏览分为两步来进行,第一步,用Move方法来设置浏览位置,然后用Show方法来把名称放入集合.调用ShowBranches方法可以在当前位置下将分支填充到集合中.用其中一个分支名调用MoveDown 方法移动到该位置.调用MoveUp方法可以移动到上一级.调用MoveToRoot方法可以在任何地方移动到顶层.在任何地方,分叉和叶都能浏览到。
OPC使用说明范文
OPC使用说明范文OPC(OLE for Process Control)是一种通信协议,用于在工业控制系统中传输数据和信息。
它是一种基于标准的方式,用于在不同的自动化设备之间进行通信和交换数据。
OPC协议的设计目的是建立一个开放的、厂商中立的通信标准,以便不同类型的自动化设备能够相互通信和交换数据。
在过去的几十年里,工业控制系统通常使用专有的通信协议来实现设备之间的通信,这导致了厂商之间的互操作性问题。
而OPC协议的出现解决了这个问题,使得不同厂商的设备能够无缝地集成在一起。
OPC协议的架构:OPC协议主要由两部分组成:OPC客户端和OPC服务器。
OPC客户端是用来连接和访问OPC服务器的软件组件,它可以从OPC服务器中读取、写入和订阅实时数据。
OPC客户端可以是各种第三方软件,如监控软件、数据采集软件等。
OPC服务器是一个中间件,负责将不同厂商和不同类型的设备转换成统一的OPC标准。
OPC服务器可以连接到各种类型的控制设备,如PLC、DCS、SCADA等,并提供一组标准的接口和方法供OPC客户端使用。
OPC服务器还负责管理实时数据的缓存、订阅和发布。
OPC协议的特点:1.开放性和中立性:OPC协议是一个开放的标准,任何厂商都可以使用它来实现设备之间的通信。
它不受特定厂商或设备类型的限制,能够在不同的自动化系统中实现互操作性。
2.灵活性和可扩展性:OPC协议支持多种数据传输方式,如本地通信、以太网、无线通信等。
它还支持不同的数据格式,如二进制、ASCII、XML 等。
同时,OPC协议也支持设备之间的点对点通信和多对多通信。
3.高效性和实时性:OPC协议使用高效的通信方式,能够在短时间内传输大量的数据。
它还支持实时数据传输,可以即时地更新和处理实时数据。
4.安全性和可靠性:OPC协议提供了许多安全机制,如认证、加密、数字签名等,以保护数据的安全和完整性。
同时,OPC协议还支持故障恢复和数据冗余,能够确保通信的可靠性和稳定性。
OPC教程
力控组态软件的OPC支持----北京三维力控科技有限公司力控实时数据库支持OPC标准,作为OPC客户程序,它可以从其他OPC服务器程序中访问数据。
与DDE类似,当力控数据库作为客户端访问OPC服务器程序时,是将OPC服务器程序当作一个I/O设备。
数据库中的点参数通过I/O 数据连接与OPC服务器程序进行数据交换。
一、OPC适应范围利用OPC技术,主要实现:1、在线数据监测。
实现了应用程序和工业控制设备之间高效、灵活的数据读写。
2、报警和事件处理。
提供了OPC服务器发生异常时,以及OPC服务器设定事件到来时向OPC客户发送通知的一种机制。
3、历史数据访问。
实现了读取、操作、编辑历史数据库的方法。
4、远程数据访问。
借助Microsoft的DCOM技术,OPC实现了高性能的远程数据访问能力。
二、力控的OPC设备力控充分利用了OPC服务器的强大性能,为工程人员提供方便高效的数据访问能力。
在力控中可以同时挂接任意多个OPC服务器,每个OPC服务器都被作为一个外部设备,工程人员可以定义、增加或删除它,如同一个PLC或仪表设备一样。
一般来说,工程人员在OPC服务器中定义通信的物理参数,定义需要采集的下位机变量(数据项);然后在力控中定义力控变量和下位机变量(数据项)的对应关系。
在运行系统中,力控和每个OPC服务器建立连接,自动完成和OPC服务器之间的数据交换。
三、OPC基本概念OPC是OLE for Process Control的缩写,即把OLE应用于工业控制领域。
OPC服务器由三类对象组成,相当于三种层次上的接口:服务器(Server)、组(Group)和数据项(Item)。
1、服务器对象(Server)拥有服务器的所有信息,同时也是组对象(Group)的容器,一个服务器对应于一个OPC Server,即一种设备的驱动程序。
在一个Server中,可以有若干个组。
2. 组对象(Group)拥有本组的所有信息,同时包容并逻辑组织OPC数据项(Item)。
OPC应用基本原理
OPC应用基本原理目前,opc 技术在信息采集与系统掌握方面的应用有:(1)OPC数据采集技术OPC通常广泛应用于数据采集软件中。
越来越多的设备供应商熟悉到遵循OPC这一工业标准的重要性,纷纷推出与OPC兼容的产品,因此可以编制符合标准OPC接口的客户应用软件完成数据采集任务。
(2)OPC服务器冗余技术OPC标准的制定为软件冗余供应了新的思路。
实践应用中,可以开发OPC冗余服务器,解决对任何厂商的OPC服务器的冗余问题。
OPC数据访问标准包含服务器和客户两部分,其核心思想是用服务器这样一个驱动程序屏蔽物理设备间的区分,让客户有一个全都的接口。
服务器可用于从网络服务器中猎取数据,也可用于其它地方。
在现场掌握层,可用于从物理设备中猎取数据,并提交给SCADA/dcs;在生产管理层,可用于从SCADA/DCS中猎取数据,并提交给上层的商业应用系统。
数据访问服务器由三个层次的对象组成:(1)服务器(Server)服务器对象用于维护服务器信息并作为多个组的容器。
该对象供应访问数据源的方法,数据源可以是现场的I/O设备或掌握室数据。
客户通过服务器对象的接口访问此对象,在服务器对象中建立、管理组对象,并最终获得需要的数据源数据。
(2)组(Group)组对象负责维护自身信息,供应组织和访问项的方法,例如,在项和客户间建立连接、定义客户访问的数据项及每个项更新的时间间隔等。
组对象供应客户组织数据的一种方式并可作为单元被激活或失激活,同时为客户供应一种数据项“订阅”机制,以在项属性变化时能够通知组即调用客户端应用的回调函数。
服务器包含两种不同类型的组:公有组和私有组。
公有组对全部连接服务器的客户有效,可用于多个客户间共享数据配置信息;私有组只对添加组的客户有效,供该客户专用。
(3)项(Item)项不是真正的数据源,只是代表了与数据源的连接。
全部对项的访问都是通过组对象进行的。
它包含一些用于描述数据源的属性,其中最具代表性的是值(Value)、质量(Quality)、时间戳(TimeStamp)。
OPC 培训中文
OPC 培训什么是OPCOPC是一个工业级标准,是由全世界许多顶级软硬件供应商在与Microsoft通力合作下创建的。
它基于OLE和ActiveX技术定义了一个开放接口,允许不同的前端设备,自动控制及商业系统自由通信。
OPC代表O LE P rocess C ontrol,其中OLE代表O bject L inking and E mbedding,即对象连接与嵌入。
OLE已经被重新调整并重新命名为ActiveX。
OPC定义了一组用于进程控制及自动化软件应用的标准化接口、属性与方法。
规格数据访问接口(Data Access V2.0)侧重于实时状态以及数字和模拟量的调节。
类似于布防图上的图标,可以动态地更新状态并且允许用户修改某些属性,例如设置报警的上下限阈值。
报警与事件用户接口(Alarms and Events Custom Interface V1.0)此标准允许外部系统通过OPC服务系统监控报警和事件, 同时允许外部系统确认报警。
历史数据访问接口(Historical Data Access V1.0)系统通过此通用接口提取历史信息作报表或分析。
如想获知更多的OPC知识, 请访问OPC网站: OPC 如何实现与Cardax FT协作Cardax Command Centre FT--CardaxFT系统的中央管理目前支持OPC报警与事件标准。
适用于出入口控制的主要功能和系统报警事件的安防系统管理。
Command Centre FT是一个“OPC报警事件”服务器。
任何OPC报警和事件客户端(AE Client)的应用程序只要满足操作系统所要求的安全性要求,就能够连接到服务器。
在客户向服务器注册subscription的地方,客户端与服务器以“subscription”的形式连接。
对于OPC 告警和事件,此subscription可以是服务器报警和事件的全部或过滤子集。
系统的高效运行。
服务器将所有“预定的”报警和事件传送到客户端机而不需要不断的轮询,从而减轻系统负荷。
和利时OPC基础应用知识
OPC数据访问对象模型
服务器(OPC Server)
组集合(OPC Groups) 组OOP(PCOCPGCGrorGourupopup)
项集合(OPC Items) 项OO(POPCCPICIteteImtmem)
浏览器(OPC Browser)
1、组织管理项 2、客户据此决定刷新时间 3、激活/禁止OPC 4、分为PUBLIC和LOCAL 。
4 2019/12/8
OPC的基本定义
监视应用程序
趋势应用程序
报表应用程序
驱动器A 设备A
驱动器B 设备B
驱动器C 设备C
1、各设备厂商接口不统一,则应用开发花费多 2、系统共存驱动太多,导致系统维护困难。
驱动器D 设备D
5 2019/12/8
OPC的基本定义
监视应用程序 OPC
趋势应用程序 OPC
设备A
设备B
1、与现场I/O数据的连接;2、与应用程序之间的连接
OPC服务器
PLC
设备C
设备D
9 2019/12/8
OPC的概要--组成
OPC服务器:由硬件提供商或独立软件供应商提供, 主要是提供过程数据。
OPC代理-占位DLL:利用操作系统提供的通信功能进 行数据交换,以实现应用程序和服务器之间的格式变 换。
Process Management
Controller
Fieldbus
Windows NT Operator Console RT/History Data Server
Plant Highway
Fisher
Measurement
-Pressure -Temp -Flow
Valves Positioners
开发OPC由浅入深的几个境界
开发OPC有浅入深的几个境界.1. 超简单的: 用组态软件去实现^_^,随便找一个组态软件,按F1找到本组态软件OPC 相关的帮助,加入服务器就可以了。
特点:简单实用,方便易用。
缺点:组态要钱,灵活性极低。
时间:最多半天。
推荐2. 很简单的:利用OPC Active ,找一个控件,加入您的工程(VB的或VC的)就可以了。
特点:简单不实用,方便但没用。
缺点:这种组件不多,灵活性低。
时间:找控件n 天,应用一回就可以了。
3. 简单的:利用快速开发包。
用客户端的快速开发包。
特点:简单实用,快速方便,灵活性高。
缺点:要钱,而且对开发包有依赖性。
时间:看掌握的程度。
4.通用简单的:利用基金会提供的OPCDAauto.dll,用自动化接口编程,利用VB等工具编程。
这是基金会的的标准,网上有很多的源码(有VB也有delphi)。
推荐使用这种方法。
有以下优点:a。
是OPC标准,没有任何依赖性(当然要依赖OPC)b。
有较好的源码可以参考,并且有相关的标准文档。
C。
不用其他费用。
d。
就掌握难度来说,只要有一点的编程基础就可以掌握。
并且源码可以直接应用到系统开发中。
相关资料:Kepware 的网站有vb ,VC的源码。
/us/opc/opclabs.html#OPC_LayerOPC cliet相关的代码,简单的应用. vb 简单实用OPC基金会有相关的英文文档Data Access Automation Interface Standard Version 2.01书籍:《OPC应用程序入门》----很多人都说这本书很烂,其实就是很烂总比看英文好一点。
5. 通用有点难的:应用VC custom 开发接口。
比用自动化接口难度增大,要求对COM 有一定的了解,并且能应用VC开发工具。
在Vc下熟练的可以使用。
优点是可以不用opcdaauto。
dll了。
6. 变态的:自己实现Automation Interface ,呵呵,这是最变态的做法,kepware就是这样做的,他们的kepdaauto.dll就是这个例子,可以直接取代opcdaauto.dll真是巨变态啊。
OPC技术应用简析
OPC技术应用简析发布时间:2007-4-25 来源:国际工业自动化网浏览次数:8625 1.OPC技术的产生随着工业生产的不断发展,工业控制软件取得了长足的进步。
然而,由于生产规模的扩大和过程复杂程度的提高,工业控制软件设计面临着巨大的挑战,那就是要集成数量和种类不断增多的现场信息。
在传统的控制系统中,智能设备之间及智能设备与控制系统软件之间的信息共享是通过驱动程序来实现的,不同厂家的设备又使用不同的驱动程序,迫使工业控制软件中包含了越来越多的底层通信模块。
另外,由于相对特定应用的驱动程序一般不支持硬件特点的变化,这样使得工业控制软硬件的升级和维护极其不便。
还有,在同一时刻,两个客户应用一般不能对同一个设备进行数据读写,因为它们拥有不同的、相互独立的驱动程序,同时对同一个设备进行操作,可能会引起存取冲突,甚至导致系统崩溃。
OPC技术的出现则很好的解决了这些问题。
OPC是Object Linking and Embedding(OLE)for Process Control 的缩写,它是微软公司的对象链接和嵌入技术在过程控制方面的应用。
OPC以OLE/COM/DCOM技术为基础,采用客户/服务器模式,为工业自动化软件面向对象的开发提供了统一的标准,这个标准定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。
采用这项标准后,硬件开发商将取代软件开发商为自己的硬件产品开发统一的OPC接口程序,而软件开发者可免除开发驱动程序的工作,充分发挥自己的特长,把更多的精力投入到其核心产品的开发上。
这样不但可避免开发的重复性,也提高了系统的开放性和可互操作性。
2.OPC规范概述OPC是一个工业标准,它是由一些世界上著名的自动化系统和硬件、软件公司和Microsoft(微软)紧密合作而建立的。
OPC包括一整套接口、属性和方法的标准集,提供给用户用于过程控制和工业自动1)采用标准的Windows体系接口,硬件制造商为其设备提供的接口程序的数量减少到一个,软件制造商也仅需要开发一套通讯接口程序。
OPC服务器设置讲解学习
O P C服务器设置
OPC配置文档
1.DCOM配置
点击运行,输入dcomcnfg。
点击组件服务——计算机——我的电脑点右键——属性,如图1:
图1
打开我的电脑属性,进行以下配置:
图2
图3
图4
点击COM安全,在访问权限的编辑权限,进行如下配置:
图5
编辑默认值进行如下配置:
图6
在启动和激活权限的编辑限制和默认值限制进行如下配置:
图7
在我的电脑——DCOM配置,右键属性里,进行以下配置:选择OPCSERVER。
WINCC,点击右键属性:
2.用户配置
在有一定安全要求的系统中,可按如下方式配置:
➢在服务器计算机上建立一个用户,如OPCUser,可以是一般用户,服务器计算机在运行OPC服务器时必须以这个用户登录。
➢在服务器计算机上建立一个用户组,如OPCClients。
(客户端不需要用户切换的情况下可以不建立,建这个组的目的是管理方便)
➢在OPC客户计算机中,建立OPCUser用户,口令也要与服务器上的一致,可以设为普通用户以保证安全。
(建这个用户的目的是保证服务器回调时的权限,如OnDataChange)
精品文档
➢在客户和服务器计算机上都建立ClientA、ClientB等用户,且密码一致。
➢在服务器计算机上将ClientA、ClientB等用户都加入到OPCClients组中。
客户计算机用这些用户登录。
收集于网络,如有侵权请联系管理员删除。
opc学习资料
OPC(OLE for process control)是一个工业标准。
它是由一些世界上占领领先地位的自动化系统和硬件、软件公司和微软合作而建立的、满足开放性的和互操作性接口标准。
OPC标准的建立基于微软的COM技术规范,并由OPC基金会这个国际组织管理。
OPC为不同的厂商的硬件设备、软件和系统定义了公共的接口,使得过程控制和工厂自动化中的不同的系统、设备和软件之间能够互相连接、通信、操作。
一般在控制系统中,包含过程画面的软件(如SCADA软件)在与现场设备通信的时常采用如下的方法:(1)采用标准通信协议,如profibus、modbus、HART、CAN总线等,因为监控管理软件与现场的设备采用同样的通信协议,所以,监控管理软件不需要对现场设备的驱动程序。
(2)对于没有采用标准通信协议的设备,监控管理软件需要在设备制造商的配合下为这些设备开发驱动程序。
这种方式虽然执行效率比较高,但兼容性差,软件供应者必须对没一种接入的设备开发驱动程序,设备制造商也必须提供设备的通信协议。
(3)通过OPC这个开放性的协议和过程控制或其他系统软件进行通信。
这种方式的优点在于:不管硬件设备是否使用标准的通信协议,制造商只需要提供一套OPC服务器,就可以支持大部分的监控等软件,也不需要将自己的通信协议细节提供给软件商。
OPC服务器的设计和实现目前的小型DCS控制系统使用了OPC服务器后,实现了对主流的监控软件(一般都有OPC接口)的兼容性,监控软件等OPC客户程序可以很方便的访问和设置DCS中的数据。
OPC服务器需要实现的主要功能就是根据控制系统的组态信息,实现OPC服务器对象、组对象等,并通过OPC驱动程序实现与DCS系统中主控器的通信,获得现场数据或设置现场数据项等。
OPC服务器软件主要分为OPC服务器对象模块、服务器界面模块和OPC驱动程序模块,三个模块通过同一块主内存数据区来共享数据,通过线程的同步和互斥等技术的使用,可以解决共享数据的保护问题。
opc技术介绍与应用
13
OPC简介
OPC架构
OPC Client OPC Server
Agent
PLC
14
OPC简介
现场自动化网络
与EMOS的通讯都 是通过OPC完成
通过以太网的操
作监视 和基于现场总线 的现场级控制
15
OPC简介
现场OPC应用
CIMPLICITY
EMOS服 务器
Applicom OPC SERVER
安装通讯器件 组态网络,建立 通讯 下载到本机
建立本机与PLC的联系
使用OPC自带的客户端或者HMI系统测试
18
使用客户端进行 测试
OPC组态过程
组态过程一(1)
安装文件不能位于中文目录 下,否则出错。
安装完毕 后,再次重 启机器时,会自动弹出此画面。
19
OPC组态过程
组态过程一(2)
44
在OPC中使用S7符号
现在,符号可以在任何OPC客户端使用;
New leave “SYM”;
45
在OPC中使用S7符号
通过VB编写的程序读取底层PLC的数据
46
在OPC中使用S7符号
在EXCEL中通过VBA编写的程序读取底层PLC的数据
47
在OPC中使用S7符号
注意OPC的下载与通常程序的下载不同; OPC为下载到本机服务器; 而平常的下载则为下载到现场的PLC;
供商协作制定的。OPC是一个基于COM技术的接口标准,OPC提供了一种从不
同数据源(包括硬件设备和应用软件)获得数据的标准方法。 OPC采用客户/服务器结构。一个OPC客户程序可与多个厂商提供的OPC
服务器连接,并通过OPC服务器,从不同的数据源存取数据。OPC服务器是一
OPC应用实践
OPC应用实践OPC为工业监控编程带来了便利,用户不用再为各种复杂的通讯协议而苦恼,OPC可以说是对几乎所有可编程控制器的万能通讯工具。
本文以InCoSol 公司的S7A为例,介绍了OPC的简单应用过程,并从使用的方便实用性和系统资源占用率两方面给出了相关建议。
从OPC服务器的安装设置和OPC客户端的VB编程,提出了如何使得OPC服务器更加易用和友好,为读者提供参考。
标签:OPC;服务器;应用;客户端;实践1 概述OPC(OLE for Process Control,用于过程控制的OLE)是一个工业标准,管理这个标准的国际组织是OPC基金会,OPC基金会现有会员遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。
换言之,主流的PLC厂家都是OPC的会员单位,它们的每一种主流PLC,都有相应的OPC-Server应用软件与之配套,如西门子公司的S7-200的PC_ACCESS,S7-300/400的SimaticNET,ORMON 的ORMON-OPCserver。
这些OPC-Server软件有什么作用?当计算机安装了这些软件之后,一旦运行该软件,便主动实时采集有关PLC的数据到计算机上,然后为其他应用程序提供所需的数据。
基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。
OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。
我们要编写一个监控PLC的监控软件,只要在程序中放一个OPC-Client的对象,或者叫控件,通过简单的设置,就可以通过OPC-Server取到PLC中的实时数据。
而且,这个方法适用于任何支持OPC的PLC。
OPC为工业监控编程带来了便利,用户不用再为各种复杂的通讯协议而苦恼,OPC可以说是对几乎所有可编程控制器的万能通讯工具。
本文将在使用的方便实用性和系统资源占用率给出相关建议。
OPC基本原理范文
OPC基本原理范文OPC(OLE for Process Control,进程控制OLE)是一种广泛应用于自动化领域的通信协议,旨在实现跨不同硬件和软件平台的实时数据交换。
它提供了一种标准化的接口,以实现不同厂商的设备和系统之间的互操作性。
本文将介绍OPC的基本原理。
OPC的核心原理是通过定义一组标准化接口和规范来实现数据交换。
这些接口和规范定义了如何访问和传输实时数据和历史数据。
OPC的标准接口包括数据存取接口(DA)和历史数据存取接口(HDA),这些接口定义了数据交互的基本方式和规则。
在OPC体系结构中,主要有三个主要组成部分:OPC服务器、OPC客户端和OPC标准接口。
OPC服务器是一个软件组件,负责与设备或系统通信,并提供数据存取接口和历史数据存取接口。
OPC客户端是另一个软件组件,负责与OPC服务器通信,并进行数据交互。
OPC标准接口定义了数据交换的格式和规则,以保证各个组件之间的互操作性。
在数据交互过程中,OPC服务器首先与设备或系统进行通信,读取实时数据或历史数据。
然后,OPC服务器将数据存储在内部数据存储中,等待OPC客户端的请求。
当OPC客户端需要访问数据时,它向OPC服务器发送请求,并通过OPC标准接口获取数据。
OPC服务器根据请求将数据传输给OPC客户端,并根据需要执行相应的操作,如数据写入或数据更新。
OPC的基本原理是通过使用标准接口和规范来实现数据交换的互操作性。
不同厂商的设备和系统可以通过实现相同的OPC接口和规范来实现数据交换,而不需要进行大量的自定义开发。
这样可以减少开发和维护的成本,提高系统的可扩展性和可维护性。
为了实现数据交换的实时性和可靠性,OPC使用了一些性能优化技术。
例如,OPC使用异步通信机制来提高数据交换的效率,可以同时处理多个数据请求,并对数据进行缓存和压缩,以减少网络带宽的占用。
此外,OPC还支持安全认证机制,确保数据的机密性和完整性。
总结起来,OPC是一种用于实现自动化领域数据交换的通信协议。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学习《OPC应用程序入门》经历(转)我从北京买了一本《OPC应用程序入门》,在此之前基本上只是知道有OPC,在五月四日开始,我学了七天。
其中有苦有甜。
我写下来,权做休息或是练练打字。
第一天安装了《入门》提供的东西,包括是下面几个文件。
还有个批处理文件,是一个注册过程。
opccomn_ps.dllopcproxy.dllopcdaauto.dllOPCTrend.ocxOPCBar.ocxOpcServer.exeOPCJDADemoServer.exe看了一阵书,知道了前三个是:通用接口,PROXY-STUB,自动化接口。
不明白。
后面两个是demo 服务器。
上网,用GOOGLE,查OPC,很自然就找到了.,又下了个free服务器。
安装了(注册)。
到了工控网,看到有人在推荐clienttools,就下了一个,叫WXOPC。
运行一下,点击连接服务器图标,立即出现了三个:OPCJ.SAMPLESERVER.1OPCJ.DADEMOSERVER.1HEXATEC.PCDATA第三个是opcconnect上download的计算机基本情况的简单程序。
点击他们,还出现了一些“item”,“value"的内容还在变,有意思。
我就想这工具还真不错,不知我能不能做到,但一想,如果这些功能都做不到,这OPC就没多少人敢学,也就没有市场。
有一段时间没用VB了,先热了热身,看了自己过去编过的code。
第二日今天先看书。
《OPC应用程序入门》,40元,我花了48元,从汇款到收到用了12天,拿到手上,感觉很单薄。
我的看书观点是:在看的过程中迷信书,看完后怀疑书,然后忘记书。
尽管这本书上我立即就发现有错误。
我还是仔细地看下去。
这是一本教人们用VB编应用客户端程序的书,希望让一般工控技术员认识OPC其实不复杂,最起码编用户程序(客户端)不难。
在这之前,我对COM和DCOM技术有所了解,也是很模糊的,OPC以COM和DCOM技术为基础,主要是在服务器端(server),而在用户端并不要很在意它们。
书上对OPC体系有描述,我画了个图。
OPCserver是COM组件,如果安装(注册了)一个OPCserver后,利用WINDOWS的组件工具可以看到,如果这个server安装在别的计算机上,不是本地机,那它就是个DCOM组件(分布式)。
OPC基金会公布了通用接口(用户接口),用C++访问OPCserver只要通过这个接口就可以,并没有必要了解OPCserver是怎么工作的。
对于VB、VBA、EXCEL、DELPHI等编程软件或工具,不能直接访问通用接口,而要通过所谓的自动化接口(automation interface),OPC组织发布了 DATA ACESS 2.0,实际上已经有了3.0版。
而在通用接口和自动化接口之间还有一个东西,是成对使用的,有点象MODEM,在两个接口之间起数据传输作用,有个名字叫PROXY_STUB(代理—占位,翻译还不如不翻译,反正不懂)。
我在第一天中安装的几个DLL中:OPCcomn_ps.dll 通用接口OPCdaAuto.dll 自动化接口OPCProxy.dll PROXY-STUB我们的任务是用VB编写客户端程序,只要知道怎样用自动化接口就行了。
其他的不去钻了,要不一年也搞不明白。
我运行VB6.0,新建一个新工程,点击菜单中的“工程”.“引用”,选择”OPC AUTOMATION 2.0”,就可以利用自动化接口。
《入门》没有建议将这些DLL安装在什么目录,我觉得放在WINDOWS的SYSTEM下是比较好的。
按照书上的顺序,先了解OPC的数据组织。
我也画了图。
我们要的就是item,翻译成标签,这就是点,我们所谓的点,比如PLC的I/O点,仪表的数值等。
编客户端的开始就是找出数据。
根据书的介绍,要访问标签,还有其他工作要做。
我累了。
明天再说。
第三天昨天说到访问标签先要做些事。
首先要找出你要访问的OPC服务器的名字,连接它,建立一个组( GROUP)的集合,在下面建立一个具体的GROUP,在这个组中添加一个或多个标签。
才可以访问。
我用第一天下载的WXOPC工具,看到了三个服务器,我选择了其中一个hexatec.pcdata.1,是一个计算机基本情况的DEMO服务器,我发现服务器的名字都是这种格式。
按《入门》的样子,做了个客户端的架子,一个小时后完成了服务器的连接,新建组集合,建立一个具体的组。
下面有些不清楚。
干脆拿《入门》的演示程序打开来研究。
直接运行,没问题,看到了数据的变化,决定看其原代码。
它用的是OPCJ.SAMPLESERVER.1这个服务器,没有实际意义,每个数据都可以读写。
我发现标签名可以任意编,好奇怪。
但是我用WXOPC看到的标签,数据却不一样。
我在FORM上加了个text 控件,叫text1,我让服务器名等于text1.text,这样我可以自由换服务器,还不错,几个服务器都可以连接上。
但是只有它自己的服务器才可以读出数据。
是不是骗人。
试一下按服务器自己的ItemID去访问,我用WXOPC找出hexatec.pcdata.1的标签名,比如“version”,发现还是出错。
我又到工控论坛上,问已知标签怎样才可以读出数据。
没有人回答。
我给自己留下了两个问题:1÷怎样获得本机上得所有OPCserver,获得正确的名字。
我看到WXOPC可以。
论坛上也很多人在问。
2÷如何访问ITEM,取得其数据等。
又看了一会书,看了有关OPCSERVERBROWSER的内容,好像是有用。
今天到此为止,休息第四天熟悉OPCSERVERBROWSER的用法。
主要有showbranchs,showleafs,movedown,movetoroot 等等。
OPC服务器,实际上是一棵树,有brahchs和leafs组成。
我编了一个简单的SUB,实现了两层的树的ITEM的枚举,实现不了第三层。
这实际上是树的遍历算法问题。
我不知怎么做。
我准备去问别人。
从形式上所谓的GROUP/ITEM 和branch/leaf是一样的,实际上并不是。
GROUP是用户自己添加的,并不一定要和OPC服务器Branchs一样,每个LEAF是一个Item,它们可以有用户任意放在哪个组中,不必考虑在服务器中是在哪个branch下,也不必考虑在第几层。
既然我知道了每个ITEM的ID,我想我可以得到各自的SEEVERHANDLE(句柄),从而访问到实际的数据。
我添加一个组,在其下面建立标签集合,然后用:标签组的ADDITEM方法获得句柄。
用同步读方法就可以得到每个标签的数据。
我发现有问题。
昨天我就发现有问题。
今天论坛上没有人给我回答,去国外网站看看,上有个FORUM,内容很多,有真正的专家,其中一个是OPC基金会的技术代表。
FAQ上还保留了从1998-2001年的问题及回答。
你相信吗,我真的找到了。
有一个叫fullqulifity ItemID的说法,比如下面的情况bch1(树枝)tag11(叶子)tag12 (叶子)bch2tag21 (叶子)bch22 (树枝)tag221 (叶子)tag222 (叶子)通常的ITEMID是tag11,tag12,tag21,tag221,tag222这样的而Fullqulifity ItemID是bch1.tag11,bcg1.tag12,bch2.bch22.tag221,bch2.bch22.tag222应该用OPCSERVERBROWSER的GetItemId()获得。
修改程序,OK。
还有什么问题,本机服务器的枚举。
明天再说吧。
ZZZzzz第五天国外网站上真是有很多有用的东西,不象我们的论坛,原创的少,转载的多,内容也太少了。
今天我直奔主题。
上GOOGLE,输入OPC VB SAMPLE CODE ,GO!。
很多。
我选择了一个网站:下载一个叫KEPSERVEREX-OPC-EXAMPLE的东东,21M。
哈哈,带原代码的OPC客户端工具。
运行,很不错,那个WXOPC和它比较一下,简直......枚举OPCServer的法子:Dim ServerList as VariantDim i as IntegerServerlist=anOPCServer.getOPcServer(node)List1.clearFOR i=lbound(Serverlist) to ubound(Serverlist)List1.additem serverlist(i)NEXT I就这么简单,为什么在论坛上有这么多人在问,而我也没搞懂。
找到了枚举服务器的办法,在单机上成功。
其实《入门》也提供了一个DOC文档,是OPC提供的:Data Access Automation Interface Standard Version 2.02是一个必须的手册,只是有一些错误。
错误总是难免的。
入门如果有人指点,实际上不难,没有指点,实际不容易。
好在有网络。
上班时,我借了本《数据结构》,里面有算法,不知为什么,我却没找到未知层树的遍历算法。
上班可能脑袋不清楚吧。
第六天上午,想解决树的问题。
昨天的KEPWARE的例子,用了TREEVIEW控件和OPCSERVERBROWSER。
我用GOOGLE查找“treeview”“树的遍历”,有了答案,好几个地方。
仔细一看都是一个。
是利用TREEVIEW和递归算法实现计算机文件目录系统的展开。
递归,怎么忘记了。
采用递归算法实现了枚举所有ITEM的过程。
用了3个小时。
下午休息。
第七天将自己的第一个程序,转成EXE文件,在不同的地方试运行,都正常。
我想起了第一天安装的那些DLL,还要么。
试一下将一个改名,运行,出错。
再试另一个,出错。
一个都不能少。
记住。
OPCcom_pas.dll 通用接口OPCAutoda.dll 自动化接口OPCProxy.dll PROXY-STUB想起组态软件支持OPC,就用组态王试了一下,发现用OPC和用其他方式没有什么两样。
一般设备是先找硬件端口,找设备,找I/O点。
而OPC是先找OPC服务器,在找出标签(也是点)。
真正的组态没有什么两样。
下午,想做个总结。
更想休息,七天了,每天6小时以上。
好累。
后记这是一次入门的学习,本身没有什么。
我却有些感想。
OPC还是很难的,最起码,要自己编客户端已经不易,何况还有OPC ALARM & EVENT 报警和事件OPC DX 服务器间数据交换OPC SECURITY 安全OPC HISTIRDATA 历史数据库OPC XML XMLOPC .NET FOR .net这些对于一种工控软件是比不可少的。