opcvba源代码

2020-02-22 14:29

Option Explicit Option Base 1

Const servername = \Dim WithEvents MyOPCServer As OPCServer Dim WithEvents MyOPCGroup As OPCGroup Dim MyOPCGroupColl As OPCGroups Dim MyOPCItemColl As OPCItems Dim MyOPCItems As OPCItems Dim MyOPCItem As OPCItem Dim clienthandles(6) As Long Dim ServerHandles() As Long Dim Values(1) As Variant Dim Errors() As Long Dim ItemIDs(6) As String Dim GroupName As String Dim NodeName As String Dim itemv(6) As Variant Dim ii As Integer

'华丽的分割线—————————————————— 'Sub StartClient()

'目的:链接至OPC_server,创建组和添加条目

'——————————————————————————————————————华丽的分割线 Sub StartClient()

' On Error Goto ErrorHandler

'---------------可以自由选择ClientHandle和GroupName For ii = 1 To 6

clienthandles(ii) = ii Next ii

GroupName = \

'-------------从单元\得到ItemID NodeName = Range(\ItemIDs(1) = Range(\ItemIDs(2) = Range(\ItemIDs(3) = Range(\ItemIDs(4) = Range(\ItemIDs(5) = Range(\ItemIDs(6) = Range(\

'----------------------------------得到一个OPC服务器的实例 Set MyOPCServer = New OPCServer

MyOPCServer.Connect servername, NodeName Set MyOPCGroupColl = MyOPCServer.OPCGroups '-----------------为添加组设置缺省的激活状态 MyOPCGroupColl.DefaultGroupIsActive = True

'-----------------------添加组至收集

Set MyOPCGroup = MyOPCGroupColl.Add(GroupName) Set MyOPCItemColl = MyOPCGroup.OPCItems

'-----------------------添加一个条目、返回serverhandles

MyOPCItemColl.AddItems 6, ItemIDs(), clienthandles(), ServerHandles(), Errors '--------------------------用于接收不同的信息组 MyOPCGroup.IsSubscribed = True Exit Sub

ErrorHadnler:

MsgBox \

End Sub

'华丽的分割线----------------------------------------------------------------------- 'Sub StopClient()

'目的:从服务器释放对象并且断开连接

'----------------------------------------------------------------------------------- Sub stopclient()

'----------------------释放组合服务器对象 MyOPCGroupColl.RemoveAll

'----------------------与服务器断开连接并且清楚 MyOPCServer.Disconnect Set MyOPCItemColl = Nothing Set MyOPCGroup = Nothing Set MyOPCGroupColl = Nothing Set MyOPCServer = Nothing

End Sub

'华丽的分割线----------------------------------------------------------------------- 'Sub MyOPCGroup_DataChange()

'目的:组中的数值、质量或时间标志改变时,该事件激活

'华丽的分割线----------------------------------------------------------------------- '-------------------------如果OPC-DA Automation 2.1被安装,使用:

Private Sub myopcgroup_datachange(ByVal transactionID As Long, ByVal numitems As Long, clienthandles() As Long, itemvalues() As Variant, qualities() As Long, timestamps() As Date) '设置数据表单元值为数值读 For ii = 1 To numitems

itemv(clienthandles(ii)) = itemvalues(ii) Next ii

Range(\Range(\Range(\Range(\Range(\

End Sub


opcvba源代码.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:自动控制原理简答题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: