用VB编写OPC客户端访问WINCC WWW_PLCJS@_COM%-PLC-技.术_网
OPC是一个工业标准,它是由一些世界上著名的自动化系统和硬件、软件公司和Microsoft(微软)紧密合作而建立的。〔O代表OLE(对象链接和嵌入),P (process过程),C (control控制)。OLE已从面向对象重新定义为基于对象并更名为Active X〕。 W1WW_P4LCJS_COM-PLC-技.术_网
WinCC是西门子公司在自动化领域采用最先进的技术与微软公司在共同开发的居于世界领先地位的工控软件。WinCC即WINDOWS CONTROL CENTER(视窗控制中心)。WinCC是一个功能强大的全面开放的监控系统,既可以用来完成小规模的简单的过程监控应用,也可以用来完成复杂的应用。在任何情况下WinCC都可以生成漂亮而便捷的人机对话接口,使操作员能够清晰地管理和优化生产过程。它集成的OPC(OLE for process control)服务器使得过程数据可由其它应用程序(OPC客户机)访问。 WW.W_PLCJS_COM-PLC-技.术_网
WinCC在安装时提供了OPC的客户端控件: Siemens OPC DAAutomation 2.0( SOPCDAAuto.dll),这个控件就是我们在VB中要用到的控件,我们也可以使用通用的OPC客户端控件: OPC Automation 2.0. WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
在WINCC的帮助中,有Siemens OPC DAAutomation 2.0使用的简略帮助,但说得不很详细,我在使用中碰到不少问题,现一并写出来,与大家共享。 WWcW_PLCJS_COM-PLC-技.术_网
一、OPC的连接 WW.W_PLC※JS_C,OM-PL,C-技.术_网
先在“引用”将近 Siemens OPC DAAutomation 2.0加入,然后开始定义全局变量。在本程序中,我使用了两个OPC组进行OPC访问,所以定义了全局变量。我们要首先定义OPC服务类型与计算机结点名。定义OPC组与OPC标签组。并定义OPC的标签数组与值数,注意,值数组一定要设为Variant。 WWW_PLCJS@_COM%-PLC-技.术_网
OPC处理:只对WINCC WWW_PLCJS_COM-PLC-技.术_网
Const ServerName = 'OPCServer.WinCC' OPC的类型 WWW_PL※CJS_COM-PLC-技.术_网
Const NodeName = 'GUK' 结点名,即计算机名 WWW_PL※CJS_COM-PLC-技.术_网
Dim NodeName As String ——可——编——程——控-制-器-技——术——门——户
Dim WithEvents MyOPCServer As OPCServer OPC服务 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Dim MyOPCGroupColl As OPCGroups WWcW_PLCJS_COM-PLC-技.术_网
Dim WithEvents MyOPCGroupOut As OPCGroup OPC组,本程序用两个组进行OPC连接 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Dim WithEvents MyOPCGroupIn As OPCGroup plcjs.技.术_网
Dim MyOPCItemCollIn As OPCItems OPC标签组 WWW_PL※CJS_COM-PLC-技.术_网
Dim MyOPCItemCollOut As OPCItems P.L.C.技.术.网——可编程控制器技术门户
Dim ServerHandlesIn() As Long 句柄 WWW_PLC※JS_COM-PmLC-技.术_网
Dim ServerHandlesOut() As Long plcjs.技.术_网
Dim ErrorsIn() As Long 错误句柄 ——可——编——程——控-制-器-技——术——门——户
Dim ErrorsOut() As Long WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
Dim WatchDataReadItem(100) As String 记录OPC的标签 WWcW_PLCJS_COM-PLC-技.术_网
Dim WatchDataReadValue(100) As Variant 存放OPC的值 WWW_PL※CJS_COM-PLC-技.术_网