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

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

?? form1.frm

?? opc例子
?? FRM
?? 第 1 頁 / 共 2 頁
字號:
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Base 1
Option Explicit

' OPC對象的聲明
Dim WithEvents objServer As OPCServer
Attribute objServer.VB_VarHelpID = -1
Dim objGroups As OPCGroups
Dim WithEvents objTestGrp As OPCGroup '事件的對應    同步沒有
Attribute objTestGrp.VB_VarHelpID = -1
Dim objItems As OPCItems
Dim lServerHandles() As Long

Dim lTransID_Rd As Long   'lTransID_**異步用的事務標志符,用于讀取和寫入
Dim lCancelID_Rd As Long  'lCancelID_**異步用的取消標志符,用于讀取和寫入
Dim lTransID_Wt As Long
Dim lCancelID_Wt As Long

Sub Connect(strProgID As String, Optional strNode As String)
    
    If objServer Is Nothing Then
        ' 建立一個OPC服務器對象
        Set objServer = New OPCServer
    End If
    
    If objServer.ServerState = OPCDisconnected Then
        ' 連接OPC服務器
        objServer.Connect strProgID, strNode
    End If
    
    If objGroups Is Nothing Then
        ' 建立一個OPC組集合
        Set objGroups = objServer.OPCGroups
    End If
    
    If objTestGrp Is Nothing Then
        ' 添加一個OPC組
        Set objTestGrp = objGroups.Add("TestGrp")
    End If
    
End Sub

Sub Disconnect()
    Dim lErrors() As Long

    If Not objItems Is Nothing Then
        If objItems.Count > 0 Then
            ' 清除OPC項
            objItems.Remove 8, lServerHandles, lErrors
        End If
        Set objItems = Nothing
    End If
    
    If Not objTestGrp Is Nothing Then
        ' 清除OPC組
        objGroups.Remove "TestGrp"
        Set objTestGrp = Nothing
    End If
    
    If Not objGroups Is Nothing Then
        Set objGroups = Nothing
    End If
    
    If Not objServer Is Nothing Then
        If objServer.ServerState <> OPCDisconnected Then
            ' 斷開OPC服務器.
            objServer.Disconnect
        End If
        
        Set objServer = Nothing
    End If
        
End Sub

Sub AddItem()
    Dim strItemIDs(8) As String
    Dim lClientHandles(8) As Long
    Dim lErrors() As Long
    Dim I As Integer

    If objTestGrp Is Nothing Then
        Exit Sub
    End If
    
    If Not objItems Is Nothing Then
        If objItems.Count > 0 Then
            Exit Sub
        End If
    End If
    
    ' 設置組活動狀態
    If DataChgChk.Value = vbChecked Then
        objTestGrp.IsActive = True
    Else
        objTestGrp.IsActive = False
    End If
                                             ' 啟動組異步通知
    objTestGrp.IsSubscribed = True
    
    ' 建立OPC項集合
    Set objItems = objTestGrp.OPCItems
    
    ' 生成從TAG1到TAG8的項標識符
    For I = 1 To 8
        strItemIDs(I) = "TAG" & I
        lClientHandles(I) = I
    Next
    ' 添加OPC標簽
    Call objItems.AddItems(8, strItemIDs, _
        lClientHandles, lServerHandles, lErrors)
    
End Sub

Sub AsyncRead()
    Dim lErrors() As Long

    If objTestGrp Is Nothing Then
        Exit Sub
    End If
    
    If objTestGrp.OPCItems.Count > 0 Then
        ' 異步讀取
        lTransID_Rd = lTransID_Rd + 1
        objTestGrp.AsyncRead 8, lServerHandles, _
            lErrors, lTransID_Rd, lCancelID_Rd
    End If

End Sub

Sub AsyncWrite(nIndex As Integer, ByRef vtItemValues() As Variant, _
    ByRef lErrors() As Long)
