亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? opcserverclass.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 = "OPCServerClass"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False

Option Explicit
Option Base 1

Dim WithEvents OPCServerObj As OPCServer                        'opc 服務器
Attribute OPCServerObj.VB_VarHelpID = -1
Dim OPCServerName As String                                     '服務器名稱
Dim OPCServerKey As String                                      '服務器關鍵字
Dim OPCServerIndex As Integer                                   '服務器索引

Dim ServerGroups As OPCGroups                                   '服務器下的組
Dim OPCServerGroups As New Collection

Public Event ServerShuttingDown(ByVal ServerKey As String)      'OPC服務器停止時發生

Sub GetOPCServerList(ByRef ServerList As Variant, Optional ByVal NodeName As Variant)
    Dim i As Integer
    On Error GoTo ShowOPCGetServersError
    ServerList = OPCServerObj.GetOPCServers(NodeName)           '返回數據為集合形式
    GoTo SkipOPCGetServersError
ShowOPCGetServersError:
    Call DisplayOPC_COM_ErrorValue("Get OPC Server List", Err.Number)
SkipOPCGetServersError:
End Sub

Function ConnectOPCServer(ServerName As String, ServerKey As String, ServerIndex As Integer, Optional ByVal NodeName As Variant)
    On Error GoTo ShowOPCConnectError
    Dim StoreName As String
    Dim StoreKey As String
    
    StoreName = ServerName
    OPCServerName = StoreName
    OPCServerIndex = ServerIndex
    StoreKey = ServerKey
    OPCServerKey = StoreKey
    OPCServerObj.Connect OPCServerName, NodeName                '連接到OPC服務器
    
    Set ServerGroups = OPCServerObj.OPCGroups
    SetDefaultGroupIsActive (True)
    SetDefaultGroupUpdateRate (100)
    SetDefaultGroupDeadBand (0)
    ConnectOPCServer = True
    GoTo SkipOPCConnectError
    
ShowOPCConnectError:
    Call DisplayOPC_COM_ErrorValue("Connect", Err.Number)
    ConnectOPCServer = False
SkipOPCConnectError:
End Function

Function DisconnectOPCServer()
    On Error GoTo ShowOPCDisconnectError
    OPCServerObj.Disconnect
    DisconnectOPCServer = True
    
    GoTo SkipDisconnectError
ShowOPCDisconnectError:
    Call DisplayOPC_COM_ErrorValue("Disconnect", Err.Number)
    DisconnectOPCServer = False
SkipDisconnectError:
End Function
'
Function GetOPCServerKey()
    GetOPCServerKey = OPCServerKey
End Function
'
Function GetOPCServerGroupCollection()
    Set GetOPCServerGroupCollection = OPCServerGroups
End Function
'
Function GetOPCServerIndex()
    GetOPCServerIndex = OPCServerIndex
End Function
'
Function GetServerName(ByRef ServerName As String)
    ServerName = OPCServerName
    GetServerName = True
End Function

Function GetStartTime(ByRef StartTime As Date)
    On Error GoTo ShowOPCStartTimeError
    StartTime = OPCServerObj.StartTime
    GetStartTime = True
    GoTo SkipOPCStartTimeError
    
ShowOPCStartTimeError:
    Call DisplayOPC_COM_ErrorValue("StartTime", Err.Number)
    GetStartTime = False
    
SkipOPCStartTimeError:
End Function

Function GetCurrentTime(ByRef CurrentTime As Date)
    On Error GoTo ShowOPCCurrentTimeError
    
    CurrentTime = OPCServerObj.CurrentTime
    GetCurrentTime = True
    GoTo SkipOPCCurrentTimeError
    
ShowOPCCurrentTimeError:
    Call DisplayOPC_COM_ErrorValue("CurrentTime", Err.Number)
    GetCurrentTime = False
    
SkipOPCCurrentTimeError:
End Function

Function GetLastUpdateTime(ByRef LastUpdateTime As Date)
    On Error GoTo ShowOPCLastUpdateTimeError
    LastUpdateTime = OPCServerObj.LastUpdateTime
    GetLastUpdateTime = True
    GoTo SkipOPCLastUpdateTimeError
    
ShowOPCLastUpdateTimeError:
    Call DisplayOPC_COM_ErrorValue("LastUpdate", Err.Number)
    GetLastUpdateTime = False
    
SkipOPCLastUpdateTimeError:
End Function

