ImageVerifierCode 换一换
格式:PDF , 页数:5 ,大小:140KB ,
资源ID:16086808      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16086808.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(OPCServer概述资料下载.pdf)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

OPCServer概述资料下载.pdf

1、顾名思义,OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定,根据OPC Specification 的定义,OPC is a standard mechanism forcommunicating to numerous data sources,either devices on the factory floor,or a database in acontrol room.在现今的工业自动化中,我们需要一套整合的信息系统,由底层的各项装置采集信息(FieldManagement),中层的控制系统或图控应用程序进行程序的控制(Process Management),再由最上

2、层的整合软件将这些信息整合起来以供企业决策或效能提升,如下图所示:OPC 为硬件制造商与软件开发商提供了一条桥梁,透过硬件厂商提供的 OPC Server 接口,软件开发者不必考虑各项不同硬件间的差异,便可自硬件端取得所需的信息,所以软件开发者仅需专注于程序本身的控制流程的运作。此外,由于 COM/DCOM 实作并隐藏了网络的细节,透过 OPC 可以很容易地达成远程控制的理想。2.How does OPC work?在说明OPC Server/Client 运作方式之前,我们先简单介绍一下Microsoft 发展的COM/DCOM 是什么?COM 是一种发展软件组件的方法,所谓的软件组件,是指

3、一个可以提供应用程序、操作系统、以及其它组件服务的二进制可执行程序。事实上,发展自订的 COM 对象就好象是在建构一套可以动态执行的对象导向 API 一般。你可以在应用程序执行的时期随意拼上或移除所需要的组件。依据 COM 这样的概念,发展应用程序就像是堆积木一样,每一个 COM组件就是一块积木,你可以利用各式各样不同的积木,拼凑出你所需要的应用程序。在实作上,COM 透过一组一组的接口(Interface)提供服务,所有 COM组件的使用者,都必须透过这些 Interface 来使用组件提供的功能。OPC 的规格中便定义了许多 OPCServer 应该提供的 Interface,要撰写一个

4、OPC Server 的 COM 组件,你必须在你的组件中加入这些接口,并提供它们的实作,Client 便可以透过这些接口,操作连接到 OPC Server的硬件装置,这也就是 OPC Server/Client 运作的方式。以下的图标可以让这样的概念更清晰。3.OPC Server 架构如前面所述,OPC Server 透过一组一组的接口提供服务,不过在实作的架构上,OPC Server共分为三层:分别是 OPCServer,OPCGroup,OPCItem其中每一个 OPCItem 对应到一个实际的硬件装置上的某一个 channel 或 port;每一个OPCGroup 则包含了许多的 O

5、PCItem,同时并定义这些 OPCItem 更新的时间、方式,以及提供读取 OPCItem 值的接口;而每一个 OPCServer 则包含若干个 OPCGroup,同时提供操作这些 OPCGroup 的接口。下图可以较清楚地说明 OPCServer/OPCGroup/OPCItem 间的关系:4.OPC Custom Interface接下来的这一节,我们将讨论 OPC Serve 的重点,也就是每一组接口的定义,以及它所提供的功能。OPCServer 提供的接口:IOPCCommonHRESULT SetLocaleID(dwLcid)设定位置信息HRESULT GetLocaleID(p

6、dwLcid)取得位置信息HRESULT QueryAvailableLocaleIDs(pdwCount,pdwLcid)查询可用的位置IDHRESULT GetErrorString(dwError,ppString)取得错误信息字符串HRESULT SetClientName(szName)设定Clinet的名称IOPCServerHRESULT AddGroup(szName,bActive,dwRequestedUpdateRate,hClientGroup,pTimeBias,pPercentDeadband,dwLCID,phServerGroup,pRevisedUpdateR

7、ate,riid,ppUnk)新 增 一 个OPCGroupHRESULT GetErrorString(dwError,dwLocale,ppString)取得错误信息字符串HRESULT GetGroupByName(szName,riid,ppUnk)依据名称取得OPCGroup 的介面HRESULT GetStatus(ppServerStatus)取得 OPCServer的状态信息HRESULT SetClientName(szName)设定Clinet的名称RemoveGroup(hServerGroup,bForce)移除一个OPCGroupHRESULT CreateGroup

