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

📄 module1.bas

📁 VBOPCClient.rar vb编写的opc客户端源程序
💻 BAS
字号:
Attribute VB_Name = "Module1"
Global Const LISTVIEW_MODE0 = "Big icon"
Global Const LISTVIEW_MODE1 = "Small icon"
Global Const LISTVIEW_MODE2 = "List view"
Global Const LISTVIEW_MODE3 = "Report view"

Public gMainForm As frmMain
Public gConnectionHandle, gGroupHandle As Long

Public g_strMsg As String
Public g_ItemCol As New ItemCollection

Sub Main()
    Set gMainForm = New frmMain
    Load gMainForm
    gMainForm.Show
End Sub
Sub ServerDataChangeProc(ByVal ServerHandle As Long, _
                        ByVal GroupHandle As Long, _
                        ByVal itemHandle As Long, _
                        ByRef Value As Variant, _
                        ByVal dDateTime As Double, _
                        ByVal Quality As Integer)
    Dim pItem As CItem
    For Each pItem In g_ItemCol
        If pItem.itemHandle = itemHandle Then
            pItem.ItemQuality = Quality
            pItem.ItemValue = Value
            
            Dim ftDT As FILETIME
            Dim sysDT As SYSTEMTIME
            CopyMemory ftDT, dDateTime, Len(dDateTime)
            FileTimeToSystemTime ftDT, sysDT
            pItem.ItemTimeStamp = Win32FileTimeToVB(ftDT)
            
            Exit For
        End If
    Next
End Sub
Sub ServerShutdownProc(ByVal ServerHandle As Long)
    frmMain.Disconnect
End Sub
Sub StringToByte(strString As String, ByteArray() As Byte)
    Dim i As Long
    For i = 1 To Len(strString)
        ByteArray(i - 1) = Asc(Mid$(strString, i, 1))
    Next i
    ByteArray(i - 1) = 0
End Sub
Sub FormatOpcQuality(nQuality As Integer, ByRef strTmp As String)
    Select Case (nQuality)
        Case 64
            strTmp = "不确定"
        Case 0
            strTmp = "无效"
        Case 192
            strTmp = "正常"
        Case Else
            strTmp = "未知"
    End Select
End Sub
Sub FormatDataType(ByRef Value As Variant, ByRef strTmp As String)
    Select Case (VarType(Value))
        Case vbBoolean
            strTmp = "布尔"
        Case vbInteger
            strTmp = "整数"
        Case vbLong
            strTmp = "长整数"
        Case vbSingle
            strTmp = "浮点数"
        Case vbString
            strTmp = "字符串"
        Case Else
            strTmp = "未知:" & CStr(VarType(Value))
    End Select
End Sub

⌨️ 快捷键说明

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