下面的程序是我根据6。0的帮助写出的,目的是想让vb中的值去改变wincc中的值OPC_Tag,但是运行后,在wincc工程中相应的输入输出域中没有任何改变。请各位指点一二。谢谢。
Const ServerName = "OPCServer.WinCC"
Dim MyOPCServer As OPCServer
Dim MyOPCGroup As OPCGroup
Dim MyOPCGroupColl As OPCGroups
Dim MyOPCItemColl As OPCItems
Dim MyOPCItems As OPCItems
Dim MyOPCItem As OPCItem
Dim ClientHandles(1) As Long
Dim ServerHandles() As Long
Dim Values(1) As Variant
Dim Errors() As Long
Dim ItemIDs(1) As String
Dim GroupName As String
Dim NodeName As String
Dim itemv(1) As Variant 'glw
ClientHandles(1) = 1
GroupName = "MyGroup"
NodeName = "nerc"
ItemIDs(1) = "OPC_Tag"
Set MyOPCServer = New OPCServer
MyOPCServer.Connect ServerName, NodeName
Set MyOPCGroupColl = MyOPCServer.OPCGroups
MyOPCGroupColl.DefaultGroupIsActive = True
Set MyOPCGroup = MyOPCGroupColl.Add(GroupName)
Set MyOPCItemColl = MyOPCGroup.OPCItems
MyOPCItemColl.AddItems 1, ItemIDs, ClientHandles, ServerHandles, Errors
MyOPCGroup.IsSubscribed = True
Values(1) = 90
MyOPCGroup.SyncWrite 1, ServerHandles, Values, Errors
MyOPCGroupColl.RemoveAll
MyOPCServer.Disconnect
Set MyOPCItemColl = Nothing
Set MyOPCGroup = Nothing
Set MyOPCGroupColl = Nothing
Set MyOPCServer = Nothing
ErrorHandler:
'MsgBox "Error: " & Err.Des cription, vbCritical, "ERROR"