8、Enumerator(dwScope,riid,ppUnk)产生一个OPCGroup 列举器IConnectionPointContainerHRESULT EnumConnectionPoints(IEnumConnectionPoints ppEnum)列举所有的 ConnectionPointsHRESULT FindConnectionPoint(REFIID riid,IConnectionPoint ppCP)找出一个 ConnectionPointIOPCItemPropertiesHRESULTQueryAvailableProperties(szItemID,pdwCount

9、,ppPropertyIDs,ppDescriptions,ppvtDataTypes);查询可用的 OPCItem属性HRESULT GetItemProperties(szItemID,dwCount,pdwPropertyIDs,ppvData,ppErrors)取得OPCItem 的属性HRESULT LookupItemIDs(szItemID,dwCount,pdwPropertyIDs,ppszNewItemIDs,ppErrors)使用名称查询OPCItem 的 IDIOPCBrowseServerAddressSpace(optional)HRESULT QueryOrgan

10、ization(pNameSpaceType)查询组织名称HRESULT ChangeBrowsePosition(dwBrowseDirection,szString)变更浏览的位置HRESULTBrowseOPCItemIDs(dwBrowseFilterType,szFilterCriteria,vtDataTypeFilter,dwAccessRightsFilter,ppIEnumString)浏览 OPCServer 內所有定义的 OPCItemHRESULT GetItemID(szItemDataID,szItemID)取得 OPCItem 的 IDHRESULT Browse

11、AccessPaths(szItemID,ppIEnumString)浏览存取OPCItem 的路径OPCGroup Object 提供的介面IOPCGroupStateMgtHRESULT GetState(pUpdateRate,pActive,ppName,pTimeBias,pPercentDeadband,PLCID,phClientGroup,phServerGroup)取得OPCGroup的状态即设定信息HRESULTSetState(pRequestedUpdateRate,pRevisedUpdateRate,pActive,pTimeBias,pPercentDeadban

12、d,PLCID,phClientGroup)设定OPCGroup 的状态信息HRESULT SetName(szName)设定OPCGroup的名称HRESULT CloneGroup(szName,riid,ppUnk)复制一个OPCGroupIOPCSyncIOHRESULT Read(dwSource,dwCount,phServer,ppItemValues,ppErrors);以同步方式读取OPCGroup内的OPCItem(s)的值HRESULT GetItemProperties(szItemID,dwCount,pdwPropertyIDs,ppvData,ppErrors)取

13、得OPCItem 的属性HRESULT Write(dwCount,phServer,pItemValues,ppErrors)以同步方式将值写入OPCGroup內的 OPCItem(s)IOPCAsyncIO2HRESULT Read(dwCount,phServer,dwTransactionID,pdwCancelID,ppErrors,)以非同步方式读取OPCGroup内的OPCItem(s)的值,值会在读取硬件的动作结束后以callback的形式传回HRESULTSetState(pRequestedUpdateRate,pRevisedUpdateRate,pActive,pTim

14、eBias,pPercentDeadband,PLCID,phClientGroup)设定OPCGroup的状态信息HRESULT Write(dwCount,phServer,pItemValues,dwTransactionID,pdwCancelID,ppErrors)以非同步方式将值写入OPCGroup内的OPCItem(s)HRESULT Cancel2(dwCancelID)取消前一次的非同步读取/写入HRESULT Refresh2(dwSource,dwTransactionID,pdwCancelID)更 新OPCGroup內OPCItem(s)的值HRESULT SetEn

15、able(bEnable)将 OPCGroup 设为 EnableHRESULT GetEnable(pbEnable)传回 OPCGroup 是否为 EnableIOPCItemMgtHRESULT AddItems(dwCount,pItemArray,ppAddResults,ppErrors);在 OPCGroup 内 新 增OPCItem(s)HRESULT ValidateItems(dwCount,pItemArray,bBlobUpdate,ppValidationResults,ppErrors)检查OPCItem(s)的名称是否可用HRESULT RemoveItems(d

16、wCount,phServer,ppErrors)移除OPCGroup 內的 OPCItem(s)HRESULT SetActiveState(dwCount,phServer,bActive,ppErrors)高定 OPCItem(s)是否为AvtiveHRESULT SetClientHandles(dwCount,phServer,phClient,ppErrors)设 定OPCItem(s)的handleHRESULT SetDatatypes(dwCount,phServer,pRequestedDatatypes,ppErrors)设定OPCItem(s)的数据类型HRESULT CreateEnumerator(riid,ppUnk)产生OPCItems的列举器IConnectionPointContainerHRESULT EnumConnectionPoints(IEnumConnectionPoin

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1