'获取服务器名称
Private Function GetServerName() As String
Dim Result As String * 255
GetPrivateProfileString "SERVER", "Server", _
"ERROR", Result, 255, ConfigFile
GetServerName = RemoveSpaces(Result)
End Function
'获取服务器连接状态
Private Function GetConnectStatus() As Boolean
GetConnectStatus = ServerConnected
End Function
' 功能块:移除空格
Private Function RemoveSpaces(Item As String) As String
Dim Result As String
Dim i As Integer
i = 1
While (Mid$(Item, i, 1) <> Chr(0))
Result = Result & Mid$(Item, i, 1)
i = i + 1
Wend
RemoveSpaces = Result
End Function
Private Sub Class_Initialize()
Configuration_is_Set = False
Dll_is_Initial = False
ServerConnected = False
End Sub
'DLL终止
Private Sub Class_Terminate()
Set ServerObj = Nothing ' 释放ServerObj
Set GroupCollection = Nothing ' 释放GroupCollection
Set ItemCollection = Nothing ' 释放ItemCollection
ServerConnected = False
Dll_is_Initial = False
Configuration_is_Set = False
Trace "<Dll is terminate"
End Sub
'全局数据改变
Private Sub GroupCollection_GlobalDataChange(ByVal TransactionID As Long, ByVal GroupHandle As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)
Dim i As Integer, GroupName As String, ItemName As String
Trace "<== GlobalDataChange!Following is the data:"
GroupName = GroupCollection.GetOPCGroup(GroupHandle).Name
Trace "<== GroupName: " & GroupName & " Number of Items:" & NumItems
For i = 1 To NumItems
ItemData(ClientHandles(i)) = ItemValues(i)
Trace "<== Item's Name: " & AllItemsInfo.GetItem_Name(ClientHandles(i)) & " Values: " & ItemValues(i) & " Changed Data: " & TimeStamps(i)
Next
Trace "<== GlobalDataChange End"
End Sub
'获取单个变量数据
Public Function GetData(ItemName As String)
Trace ">GetData start:ItemName= " & ItemName
If Dll_is_Initial = False Then
Trace "<GetData Cancelled,Because Dll_Initial has not been called"
Exit Function
End If
If ServerConnected = False Then
Trace "<GetData Cancelled,Because ConnectServer has not been called"
Exit Function
End If
If Configuration_is_Set = False Then
上一篇:智能化小区与信息化小区