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

📄 opcitemclass.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 = "OPCItemClass"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Option Base 1
Dim OPCItemObj As OPCItem
Dim OPCItemID As String
Dim ItemValue As Variant
Dim ItemQuality As Long
Dim ItemTimeStamp As Date
Dim ItemDataType As Integer
Dim ItemIndex As Long

Sub SetOPCItem(OPCItemObject As OPCItem, OPCItem_IDval As String, ByVal OPCItemIndex As Long, ByVal ItmDataType As Integer)
    Set OPCItemObj = OPCItemObject
    Dim newString As String
    newString = OPCItem_IDval
    OPCItemID = newString
    
    ItemIndex = OPCItemIndex
    ItemDataType = ItmDataType
End Sub

Sub UpdateOPCItemData(ByVal ItmVal As Variant, ByVal ItmQuality As Long, ByVal ItmTime As Date)

    ItemValue = ItmVal
    ItemQuality = ItmQuality
    ItemTimeStamp = ItmTime
End Sub

Function GetItemID()
    GetItemID = OPCItemID
End Function

Function GetItemIndex()
    GetItemIndex = ItemIndex
End Function

Function GetItemValue(ByVal Mode As Integer)
    On Error GoTo ShowOPCGetItemValueError
    
    If Mode = OPCItemDirect Then
        GetItemValue = OPCItemObj.Value
    Else
        GetItemValue = ItemValue
    End If
GoTo SkipOPCGetItemValueError

ShowOPCGetItemValueError:
    Call DisplayOPC_COM_ErrorValue("GetItemValue", Err.Number)
SkipOPCGetItemValueError:

End Function

Function GetItemQuality(ByVal Mode As Integer)
    On Error GoTo ShowOPCGetItemQualityError
    
    If Mode = OPCItemDirect Then
        GetItemQuality = OPCItemObj.Quality
    Else
        GetItemQuality = ItemQuality
    End If
    
GoTo SkipOPCGetItemQualityError

ShowOPCGetItemQualityError:
    Call DisplayOPC_COM_ErrorValue("GetItemQuality", Err.Number)
SkipOPCGetItemQualityError:

End Function

Function SetItemQuality(ByVal Quality As Long)
    ItemQuality = Quality
End Function

 Function GetItemTimeStamp(ByVal Mode As Integer)
    On Error GoTo ShowOPCGetItemTimeStampError
    
    If Mode = OPCItemDirect Then
        GetItemTimeStamp = OPCItemObj.TimeStamp
    Else
        GetItemTimeStamp = ItemTimeStamp
    End If
    
GoTo SkipOPCGetItemTimeStampError

ShowOPCGetItemTimeStampError:
    Call DisplayOPC_COM_ErrorValue("GetItemTimeStamp", Err.Number)
SkipOPCGetItemTimeStampError:

End Function
 
 Function GetItemDataType(ByVal Mode As Integer)
    On Error GoTo ShowOPCGetItemDataTypeError

    If Mode = OPCItemDirect Then
        GetItemDataType = OPCItemObj.RequestedDataType
    Else
        GetItemDataType = ItemDataType
    End If
    
GoTo SkipOPCGetItemDataTypeError

ShowOPCGetItemDataTypeError:
    Call DisplayOPC_COM_ErrorValue("GetItemDataType", Err.Number)
SkipOPCGetItemDataTypeError:
    
End Function

Function GetItemCanonicalType()
    On Error GoTo ShowOPCGetItemCanonicalTypeError
    
    GetItemCanonicalType = OPCItemObj.CanonicalDataType
    
GoTo SkipOPCGetItemCanonicalTypeError

ShowOPCGetItemCanonicalTypeError:
    Call DisplayOPC_COM_ErrorValue("GetItemCanonicalType", Err.Number)
SkipOPCGetItemCanonicalTypeError:

End Function

Function GetItemServerHandle()
    On Error GoTo ShowOPCGetItemServerHandleError
    
    GetItemServerHandle = OPCItemObj.ServerHandle
    
GoTo SkipOPCGetItemServerHandleError

ShowOPCGetItemServerHandleError:
    Call DisplayOPC_COM_ErrorValue("GetItemServerHandle", Err.Number)
SkipOPCGetItemServerHandleError:

End Function

Function GetItemActiveState()
    On Error GoTo ShowOPCGetItemActiveStateError
    
    GetItemActiveState = OPCItemObj.IsActive
    
    GoTo SkipOPCGetItemActiveStateError

ShowOPCGetItemActiveStateError:
    Call DisplayOPC_COM_ErrorValue("GetItemActiveState", Err.Number)
SkipOPCGetItemActiveStateError:

End Function

Function SetItemActiveState(ByVal ActiveState As Boolean)
    On Error GoTo ShowOPCSetItemActiveStateError
    
    OPCItemObj.IsActive = ActiveState
    
GoTo SkipOPCSetItemActiveStateError

ShowOPCSetItemActiveStateError:
    Call DisplayOPC_COM_ErrorValue("SetItemActiveState", Err.Number)
SkipOPCSetItemActiveStateError:

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 + -