久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: VB.NET與Q系列以太網(wǎng)通訊 [打印本頁]

作者: hdfd2001    時(shí)間: 2018-6-18 11:42
標(biāo)題: VB.NET與Q系列以太網(wǎng)通訊
Imports System.Net
Imports System.Runtime.InteropServices
Public Class Form1

    Dim Handle1 As Int32
    Dim EntLink1 As Boolean
    Dim ScanCount1 As Long
    Dim PLC As New EntQsPlc_Asc.PlcClient'EntQsPlc_ASC.DLL是Q系列以太網(wǎng)通訊組件
    Public Declare Function timeGetTime Lib "winmm.dll" () As UInt32

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.CenterToScreen()
        cmbReadMry.Items.Clear()
        cmbReadMry.Items.Add("X")
        cmbReadMry.Items.Add("Y")
        cmbReadMry.Items.Add("M")
        cmbReadMry.Items.Add("D")
        cmbReadMry.Items.Add("R")
        cmbReadMry.Items.Add("Z")
        '
        cmbWriteMry.Items.Clear()
        cmbWriteMry.Items.Add("X")
        cmbWriteMry.Items.Add("Y")
        cmbWriteMry.Items.Add("M")
        cmbWriteMry.Items.Add("D")
        cmbWriteMry.Items.Add("R")
        cmbWriteMry.Items.Add("Z")
        '
        cmbBitMry.Items.Clear()
        cmbBitMry.Items.Add("X")
        cmbBitMry.Items.Add("Y")
        cmbBitMry.Items.Add("M")
        '
        cmbReadType.Items.Clear()
        cmbReadType.Items.Add("INT16")
        cmbReadType.Items.Add("UINT16")
        cmbReadType.Items.Add("DINT32")
        cmbReadType.Items.Add("HEX32")
        cmbReadType.Items.Add("REAL32")
        cmbReadType.Items.Add("BIN16")
        '
        cmbWriteType.Items.Clear()
        cmbWriteType.Items.Add("INT16")
        cmbWriteType.Items.Add("UINT16")
        cmbWriteType.Items.Add("DINT32")
        cmbWriteType.Items.Add("HEX32")
        cmbWriteType.Items.Add("REAL32")
        cmbWriteType.Items.Add("BIN16")

        cmbReadMry.SelectedIndex = 3
        cmbWriteMry.SelectedIndex = 3
        cmbBitMry.SelectedIndex = 2
        cmbReadType.SelectedIndex = 0
        cmbWriteType.SelectedIndex = 0
        lstRead.Items.Clear()
        txtWrite.Text = ""
        '
        cmbCmdType.SelectedIndex = 0
    End Sub


    Private Sub butLink_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butLink.Click
        Dim re As Short
        Dim restr As String = ""
        re = PLC.EntLink(Trim(txtLocalIP.Text), Val(txtLocalPort.Text), Trim(txtRemoteIP.Text), Val(txtRemotePort.Text), "DEMO", Handle1, 1000, CBool(cmbCmdType.SelectedIndex))
        txtReLink.Text = re.ToString
        If re = 0 Then
            EntLink1 = True
            MsgBox("PLC聯(lián)接成功! ")
        Else
            EntLink1 = False
            MsgBox("PLC聯(lián)接失敗: " & restr)
        End If
    End Sub           


    Private Sub butClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butClose.Click
        Dim re As Short
        If Not EntLink1 Then
            MsgBox("還未與PLC建立聯(lián)接!")
            Exit Sub
        End If
        re = PLC.DeLink(Handle1)
        txtReClose.Text = re.ToString
    End Sub



    Private Sub butRead_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butRead.Click
        Dim re As Short
        Dim i As Short
        Dim RD() As Object
        ReDim RD(Val(txtReadCnt.Text - 1))
        If Not EntLink1 Then
            MsgBox("還未與PLC建立聯(lián)接!")
            ' Exit Sub
        End If
        Dim mry As EntQsPlc_Asc.PlcClient.PlcMemory = cmbReadMry.SelectedIndex + 1
        Dim typ As EntQsPlc_Asc.PlcClient.DataType = cmbReadType.SelectedIndex + 1
        re = PLC.CmdRead(Handle1, mry, typ, CInt(txtReadAdd.Text), CUShort(txtReadCnt.Text), RD)
        txtReRead.Text = re.ToString
        lstRead.Items.Clear()
        For i = 0 To UBound(RD) Step 1
            If Not IsNothing(RD(i)) Then lstRead.Items.Add(RD(i))
        Next i
        If re <> 0 Then
            Timer1.Enabled = False
            butScan.Text = "Cycle R/W"
        End If
    End Sub



    Private Sub butWrite_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butWrite.Click
        Dim re As Short
        Dim i As Short
        Dim temp() As String
        Dim WD() As Object
        If Not EntLink1 Then
            MsgBox("還未與PLC建立聯(lián)接!")
            Exit Sub
        End If
        ReDim WD(Val(txtWriteCnt.Text) - 1)
        temp = Split(txtWrite.Text, vbCrLf)
        For i = 0 To UBound(WD) Step 1
            If i > UBound(temp) Then
                WD(i) = 0
            Else
                WD(i) = Trim(temp(i))
            End If
        Next i
        Dim mry As EntQsPlc_Asc.PlcClient.PlcMemory = cmbWriteMry.SelectedIndex + 1
        Dim typ As EntQsPlc_Asc.PlcClient.DataType = cmbWriteType.SelectedIndex + 1
        re = PLC.CmdWrite(Handle1, mry, typ, CInt(txtWriteAdd.Text), CUShort(txtWriteCnt.Text), WD)
        txtReWrite.Text = re.ToString
        If re <> 0 Then
            Timer1.Enabled = False
            butScan.Text = "Cycle R/W"
        End If
    End Sub


    Private Sub butScan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butScan.Click
        If Not EntLink1 Then
            MsgBox("還未與PLC建立聯(lián)接!")
            Exit Sub
        End If
        Timer1.Enabled = Not Timer1.Enabled
        If Timer1.Enabled Then
            ScanCount1 = 0
            butScan.Text = "Stop R/W"
        Else
            butScan.Text = "Cycle R/W"
        End If
    End Sub



    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Timer1.Enabled = False
        Dim tim As Integer = timeGetTime
        If Not EntLink1 Then
            MsgBox("還未與PLC建立聯(lián)接!")
            Exit Sub
        End If
        '
        Call butRead_Click(Nothing, Nothing)
        Call butWrite_Click(Nothing, Nothing)
        '
        If (Val(txtReRead.Text) < 0) Or (Val(txtReWrite.Text) < 0) Then
            butScan.Text = "Cycle R/W"
            Exit Sub
        Else
            ScanCount1 += 1
            txtScanCnt.Text = ScanCount1
            txtScanPrd.Text = (timeGetTime - tim) & "ms"
        End If
        Timer1.Enabled = True
    End Sub

    Private Sub butBitTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butBitTest.Click
        If Not EntLink1 Then
            MsgBox("還未與PLC建立聯(lián)接!")
            Exit Sub
        End If
        Dim rd As Boolean
        Dim re As Short
        Dim mry As EntQsPlc_Asc.PlcClient.PlcMemory = cmbBitMry.SelectedIndex + 1
        re = PLC.Bit_Test(Handle1, mry, CUShort(txtBitAdd.Text), rd)
        txtBitTest.Text = rd
        txtReBit.Text = re
    End Sub




    Private Sub butBitSet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butBitSet.Click
        If Not EntLink1 Then
            MsgBox("還未與PLC建立聯(lián)接!")
            Exit Sub
        End If
        Dim re As Short
        re = PLC.Bit_Set(Handle1, cmbBitMry.SelectedIndex + 1, Val(txtBitAdd.Text))
        txtReBit.Text = re
    End Sub



    Private Sub butBitRst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butBitRst.Click
        If Not EntLink1 Then
            MsgBox("還未與PLC建立聯(lián)接!")
            Exit Sub
        End If
        Dim re As Short
        re = PLC.Bit_Reset(Handle1, cmbBitMry.SelectedIndex + 1, Val(txtBitAdd.Text))
        txtReBit.Text = re
    End Sub

