(5)OPC数据的读和写。对OPC服务器中的数据项数读可以通过group组的DataChange事件触发来读取。该事件有多个参数:其中:NumItems是指数据项的个数;ltemValues为数据项的数据;Qualities为数据项的品质;TimeStamps为数据项的更改时间;Cli—entHandles是数据项的标签索引,其所指的OPC标签的值在ItemValues(1)中,只有数据发生变化时才会触发该事件。也只会传输发生了变化的数据,没有变化的数据不会出现在本事件ItemValues中。使用C#事件处理机制,将DataChange注册到事件,一旦服务器端数据有变化,自动触发此过程,触发函数为:
(6)断开OPC服务器。OPC客户端连接后占用服务器的资源,所以长时间不需要使用的OPC读写数据,则应及时断开OPC连接以释放资源。
采用C#开发工具,按照OPC规范来实现OPC客户程序。OPC客户程序实现的功能有:通过OPC标准接口与OPC数据服务器连接,按照OPC服务器提供的Sine,Triangle,R8等波形数据,并取得OPC服务器中相关OPC点的数据,并对这些数据进行综合处理,实现各种波形图案,运行程序结果如图2所示。
3 结 语
OPC规范的应用简化了OPC客户/服务器的开发过程,统一了数据存取的接口标准,将硬件供应商与应用软件开发者分离,使得软件开发者无需了解硬件的实质和操作过程,只要遵循OPC标准进行开发,就能够访问OPC服务器中的数据,大大简化了过去传输数据的复杂过程。在此介绍了在Visual C#环境下,遵循OPC标准提出了基于OPC技术的系统设计方案及数据接口开发关键代码,以快速、高效地进行底层数据采集,安全、灵活的数据处理,便捷的图形界面,为虚拟仪器提供了崭新的解决方案,具有较大的应用价值。