750-P5-G5-HI-A1-R-E
750-P5-G5-HI-A1-R-E
750-P5-G5-HI-A1-R-E
规范中提供了两套接口方案,即定制接口和自动化接口。定制接口效率高,通过该接口能够发挥OPC服务器的**性能,采用C++语言的客户一般采用定制接口方案;自动化接口使解释性语言和宏语言访问OPC服务器成为可能,采用VB等语言的客户一般采用自动化接口。
OPC数据存取服务器由三类对象组成:服务器(Server)、组(Group)、数据项(Item)。服务器对象用于指出特定的OPC服务器应用程序名,并作为组对象的容器;组对象存储由若干Item组成的Group信息并逻辑组织数据项;数据项对象()存储具体的Item的定义、数据值、状态值等信息,一个Item就代表一个具体的过程变量。OPC客户应用程序要获取OPC服务器的数据,必须事先指定服务器应用程序所在的计算机名(服务器应用程序和客户应用程序不在同一台PC上)、OPC数据访问服务器名和该服务器提供的OPC项的定义。
建立OPC连接后,客户应用程序一般可以通过三种方式从OPC服务器读取数据:使用同步接口IOPC-SyncIO,简单有效,适合于只读取少量数据的客户程序;使用接口IOPCCallback的“订阅”的功能OnChange,每当数据有变化时,服务器自动通知客户;使用异步接口IOPCASyncIO2,可以直接与物理设备通讯,速度慢但数据精确度高。
3RSView32作为OPC服务器
西门子专门用于工业控制的通用组态软件之一RSView32支持OPC技术,它可以用作一个OPC客户和外部OPC服务器软件通信,也可以作为一个OPC服务器和其它第三方支持OPC技术的软件进行连接。本文中RSView32作为服务器,VC应用程序作为客户端,采用C/S模式实现两者之间的数据交换。
3.1使RSView32作为OPC服务器
用下列方法之一使RSView32作为OPC服务器:
(1)选择“启动”编辑器里“启动”页上的“OPC/DDE服务器”复选框;
(2)发出RTDataServerOn命令(从命令行或另一个RSView32组件里,使用RTDataServerOff命令可以取消此功能),这将允许其它应用程序读取数值但不能改变它;
(3)发出RTDataWriteEnable命令(从命令行或另一个RSView32组件里,使用RTDataWriteDisable命令可以取消此功能),这允许从外部OPC应用程序写入,以改变RSView32的标记值。
3.2建立OPC客户项目
VC应用程序要从RSView32取得数据,必须使用下列信息:
服务器:RSI.RSView32OPCTagServer;
类型:本机/远程;
服务器计算机名或地址:如果客户和服务器在同一计算机上,这项可以是空白。
访问路径:项目名;
更新速率:一个以秒为单位的速率;
条目:标记名。可以通过查看RSView32的标签数据库获得。
4VC应用程序作为OPC客户端的程序实现
在VC环境中使用定制接口开发OPC客户应用程序,下面是程序实现的关键步骤。