Function GetMajorVersion(ByRef MajorVersion As Integer)
    On Error GoTo ShowOPCMajorVersionError
    MajorVersion = OPCServerObj.MajorVersion
    GetMajorVersion = True
    GoTo SkipOPCMajorVersionError
    
ShowOPCMajorVersionError:
    Call DisplayOPC_COM_ErrorValue("MajorVersion", Err.Number)
    GetMajorVersion = False
    
SkipOPCMajorVersionError:
End Function

Function GetMinorVersion(ByRef MinorVersion As Integer)
    On Error GoTo ShowOPCMinorVersionError
    MinorVersion = OPCServerObj.MinorVersion
    GetMinorVersion = True
    GoTo SkipOPCMinorVersionError
    
ShowOPCMinorVersionError:
    Call DisplayOPC_COM_ErrorValue("MinorVersion", Err.Number)
    GetMinorVersion = False
    
SkipOPCMinorVersionError:
End Function
'
Function GetBuildNumber(ByRef BuildNumber As Integer)
    On Error GoTo ShowOPCBuildNumberError
    BuildNumber = OPCServerObj.BuildNumber
    GetBuildNumber = True
    GoTo SkipOPCBuildNumberError
    
ShowOPCBuildNumberError:
    Call DisplayOPC_COM_ErrorValue("BuildNumber", Err.Number)
    GetBuildNumber = False
    
SkipOPCBuildNumberError:
End Function

Function GetVendorInfo(ByRef VendorInfo As String)
    On Error GoTo ShowOPCVendorInfoError
    VendorInfo = OPCServerObj.VendorInfo
    GetVendorInfo = True
    GoTo SkipOPCVendorInfoError
    
ShowOPCVendorInfoError:
    Call DisplayOPC_COM_ErrorValue("VendorInfo", Err.Number)
    GetVendorInfo = False
    
SkipOPCVendorInfoError:
End Function


' Get the Server State property of the connected server
' The value retured will be one of the following
' OPC_STATUS_RUNNING      - 1 - Server is running normally
' OPC_STATUS_FAILED       - 2 - Vendor specific fatal error has occured
' OPC_STATUS_NOCONFIG     - 3 - Server Running but no Configuration Data available
' OPC_STATUS_SUSPENDED    - 4 - Server is suspended and not receiving data
' OPC_STATUS_TEST         - 5 - Server in test mode
' OPC_STATUS_DISCONNECTED - 6 - Server has disconnected
'
Function GetServerState(ByRef ServerState As Long)
    On Error GoTo ShowOPCServerStateError
    ServerState = OPCServerObj.ServerState
    GetServerState = True
    GoTo SkipOPCServerStateError
    
ShowOPCServerStateError:
    Call DisplayOPC_COM_ErrorValue("ServerState", Err.Number)
    GetServerState = False
    
SkipOPCServerStateError:
End Function

Function GetServerBrowseObject(ByRef OPCBrowserObject As OPCBrowserClass)
    On Error GoTo ShowOPCBrowserError
    
    Dim OPCBrowserObj As OPCBrowser
    Set OPCBrowserObj = OPCServerObj.CreateBrowser
    If Not OPCBrowserObj Is Nothing Then
        Set OPCBrowserObject = New OPCBrowserClass
        OPCBrowserObject.SetBrowserObject OPCBrowserObj
    Else
        Set OPCBrowserObject = Nothing
    End If
    GetServerBrowseObject = True
    GoTo SkipOPCBrowserError
    
ShowOPCBrowserError:
    Call DisplayOPC_COM_ErrorValue("Browser Object", Err.Number)
    GetServerBrowseObject = False
    
SkipOPCBrowserError:
End Function
'
Function SetDefaultGroupIsActive(ByVal State As Boolean)
    On Error GoTo ShowOPCDefaultGroupIsActiveError
    
    ServerGroups.DefaultGroupIsActive = State
    SetDefaultGroupIsActive = True
    GoTo SkipOPCDefaultGroupIsActiveError
    
ShowOPCDefaultGroupIsActiveError:
    Call DisplayOPC_COM_ErrorValue("DefaultGroupIsActive", Err.Number)
    SetDefaultGroupIsActive = False
    