Dim lHandle(1) As Long
    
    If objTestGrp Is Nothing Then
        Exit Sub
    End If
    
    If objTestGrp.OPCItems.Count > 0 Then
        lHandle(1) = lServerHandles(nIndex)
        
        ' 異步寫入
        lTransID_Wt = lTransID_Wt + 1
        objTestGrp.AsyncWrite 1, lHandle(), vtItemValues, _
                lErrors, lTransID_Wt, lCancelID_Wt
    End If

End Sub

Private Sub DataChgChk_Click()

    If DataChgChk.Value = vbChecked Then
        tmUpdate.Enabled = False
        If Not objTestGrp Is Nothing Then
            objTestGrp.IsActive = True
        End If
    Else
        tmUpdate.Enabled = True
        If Not objTestGrp Is Nothing Then
            objTestGrp.IsActive = False
        End If
    End If
    
End Sub


Private Sub Form_Load()
    ' 初始化全局變量
    DataChgChk.Value = vbUnchecked
    
    tmUpdate.Enabled = True
    tmUpdate.Interval = 1000
    
    lTransID_Rd = 0
    lTransID_Wt = 0
    
End Sub

Private Sub Form_Unload(Cancel As Integer)
    ' 調用Disconnect子程序
    Call Disconnect

End Sub

Private Sub btnConnect_Click()
    '調用Connect子程序
    Call Connect("OPCJ.SampleServer.1")

End Sub

Private Sub btnAddItem_Click()
    ' 調用AddItem子程序
    Call AddItem
    
End Sub

Private Sub btnQuit_Click()
    ' 卸載窗體
    Unload fmMain

End Sub

Private Sub tmUpdate_Timer()
    ' 異步讀取
    Call AsyncRead
    
End Sub

Private Sub txbBar_KeyPress(index As Integer, KeyAscii As Integer)
    Dim strData As String
    Dim vtItemData(1) As Variant
    Dim lError() As Long

    ' 是回車鍵?
    If KeyAscii = Asc(vbCr) Then
        ' 得到輸入的字符串
        strData = txbBar(index).Text
        ' 轉換成單精度浮點數
        vtItemData(1) = CSng(strData)
        
        ' 非同期寫入
        Call AsyncWrite(index, vtItemData, lError)
    End If
    
End Sub

Private Sub objTestGrp_AsyncReadComplete( _
    ByVal TransactionID As Long, ByVal NumItems As Long, _
    ClientHandles() As Long, ItemValues() As Variant, _
    Qualities() As Long, TimeStamps() As Date, Errors() As Long)
    Dim strBuf As String
    Dim nWidth As Integer
    Dim nHeight As Integer
    Dim nDrawHeight As Integer
    Dim sglScale As Single
    Dim I As Integer
    Dim index As Integer

    ' 棒圖的表示
    For I = 1 To NumItems
        ' 數據的格式化
        strBuf = Format(ItemValues(I), "###.000")
        ' 得到客戶標識符
        index = ClientHandles(I)
        ' 表示數據字符串
        lbBar(index).Caption = strBuf
        ' 計算棒的寬和高
        nWidth = picBar(index).ScaleWidth
        nHeight = picBar(index).ScaleHeight
        sglScale = ItemValues(I) / 100
        nDrawHeight = CInt(nHeight * sglScale)
        ' 清除現棒圖
        picBar(index).Cls
        ' 繪制棒圖
        picBar(index).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), _
            RGB(255, 0, 0), BF
    Next

End Sub

Private Sub objTestGrp_AsyncWriteComplete( _
    ByVal TransactionID As Long, ByVal NumItems As Long, _
    ClientHandles() As Long, Errors() As Long)

End Sub

