
OPC找术在极宁自控系统中的应用 (深川达实智能股份有成公可。深圳5807) 摘要:代是应用程序与现场过程交的桥梁。文巾对℃技术星理作了简单的介绍,把 ℃技术应用于某校宁自控系统中,完成了系饶的集成下作,其有效的解决了系统的接口与通 的月遵。 关键词:QFC棱宁自控接口 The Application of OP Technology in Milding Autantion Syst.an CAI Wei-shou Su Jun-feng (Sherzhen DAS Intelligent Inc.Shemzhen 518057,China) Abstract:OPC is a bridge betveen application program and the field course.This puper introduces the simple principle of OPC technology,and applies OPC technolocy in certain building autoration,comletes the integrated work of systen it effectively splves commmication problen and the interface of system. Keywords:OPC Building Autonatian Interface 0引 楼宇白控系统是整个智能大厦的基础。广义的楼半白动化系统包活:棱字机电设备监控弱 绕、渭防视警系弱统、保安系统、广扬音响系统以及停车场管理系统等。楼字白动化系统是建立 在计算机技术基础之上,并采用先进通信技术的分布式集收控制系统,它允许实时地对各子系 统的运行选行白动监控。目前,很多商家对棱宇自控系统中的一些子系统开发了各具特色的功 能,并使其自成系统,如智能黑明、变配电自动化、冷冻机鲜控等,但是带来了各子系统与授 宇自拉系统相互适信,信息义换的月题,即接口实现的问思.基于这种现伏,0C《0 LE for Process Control)技术在楼学白控系锐中开始应用。 代是自动控制行业中的新兴标准,它的出现为基于ino5的应用程序和现将过程控制 应用建立了桥架。GPC以0E/0O/C作为应用程序级的通信标准,采用客户/服务器模式, 把开发访付接口的任务放在便件生产厂家或第三方厂家,以℃服务器的形式提供给用户,解 决了款、便件厂商的子盾,完成了系统的集成,提高了系统的开放性和可互操作性。 10℃技术原理 化标准以微款公司的团.E技术为基础,它的制定是通过提供一套标淮的E/四W接口完 成的。℃重点解决应用续件与过程控制设备之间的数岩的读取和写入的标准化及数据柠输等 功能。它沿袭Client/Server模式,将数据采集端视为0 PC Server,其他的访问端视为0PC
OPC 技术在楼宇自控系统中的应用 (深圳达实智能股份有限公司,深圳 518057) 摘要:OPC 是应用程序与现场过程交互的桥梁。文中对 OPC 技术原理作了简单的介绍,把 OPC 技术应用于某楼宇自控系统中,完成了系统的集成工作,其有效的解决了系统的接口与通 信问题。 关键词:OPC 楼宇自控 接口 The Application of OPC Technology in Building Automation System CAI Wei-zhou Su Jun-feng (Shenzhen DAS Intelligent Inc., Shenzhen 518057,China) Abstract: OPC is a bridge between application program and the field course. This paper introduces the simple principle of OPC technology, and applies OPC technology in certain building automation, completes the integrated work of system, it effectively solves communication problem and the interface of system. Keywords: OPC Building Automation Interface 0 引言 楼宇自控系统是整个智能大厦的基础。广义的楼宇自动化系统包括:楼宇机电设备监控系 统、消防报警系统、保安系统、广播音响系统以及停车场管理系统等。楼宇自动化系统是建立 在计算机技术基础之上,并采用先进通信技术的分布式集散控制系统,它允许实时地对各子系 统的运行进行自动监控。目前,很多商家对楼宇自控系统中的一些子系统开发了各具特色的功 能,并使其自成系统,如智能照明、变配电自动化、冷冻机群控等,但是带来了各子系统与楼 宇自控系统相互通信、信息交换的问题,即接口实现的问题。基于这种现状,OPC(OLE for Process Control)技术在楼宇自控系统中开始应用。 OPC 是自动控制行业中的新兴标准,它的出现为基于 Windows 的应用程序和现场过程控制 应用建立了桥梁。OPC 以 OLE/COM/DCOM 作为应用程序级的通信标准,采用客户/服务器模式, 把开发访问接口的任务放在硬件生产厂家或第三方厂家,以 OPC 服务器的形式提供给用户,解 决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。 1 OPC 技术原理 OPC 标准以微软公司的 OLE 技术为基础,它的制定是通过提供一套标准的 OLE/COM 接口完 成的。OPC 重点解决应用软件与过程控制设备之间的数据的读取和写入的标准化及数据传输等 功能。它沿袭 Client/Server 模式,将数据采集端视为 OPC Server,其他的访问端视为 OPC