End Class






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费看黄色小视频 | 黄色大片视频 | 欧美一级网站 | 超碰av人人 | 成人在线视频免费观看 | 国产精品嫩草影院精东 | 久久精品黄色 | 中文字幕高清 | 一区二区三区国产 | 久久成人亚洲 | 秋霞电影一区二区三区 | 久久久久久久电影 | 在线婷婷| 成人免费视频网站 | 91av在线免费 | 亚洲视频一区二区三区四区 | 亚洲精品久久嫩草网站秘色 | 欧美人成在线视频 | 亚洲av毛片成人精品 | 在线观看免费高清av | 日本亚洲欧美 | 99精品电影 | 亚洲一区二区中文字幕 | 日本色婷婷 | 日本久久综合 | 精品乱码一区二区三四区视频 | 亚洲精品中文字幕 | 久久久久久久久久久久一区二区 | 亚洲a视频 | 日韩欧美专区 | 精品久久久久久久久久 | 国产成人精品免费视频大全最热 | 亚洲精品电影在线观看 | 中文字幕亚洲一区 | 日韩av在线一区二区三区 | 人人爽人人爽人人片av | 日韩av一区二区在线 | 国产成人福利 | 黄色网址在线免费播放 | 欧美色a v| 久久久久久亚洲精品 |