SkipOPCDefaultGroupIsActiveError:
End Function
'
Function SetDefaultGroupUpdateRate(ByVal Rate As Long)
    'Set error handling for OPC Function
    On Error GoTo ShowOPCDefaultUpdateRateError
    
    ServerGroups.DefaultGroupUpdateRate = Rate
    SetDefaultGroupUpdateRate = True
    GoTo SkipOPCDefaultUpdateRateError
    
ShowOPCDefaultUpdateRateError:
    Call DisplayOPC_COM_ErrorValue("SetDefaultGroupUpdateRate", Err.Number)
    SetDefaultGroupUpdateRate = False
    
SkipOPCDefaultUpdateRateError:
End Function

Function SetDefaultGroupDeadBand(ByVal DeadBand As Single)
    On Error GoTo ShowOPCDefaultGroupDeadBandError
    
    ServerGroups.DefaultGroupDeadband = DeadBand
    SetDefaultGroupDeadBand = True
    GoTo SkipOPCDefaultGroupDeadBandError
    
ShowOPCDefaultGroupDeadBandError:
    Call DisplayOPC_COM_ErrorValue("SetDefaultGroupDeadBand", Err.Number)
    SetDefaultGroupDeadBand = False
    
SkipOPCDefaultGroupDeadBandError:
End Function

Function GetDefaultGroupIsActive(ByRef State As Boolean)
    On Error GoTo ShowOPCGetDefaultGroupIsActiveError
    
    State = ServerGroups.DefaultGroupIsActive
    GetDefaultGroupIsActive = True
    GoTo SkipOPCGetDefaultGroupIsActiveError
    
ShowOPCGetDefaultGroupIsActiveError:
    Call DisplayOPC_COM_ErrorValue("GetDefaultGroupIsActive", Err.Number)
    GetDefaultGroupIsActive = False
    
SkipOPCGetDefaultGroupIsActiveError:
End Function
'
Function GetDefaultGroupUpdateRate(ByRef Rate As Long)
    On Error GoTo ShowOPCGetDefaultUpdateRateError
    
    Rate = ServerGroups.DefaultGroupUpdateRate
    GetDefaultGroupUpdateRate = True
    GoTo SkipOPCGetDefaultUpdateRateError
    
ShowOPCGetDefaultUpdateRateError:
    Call DisplayOPC_COM_ErrorValue("GetDefaultGroupUpdateRate", Err.Number)
    GetDefaultGroupUpdateRate = False
    
SkipOPCGetDefaultUpdateRateError:
End Function

'
Function GetDefaultGroupDeadBand(ByRef DeadBand As Single)
    On Error GoTo ShowOPCGetDefaultGroupDeadBandError
    
    DeadBand = ServerGroups.DefaultGroupDeadband
    GetDefaultGroupDeadBand = True
    GoTo SkipOPCGetDefaultGroupDeadBandError
    
ShowOPCGetDefaultGroupDeadBandError:
    Call DisplayOPC_COM_ErrorValue("GetDefaultGroupDeadBand", Err.Number)
    GetDefaultGroupDeadBand = False
    
SkipOPCGetDefaultGroupDeadBandError:
End Function

Function AddOPCGroup(GroupName As String, UpdateRate As Long, DeadBand As Single, ActiveState As Boolean, ByRef GroupKey As String)
    On Error GoTo ShowOPCGroupAddError
    
    Dim ConnectedGroup As New OPCGroupClass
    Dim NewGroup As OPCGroup
    Dim GroupNum As Integer
    
    SetDefaultGroupIsActive (ActiveState)
    SetDefaultGroupUpdateRate (UpdateRate)
    SetDefaultGroupDeadBand (DeadBand)
    Set NewGroup = ServerGroups.Add(GroupName)

    If GroupName = "" Then
        GroupName = NewGroup.Name
    End If
    GroupNum = FindNextGroupNumber
    GroupKey = "Group" + Str(GroupNum) + Str(OPCServerIndex)
    If GroupName = "" Then
        GroupName = GroupKey
    End If
    ConnectedGroup.SetOPCGroup NewGroup, GroupName, GroupKey, GroupNum
    With OPCServerGroups
        .Add ConnectedGroup, GroupKey
    End With
        
    AddOPCGroup = True
    GoTo SkipAddGroupError

ShowOPCGroupAddError:
    Call DisplayOPC_COM_ErrorValue("Add Group", Err.Number)
    AddOPCGroup = False
    
