📄 opcitemclass.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 + -