C11ent[1)。访问方式如图1所示。 CCk务落由3类对象粗成。相当于3种层次上的梭口,服务器(Server),组(GTon》 和数据项(Itm),服务器对象包含服务器的所有偏息,同时也是组对像的溶器.在一个Ser 中,可以有若干个Group。问时,0 PC Group对象推护自己的信息并提洪容纳0 PC Itens和以有 效的烫辑组织Ite匹的机制.代℃Gaup为客户浴组织数据提俱方法.在服务器内0℃Ites 代表到数莱遵的连接。,个℃It0n,单从用户定义接口方面米着,并不能成为敲OPCC110nt 存取的对象。份有对0 C Itens的访司都是通过包含0 C Itens的0CGr阳D对象,以及在0PC Itcm被定义的地力访月[3]。 C℃k务卷通席支钓两种类型的访问接口[2],分划是:自动化接口(Autonation int0Tfac0》 和CW按口(Custon interface)。它打分别为不可的编程F言环境提俱访机制.白动化接 口酒符是为是于州本编程语言而定义的标准按口,可以使用Visual Basi北、Delphi,ewe ui1r等编程肝言开发O吧服务器的洛户应用.而OW接口是专为心+等级编程话言而制 定的标淮楼口。图2为典型的代体系结构图。 20PC技术应川 笔名卷与的某生产基地的楼宁自控系统是·大型楼宁自动化系统,该系统共有监控点350 多个,采用的是nc和11公可的Gcl00系统,上位机用的是BT软件,整套系统实现对 生产中心内的新风机组,风机盈管、空谦机划、达排风机、给排水、公共燃明、配电设备及冷 许站开控参亚进行称控. 生产止地包括厂房、办公授、食绿、三个出入口。留电室有因个,其中厂册有2个,办公 楼,食登各I个,高正配生系统数据采集用AB公可的ATI4C型智能仪表,共17台,SPAJ14C 仪表通讯协议为丰标的S1山码。观拟将高乐面电系统的致紧深集到上位B1故件巾,先配置 BT续件的0 Clicnt接口,再将现场智能仪表的数据采集到上位机并打成OPC Server包, 酒过出1哉件的0代C1it读取,从而将现场智能登记表的最系集成进出I较件. 2.10 Server包开发 木安例现局仪表采用四485总线,经45转换器山中口进入计算机。中口设置为:900、7、 E、1。更场的每个参数都额过对仪表发送一特定指令来读取。例如读B >1R1I15:1R (发送的指令) (63ns) 1F(1D:10531.25:0阻.F〔读回的数据) 如上倒,“D:”与“:”之河的数据为的现场域,了解了通讯协议,就可以者手0C Server包的开发了,选择合质的0 PC Server开发包至关重要。 本0C野动程序是在VC+语言环境下,使用Li山t0C酒用OC斯动程序工具包进行开发
Client[1]。访问方式如图 1 所示。 OPC 服务器由 3 类对象组成,相当于 3 种层次上的接口:服务器(Server)、组(Group) 和数据项(Item)。服务器对象包含服务器的所有信息,同时也是组对象的容器。在一个 Server 中,可以有若干个 Group。同时,OPC Group 对象维护自己的信息并提供容纳 OPC Items 和以有 效的逻辑组织 OPC Items 的机制。OPC Group 为客户端组织数据提供方法。在服务器内 OPC Items 代表到数据源的连接。一个 OPC Item,单从用户定义接口方面来看,并不能成为被 OPC Client 存取的对象。所有对 OPC Items 的访问都是通过包含 OPC Items 的 OPC Group 对象,以及在 OPC Item 被定义的地方访问[3]。 OPC 服务器通常支持两种类型的访问接口[2],分别是:自动化接口(Automation interface) 和 COM 接口(Custom interface)。它们分别为不同的编程语言环境提供访问机制。自动化接 口通常是为基于脚本编程语言而定义的标准接口,可以使用 Visual Basic、Delphi、Power Builder 等编程语言开发 OPC 服务器的客户应用。而 COM 接口是专门为 C++等高级编程语言而制 定的标准接口。图 2 为典型的 OPC 体系结构图。 2 OPC 技术应用 笔者参与的某生产基地的楼宇自控系统是一大型楼宇自动化系统,该系统共有监控点 3500 多个。采用的是 Honeywell 公司的 Excel 5000 系统,上位机用的是 EBI 软件,整套系统实现对 生产中心内的新风机组、风机盘管、空调机组、送排风机、给排水、公共照明、配电设备及冷 冻站群控参数进行监控。 生产基地包括厂房、办公楼、食堂、三个出入口。配电室有四个,其中厂房有 2 个,办公 楼、食堂各 1 个。高压配电系统数据采集用 ABB 公司的 SPAJ140C 型智能仪表,共 17 台。SPAJ140C 仪表通讯协议为非标的 ASII 码。现拟将高压配电系统的数据采集到上位 EBI 软件中,先配置 EBI 软件的 OPC Client 接口,再将现场智能仪表的数据采集到上位机并打成 OPC Server 包, 通过 EBI 软件的 OPC Client 读取,从而将现场智能登记表的数据集成进 EBI 软件。 2.1 OPC Server 包开发 本实例现场仪表采用 RS485 总线,经 485 转换器由串口进入计算机。串口设置为:9600、7、 E、1。现场的每个参数都通过对仪表发送一特定指令来读取。例如读 UAB >1R1I15:1BCR (发送的指令) (63 ms) LF<1D:10531.625:60CRLF (读回的数据) 如上例,“D:”与“:”之间的数据为 UAB 的现场值。了解了通讯协议,就可以着手 OPC Server 包的开发了。选择合适的 OPC Server 开发包至关重要。 本 OPC 驱动程序是在 VC++语言环境下,使用 Light OPC 通用 OPC 驱动程序工具包进行开发

的。驱动程序结构如图3所示,它由多个工程组成,其核心是0驱动服务器。此组件内部实现 与硬件通信的所有对象,如对最抵的存取和共产是通过内仔组件进行的,与便件钙信则通过0 组件实现。酸务器对外提供·个E接口,可洪其他程序调用,C标准接口模块减是进过此 接口对式服务进行调用,同倒实现℃标准的U刚接口和自动化接口。℃廉务器本身就是一 个可执行生序,酸程序以设定的速宰物理设各进行数岩交抗。动性序的数世交换除了可以 西过函数点接读取外,还可以通过致据缓冲区进行,最据从授备读取以后,直接存做于缓冲 区,用户需妥时丙从级神区读出,而不是直接交给用户程序。这件一方而最职交换可以异步 染作,程序问并行运作,提而了效率:另一方而,蹈过对级冲区的不河处用方式,可以对最好 处坪提供更为广泛的兼容性。在动视序提供的爱册中,除了最新的数据外还包括从协议中分 析出的数英状金和时问值,为用数英安全,高效传输类供了多排的信息。对客户挡而言影可 从服务整拨冲区读议数妆,也可直接从设备读拟数拱,从设备直按读收数岩道度会慢些,· 假只有在像故障诊斯这样的特殊情况下才可能采用, T0驱动k务器为适应现场设各的特点,建立了四个对象Oriver,Channel,Dcim和 l1k,分别对应展务器、函信函道、设备号和数据区,用于慎拟更件服务器的工作,服务 路对象用有服务器的所有信恩,可时池是酒道对象的溶器:函道对象对成露动程序的西信方式, 包括通他态要等属性和管理西道的相关方法,同倒也是设备对象的容器:设备对象是指硬件设 备或相函道上的工作站,包括设备属性,操作方法和缀据区对象。设备的敌挥项是通过数据 区米信型数据区与享内存相联系,数据区负责共享内存的数据与硬件内部数坞进行交执,以 实现通信功能。(数担项是服务器物定义的象,通常指向设备的一个寄打器单元、:客户 对设条寄存器的慢作捏是通过其数据项来完成的。面过定义数据项,℃规蕴尽可能继藏了 设备的特殊信息,也使C果务垫的通用性增强,(数据项并不提供对外接口,客户不能直 接对其进行操作,所有梗作挥是通过吸务器对象进行的。 2.20 Server的安装与配置 PC Server包开发完成,编译后生成PA加p.E执行文件、SPH.NT配置文件及相关的 L车。配置步限如下: (1)配置文件PA.INI 这个配置文件分为三部分:第一部分是(Seria】Config】,主要是出口配置:第二部分是 【DataBlock】.,是对要采集数据的点位的定义,x是B1ock数量:第三部分是[Cc山ad,是 Block对应的采集金令,根据DataBl0ck]里点位的厦序列出采集这些数据的命令,同样有■ax 慎活要修改。 (2)注册OPC Server 运行CD,进入一个DS的传真窗口,到文件SPAope.EXE所在目录下运行SPAope /r,能
的。驱动程序结构如图 3 所示,它由多个工程组成,其核心是 IO 驱动服务器。此组件内部实现 与硬件通信的所有对象,如对数据的存取和共享是通过内存组件进行的,与硬件通信则通过 IO 组件实现。服务器对外提供一个 OLE 接口,可供其他程序调用。OPC 标准接口模块就是通过此 接口对其服务进行调用,同时实现 OPC 标准的 COM 接口和自动化接口。OPC 服务器本身就是一 个可执行程序,该程序以设定的速率和物理设备进行数据交换。驱动程序的数据交换除了可以 通过函数直接读取外,还可以通过数据缓冲区进行,当数据从设备读取以后,直接存放于缓冲 区,当用户需要时再从缓冲区读出,而不是直接交给用户程序。这样一方面数据交换可以异步 操作,程序间并行运作,提高了效率;另一方面,通过对缓冲区的不同处理方式,可以对数据 处理提供更为广泛的兼容性。在驱动程序提供的数据中,除了最新的数据外还包括从协议中分 析出的数据状态和时间值,为用户数据安全、高效传输提供了多维的信息。对客户端而言既可 从服务器缓冲区读取数据,也可直接从设备读取数据, 从设备直接读取数据速度会慢一些,一 般只有在像故障诊断这样的特殊情况下才可能采用。 IO 驱动服务器为适应现场设备的特点,建立了四个对象 Driver,Channel,Device 和 DataBlock,分别对应服务器、通信通道、设备号和数据区,用于模拟硬件服务器的工作、服务 器对象拥有服务器的所有信息,同时也是通道对象的容器;通道对象对应驱动程序的通信方式, 包括通信参数等属性和管理通道的相关方法,同时也是设备对象的容器;设备对象是指硬件设 备或相应通道上的工作站,包括设备属性、操作方法和数据区对象。设备的数据项是通过数据 区来管理数据区与共享内存相联系,数据区负责共享内存的数据与硬件内部数据进行交换,以 实现通信功能。OPC 数据项是服务器端定义的对象,通常指向设备的一个寄存器单元。OPC 客户 对设备寄存器的操作都是通过其数据项来完成的。通过定义数据项, OPC 规范尽可能地隐藏了 设备的特殊信息,也使 OPC 服务器的通用性增强。OPC 数据项并不提供对外接口,客户不能直 接对其进行操作,所有操作都是通过服务器对象进行的。 2.2 OPC Server 的安装与配置 OPC Server 包开发完成,编译后生成 SPAopc.EXE 执行文件、SPA.INI 配置文件及相关的 DLL 库。配置步骤如下: (1)配置文件 SPA.INI 这个配置文件分为三部分:第一部分是[Serial_Config],主要是串口配置;第二部分是 [DataBlock],是对要采集数据的点位的定义,max 是 Block 数量;第三部分是[Command], 是 Block 对应的采集命令,根据[DataBlock]里点位的顺序列出采集这些数据的命令,同样有 max 值需要修改。 (2)注册 OPC Server 运行 CMD,进入一个 DOS 的仿真窗口,到文件 SPAopc.EXE 所在目录下运行 SPAopc /r,能

看到注册成功的字样,表明这个程序已正常运行起来,当任年一个G℉C客户W去连这个四 Srer时,这个进程就会自动运行起来. (3)0PCCl1ent连接试 完成上述步骤,就可用C1it款件进行连接测试,最好用BI自带的IST测试款 件,POgd在开发包里己定义。这里金名为SPA,OC。知果连接成功,就可对EBI软件进行组 态了. 以上步露是De代Server与OC Client在同一台电附的配置,如果OPC Server与OPCClient 不在可一台电脑,还需在O吧Client嘴注册0℃Server,在两隋进行分布式设置. 2.331的配配 EBI软件主要由Station,Q1ckBu1lder.Display B1lder三个组件组成e Station是利克器:Q1 ck Builder是在服务器数据库中配置或修改系统信息的工具: 1s知lay Bu1lder是一个能够为工作站创建定制显示的特森国图位用。这里主要介绍一下1c Builder的配置. (1)打开QuickBuilder,逐知一个OPC channe l,.prog id设置为SPA.O℃.Host Nare设 为1 ocalhost (2)切换到Cantrols页而,那知一个PC Centrol,hannel nare适深步罪1活如的channel 名,Backgroud Scan选择Enable. (3)初换到Points负位,态加定义的点拉,在PV Source Address选择求属的Control 名,在1 ocaticn位置填与位号, 完成以上非骤,下找到致据年。用Display Bui1der画高压系统页而,做好点位连接。用 Station动花即可。 3结欢活 标准的制定力使了控制系统的开发与集成,在工程中将ExG01000系饶与A高压系 统授口成功石。从校宁白控第统上位监控站所监测到高山柜的运行数基与现场控制器面板上的 致据完全一致。这样系统管理人员就可以直接在授字白控系统上位府控站见黎所有伯思,一旦 发现块常情况冉去现场检查处理,省去了许多的人力,更方便、史有效, 参考文献: [1]0℃是金会.℃0 verviev,Version1.0.[ [2☒余英,梁刚.isua1C+实见与提高1W和CM+箱M].北京:中国铁道出版礼,2001. [3)刘伟,程人章向过程控钊的一种新技术一一心盘据访间标准计算机工程.20.10
看到注册成功的字样,表明这个程序已正常运行起来,当任何一个 OPC 客户端去连这个 OPC Server 时,这个进程就会自动运行起来。 (3)OPC Client 连接测试 完成上述步骤,就可用 OPC Client 软件进行连接测试,最好用 EBI 自带的 OPCTST 测试软 件。Progid 在开发包里已定义。这里命名为 SPA.OPC。如果连接成功,就可对 EBI 软件进行组 态了。 以上步骤是 OPC Server 与 OPC Client 在同一台电脑的配置,如果 OPC Server 与 OPC Client 不在同一台电脑,还需在 OPC Client 端注册 OPC Server,在两端进行分布式设置。 2.3 EBI 的配置 EBI 软件主要由 Station、Quick Builder、Display Builder 三个组件组成。 Station 是浏览器;Quick Builder 是在服务器数据库中配置或修改系统信息的工具; Display Builder 是一个能够为工作站创建定制显示的特殊画图应用。这里主要介绍一下 Quick Builder 的配置。 (1)打开 QuickBuilder,添加一个 OPC channel,prog id 设置为 SPA.OPC。Host Name 设 为 localhost。 (2)切换到Controls页面,添加一个OPC Control,Channel name选择步骤1添加的channel 名,Backgroud Scan 选择 Enable。 (3)切换到 Points 页面,添加定义的点位,在 PV Source Address 选择隶属的 Control 名,在 location 位置填写位号。 完成以上步骤,下载到数据库。用 Display Builder 画高压系统页面,做好点位连接。用 Station 浏览即可。 3 结束语 OPC 标准的制定方便了控制系统的开发与集成。在工程中将 Excel 5000 系统与 ABB 高压系 统接口成功后,从楼宇自控系统上位监控站所监测到高压柜的运行数据与现场控制器面板上的 数据完全一致。这样系统管理人员就可以直接在楼宇自控系统上位监控站观察所有信息,一旦 发现异常情况再去现场检查处理,省去了许多的人力,更方便、更有效。 参考文献: [1] OPC 基金会。OPC Overview,Version 1.0。[M] [2] 余英,梁刚.Visual C++实现与提高 COM 和 COM+篇[M].北京:中国铁道出版社,2001. [3] 刘彬,程大章 向过程控制的一种新技术——OPC 数据访问标准 计算机工程,2000.10