首页 上一页 1 2 下一页 尾页

OPC技术及其在工控组态软件中的应用 点击:10622 | 回复:31



gongkongedit

    
  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-11-20 11:48:00
楼主
[摘要]介绍了OPC技术及在工业控制软件中的具体应用。重点叙述了OPC技术原理和特点,OPC数据采集技术和OPC冗余技术。 [关键词] OPC,OPC控件,OPC冗余服务器。 1.引言 OPC全称是OLE for Process Control,是过程控制业中的新兴标准,它的出现为基于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接口完成的。在Windows 3.1下,微软公司通过OLE 1技术使相对独立的不同应用程序结合到一起成为可能,向用户软件模块化迈进了关键一步。在OPC技术中使用的是OLE 2技术,微软不仅对OLE 1进行了扩展,还引入了一种新的深层次结构,使得在微软Windows下开发软件的思维方式有所改变,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技术作为核心,开发出了多种功能的自动化软件,如ICONICS、PCSOFT等公司。同时,具有OPC标准接口的自动化软件组件,遵守统一的数据访问标准,配置灵活,方便了软件集成,如ICONICS公司的具有软逻辑(Soft Logic)功能的ControlWorX32组件,通过OPC标准可以自由的集成在HMI/SCADA 软件中。 OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口(Automation interface);自定义接口(Custom interface)。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器的客户应用。而自定义接口是专门为C++等高级编程语言而制定的标准接口。OPC服务器的访问方式与接口如图2。 3.OPC技术在过程控制中的应用 OPC技术目前已经在国内开始使用,下面介绍OPC技术在控制应用软件开发中的典型应用。 3.1 OPC数据采集技术 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(ByVal ItemID As Long, ByVal Value As Variant) 该方法用来将编号为ItemID的数据项数值改写为Value,并返回该数据项的名称 PrintItem() 该方法用来打印控件的配置参数 * OPC数据采集控件事件 事件名称 事件描述 ItemIDChanged(ByVal ItemID As Long) 当改变OPCItemID属性时,触发该事件。 DataChange(ByVal NumItems As Long, ItemIDs() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date) 当数据项集合中的一个或多个数据项取值发生变化时,触发该事件 OneDataChange(ItemID As Long, ItemValue As Variant, Quality As Long, TimeStamp As Date) 当数据项集合中的一个数据项取值发生变化时,触发该事件 OPCServerShutdown() 当OPC服务由于某种原因关闭时,触发该事件 3.2 OPC服务器冗余技术 在工控软件开发中,一项最为重要的技术就是冗余技术,优秀的软、硬件冗余技术是系统长期稳定工作的保障。目前流行的工控软件也都具有冗余功能。OPC标准的制定为软件冗余提出了新的思路,我们可以通过OPC技术更加方便的实现软件冗余。在实践应用中,我们开发了OPC冗余服务器,解决了对任何厂商的OPC服务器冗余问题。图 3是OPC冗余技术的结构图。 OPC客户应用程序可以是任何符合OPC标准的客户端应用,如用户自己编写的采集监控程序或其他软件厂商开发的符合OPC标准的HMI、SCADA应用。OPC冗余服务器通过主/备份OPC服务器采集数据,同时通过标准的OPC接口为客户端应用提供数据信息。因此,OPC冗余服务器既是OPC服务器的客户端应用,同时又是符合OPC标准的服务器程序。由于OPC冗余服务器采用OPC标准,具有开放性和可互操作性,可以和任何符合OPC标准的软件无缝集成,真正作到了即插即用。OPC冗余服务器可以根据用户配置的检测时间定时检测OP



bacman

  • 精华:3帖
  • 求助:0帖
  • 帖子:60帖 | 106回
  • 年度积分:0
  • 历史总积分:326
  • 注册:2002年4月15日
