热卖商品
新闻详情
一个真正可用于工控行业的COM/DCOM通讯 -> OPC 通讯-CSDN论坛
来自 : CSDN技术社区
发布时间:2021-03-24
《OPC技术及其在工控组态软件中的应用》本论题共有223人阅读,有0人回复。
[摘要]介绍了OPC技术及在工业控制软件中的具体应用。重点叙述了OPC技术原理和特点,OPC数据采集技术和OPC冗余技术。
[关键词]OPC,OPC控件,OPC冗余服务器。
1.引言
OPC全称是OLEforProcessControl,是过程控制业中的新兴标准,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC以OLE/COM/DCOM机制作为应用程序级的通信标准,采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。
2.OPC技术及接口
OPC技术的实现包括两个组成部分,OPC服务器部分及OPC客户应用部分,其应用模式如图1所示。
OPC服务器是一个典型的现场数据源程序,它收集现场设备数据信息,通过标准的OPC接口传送给OPC客户端应用。OPC客户应用是一个典型的数据接收程序,如人机界面软件(HMI)、数据采集与处理软件(SCADA)等。OPC客户应用通过OPC标准接口与OPC服务器通信,获取OPC服务器的各种信息。符合OPC标准的客户应用可以访问来自任何生产厂商的OPC服务器程序。
OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的。在Windows3.1下,微软公司通过OLE1技术使相对独立的不同应用程序结合到一起成为可能,向用户软件模块化迈进了关键一步。在OPC技术中使用的是OLE2技术,微软不仅对OLE1进行了扩展,还引入了一种新的深层次结构,使得在微软Windows下开发软件的思维方式有所改变,OLE标准允许多台微机之间交换文档、图形等对象。COM是ComponentObjectModel的缩写,是所有OLE机制的基础。COM是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的。例如,用户可以使用C++语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用VisualBasic,C,Pascal,Smalltalk或其它语言编写对象访问程序。在WindowsNT4.0操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM的这个扩展被称为DCOM(DistributedCOM)。通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。很多国际先进的自动化软件供应商均以OPC技术作为核心,开发出了多种功能的自动化软件,如ICONICS、PCSOFT等公司。同时,具有OPC标准接口的自动化软件组件,遵守统一的数据访问标准,配置灵活,方便了软件集成,如ICONICS公司的具有软逻辑(SoftLogic)功能的ControlWorX32组件,通过OPC标准可以自由的集成在HMI/SCADA软件中。
OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口(Automationinterface);自定义接口(Custominterface)。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C++等高级编程语言而制定的标准接口。OPC服务器的访问方式与接口如图2。
3.OPC技术在过程控制中的应用
OPC技术目前已经在国内开始使用,下面介绍OPC技术在控制应用软件开发中的典型应用。
3.1OPC数据采集技术
OPC技术通常在数据采集软件中广泛使用。现在众多硬件厂商提供的产品均带有标准的OPC接口,可以编制符合标准OPC接口的客户端应用软件完成数据的采集任务。随着软件组件化的发展,过去提出的搭积木方式在工控软件中成为现实,用户可以通过各种软件模块完成控制应用的实现。因此,我们提出了创建OPC数据采集ActiveX控件方式完成OPC服务器的数据采集任务。通过OPC数据采集控件,用户可以方便的编写数据采集监控程序,同时也可以为原有的数据采集系统添加新的功能。OPC数据采集控件的想法来自于VisualBasic编程环境中的数据库(Data)控件,数据库控件的主要作用是连接各种数据库,为用户进行数据库编程提供方便。OPC数据采集控件提供类似数据库控件的功能,使用方式与数据库控件相仿,通过数据订阅和数据的动态绑定,为具有数据绑定功能的所有ActiveX控件提供数据源,用户甚至无须编程就可显示来自OPC服务器的实时数据。我们在实际应用中,开发了OPC数据采集控件,现将该控件的属性、方法、事件归纳如下:
*OPC数据采集控件属性
属性名称
属性描述
OPCItems
连接OPC服务器中数据项的个数
OPCItemID
数据项的维一性编号。用于从数据项集合中选择某一数据项。
OPCItemName
OPC服务器中数据项的名称
OPCServerName
OPC服务器名称
OPCRemoteNodeName
OPC服务器所在的网络节点名称。如果该属性是空串,则表明OPC服务器是在本机上。
OPCItemValue
OPC数据项的当前值
OPCItemQuality
OPC数据项的当前值的质量
OPCItemTimeStamp
OPC数据项的当前值的时间戳
UpdateRate
OPC服务器数据的更新速率。单位是1/1000秒
DeadBand
用来设置参数的变化量,当变化量超过死区时,OPC服务器发出DataChange事件
TimeBias
OPC服务器的时间偏置
LocaleID
与OPC服务器进行通讯时所用的语言标识
DisplayFullOPCItemName
是否显示OPC数据项的全称。数据项的全称包括节点名、服务器名和数据项名
OPCItemGain
数据变换的增益。数据输出值=OPCItemGain*OPC数据原始值+OPCItemBias
OPCItemBias
数据变换的偏置。数据输出值=OPCItemGain*OPC数据原始值+OPCItemBias
OPCItemDigits
数据项的小数据点位数
PrintConfiguration
当该属性从False变成True时,自动打印出控件的配置参数
*OPC数据采集控件方法
方法名称
方法属性
Refresh()
该方法用来强制更新当前数据
WriteOPCItemValue(ByValItemIDAsLong,ByValValueAsVariant)
该方法用来将编号为ItemID的数据项数值改写为Value,并返回该数据项的名称
PrintItem()
该方法用来打印控件的配置参数
*OPC数据采集控件事件
事件名称
事件描述
ItemIDChanged(ByValItemIDAsLong)
当改变OPCItemID属性时,触发该事件。
DataChange(ByValNumItemsAsLong,ItemIDs()AsLong,ItemValues()AsVariant,Qualities()AsLong,TimeStamps()AsDate)
当数据项集合中的一个或多个数据项取值发生变化时,触发该事件
OneDataChange(ItemIDAsLong,ItemValueAsVariant,QualityAsLong,TimeStampAsDate)
当数据项集合中的一个数据项取值发生变化时,触发该事件
OPCServerShutdown()
当OPC服务由于某种原因关闭时,触发该事件
3.2OPC服务器冗余技术
在工控软件开发中,一项最为重要的技术就是冗余技术,优秀的软、硬件冗余技术是系统长期稳定工作的保障。目前流行的工控软件也都具有冗余功能。OPC标准的制定为软件冗余提出了新的思路,我们可以通过OPC技术更加方便的实现软件冗余。在实践应用中,我们开发了OPC冗余服务器,解决了对任何厂商的OPC服务器冗余问题。图3是OPC冗余技术的结构图。
OPC客户应用程序可以是任何符合OPC标准的客户端应用,如用户自己编写的采集监控程序或其他软件厂商开发的符合OPC标准的HMI、SCADA应用。OPC冗余服务器通过主/备份OPC服务器采集数据,同时通过标准的OPC接口为客户端应用提供数据信息。因此,OPC冗余服务器既是OPC服务器的客户端应用,同时又是符合OPC标准的服务器程序。由于OPC冗余服务器采用OPC标准,具有开放性和可互操作性,可以和任何符合OPC标准的软件无缝集成,真正作到了即插即用。OPC冗余服务器可以根据用户配置的检测时间定时检测OPC服务器的连接关系,在主从服务器之间自动切换,也可以按照用户指定的切换目标进行切换,方便了设备的维护,使系统的运行更加平稳。
4.结束
OPC标准的制定方便了控制系统的开发与集成。我们在实际应用中,采用OPC标准开发了奥康2000监控应用软件,同时开发了FF现场总线OPC服务器。通过OPC数据采集控件,连接了大量的OPC服务器程序,包括NI公司的FF现场总线OPC服务器、西门子公司的PROFIBUS总线OPC服务器及我们开发的OPC服务器,实现了控制系统的无逢集成。
随着软件技术的不断发展,OPC标准也正在向新的领域扩展。OPC基金会现在已经颁布了数据访问和报警事件标准,其它的OPC标准,如历史数据OPC标准,也正在酝酿之中。去年在美国费城举行的ISA会议上,OPC基金会发布与微软公司BizTalk体系兼容的XML(ExtensibleMarkupLaguage)的纲要,将Internet技术应用在工业控制中。相信在不久的将来,OPC技术及标准将应用于更加广泛的领域,OPC技术必将赋予现代工业控制软件更强的生命活力。
参考文献
[1]OPC基金会。OPCDataAccessCustomInterfaceStandard,Version2.0。[M]
[2]OPC基金会。OPCDataAccessAutomationInterfaceStandard,Version2.0。[M]
[3]OPC基金会。OPCOverview,Version1.0。[M]
[摘要]介绍了OPC技术及在工业控制软件中的具体应用。重点叙述了OPC技术原理和特点,OPC数据采集技术和OPC冗余技术。
[关键词]OPC,OPC控件,OPC冗余服务器。
1.引言
OPC全称是OLEforProcessControl,是过程控制业中的新兴标准,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC以OLE/COM/DCOM机制作为应用程序级的通信标准,采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。
2.OPC技术及接口
OPC技术的实现包括两个组成部分,OPC服务器部分及OPC客户应用部分,其应用模式如图1所示。
OPC服务器是一个典型的现场数据源程序,它收集现场设备数据信息,通过标准的OPC接口传送给OPC客户端应用。OPC客户应用是一个典型的数据接收程序,如人机界面软件(HMI)、数据采集与处理软件(SCADA)等。OPC客户应用通过OPC标准接口与OPC服务器通信,获取OPC服务器的各种信息。符合OPC标准的客户应用可以访问来自任何生产厂商的OPC服务器程序。
OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的。在Windows3.1下,微软公司通过OLE1技术使相对独立的不同应用程序结合到一起成为可能,向用户软件模块化迈进了关键一步。在OPC技术中使用的是OLE2技术,微软不仅对OLE1进行了扩展,还引入了一种新的深层次结构,使得在微软Windows下开发软件的思维方式有所改变,OLE标准允许多台微机之间交换文档、图形等对象。COM是ComponentObjectModel的缩写,是所有OLE机制的基础。COM是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的。例如,用户可以使用C++语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功能,用户可以使用VisualBasic,C,Pascal,Smalltalk或其它语言编写对象访问程序。在WindowsNT4.0操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM的这个扩展被称为DCOM(DistributedCOM)。通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。很多国际先进的自动化软件供应商均以OPC技术作为核心,开发出了多种功能的自动化软件,如ICONICS、PCSOFT等公司。同时,具有OPC标准接口的自动化软件组件,遵守统一的数据访问标准,配置灵活,方便了软件集成,如ICONICS公司的具有软逻辑(SoftLogic)功能的ControlWorX32组件,通过OPC标准可以自由的集成在HMI/SCADA软件中。
OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口(Automationinterface);自定义接口(Custominterface)。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C++等高级编程语言而制定的标准接口。OPC服务器的访问方式与接口如图2。
3.OPC技术在过程控制中的应用
OPC技术目前已经在国内开始使用,下面介绍OPC技术在控制应用软件开发中的典型应用。
3.1OPC数据采集技术
OPC技术通常在数据采集软件中广泛使用。现在众多硬件厂商提供的产品均带有标准的OPC接口,可以编制符合标准OPC接口的客户端应用软件完成数据的采集任务。随着软件组件化的发展,过去提出的搭积木方式在工控软件中成为现实,用户可以通过各种软件模块完成控制应用的实现。因此,我们提出了创建OPC数据采集ActiveX控件方式完成OPC服务器的数据采集任务。通过OPC数据采集控件,用户可以方便的编写数据采集监控程序,同时也可以为原有的数据采集系统添加新的功能。OPC数据采集控件的想法来自于VisualBasic编程环境中的数据库(Data)控件,数据库控件的主要作用是连接各种数据库,为用户进行数据库编程提供方便。OPC数据采集控件提供类似数据库控件的功能,使用方式与数据库控件相仿,通过数据订阅和数据的动态绑定,为具有数据绑定功能的所有ActiveX控件提供数据源,用户甚至无须编程就可显示来自OPC服务器的实时数据。我们在实际应用中,开发了OPC数据采集控件,现将该控件的属性、方法、事件归纳如下:
*OPC数据采集控件属性
属性名称
属性描述
OPCItems
连接OPC服务器中数据项的个数
OPCItemID
数据项的维一性编号。用于从数据项集合中选择某一数据项。
OPCItemName
OPC服务器中数据项的名称
OPCServerName
OPC服务器名称
OPCRemoteNodeName
OPC服务器所在的网络节点名称。如果该属性是空串,则表明OPC服务器是在本机上。
OPCItemValue
OPC数据项的当前值
OPCItemQuality
OPC数据项的当前值的质量
OPCItemTimeStamp
OPC数据项的当前值的时间戳
UpdateRate
OPC服务器数据的更新速率。单位是1/1000秒
DeadBand
用来设置参数的变化量,当变化量超过死区时,OPC服务器发出DataChange事件
TimeBias
OPC服务器的时间偏置
LocaleID
与OPC服务器进行通讯时所用的语言标识
DisplayFullOPCItemName
是否显示OPC数据项的全称。数据项的全称包括节点名、服务器名和数据项名
OPCItemGain
数据变换的增益。数据输出值=OPCItemGain*OPC数据原始值+OPCItemBias
OPCItemBias
数据变换的偏置。数据输出值=OPCItemGain*OPC数据原始值+OPCItemBias
OPCItemDigits
数据项的小数据点位数
PrintConfiguration
当该属性从False变成True时,自动打印出控件的配置参数
*OPC数据采集控件方法
方法名称
方法属性
Refresh()
该方法用来强制更新当前数据
WriteOPCItemValue(ByValItemIDAsLong,ByValValueAsVariant)
该方法用来将编号为ItemID的数据项数值改写为Value,并返回该数据项的名称
PrintItem()
该方法用来打印控件的配置参数
*OPC数据采集控件事件
事件名称
事件描述
ItemIDChanged(ByValItemIDAsLong)
当改变OPCItemID属性时,触发该事件。
DataChange(ByValNumItemsAsLong,ItemIDs()AsLong,ItemValues()AsVariant,Qualities()AsLong,TimeStamps()AsDate)
当数据项集合中的一个或多个数据项取值发生变化时,触发该事件
OneDataChange(ItemIDAsLong,ItemValueAsVariant,QualityAsLong,TimeStampAsDate)
当数据项集合中的一个数据项取值发生变化时,触发该事件
OPCServerShutdown()
当OPC服务由于某种原因关闭时,触发该事件
3.2OPC服务器冗余技术
在工控软件开发中,一项最为重要的技术就是冗余技术,优秀的软、硬件冗余技术是系统长期稳定工作的保障。目前流行的工控软件也都具有冗余功能。OPC标准的制定为软件冗余提出了新的思路,我们可以通过OPC技术更加方便的实现软件冗余。在实践应用中,我们开发了OPC冗余服务器,解决了对任何厂商的OPC服务器冗余问题。图3是OPC冗余技术的结构图。
OPC客户应用程序可以是任何符合OPC标准的客户端应用,如用户自己编写的采集监控程序或其他软件厂商开发的符合OPC标准的HMI、SCADA应用。OPC冗余服务器通过主/备份OPC服务器采集数据,同时通过标准的OPC接口为客户端应用提供数据信息。因此,OPC冗余服务器既是OPC服务器的客户端应用,同时又是符合OPC标准的服务器程序。由于OPC冗余服务器采用OPC标准,具有开放性和可互操作性,可以和任何符合OPC标准的软件无缝集成,真正作到了即插即用。OPC冗余服务器可以根据用户配置的检测时间定时检测OPC服务器的连接关系,在主从服务器之间自动切换,也可以按照用户指定的切换目标进行切换,方便了设备的维护,使系统的运行更加平稳。
4.结束
OPC标准的制定方便了控制系统的开发与集成。我们在实际应用中,采用OPC标准开发了奥康2000监控应用软件,同时开发了FF现场总线OPC服务器。通过OPC数据采集控件,连接了大量的OPC服务器程序,包括NI公司的FF现场总线OPC服务器、西门子公司的PROFIBUS总线OPC服务器及我们开发的OPC服务器,实现了控制系统的无逢集成。
随着软件技术的不断发展,OPC标准也正在向新的领域扩展。OPC基金会现在已经颁布了数据访问和报警事件标准,其它的OPC标准,如历史数据OPC标准,也正在酝酿之中。去年在美国费城举行的ISA会议上,OPC基金会发布与微软公司BizTalk体系兼容的XML(ExtensibleMarkupLaguage)的纲要,将Internet技术应用在工业控制中。相信在不久的将来,OPC技术及标准将应用于更加广泛的领域,OPC技术必将赋予现代工业控制软件更强的生命活力。
参考文献
[1]OPC基金会。OPCDataAccessCustomInterfaceStandard,Version2.0。[M]
[2]OPC基金会。OPCDataAccessAutomationInterfaceStandard,Version2.0。[M]
[3]OPC基金会。OPCOverview,Version1.0。[M]
本文链接: http://opcla.immuno-online.com/view-686207.html
发布于 : 2021-03-24
阅读(0)
最新动态
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24