资源描述:
《OPC Server概述教学内容.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、精品好文档,推荐学习交流OPCServer概述1.WhatisOPC?
OPC是OLEforProcessControl的缩写。顾名思义,OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定,根据OPCSpecification的定义,OPCis"astandardmechanismforcommunicatingtonumerousdatasources,eitherdevicesonthefactoryfloor,oradatabaseinacontrolroom."
在现今的工业自动化中,我们需要一套整合的信息系
2、统,由底层的各项装置采集信息(FieldManagement),中层的控制系统或图控应用程序进行程序的控制(ProcessManagement),再由最上层的整合软件将这些信息整合起来以供企业决策或效能提升,如下图所示:
OPC为硬件制造商与软件开发商提供了一条桥梁,透过硬件厂商提供的OPCServer接口,软件开发者不必考虑各项不同硬件间的差异,便可自硬件端取得所需的信息,所以软件开发者仅需专注于程序本身的控制流程的运作。此外,由于COM/DCOM实作并隐藏了网络的细节,透过OPC可以很容易地达成远程控制的理想。
2.Howdo
3、esOPCwork?
在说明OPCServer/Client运作方式之前,我们先简单介绍一下Microsoft发展的COM/DCOM仅供学习与交流,如有侵权请联系网站删除谢谢6精品好文档,推荐学习交流是什么?
COM是一种发展软件组件的方法,所谓的软件组件,是指一个可以提供应用程序、操作系统、以及其它组件服务的二进制可执行程序。事实上,发展自订的COM对象就好象是在建构一套可以动态执行的对象导向API一般。你可以在应用程序执行的时期随意拼上或移除所需要的组件。依据COM这样的概念,发展应用程序就像是堆积木一样,每一个COM组件就是一
4、块积木,你可以利用各式各样不同的积木,拼凑出你所需要的应用程序。
在实作上,COM透过一组一组的接口(Interface)提供服务,所有COM组件的使用者,都必须透过这些Interface来使用组件提供的功能。OPC的规格中便定义了许多OPCServer应该提供的Interface,要撰写一个OPCServer的COM组件,你必须在你的组件中加入这些接口,并提供它们的实作,Client便可以透过这些接口,操作连接到OPCServer的硬件装置,这也就是OPCServer/Client运作的方式。以下的图标可以让这样的概念更清晰。
5、3.OPCServer架构
如前面所述,OPCServer透过一组一组的接口提供服务,不过在实作的架构上,OPCServer共分为三层:分别是OPCServer,OPCGroup,OPCItem
其中每一个OPCItem对应到一个实际的硬件装置上的某一个channel或port;每一个OPCGroup则包含了许多的OPCItem,同时并定义这些OPCItem更新的时间、方式,以及提供读取OPCItem值的接口;而每一个OPCServer则包含若干个OPCGroup,同时提供操作这些OPCGroup的接口。
下图可以较清楚地说明O
6、PCServer/OPCGroup/OPCItem间的关系:仅供学习与交流,如有侵权请联系网站删除谢谢6精品好文档,推荐学习交流
4.OPCCustomInterface
接下来的这一节,我们将讨论OPCServe的重点,也就是每一组接口的定义,以及它所提供的功能。
OPCServer提供的接口:
IOPCCommon
HRESULTSetLocaleID(dwLcid)设定位置信息
HRESULTGetLocaleID(pdwLcid)取得位置信息
HRESULTQueryAvailableLocaleIDs(pdwCount
7、,pdwLcid)查询可用的位置ID
HRESULTGetErrorString(dwError,ppString)取得错误信息字符串
HRESULTSetClientName(szName)设定Clinet的名称
IOPCServer
HRESULTAddGroup(szName,bActive,dwRequestedUpdateRate,hClientGroup,pTimeBias,pPercentDeadband,dwLCID,phServerGroup,pRevisedUpdateRate,riid,ppUnk)新增一个O
8、PCGroup
HRESULTGetErrorString(dwError,dwLocale,ppString)取得错误信息字符串
HRESULTGetGroupByName(szName,riid,ppUnk)依据名称