杜小客魏云君
摘要:针对目前楼宇自控系统集成的发展情况,介绍了OPC的相关概念、原理和运行机制,重点介绍了VC++在楼宇自控系统集成中的应用编写OPC客户端应用软件,以实现楼宇自动化的开放与运行。一体化和信息化。
关键词:OPC,楼宇自动化,系统集成,C++
CLC 编号:TU855 文件识别码:A 货号:1009-6825 (201 1)36—0255—02
0 前言
楼宇自动化系统(BAS)是智能楼宇的主要组成部分之一。智能楼宇通过楼宇自动化系统实现对楼宇内设备和楼宇环境的综合监控和管理。
楼宇自动化系统应属于过程控制的范畴。在楼宇自动化技术发展过程中,由于历史原因楼宇自控系统集成,各个设备制造商都以封闭的方式开发了自己的系统。长期以来,没有建立国际标准的通信协议,使得各个设备或子系统无法无缝集成到一个操作平台中。这种情况严重阻碍了智能建筑技术的发展。在这种情况下,很难连接来自不同制造商的设备和控制系统。OPC就是在这种情况下产生的,它提供了一个标准的接口,使楼宇自动化的各个子系统能够通过OPC客户端接口与具有标准OPC服务器接口的现场设备进行数据交换。这种软件数据集成使现实世界中的楼宇自动化。从某种意义上说,它实现了开放、融合和信息化。
1 OPC系统组成
OPC以OLE/COM机制作为应用层的通信标准,采用客户端/服务器模式,将开发访问接口的任务交给硬件厂商或第三方厂商,以形式提供给用户OPC服务器,解决了软件和硬件的问题。厂商之间的矛盾,完成了系统的集成,提高了系统的开放性和互操作性。
OPC技术是建立在OLE/COM技术基础上的技术规范和标准。它基于组件对象模型和分布式组件对象模型COM/DCOM技术,采用客户端/服务器模型,定义了一组COM对象。及其双接口。
OPC对象主要包括服务器()、组(Group)和项目(Item)。OPC服务器对象除了维护自己的信息外,还充当组对象的容器,可以动态创建或释放组对象;而group对象也是一个相对于item的容器,它提供了一套管理item的机制;OPC项是表示与OPC服务器中数据的连接,包括三个基本属性:值(Value)、质量()和时间戳(Timer Stamp)。图 1 显示了 OPC 服务器的结构。
OPC 标准中有两种主要的接口类型:客户端和服务器程序员使用的 OPC 自定义接口(OPC COM)和支持使用高端商业应用程序(如 Basic、Excel 等)开发的客户端程序的 OPC 自动化接口.)。(OPC OLE)。OPC 自定义接口必须由 OPC 服务器提供,而 OPC 自动化接口可能不提供。图 2 显示了使用这两个接口与 OPC 服务器进行通信的方式。
两种接口的OPC服务器通信方式对于客户端应用程序的开发,自定义接口效率高,但开发难度大;自动化界面效率低,但易于开发。本文采用C++高级编程语言,以自定义接口的形式编写OPC客户端软件。
2 OPC客户端的编程实现
OPC客户端程序访问OPC服务器实际上是一个典型的客户端访问进程外组件的过程。编写一个OPC客户端程序的步骤可以概括为:指定服务器、建立OPC组、添加OPC项、接收数据、断开连接。
//创建一个OPC服务器对象并查询该对象的接口
rl=(clsid,NULL,,,(viod**)
&);
//添加组对象并查询接口
rl=->(L"grpl",//[in] 组名
TRUE,//[in] 为活动状态
500,//[in] 刷新率(毫秒)
1,//[输入] 客户端句柄
&,//[在]
&,//[in] 死区参数
,//[in] 语言
&,//[out] 服务器句柄
&,//[out] 服务器返回的刷新率
,//[in] 必需的接口指针
(*)&);//[out] 返回的所需接口指针
//定义item表的参数
[0].=L"";//不需要
[0].=;//
[0].=TURE;
[0].=1;
[0].=0;
[0]。pBlob = NULL;
[0]。=0; // 数据类型
rl = ->(1, //[in]添加1项,//[in]定义&前面,//[out]结果信息指针
&); //[输出]错误代码
//接收数据
*;
TE*;
*;
rl;
UINT qnr;
if(m-[0]!=S_OK)//物品不可用
{('OPC Item不可用,不能使用同步读取功能!');
;}
//内存分配
=新[1];
//通过服务器句柄选择项目(获得者)
[0]=[0].;
rl=->读取(,1,,&,&);
//释放内存
[];
//释放服务器
->();
=空;
3 OPC客户端软件实现
用 C++ 编写的 OPC 客户端程序。该子程序可与楼宇自动化各子系统的OPC服务器对接,实现现场设备数据交换和数据信息化集成。
4。结论
OPC技术的出现,使得楼宇自动化的各个子系统之间实现了开放、无缝的连接楼宇自控系统集成,在简化系统集成环境的同时提高了系统的互操作性,从软件层面解决了不同厂家的各种子系统和设备的问题。因为没有标准接口,所以存在可集成性问题。随着OPC规范的不断引入和完善,其在智能楼宇系统集成中的应用将越来越广泛。
参考
[1] 周明,曲波,基于OPC技术的楼宇自动化系统集成[J]现代电子技术2006(9):99-101
[2] 蔡向云,郑晓虎,蒋琳 OPC规范与开发与应用[J]昆明理工大学学报,2002(6):73-74
[3]陈丹,徐丽梅,OPC技术在楼宇自动化系统集成中的应用[J]楼宇自动化,2007(2):62-63