vb安装并添加安装并添加安装并添加安装并添加 OPC ActiveX dll的引用的引用的引用的引用,vb例例例例子子子子
一般情况下,厂商在提供 OPC Server 支持的同时,也提供了 OPC Client 的测试软
件,安装客户端软件后,就会安装好 OPC 客户端运行所需要的文件并注册 OPC 组件,如
果没有客户端软件,可以按照 OPC 规范中方法自己手工安装并注册 OPC 组件。
为了能够在 VB 中使用已经封装好的 ActiveX Dll,首先要在 VB
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
中添加对 Act
iveX Dll 的引用。OPC 组织提供的 ActiveX Dll 的引用名称为“OPC Automation 2.0”,
不同 DCS 厂商提供的 dll,引用名称有所不同,如 Siemens 的 dll 引用名称是“Siemen
s OPC DAAutomation 2.0”。
2.2.2 2.2.2 2.2.2 2.2.2 使用使用使用使用 OPCOPCOPCOPC 对象访问数对象访问数对象访问数对象访问数据据据据
访问 OPC Server 时常用的 OPC 对象是 OPCServer、OPCGroups、OPCGroup、OPCIte
m,利用对象的属性和方法就可以连接到 OPC Server,添加 OPCGroup,在 OPCGroup 中
添加 OPCItem,通过 OPCGroup_DataChange 事件来获取实时数据。VB 编程及说明如下:
Option Base 1
Private WithEvents MyOpcServer As OPCServer
Private WithEvents MyOPCGroup As OPCGroup
Private ClientHandles(2) As Long
Private ServerHandles() As Long
Private Errors() As Long
Private ItemIDs(2) As String '存放变量名
Private Values() As Variant
Private TagValue1 ,TagValue2 ‘我们所需要访问的数据
'连接 OPCServer 的
函数
excel方差函数excelsd函数已知函数 2 f x m x mx m 2 1 4 2拉格朗日函数pdf函数公式下载
Private Function ConnectOPCServer()as booleam
Dim ProgID as string,ServerName as string
ProgID = "OPCServer.WinCC" ‘ProgID 由 OPC Server 所规定
ServerName = "192.168.1.28" ‘OPCServer 的主机名称或者 IP
Set MyOpcServer = New OPCServer ‘创建新的 OPCServer 实体
MyOpcServer.Connect ProgID, ServerName ‘用 Connect 方法连接 OPC
服务器,如果连接不成功将会出错,程序中在这里还应该增加容错处理
Set MyOPCGroup = MyOpcServer.OPCGroups.Add("MyGroup1") ‘创建新
的 OPCGroup 的实体
MyOPCGroup.IsSubscribed = True
ItmeIDs(1)=”TagName1” ‘设定所访问的 OPC 服务器上的变量名称
ClientHandles(1)=1 ‘设定 OPC 客户端的句柄
ItmeIDs(2)=”TagName2”
ClientHandles(2)=2
MyOPCGroup.OPCItems.AddItems 2, ItemIDs, ClientHandles, ServerHa
ndles, Errors ‘用 OPCItems 的 AddItems 方法添加 OPCItem
‘如果 OPCItem 没有添加成功则返回错误
For i=1 to 2
If errors(i)<>0 then
ConnectOPCServer = False
Exit Function
End if
Next
ConnectOPCServer=True
End Function
‘当 OPCGroup 中的 OPCItem 的值发生,将引发 DataChange 事件,返回变化数据
的值等
Private Sub MyOPCGroup_DataChange(ByVal TransactionID As Long, ByV
al NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualit
ies() As Long, TimeStamps() As Date)
Dim i As Integer
For i = 1 To NumItems
Select Case ClientHandles(i)
Case 1
TagValue1=ItemValues(i) ‘获取变化后的数据
Case 2
TagValue2=ItemValues(i) ‘获取变化后的数据
End Select
Next
End Sub
调用 ConnectOPCServer 函数,程序连接所指定 ProgID 和主机名称的 OPC Ser
ver,并创建一个 OPCGroup,给 OPCGroup 中添加 OPCItem,当 OPCItem 的数据值
发生变化时,就会引发 OPCGroup_DataChange 事件,返回变化后的数据值、TimeSt
amp 和 Quality。