📄 d168.bmp.txt
字号:
序,终端用户能够定义数据项目,其他客户应用程序通过连接此公共组访问其中的信
息。由于只有一个客户能够创建并配置数据项目的属性,因而保持了同一数据定义
的同步。
(3) OPC项对象接口
IOPCItemDisp接口是项对象的惟一接口,此接口提供了项目对象的属性和方法。接口
中的读方法从数据源读取项目的有关属性和数值;接口中的写方法将数值写到设备中。
除了以上COM扩展接口外,OPC规范还提供了许多对程序员很有帮助的内容。比如软
件安装事宜、数据类型、参数和结构、出错代码等。所有这些与OPC对象接口一起形成了
完整的OPC数据访问标准。
5.1.3 0PC数据访问机制
首先,OPC客户连接到OPC服务器上,并建立OPC Group和OPC Item,这是OPC数据
访问的基础,如果没有这个机制,数据访问的其他机能不可能实现;其次,客户通过对其建立
的Group和Item进行访问实现对过程数据的访问;然后,当服务器响应客户的过程数据访问
请求并处理完毕时通知客户。以上三方面的机制是OPC数据访问服务器必须要实现的。
客户的过程数据访问包括过程数据的读取、更新、订阅、写入等,过程数据的读/写还
分同步读/写和异步读/写。建立OPC迮接后,客户应用程序一般可以通过三种方式从OPC
服务器读取数据。
(1)使用IOPCSyncl0接口同步读写
该方式简单有效,当客户数目较少而且同服务器交互的数据量也比较少时,可以采用这
种方式。这种方式下,当执行读写命令时,程序不能继续执行下面的操作,直到读写操作结
束后,程序才能继续往下执行,过程如图5-7所示。
(2)使用IOPCASyncl02接口异步读写
该方式实现较为复杂,需要在客户程序中实现服务器回调函数,然而当有大量客户和大
量数据交互时,异步方式效率更高,能够避免客户数据请求的阻塞,并可以最大限度地节省
CPU和网络资源。这种方式下,只要读或写的任务送达就马上申请读写,同时程序继续执行
后面的操作,并由OPC服务器返回回调函数的执行结果,过程如图5-8所示。
Clien
┏━━━━━━┓
┃ Se1 ┃
┃图 ㈨ 一 ┃
┣━━━━━━┫
┃ ┃
┣━━━━━━┫
┃萝 脚时 ┃
┗━━━━━━┛
图5-7 同步方式通信模式
Clien
┏━━┳━━━━━━━━┓
┃ ┃ ser ┃
┃蓬 ┃ Call 一 ┃
┣━━╋━━━━━━━━┫
┃鋈 ┃ 一I —Reply ┃
┣━━┻━━━━━━━━┫
┃ 一斟一 ┃
┗━━━━━━━━━━━┛
图5-8异步方式通信模式
(3)使用IOPCCallback接口订阅
使用该接口的“订阅”功能OnChange,每当数据有变化时,服务器自动通知客户。这
168
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -