📄 d169.bmp.txt
字号:
种方法稍复杂但效率高,而且可以被IOPCASyncI02::Refresh2触发。具体实现时,使用连接
点技术,在服务器方声明一个接口,由客户端实现这个接口,服务器方内部调用这个接口的
方法,从而可以向客户发送事件消息,客户接受事件并进行处理,过程如图5-9所示。
Clien
┏━━┳━━━━━━━━━━━┓
┃ ┃ ser' ┃
┃蕙 ┃ Subscribe _ ┃
┣━━╋━━┳━━━━━━━━┫
┃萋 ┃ ┃一Notify ┃
┣━━┻━━╋━━━━━━━━┫
┃ 一一蕊 ┃ ┃
┣━━━━━┫ ┃
┃闲一一 ┃一Notify ┃
┣━━━━━╋━━━━━━━━┫
┃ 一一蕊 ┃ ┃
┣━━━━━┫ ┃
┃图一 ┃ ┃
┗━━━━━┻━━━━━━━━┛
图5-9订阅方式通信模式
5.2 实例8:以RSView32为服务器的OPC客户端编程
RSMew32是美国罗克韦尔自动化公司推出的一种专门用于工业控制的组态软件,它支
持OPC技术,所以可以用作OPC服务器给客户机提供数据。在某氧化铝厂,配料过程中已
采用RSView32实现对原料流量的实时监控,在此基础上采用Visual C++开发客户应用程序
时,可利用OPC技术直接从RSView32组态软件读写流量的实时数据,而不必了解任何硬
件信息,大大简化了Visual C++应用程序的开发。本节将以此开发过程为例,详细介绍在Visual
C++环境中实现OPC客户应用程序对服务器中数据项的读写。
5.2.1主要函数
在Visual C++中采用定制接口对服务器中的数捃项进行读写操作,主要实现函数如下。
●Colnitialize():初始化COM库。
●CLSIDFromProgIDO:将ProgID变换成CLSID。
●CoCreatelnstance():建立与OPC服务器的连接。该函数可以创建一个OPC Server实
例。
●Querlnterface0:得到其他OPC接口指针。
●AddGroup():创建OPC组。
●Addltem():添加数据项。
●Write():进行写操作。
●Read():进行读操作。
●Removeltems():移除OPC Group内的Items。
●RemoveGroup0:移除OPC Group。
169
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -