注意:计算机-->属性中的计算机名称要与本计算机名称一致
在VB中建立一页面,用按钮来改变text1,text2,text3的值,如果通讯成功,Vb与WINCC中值同步。
2 文件,打开文件,工具-->宏-->VB编辑器
3 在VB编辑器里,工具-->引用,在弹出窗口中,找Siemens OPC DAAutomation 2.0,勾上
4 加入以下代码
Option Explicit
Option Base 1
Const ServerName = "OPCServer.WinCC"
Const nodename = "computer"
Private objServer As OPCServer //定义OPC服务器
Private objGroup As OPCGroup //定义OPC 服务器中的组
Private objGroups As OPCGroups
Private objItems As OPCItems //定义OPC 服务器中的项目名
Dim StrItemIDs(10) As String
Dim ClientHandles(6) As Long
Dim Serverhandles() As Long
Dim i As Integer
Dim DataType(1000) As Integer
Dim errors() As Long
Dim accpath(1000) As String
Private Sub Form_Load() //VB初始页面程序
Set objServer = New OPCServer
objServer.Connect ServerName, nodename //连接服务器,设定OPC 服务器的地址
Set objGroups = objServer.OPCGroups
Set objGroup = objGroups.Add("huangjie") //连接组
Dim i As Integer
For i = 1 To 3
StrItemIDs(i) = Text1(i).Text //连接变量
ClientHandles(i) = i
Next
DataType(1) = vbVString
DataType(2) = vbVString
DataType(3) = vbVString
accpath(1) = ""
accpath(2) = ""
accpath(3) = ""
Set objItems = objGroup.OPCItems
objItems.AddItems 3, StrItemIDs, ClientHandles, Serverhandles, errors, DataType, accpath
MsgBox "ok"
End Sub
Private Sub Command1_Click() //读WinCC 中变量 读按钮
Dim plcVal() As Variant
Call objGroup.SyncRead(OPCCache, 3, Serverhandles, plcVal, errors)
Text1(0).Text = plcVal(1)
Text2.Text = plcVal(2)
Text3.Text = plcVal(3)
End Sub
Private Sub Command2_Click() // //写WinCC 中变量 写按钮
Dim plcVal(3) As Variant
plcVal(1) = Text1(0).Text
plcVal(2) = Text2.Text
plcVal(3) = Text3.Text
objGroup.SyncWrite 3, Serverhandles, plcVal, errors
End Sub
如有交流,请致信QQ:1625785563