SkipAddGroupError:
End Function
Private Function FindNextGroupNumber()
    On Error GoTo FoundNextGroupNumber
    
    Dim i As Integer
    Dim GroupNum As Integer
    
    GroupNum = 1
    
    With OPCServerGroups
        For i = 1 To .Count
            GroupNum = i
            .Item ("Group" + Str(i) + Str(OPCServerIndex))
        Next i
        If .Count <> 0 Then
            FindNextGroupNumber = i
        Else
            FindNextGroupNumber = 1 ' No count return the first 1
        End If
    End With
    
    GoTo NewGroup
    
FoundNextGroupNumber:
    FindNextGroupNumber = GroupNum
    
NewGroup:
End Function

Function RemoveOPCGroup(GroupKey As String)
    On Error GoTo ShowOPCGroupRemoveError
      
    Dim OPCGroupCls As OPCGroupClass
    Set OPCGroupCls = OPCServerGroups.Item(GroupKey)
    Dim GroupName As String
    GroupName = OPCGroupCls.GetGroupName
    ServerGroups.Remove GroupName
    OPCServerGroups.Remove GroupKey
    RemoveOPCGroup = True
    GoTo SkipRemoveGroupError

ShowOPCGroupRemoveError:
    Call DisplayOPC_COM_ErrorValue("Remove Group", Err.Number)
    RemoveOPCGroup = False
    
SkipRemoveGroupError:
End Function
'
Private Sub OPCServerObj_ServerShutDown(ByVal Reason As String)
    ' If we receive a server shut down message we need to release everthing and remove the server
    ' connection.
    RaiseEvent ServerShuttingDown(OPCServerKey)
End Sub

Private Sub Class_Initialize()
    Set OPCServerObj = New OPCServer
End Sub

Private Sub Class_Terminate()
    If Not ServerGroups Is Nothing Then
        If ServerGroups.Count <> 0 Then
            ServerGroups.RemoveAll
        End If
    End If
    If OPCServerGroups.Count <> 0 Then
        Dim i As Integer
        Dim a As Integer
        a = OPCServerGroups.Count
        For i = 1 To OPCServerGroups.Count
            With OPCServerGroups
            .Remove (a)
            a = a - 1
            End With
        Next i
    End If
    Set OPCServerGroups = Nothing
    
