用 VB 编写 OPC 客户端访问 WINCC
OPC 是一个工业标准,它是由一些世界上有名的自动化系统和硬件、软件公司和Microsoft(微软)严密合作 而建立的。〔O 代表 OLE(对象链接和嵌入),P (process 过程)进展读与写的操作了。
”---------------------------------------------------------------------
” Sub StartClient()
” 目的:连接至 OPC_server,创立组和添加条目
”---------------------------------------------------------------------
Private Sub StartClient()
Dim ItemNum As Integer
Dim TarnscationID As Long
Dim CanceID As Long
Dim ClientHandles1(100) As Long
Dim ii As Integer
On Error GoTo HANDLEeRROR
For ii = 0 To 100
ClientHandles1(ii) = ii 先配置名柄索引,这将在读取 OPC 标签的值时可要用到
Next ii
TarnscationID = 1
” NodeName = (“SYSTEM“, “NodeName“)
”生成 OPC 对象,
Set MyOPCServer = New OPCServer
ServerName, NodeName
Set MyOPCGroupColl =
= True
Set MyOPCGroupIn = (“MYGROUPIN“)
Set MyOPCGroupOut = (“MYGROUPOUT“)
Set MyOPCItemCollIn =
Set MyOPCItemCollOut =
”进展 OPC 标签连接
If WriteItemIdex > 0 Then
WriteItemIdex, WatchDataWriteItem, ClientHandles1, ServerHandlesOut,
ErrorsOut ”初始化 OCP 连接
= True
End If
If ReadItemIdex > 0 Then
ReadItemIdex, WatchDataReadItem, ClientHandles1, ServerHandlesIn,
ErrorsIn ”初始化 OCP 连接
= True
End If
Exit Sub
HANDLEeRROR:
needOPCRestart = True
“OPCl 连接发生错误“
End Sub
二、 OPC 的标签读写
对 OPC 标签的读可以通过 MyOPCGroupIn 组与 MyOPCGroupOut 的 DataChange 大事来读取。该大事有多 个参数:其中 NumItems 是指标签转变值的个数, ClientHandles 是转变值的标签索引, ItemValues 为转变 值的数据,具体的意思是 ClientHandles〔1〕的值是其对应的标签数组的索引,其所指的 OPC 标签的值在 ItemValues(1)中。一般来说,刚连接上时,该大事会把全部所要求访问的OPC 标签值全部读取过来〔挨次 不一,要通过 ClientHandles 索引〕,此后只有数据发生变化时才会触发该大事。也只会传输发生了变化的 数据,没有变化的数据不会消灭在本大事的ItemValues 中。
Private Sub MyOPCGroupOut_DataChange
用VB编写OPC客户端访问WINCC 来自淘豆网m.daumloan.com转载请标明出处.