OPC通讯协议介绍.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《OPC通讯协议介绍.docx》由会员分享,可在线阅读,更多相关《OPC通讯协议介绍.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、OPC通讯协议介绍OPC (OLE for Process Control,用于过程把握的OLE)是一个工业标准,治 理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全 球,包括世界上全部主要的自动化把握系统、仪器仪表及过程把握系统的公司。基于微软的OLE (现在的Active X)、COM (部件对象模型)和DCOM (分布式 部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程把 握和制造业自动化系统。OPC全称是OLE for Process Control,它的消灭为基于Windows的应用 程序和现场过程把握应用建立了桥梁。在过去,为了存取
2、现场设备的数据信息,每 一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且 产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不 能满足工作的实际需要,系统集成商和开发商急迫需要一种具有高效性、牢靠性、 开放性、可互操作性的即插即用的设备驱动程序。在这种状况下,OPC标准应运 而生。0PC标准以微软公司的OLE技术为根底,它的制定是通过供给一套标准的 OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允很多台微 机之间交换文档、图形等对象。COM是Component Object Model的缩写,是全部OLE机制的根底。COM
3、是一种为了实现与编程语言无关的对象而制定的标准,该标准将Windows下的对 象定义为独立单元,可不受程序限制地访问这些单元。这种标准可以使两个应用 程序通过对象化接口通讯,而不需要知道对方是如何创立的。例如,用户可以使 用C+语言创立一个Windows对象,它支持一个接口,通过该接口,用户可以访 问该对象供给的各种功能,用户可以使用Visual Basic, C, Pascal, Smalltalk 或其它语言编写对象访问程序。在Windows NT4. 0操作系统下,COM标准扩展到 可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,COM 的这个扩展被称为DCOM (Di
4、stributed COM)。通过DCOM技术和OPC标准,完全可以创立一个开放的、可互操作的把 握系统软件。OPC承受客户/效劳器模式,把开发访问接口的任务放在硬件生产时间等进展记录储存,以备调用。(6)操作记录功能。系统自动保存重要操作记录,如改动参数,操作设备 的操作员代号、时间、内容等。(7)实时数据曲线和历史数据曲线。对重要工艺参数可以进展实时曲线显 示,并记录历史数据曲线。(8)多级口令保护功能。在中心治理中心的任何一台监控计算机上可设定 不同操作权限,只有相应操作权限的操作员,在输入正确的口令后才可访问该级 画面。(9)打印功能。可进展报表打印、曲线打印、图形打印。4工程效果该工
5、程于2022年5月份开头实施,2022年4月份设备移交厂方运行,其DCS 系统运行稳定牢靠无损坏状况。系统投入使用后,操作人员在中心治理中心就能 够全面了解整个工厂的运行情,DCS系统对泵及濯水器等主要设备能够依据预先 设定好的参数进展自动把握。整个系统只需中心治理中心操作人员就能够保证系统 的正常运行,大大降低了值班员的劳动强度。该系统的投运解决了以往污水处理厂 自动化程度低,全部设备均需手动操作,值班人员劳动强度大、操作易出错,出水水 质不稳定、生产过程无法集中监控的问题。该厂作为三峡库区第一批兴建的污水处 理厂,对三峡库区水质的保护起到了乐观的作用。各级政府领导屡次对该厂进展视 察和工作
6、指导,对该厂的生产以及工艺水平赐予了良好的评价,取得了很好的社 会效益和经济效益。5结语PLC作为成熟的把握器其编程语言及系统构造具有统一性,便于把握系统的 调试及维护。虽然PLC把握算法相对单一,但是却很好的满足了污水生产工艺的 要求,在避开功能铺张的同时降低了系统造价。承受工业以太网技术,保证了通 讯网络良好的兼容性和稳定性,同时实现了通讯的高速化。以PLC为根底承受工 业以太网搭建的DCS把握系统,在污水处理厂的自动化把握中具有成熟牢靠,既 满足生产工艺要求,同时也降低了工程造价,具有很好的应用前景。在VC环境中使用定制接口开发0PC客户应用程序,下面是程序实现的关键 步骤。4. 1包含
7、OPC头文件开发OPC客户应用程序,除了需要OPC接口外,还需要在程序中包含OPC标准库 文件,可以从OPC基金会网站( opcfoundation. org)下载这些文件:include “opcda_i. c OPC 数据存取接口ttinclude “opcda.h OPC 数据存取 2. 0 头文件#行。111心 uopccomn_i. c OPC 公共接口定 义均11(21116 opccomn. h OPC 公共头文件 4. 2初始化COM支持库由于OPC是基于COM技术制定,所以在使用接口类之前必需首先使用 CoInitialize(NULL)函数初始化COM库,假设成功,函数返回
8、值等于S_ OK。 4. 3连接opc效劳器OPC客户能够连接到OPC效劳器上,并建立OPC组和OPC数据项,这是OPC数据 访问的根底,假设没有这个机制,数据访问的其它机能不行能实现4。连接OPC 效劳器,OPC客户需要事先指定计算机名(假设OPC效劳器和OPC客户不在同一 台计算机上)和OPC数据访问效劳器名(RSLRSView320PCTagServer)。实现代码 如下:ConnectToServer(/*in */LPOLESTR ProgID,/*in*/ BOOL IsRemote, /*out */ IUnknown *ppUnknown) (CLSID OPCCLSID;HR
9、ESULT hRet=CLSIDFromProglD(ProgID, &OPCCLSID);将字符串ProglD转换为唯一 OPCCLSID if(IsRemote)/opc效劳器和opc客户不在同一台计算机上 COSERVERINFO Serverinfo;memset(&ServerInfo, 0, sizeof(Serverinfo);Serverinfo. pwszName=T20LE( ServerComouter“);MULTLQI qil;memset (qi, 0, sizeof (qi);qi0. plID=&IID_IUnknown;HRESULT hRet=CoCreat
10、elnstanceEx(OPCCLSID, NULL, CLSCTX_REMOTE_SERVER, &ServerInfo, 1, qi);*ppUnknown二qi0. pltf;)else/opc效劳器和opc客户在同一台计算机上 (hRet=CoCreateInstance (OPCCLSID, NULL, CLSCTX_LOCAL_SERVER, IID JUnknown, (void *)ppUnknown);)4. 4创立OPC组lOPCServer接口的AddGroup方法可以创立一个有指定名称和属性的OPC组。在 调用该方法之前, 可以使用上一步得到的lunknown接口指针,
11、通过 Queryinterface方法恳求lOPCServer接口指针。代码如下:ppUnknown- Queryinterface(IID lOPCServer, (void *)&pServer);得到lOPCServer接口指针pServer-AddGroup (L“ TRUE, 500, 1235, HTimeBias, &fTemp, 0, &hOPCServerGroup, fedwActualRate, IIDIOPCItemMgt, & pOPCItemMgt);4. 5添加数据项lOPCItemMgt接口的Addltem方法可以添加具有特别属性的指定数量的数据项。pOPCIt
12、emMgt- Additems(ItemNumber, ItemArray,(OPCITEMRESULT*)&p11emResu11, (HRESULT *)&pErrors);ItemArray为OPCTTEMDEF类型构造数组,它包含数据项的具体信息,客户需要 知道要进展交换的数据在RSView32标签数据库中的名称、数据类型及作为OPC 效劳器的RSView32工程名称。添加数据项之前,要用这些数据项信息对 ItemArray构造数组进展初始化。4. 6数据交换成功地增加完所需要的数据项后,OPC客户(VC应用程序)和OPC效劳器(RSView32) 就可以进展数据交换了。在数据量不大的
13、状况下,可以使用lOPCSyncIO同步接口 的Write和Read两个方法进展数据的读写操作,从而实现OPC客户(VC应用程序) 和OPC效劳器(RSView32)之间的数据交换。代码如下:ppUnknown- Queryinterface(IID_IOPCSyncIO, (void *)&pOPCSync);得到lOPCSyncIO接口指针pOPCSync-Read(OPC_DS_CACHE, ReadNumber, hServerRead, &pItemValue, &pErrors);读ReadNumber个数据pOPCSync- Write(WriteNumber, hServerW
14、rite, WriteValue, &pErrors);写WriteNumber个数据4.7释放接口指针在VC应用程序停顿运行之前必需使用Release方法删除已创立的OPC对象并释 放内存。5完毕语OPC技术标准把硬件供给商和应用软件开发者分别开来,使得双方的工作效率都有 了很大提高。软件开发商无需了解硬件的实质和操作过程,就能访问OPC数据效 劳器中的数据,尤其是开发商在已使用了组态软件进展实时监控的过程把握系统 根底上,用C+等高级语言开发系统时,大大简化了过去从设备传输数据的简洁 过程。在某铝厂的自动配料系统开发中,应用OPC技术便利地实现了 VC应用程 序和RSView32的数据交换
15、,间接地实现了 VC应用程序与PLC的通信,获得了很 好的结果。厂家或第三方厂家,以OPC效劳器的形式供给应用户,解决了软、硬件厂商的冲 突,完成了系统的集成,提高了系统的开放性和可互操作性。OPC效劳器通常支持两种类型的访问接口,它们分别为不同的编程语言环 境供给访问机制。这两种接口是:自动化接口 Automation interface);自定 义接口(Custom interface)。自动化接口通常是为基于脚本编程语言而定义的 标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC 效劳器的客户应用。而自定义接口是特地为C+等高级编程语言而
16、制定的标准接口。 OPC现已成为工业界系统互联的缺省方案,为工业监控编程带来了便利,用户不用 为通讯协议的难题而苦恼。任何一家自动化软件解决方案的供给者,假设它不能 全方位地支持OPC,那么必将被历史所淘汰。1、在把握领域中,系统往往由分散的各子系统构成;并且各子系统往 往承受不同厂家的设备和方案。用户需要,将这些子系统集成,并架构统一的实 时监控系统。2、这样的实时监控系统需要解决分散子系统间的数据共享,各子系统 需要统一协调相应把握指令。3、再考虑到实时监控系统往往需要升级和调整。4、就需要各子系统具备统一的开放接口。5、OPC(OLE for Process Control)标准正是这一
17、思维的产物。6、OPC 基于 Microsoft 公司的 Distributed interNet Application (DNA)构架和Component Object Model (COM)技术的,依据易于扩展性而设计 的。OPC标准定义了 一个工业标准接口。7、OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客 户/效劳器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC标准 了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而 保证软件对客户的透亮性,使得用户完全从低层的开发中脱离出来。8、OPC定义了一个开放的接口,在这个接口上,基
18、于PC的软件组件能 交换数据。它是基于Windows的OLE对象链接和嵌入、COM部件对象模 型(Component Object Model)和 DCOM 分布式 COM (Distributed COM)技术。因而,OPC为自动化层的典型现场设备连接工业应用程序和办公室程序供给了一 个抱负的方法。OPC应用领域1、工控解决方案用户2、楼控解决方案用户3、工控解决方案厂商4、楼控解决方案厂商5、工控解决方案集成商6、楼控解决方案集成商7、 All Automation FieldsOPC是为了连接数据源(OPC效劳器)和数据的使用者(OPC应用程序)之 间的软件接口标准。数据源可以是PLC,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OPC 通讯 协议 介绍
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内