发表于:2002-07-05 15:17:00
1楼
"OPC服务器是一个典型的现场数据源程序,它收集现场设备数据信息,通过标准的OPC接口传送给OPC客户端应用。"我可否这样理解,只要一个OPC客户端就可以连接所有的Server?那么客户端是否很简单开发或语句基本不便就可以适用于很多server?

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2002-07-09 08:11:00
2楼
OPC客户/服务器是“多对多”的关系,一个客户程序可以连接多个OPC服务器。只要服务器完全符合OPC规范,客户程序就可以连接。至于客户程序的开发,其本质并不复杂,尤其是采用VB等通过自动化接口访问的工具时,开发更简单。只要了解一些COM方面的开发技术即可。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2002-08-07 09:56:00
3楼
请下载演示板 http://www.china-control.com/xiazai.htm 内部包括用户手册!

crazygod

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 15回
  • 年度积分:0
  • 历史总积分:30
  • 注册:2002年8月12日
发表于:2002-08-12 09:25:00
4楼
现在一般只要英文影印版的OPC文档,使用不方便,请问哪里有中文版的?

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2002-09-03 09:02:00
5楼
http://www.china-control.com/rj4.htm 网址更新,欢迎下载!

BlueLake

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2002年11月27日
发表于:2002-11-27 21:27:00
6楼
请问《OPC技术及其在工控组态软件中的应用》中的几个图在哪里能找到?可否上载一下,在此先谢过了。

hanying8312

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2002年11月29日
发表于:2002-11-29 10:51:00
7楼
我也想要,谢谢。 hanying8312@sina.com

89898890

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 11回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2003年3月20日
发表于:2003-05-30 01:21:00
8楼
请发一份给我 谢谢了 mail-wkun@163.com

zhqgui

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 5回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2003年8月30日
发表于:2003-06-25 20:18:00
9楼
我对包装dll,代理占位dll,opc服务器这些概念没有搞太清楚,要开发一个opc应用程序,是不是必须得有opc服务器,包装dll,代理占位dll这些东西,opc服务器从哪里可以得到,是不是每一个opc应用程序只是针对某一个opc服务器开发的,如果是这样的话,从哪里能够体现opc的优点呢?opc自动化接口是不是对于每一个opc服务器都是一样的,还是每一个opc服务器都有各自的opc自动化接口?这些问题都没有搞明白。哪位能帮忙解释一下。

deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2003-06-26 08:34:00
10楼
opc 服务器从应用的角度来说, 每个opc 服务器程序是一样.其接口是通过代理和继承来的.

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-06-27 16:04:00
11楼
我也需要那几张图纸,可否发送给我~我的邮箱是 xlj_happy366@yahoo.com.cn 多谢了~~

rjc

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 14回
  • 年度积分:0
  • 历史总积分:109
  • 注册:2001年12月04日
发表于:2003-06-30 14:19:00
12楼
谁有OPC文档的中文版??麻烦请赐一份!谢谢!!!

MaHengguii

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2002年9月05日
发表于:2003-11-20 11:48:00
13楼
请发一份给我 谢谢了  mymhg@126.com

无情的阿飞

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 27回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2004年1月07日
发表于:2005-03-09 19:40:00
14楼
我也想要一份。谢谢。 jinyunchen@126.com

王俊文

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:164
  • 注册:2004年3月15日
发表于:2005-03-15 15:20:00
15楼
请发我一份 谢谢! wangjunwen@eyou.com

gaoyuan

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2002年3月03日
发表于:2005-04-15 15:00:00
16楼

jianpu

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 2回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2004年4月21日
发表于:2005-04-24 18:19:00
17楼
我也需要那几张图纸,可否发送给我~我的邮箱是   w.jianpu@163.com   多谢了~~

liu_zx

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 43回
  • 年度积分:0
  • 历史总积分:101
  • 注册:2004年7月03日
发表于:2005-04-30 09:23:00
18楼
自定义接口(Custom interface) 有源代码吗?发给我啊!谢谢!luzex@sohu.com

友无南北

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2006年1月18日
发表于:2006-01-18 21:46:00
19楼
 我也想要一份。谢谢。
  hou5262000@zahoo.com.cn

发贴专用

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 6回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2005年7月04日
发表于:2006-03-14 17:46:00
20楼
我也想要一份,谢谢拉

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页