⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opcbrowserclass.cls

📁 opc 通讯 册测试通讯OPC使用 客户端/服务端
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "OPCBrowserClass"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False

Option Explicit
Option Base 1
Dim OPCBrowserObject As OPCBrowser

Function SetBrowserObject(ByVal OPCBrowseObj As OPCBrowser)
    Set OPCBrowserObject = OPCBrowseObj
End Function

Function GetBrowserOrganization(ByRef Organization As Long)
    On Error GoTo ShowOPCGetBrowserOrganizationError
    
    Organization = OPCBrowserObject.Organization
    GetBrowserOrganization = True
    GoTo SkipOPCGetBrowserOrganizationError
    
ShowOPCGetBrowserOrganizationError:
    Call DisplayOPC_COM_ErrorValue("GetBrowserOrganization", Err.Number)
    GetBrowserOrganization = False
SkipOPCGetBrowserOrganizationError:
    
End Function

Function MoveToRoot()
    On Error GoTo ShowOPCMoveToRootError
    
    OPCBrowserObject.MoveToRoot
    MoveToRoot = True
    GoTo SkipOPCMoveToRootError
    
ShowOPCMoveToRootError:
    Call DisplayOPC_COM_ErrorValue("MoveToRoot", Err.Number)
    MoveToRoot = False
SkipOPCMoveToRootError:

End Function

Function MoveDown(ByVal Branch As String)
    On Error GoTo ShowOPCMoveDownError
    
    OPCBrowserObject.MoveDown (Branch)
    MoveDown = True
    GoTo SkipOPCMoveDownError
    
ShowOPCMoveDownError:
    Call DisplayOPC_COM_ErrorValue("MoveDown", Err.Number)
    MoveDown = False
SkipOPCMoveDownError:

End Function

Function MoveUp()
    On Error GoTo ShowOPCMoveUpError
    
    OPCBrowserObject.MoveUp
    MoveUp = True
    GoTo SkipOPCMoveUpError
    
ShowOPCMoveUpError:
    Call DisplayOPC_COM_ErrorValue("MoveUp", Err.Number)
    MoveUp = False
SkipOPCMoveUpError:

End Function

Function GetItemCount()
    On Error GoTo ShowOPCGetItemCountError
    
    GetItemCount = OPCBrowserObject.Count
    GoTo SkipOPCGetItemCountError
    
ShowOPCGetItemCountError:
    Call DisplayOPC_COM_ErrorValue("GetItemCount", Err.Number)
    GetItemCount = 0
SkipOPCGetItemCountError:

End Function

Function ShowBranches()
    On Error GoTo ShowOPCShowBranchesError
    
    OPCBrowserObject.ShowBranches
    ShowBranches = True
    GoTo SkipOPCShowBranchesError
    
ShowOPCShowBranchesError:
    Call DisplayOPC_COM_ErrorValue("ShowBranches", Err.Number)
    ShowBranches = False
SkipOPCShowBranchesError:

End Function

Function ShowLeafs(Optional ByVal Mode As Variant)
    On Error GoTo ShowOPCShowLeafsError
    
    OPCBrowserObject.ShowLeafs Mode
    ShowLeafs = True
    GoTo SkipOPCShowLeafsError
    
ShowOPCShowLeafsError:
    Call DisplayOPC_COM_ErrorValue("ShowLeafs", Err.Number)
    ShowLeafs = False
SkipOPCShowLeafsError:

End Function

Function GetItemName(ByRef ItemName As String, ByVal ItemSpecifier As Variant)
    On Error GoTo ShowOPCGetItemNameError
    
    ItemName = OPCBrowserObject.Item(ItemSpecifier)
    GetItemName = True
    GoTo SkipOPCGetItemNameError
    
ShowOPCGetItemNameError:
    Call DisplayOPC_COM_ErrorValue("GetItemName", Err.Number)
    GetItemName = False
SkipOPCGetItemNameError:

End Function

Function SetFilter(ByVal Filter As String)
    On Error GoTo ShowOPCSetFilterError
    
    OPCBrowserObject.Filter = Filter
    SetFilter = True
    GoTo SkipOPCSetFilterError
    
ShowOPCSetFilterError:
    Call DisplayOPC_COM_ErrorValue("SetFilter", Err.Number)
    SetFilter = False
SkipOPCSetFilterError:
   
End Function

Function SetDataTypeFilter(ByVal DataType As Integer)
    On Error GoTo ShowOPCSetDataTypeFilterError
    
    OPCBrowserObject.DataType = DataType
    SetDataTypeFilter = True
    GoTo SkipOPCSetDataTypeFilterError
    
ShowOPCSetDataTypeFilterError:
    Call DisplayOPC_COM_ErrorValue("SetDataTypeFilter", Err.Number)
    SetDataTypeFilter = False
SkipOPCSetDataTypeFilterError:
   
End Function

Function SetAccessFilter(ByVal Access As Long)
    On Error GoTo ShowOPCSetAccessFilterError
    
    OPCBrowserObject.AccessRights = Access
    SetAccessFilter = True
    GoTo SkipOPCSetAccessFilterError
    
ShowOPCSetAccessFilterError:
    Call DisplayOPC_COM_ErrorValue("SetAccessFilter", Err.Number)
    SetAccessFilter = False
SkipOPCSetAccessFilterError:
   
End Function

Function GetItemID(ByVal Leaf As String)
    On Error GoTo ShowOPCGetItemIDError
    
    GetItemID = OPCBrowserObject.GetItemID(Leaf)
    GoTo SkipOPCGetItemIDError
    
ShowOPCGetItemIDError:
    Call DisplayOPC_COM_ErrorValue("GetItemID", Err.Number)
    GetItemID = ""
SkipOPCGetItemIDError:

End Function

Sub DisplayOPC_COM_ErrorValue(OPC_Function As String, ErrorCode As Long)
    Dim Response
    Dim ErrorDisplay As String
    ErrorDisplay = "The OPC function '" + OPC_Function + "' has returned an error of " + Str(ErrorCode) + " or Hex 0x" + Hex(ErrorCode)
    Response = MsgBox(ErrorDisplay, vbOKOnly, "OPC Function Error")
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -