1 / 17
文档名称:

OPC应用技术简介.docx

格式:docx   大小:208KB   页数:17页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

OPC应用技术简介.docx

上传人:美梦成真 2023/2/6 文件大小:208 KB

下载得到文件列表

OPC应用技术简介.docx

文档介绍

文档介绍:该【OPC应用技术简介 】是由【美梦成真】上传分享,文档一共【17】页,该文档可以免费在线阅读,需要了解更多关于【OPC应用技术简介 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。Preparedon24November2020
OPC应用技术简介
OPC是ObjectLinkingandEmbedding(OLE)forProcessControl的缩写,它是微软公司的对象链接和嵌入在过程控制方面的应用。由一些世界上占领先地位的自动化系统和硬件、软件公司与微软(Microsoft)紧密合作而建立的,OPC基金会负责OPC规范的制定和发布。OPC提出了一套统一的标准,采用CLIENT/SERVER模式,针对硬件设备的驱动程序由硬件厂商或专门的公司完成,提供具有统一OPC接口的SERVER程序,软件厂商按照OPC标准访问SERVER程序,即可实现与硬件设备的通信。
OPC全称是OLEforProcessControl,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC中使用的是OLE2技术,OLE标准允许多台微机之间交换文档、图形等对象。
COM是ComponentObjectModel的缩写,是所有OLE机制的基础。COM是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口,而不需要知道对方是如何创建的。例如,用户可以使用C++语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用VisualBasic,C,Pascal,Smalltalk或其它语言编写对象访问程序。在Windows操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM的这个扩展被称为DCOM(DistributedCOM)。
通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。OPC采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。
OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口(Automationinterface);自定义接口(Custominterface)。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C++等高级编程语言而制定的标准接口。OPC现已成为工业界系统互联的缺省方案,为工业监控编程带来了便利,用户不用为协议的难题而苦恼。任何一家自动化软件解决方案的提供者,如果它不能全方位地支持OPC,则必将被历史所淘汰。
OPC规范简介
由OPCTaskForce制定的OPC(OLEforProcessControl)规范于1996年8月正式诞生了,随着1997年2月Microsoft公司推出Windows95支持的DCOM技术,1997年9月新成立的OPCFoundation对OPC规范进行修改,增加了数据访问等一些标准,OPC规范得到了进一步的完善。
“OPC基于Microsoft公司的DistributedinterNetApplication(DNA)构架和ComponentObjectModel(COM)技术的,根据易于扩展性而设计的。OPC规范定义了一个工业标准接口,这个标准使得COM技术适用于过程控制和制造自动化等应用领域。”OPC基础委员会主席DaveRehbein是这样描述的
OPC是以OLE/COM机制作为应用程序的标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。
应用程序与OPC服务器之间必须有OPC接口,OPC规范提供了两套标准接口:Custom标准接口,OLE自动化标准接口。通常在系统设计中采用OLE自动化标准接口。
OLE自动化标准接口,及采用OLE自动化技术进行调用,其技术为上节所述的OLE自动化技术。OLE自动化标准接口定义了以下三层接口,依次呈包含关系。
OPCServer:OPC启动服务器,获得其他对象和服务的起始类,并用于返回OPCGroup类对象;
OPCGroup:存储由若干OPCItem组成的Group信息,并用于返回OPCItem类对象。
OPCItem:存储具体Item的定义、数据值、状态值等信息。
由于OPC规范基于OLE/COM技术,同时OLE/COM的扩展远程OLE自动化与DCOM技术支持TCP/IP等多种网络协议,因此可以将OPC客户、服务器在物理上分开,分布于网络不同节点上。
OPC规范可以应用在许多应用程序中,如它们可以应用于从SCADA或者DCS系统的物理设备中获取原始数据的最低层,它们同样可以应用于从SCADA或者DCS系统中获取数据到应用程序中。实际上,OPC设计的目的就是从网络上某节点获取数据。。
采用OPC规范设计系统的好处
在进行新型微机远动系统的研制中,各个计算机以及各个模块的数据交换应该按照OPC规范进行。这样做有以下好处:
OPC规范以OLE/DCOM为技术基础,而OLE/DCOM支持TCP/IP等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上。
OPC按照面向对象的原则,将一个应用程序(OPC服务器)作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。
OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置以及,使得系统的应用范围更广。
采用OPC规范,便于系统的组态化,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。
OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。
OPC技术的应用
由于OPC技术的采用,使得可以以更简单的系统结构、更长的寿命、更低的价格解决工业控制成为可能。同时现场设备与系统的连接也更加简单、灵活、方便。因此OPC技术在国内的工业控制领域得到了广泛的应用,主要应用领域如下:
1)数据采集技术。OPC技术通常在数据采集软件中广泛应用。现在众多硬件厂商提供的产品均带有标准的OPC接口,OPC实现了应用程序和工业控制设备之间高效、灵活的数据读写,可以编制符合标准OPC接口的客户端应用软件完成数据的采集任务。
2)历史数据访问。OPC提供了读取存储在过程数据存档文件、数据库或远程终端设备中的历史数据以及对其操作、编辑的方法。
3)报警和事件处理。OPC提供了OPC服务器发生异常时,以及OPC服务器设定事件到来时向OPC客户发送通知的一种机制,通过使用OPC技术,能够更好的捕捉控制过程中的各种报警和事件并给予相应的处理。
4)数据冗余技术。工控软件开发中,冗余技术是一项最为重要的技术,它是系统长期稳定工作的保障。OPC技术的使用可以更加方便的实现软件冗余,而且具有较好的开放性和可互操作性。
5)远程数据访问。借助Microsoft的DCOM(分散式组件对象模型)技术,OPC实现了高性能的远程数据访问能力,从而使得工业控制软件之间的数据交换更加方便。
OPC技术在工业控制领域应用中的作用
OPC技术对工业控制系统的影响及应用是基础性和革命性的,简单地说,它的作用主要表现在以下几个方面:
首先,OPC解决了设备驱动程序开发中的异构问题。随着计算机技术的不断发展,用户需求的不断提高,以DCS(集散控制系统)为主体的工业控制系统功能日趋强大,结构日益复杂,规模也越来越大,一套工业控制系统往往选用了几家甚至十几家不同公司的控制设备或系统集成一个大的系统,但由于缺乏统一的标准,开发商必须对系统的每一种设备都编写相应的驱动程序,而且,当硬件设备升级、修改时,驱动程序也必须跟随修改。同时,一个
系统中如果运行不同公司的控制软件,也存在着互冲突的风险。
有了OPC后,由于有了统一的接口标准,硬件厂商只需提供一套符合OPC技术的程序,软件开发人员也只需编写一个接口,而用户可以方便地进行设备的选型和功能的扩充,只要它们提供了OPC支持,所有的数据交换都通过OPC接口进行,而不论连接的控制系统或设备是哪个具体厂商提供。
其次,OPC解决了现场总线系统中异构网段之间数据交换的问题。现场总线系统仍然存在多种总线并存的局面,因此系统集成和异构控制网段之间的数据交换面临许多困难。有了OPC作为异构网段集成的中间件,只要每个总线段提供各自的OPC服务器,任一OPC客户端软件都可以通过一致的OPC接口访问这些OPC服务器,从而获取各个总线段的数据,并可以很好地实现异构总线段之间的数据交互。而且,当其中某个总线的协议版本做了升级,也只需对相对应总线的程序作升级修改。
第三,OPC可作为访问专有数据库的中间件。实际应用中,许多控制软件都采用专有的实时数据库或历史数据库,这些数据库由控制软件的开发商自主开发。对这类数据库的访问不像访问通用数据库那么容易,只能通过调用开发商提供的API函数或其它特殊的方式。然而不同开发商提供的API函数是不一样的,这就带来和硬件驱动器开发类似的问题:要访问不同监控软件的专有数据库,必须编写不同的代码,这样显然十分繁琐。采用OPC则能有效解决这个问题,只要专有数据库的开发商在提供数据库的同时也能提供一个访问该数据库的OPC服务器,那么当用户要访问时只需按照OPC规范的要求编写OPC客户端程序而无需了解该专有数据库特定的接口要求。
第四,OPC便于集成不同的数据,为控制系统向管理系统升级提供了方便。当前控制系统的趋势之一就是网络化,控制系统内部采用网络技术,控制系统与控制系统之间也网络连接,组成更大的系统,而且,整个控制系统与企业的管理系统也网络连接,控制系统只是整个企业网的一个子网。在实现这样的企业网络过程中,OPC也能够发挥重要作用。在企业的信息集成,包括现场设备与监控系统之间、监控系统内部各组件之间、监控系统与企业管理系统之间以及监控系统与Internet之间的信息集成,OPC作为连接件,按一套标准的COM对象、方法和属性,提供了方便的信息流通和交换。无论是管理系统还是控制系统,无论是PLC(可编程控制器)还是DCS,或者是FCS(现场总线控制系统),都可以通过OPC快速可靠的彼此交换信息。换句话说,OPC是整个企业网络的数据接口规范,所以,OPC提升了控制系统的功能,增强了网络的功能,提高了企业管理的水平。
最后,OPC使控制软件能够与硬件分别设计、生产和发展,并有利于独立的第三方软件供应商产生与发展,从而形成新的分工,有更多的竞争机制,为提供更多更好的产品。
OPC作为一项逐渐成型的技术已得到国内外厂商的高度重视,许多公司都在原来产品的基础上增加了对OPC的支持。由于统一了数据访问的接口,使控制系统进一步走向开放,实现信息的集成和共享,用户能够得到更多的方便。OPC技术改变了原有的控制系统模式,给国内系
统生产厂商提出了一个发展的机遇和挑战,符合OPC规范的软、硬件也已被广泛应用,给工业自动化领域带来了勃勃生机。
ItemID
TheItemIDisthefullyqualifieddefinitionofadataitemintheserver,.
TheItemdefinition(ItemID)usedintheOPCITEMDEFandelsewhereisanull-(althoughitshouldincludeonlyprintableUNICODEcharacters)anditprovidesareferenceor`key'toan`item',digitalorstringvalue.
Forexample,anitemsuchasFIC101mightrepresentanentirerecordsuchasaFieldbus,-.
Asanextremeexample,sincethesyntaxoftheitemIDisserverspecific,additionalinformationsuchasCounts,EngineeringUnitsScalingandSignalconditioninginformationcouldbeembeddedinthedefinitionstring(althoughthisisnotrecommended).
Examples:
AserverwhichsupportsaccesstoanexistingDCSmightsupportasimplesyntaxsuchas
""
AserverthatsupportslowlevelaccesstoaPLCmightsupportsyntaxsuchas
"::40001;0,4095,,+"
开发OPC客户端程序时,首先应该生成OPC服务器支持的OPC对象,然后就可以使用OPC对象支持的属性和方法,对其进行各种操作。这样使得客户程序可以像使用自己支持的数据和功能一样,去使用服务器对象支持的数据和功能。在VisualBasic里,是以对象为单位对OPC服务器进行访问的。通过OPC自动化服务器的对象模型,可以得知OPC自动化接口由以下四种对象所定义。
1 OPCServer服务器对象
OPCServer的一个实例,OPC服务器自动含有一个OPC组集合对象,并可在其基础上生成一个OPC浏览器对象。OPCServer服务器对象在使用其它OPC对象前必须生成,也就是说在引用其他对象之前必须先创建OPCServer。OPCServer对象提供了对数据源访问和通信的方法,其提供了“Connect”方法来连接OPC自动化服务器。
主要的属性有:
StartTime(只读属性,服务器启动运行的时间)、CurrentTime(只读属性,返回服务器显示的当前时间)、LastUpdateTime(对于本OPC应用程序的最后数据更新时间)、MajorVersion(只读属性,OPC服务器的主版本号)、MinorVersion(只读属性,OPC服务器的次版本号)、Bandwith(只读属性,返回OPC服务器的不敏感区的百分比)、ServerState(只读属性,返回服务器的运行状态,这个属性是比较重要的,方便客户端程序查询服务器的状态,从而达到排除故障的目的)、ServerName(只读属性,返回客户程序所要连接的服务器名,也就是OPC服务器的ProgID)、ServerNode(服务器所在计算机名或者计算机的IP,用于连接远程的计算机)等。
主要方法有:
GetOPCservers(获得己经注册的OPC服务器的程序标识符,即ProgID)、Connect(用来建立与OPC数据存取服务器的连接)、Disconnect(断开与服务器的连接)、CreatBrowser(创建OPC浏览器的对象)等。
事件:
只有一个ServerShutDown(关闭服务器,这个事件在服务器即将关闭之前发生,OPC服务器以此通知OPC客户程序预告即将关闭,OPC客户程序应该在接到此事件通知后,立即清除所有的OPC组并断开与OPC服务器的连接)。
2 OPCGroups组集合对象