End Sub

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 + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美丝袜丝交足nylons| 亚洲综合色视频| 亚洲精品成人精品456| 精品一区二区三区在线播放| 91香蕉视频黄| 久久夜色精品国产噜噜av | 在线视频一区二区三区| 精品卡一卡二卡三卡四在线| 欧美久久一二三四区| 精品国产不卡一区二区三区| 亚洲国产成人va在线观看天堂| 成人一区二区在线观看| 欧美mv日韩mv国产网站| 日韩有码一区二区三区| 在线精品视频免费播放| 国产精品久久久久影视| 国产麻豆91精品| 日韩精品一区二区在线观看| 丝袜美腿一区二区三区| 欧美亚洲免费在线一区| 亚洲欧美综合色| 成人性色生活片| 国产欧美日韩精品在线| 国产成人精品影视| 国产欧美中文在线| 韩国理伦片一区二区三区在线播放| 欧美一区二区视频免费观看| 日本在线播放一区二区三区| 欧美丰满嫩嫩电影| 婷婷中文字幕综合| 欧美日韩国产首页| 日本视频中文字幕一区二区三区| 欧美日韩国产电影| 日韩精品电影在线| 日韩一区二区三区观看| 秋霞影院一区二区| 精品国产一二三区| 国内偷窥港台综合视频在线播放| 久久综合资源网| 成人国产精品视频| 国产精品国产三级国产普通话蜜臀| 成人免费精品视频| 亚洲精品中文字幕乱码三区 | 国产91丝袜在线播放0| 国产调教视频一区| 91网站在线播放| 亚洲黄色录像片| 欧美精品九九99久久| 另类小说色综合网站| 久久久综合网站| 97久久人人超碰| 日韩av网站在线观看| 26uuu国产电影一区二区| 国产成人午夜精品影院观看视频| 国产精品久久久久久亚洲毛片| 在线免费观看日韩欧美| 奇米精品一区二区三区四区| 久久九九久久九九| 色欧美片视频在线观看| 男人操女人的视频在线观看欧美 | 91精品国产高清一区二区三区| 成人免费毛片aaaaa**| 亚洲人成精品久久久久久 | 亚洲18女电影在线观看| 久久蜜桃av一区二区天堂 | 国产亚洲精品资源在线26u| 成人永久免费视频| 亚洲成精国产精品女| 国产亚洲女人久久久久毛片| 欧美网站一区二区| 国产一区二区三区久久久 | 国产精品一级片在线观看| 亚洲日本丝袜连裤袜办公室| 在线不卡免费欧美| 99免费精品视频| 日本美女一区二区三区视频| 国产精品无码永久免费888| 欧美精品色综合| 91在线国内视频| 国产一区在线精品| 亚洲成a人在线观看| 中文字幕中文在线不卡住| 日韩女优制服丝袜电影| 91成人国产精品| 成人午夜免费视频| 美女被吸乳得到大胸91| 亚洲综合区在线| 欧美极品美女视频| 26uuu久久综合| 91超碰这里只有精品国产| 91无套直看片红桃| 成人免费毛片a| 国产精品一二一区| 久久精品99国产精品日本| 亚洲第一成人在线| 亚洲精品视频免费看| 中文字幕精品综合| 久久先锋影音av鲁色资源网| 制服丝袜一区二区三区| 欧美三级电影一区| 色悠悠久久综合| 9i在线看片成人免费| 床上的激情91.| 国产高清在线精品| 国产精品一区二区男女羞羞无遮挡| 免费成人深夜小野草| 日韩国产欧美一区二区三区| 天堂影院一区二区| 日韩国产在线一| 视频一区二区三区入口| 日韩专区中文字幕一区二区| 日韩高清在线电影| 蜜臀av性久久久久蜜臀aⅴ流畅| 性欧美大战久久久久久久久| 日韩中文字幕不卡| 九九热在线视频观看这里只有精品| 麻豆免费精品视频| 精品一区二区免费在线观看| 玖玖九九国产精品| 九九精品一区二区| 国产99久久精品| 99re热这里只有精品免费视频 | 国产一区二区在线视频| 激情综合五月婷婷| 国产.精品.日韩.另类.中文.在线.播放| 黄色成人免费在线| 国产精品一区专区| 波多野结衣中文一区| 色综合天天综合色综合av| 一本久久精品一区二区| 91高清在线观看| 欧美一级在线观看| 久久久久久久久久久久久久久99| 国产亚洲精品久| 一区二区中文字幕在线| 亚洲大片精品永久免费| 国内不卡的二区三区中文字幕| 成人高清免费在线播放| 欧美日韩午夜在线| 久久色视频免费观看| 亚洲精品视频在线观看免费| 五月天激情综合网| 国产麻豆视频一区二区| 91香蕉视频在线| 欧美一区国产二区| 国产精品女同互慰在线看| 亚洲影院久久精品| 黑人巨大精品欧美黑白配亚洲| 久久一二三国产| 亚洲精品视频在线观看网站| 日本视频中文字幕一区二区三区| 国产不卡视频在线播放| 欧美日韩一区二区在线观看视频| 精品久久久三级丝袜| 亚洲男女毛片无遮挡| 亚洲成a人片综合在线| 国产69精品久久99不卡| 欧美日韩二区三区| 国产精品无人区| 日韩国产一区二| 91蜜桃网址入口| 欧美精品一区二区在线播放| 洋洋av久久久久久久一区| 国产综合一区二区| 欧美日韩一区三区四区| 国产精品第一页第二页第三页| 青青草国产成人av片免费| 国产精品小仙女| 欧美一级免费大片| 亚洲青青青在线视频| 国产主播一区二区| 欧美久久久久中文字幕| 亚洲天堂福利av| 粉嫩一区二区三区在线看| 91麻豆精品国产自产在线 | 亚洲欧洲av在线| 日本亚洲欧美天堂免费| 日本韩国一区二区三区| 中国av一区二区三区| 国产一区二区三区四区五区美女| 欧美丰满少妇xxxbbb| 亚洲国产另类av| 欧洲色大大久久| 亚洲欧美另类图片小说| 丁香婷婷深情五月亚洲| 精品国产一区二区三区不卡| 免费在线观看一区| 日本道色综合久久| 亚洲欧美一区二区三区国产精品| 国产69精品久久久久777| 久久人人97超碰com| 久久国产综合精品| 欧美一区二区三区在线视频| 日韩精品乱码av一区二区| 在线不卡一区二区| 三级久久三级久久久| 欧美精品国产精品| 日韩在线一区二区| 日韩精品中文字幕一区| 韩国一区二区在线观看|