Private Sub objTestGrp_DataChange( _
    ByVal TransactionID As Long, ByVal NumItems As Long, _
    ClientHandles() As Long, ItemValues() As Variant, _
    Qualities() As Long, TimeStamps() As Date)
    Dim strBuf As String
    Dim nWidth As Integer
    Dim nHeight As Integer
    Dim nDrawHeight As Integer
    Dim sglScale As Single
    Dim I As Integer
    Dim index As Integer

    ' 棒圖的表示
    For I = 1 To NumItems
        ' 數據的格式化
        strBuf = Format(ItemValues(I), "###.000")
        ' 得到客戶標識符
        index = ClientHandles(I)
        ' 表示數據字符串
        lbBar(index).Caption = strBuf
        ' 計算棒的寬和高
        nWidth = picBar(index).ScaleWidth
        nHeight = picBar(index).ScaleHeight
        sglScale = ItemValues(I) / 100
        nDrawHeight = CInt(nHeight * sglScale)
        ' 清除現棒圖
        picBar(index).Cls
        ' 繪制棒圖
        picBar(index).Line (0, nHeight - nDrawHeight)-(nWidth, nHeight), _
            RGB(255, 0, 0), BF
    Next

End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青椒成人免费视频| 亚洲免费观看视频| 激情五月激情综合网| 日韩欧美亚洲国产另类| 麻豆91在线播放免费| 精品对白一区国产伦| 国内精品伊人久久久久影院对白| 精品国产一区二区三区四区四 | 亚洲图片激情小说| 色偷偷一区二区三区| 亚洲一区二区黄色| 日韩欧美国产一区二区三区| 国产999精品久久久久久| 国产精品福利一区二区| 欧美性感一区二区三区| 免费看日韩a级影片| 中文字幕va一区二区三区| 色欧美88888久久久久久影院| 午夜精品福利一区二区三区蜜桃| 精品国产sm最大网站免费看| 94色蜜桃网一区二区三区| 视频在线在亚洲| 国产喷白浆一区二区三区| 91一区一区三区| 紧缚捆绑精品一区二区| 国产精品国产自产拍在线| 欧美日韩国产精选| 国产一区二区三区免费看 | 亚洲综合在线电影| 日韩欧美精品在线| 99国内精品久久| 日本 国产 欧美色综合| 国产精品美女一区二区三区| 欧美丰满少妇xxxxx高潮对白| 国产精品资源在线看| 亚洲国产一区二区视频| 精品国产免费人成在线观看| 97se狠狠狠综合亚洲狠狠| 免费观看久久久4p| 亚洲免费色视频| 久久精品一区二区| 91精品中文字幕一区二区三区| 99久久久国产精品| 国产一区二区久久| 午夜精品一区二区三区电影天堂 | 中文字幕在线观看不卡| 日韩网站在线看片你懂的| 色综合久久中文字幕综合网| 国产呦萝稀缺另类资源| 天天色综合天天| 亚洲免费在线看| 国产免费观看久久| 精品盗摄一区二区三区| 欧美卡1卡2卡| 欧美一a一片一级一片| 成人高清免费观看| 国产尤物一区二区| 久久精品国产第一区二区三区| 亚洲乱码精品一二三四区日韩在线| 久久亚洲二区三区| 精品国产sm最大网站免费看| 欧美精品丝袜中出| 欧美日韩亚洲综合在线| 一本久道中文字幕精品亚洲嫩| 国产精品一区免费视频| 蜜臀av一区二区在线观看| 日韩国产在线观看一区| 亚洲成人免费视频| 亚洲一区二区三区四区在线| 一区二区三区欧美日韩| 亚洲日本va午夜在线电影| 国产精品毛片高清在线完整版 | 国产精品国产馆在线真实露脸| 国产午夜精品一区二区三区视频| 日韩欧美中文一区二区| 欧美电影免费观看高清完整版在 | 精品国产免费人成在线观看| 日韩一级黄色片| 欧美一区二区三区小说| 欧美一区二区在线免费播放| 在线观看91av| 日韩三级伦理片妻子的秘密按摩| 777a∨成人精品桃花网| 337p亚洲精品色噜噜| 欧美一二区视频| 欧美tickling挠脚心丨vk| 久久综合精品国产一区二区三区| 久久亚洲精华国产精华液 | 一区二区在线观看视频| 一区二区在线观看视频| 亚洲第一在线综合网站| 午夜视黄欧洲亚洲| 激情伊人五月天久久综合| 国产精品888| 97精品久久久午夜一区二区三区| 欧美亚洲一区二区三区四区| 欧美一区二区二区| 精品日韩在线一区| 国产欧美精品日韩区二区麻豆天美| 国产精品乱码人人做人人爱| 亚洲一区二区三区视频在线播放| 亚洲成av人片| 国产精品一区专区| 日本高清成人免费播放| 3d动漫精品啪啪一区二区竹菊| 欧美一区二区三区播放老司机| 精品成人免费观看| 18欧美亚洲精品| 天堂va蜜桃一区二区三区| 国产一区二区伦理| 在线视频国内一区二区| 欧美成人官网二区| 亚洲欧洲韩国日本视频| 天堂久久久久va久久久久| 韩国欧美国产1区| 欧美亚洲动漫精品| 国产欧美久久久精品影院| 午夜精品福利视频网站| 国产乱子伦一区二区三区国色天香 | 成人av影视在线观看| 欧美亚洲国产一区在线观看网站| 日韩一级二级三级精品视频| 国产精品久久久久久久岛一牛影视 | 欧洲av一区二区嗯嗯嗯啊| 精品国产精品网麻豆系列 | 中文幕一区二区三区久久蜜桃| 午夜欧美电影在线观看| 大白屁股一区二区视频| 91精品国产综合久久久蜜臀粉嫩 | 欧美三电影在线| 精品久久一区二区三区| 一区二区三区免费| 国产激情精品久久久第一区二区| 色乱码一区二区三区88| 国产日韩精品一区二区三区| 天天综合天天做天天综合| 成人ar影院免费观看视频| 日韩欧美二区三区| 亚洲一级片在线观看| 成人午夜短视频| 久久夜色精品国产噜噜av| 日韩精品视频网| 91国产丝袜在线播放| 国产精品国产三级国产aⅴ入口| 六月丁香婷婷色狠狠久久| 欧美中文字幕一二三区视频| 中文字幕国产一区二区| 国产一区二区调教| 日韩精品资源二区在线| 亚洲大片精品永久免费| 在线精品视频免费观看| 中文字幕一区二区在线观看| 国产精品影视网| 精品国产91亚洲一区二区三区婷婷| 日韩专区中文字幕一区二区| 欧美日韩国产天堂| 亚洲一区二区在线观看视频| 91在线视频在线| 国产精品毛片高清在线完整版| 国产一区二区福利视频| 欧美精品一区二区精品网| 日本女人一区二区三区| 欧美精品黑人性xxxx| 亚洲国产日韩综合久久精品| 欧美性猛交xxxx乱大交退制版| 一区二区在线观看不卡| 欧美视频在线观看一区二区| 亚洲一区二区三区中文字幕在线| 欧美色图在线观看| 婷婷开心激情综合| 欧美一级日韩一级| 麻豆精品新av中文字幕| 欧美不卡一区二区三区| 看片网站欧美日韩| 欧美一级xxx| 久久不见久久见中文字幕免费| 久久综合国产精品| 国产福利91精品| 亚洲丝袜制服诱惑| 91国偷自产一区二区三区成为亚洲经典 | 欧美日韩三级一区| 香蕉成人伊视频在线观看| 欧美一区二区二区| 狠狠久久亚洲欧美| 久久久久久夜精品精品免费| 东方aⅴ免费观看久久av| 国产偷国产偷亚洲高清人白洁 | 免费人成黄页网站在线一区二区| 精品国产一区久久| 国产成人精品免费看| 日韩伦理av电影| 欧美顶级少妇做爰| 精品一区二区三区不卡| 国产精品亲子伦对白| 91国偷自产一区二区三区观看| 日本麻豆一区二区三区视频| 久久久久久久性| 一本色道**综合亚洲精品蜜桃冫| 日韩国产高清影视| 国产欧美va欧美不卡在线|