<big id="a5mua"></big>

      <tt id="a5mua"><dfn id="a5mua"></dfn></tt>
      <wbr id="a5mua"><sup id="a5mua"></sup></wbr>

        
        

      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        dongxuan24
        級別: 正式會員
        精華主題: 0
        發帖數量: 30 個
        工控威望: 96 點
        下載積分: 536 分
        在線時間: 6(小時)
        注冊時間: 2010-01-14
        最后登錄: 2012-07-12
        查看dongxuan24的 主題 / 回貼
        樓主  發表于: 2010-08-19 10:46
        Private Sub Combo5_Click()
           Select Case Combo5.Text
             Case "On"
                Instruction = &H11
             Case "Off"
                Instruction = &H10
           End Select
        End Sub

        Private Sub Command1_Click()
           Dim OutByte(0 To 32) As Byte
           Dim Num As Double
           Dim Num2 As String
           Dim L
           Dim Lenth2 As String
           Dim ByteXor As Byte
           Dim StrXor As String
          
           ReadPlc = True
           If Text1.Text = "" Then
             MsgBox "請輸入寄存器地址", vbOKOnly, "系統提示"
           Else
             Num = Val(Text1.Text)
             Num2 = Hex(Num)
             Lenth2 = Hex(Lenth)
             ByteXor = 0
            
             OutByte(0) = 103           '起始字符
             OutByte(1) = 5             '讀寫指令
             OutByte(2) = Asc(0)        'PLC站地址
             OutByte(3) = Asc(2)
             OutByte(4) = Asc(Mid(Address_R, 1, 1))    '寄存器類型
             OutByte(5) = Asc(Mid(Address_R, 2, 1))
             OutByte(6) = Asc(Mid(Address_R, 3, 1))
             OutByte(7) = Asc(Mid(Address_R, 4, 1))
            
             L = Len(Num2)                          '寄存器地址
             For i = 0 To L - 1
               OutByte(11 - i) = Asc(Mid(Num2, L - i, 1))
             Next i
             For i = 0 To 3 - L
               OutByte(11 - L - i) = Asc(0)
             Next i
            
             L = Len(Lenth2)                      '讀取字節數
             If L = 2 Then
               OutByte(12) = Asc(Mid(Lenth2, 1, 1))
               OutByte(13) = Asc(Mid(Lenth2, 2, 1))
             Else
               OutByte(12) = Asc(0)
               OutByte(13) = Asc(Mid(Lenth2, 1, 1))
             End If
            
             For i = 1 To 29                        'BCC校驗碼計算
               ByteXor = ByteXor Xor OutByte(i)
             Next i
             StrXor = Hex(ByteXor)
             If Len(StrXor) = 2 Then
               OutByte(30) = Asc(Mid(StrXor, 1, 1))
               OutByte(31) = Asc(Mid(StrXor, 2, 1))
             Else
               OutByte(30) = Asc(0)
               OutByte(31) = Asc(Mid(StrXor, 1, 1))
             End If
             OutByte(32) = 71
           End If
           MSComm1.Output = OutByte
        End Sub


        Private Sub Command2_Click()
        Dim OutByte(0 To 32) As Byte
           Dim Num As Double
           Dim Num2 As String
           Dim L
           Dim Lenth2 As String
           Dim ByteXor As Byte
           Dim StrXor As String
           Dim Data_Send  As Double
           Dim Data_Send2 As String
           Dim SetLenth2 As String
          
           Read = False
           If Text2.Text = "" Then
             MsgBox "請輸入寄存器地址", vbOKOnly, "系統提示"
           Else
             Num = Val(Text2.Text)
             Num2 = Hex(Num)
            
             SetLenth2 = Hex(SetLenth * 2)
            
             Data_Send = Val(Text4.Text)
             Data_Send2 = Hex(Data_Send)
              
             ByteXor = 0
            
             OutByte(0) = 103           '起始字符
             OutByte(1) = 6             '指令寫
             OutByte(2) = Asc(0)        'PLC站地址
             OutByte(3) = Asc(2)
             OutByte(4) = Asc(Mid(Address_W, 1, 1))      '寄存器類型
             OutByte(5) = Asc(Mid(Address_W, 2, 1))
             OutByte(6) = Asc(Mid(Address_W, 3, 1))
             OutByte(7) = Asc(Mid(Address_W, 4, 1))
            
             L = Len(Num2)                             '寄存器地址
             For i = 0 To L - 1
               OutByte(11 - i) = Asc(Mid(Num2, L - i, 1))
             Next i
             For i = 0 To 3 - L
               OutByte(11 - L - i) = Asc(0)
             Next i
            
             L = Len(SetLenth2)            '寫入數據的長度
             If L = 2 Then
               OutByte(12) = Asc(Mid(SetLenth2, 1, 1))
               OutByte(13) = Asc(Mid(SetLenth2, 2, 1))
             Else
               OutByte(12) = Asc(0)
               OutByte(13) = Asc(Mid(SetLenth2, 1, 1))
             End If
             '寫入PLC的數據
             L = Len(Data_Send2)
             For i = 1 To L
               OutByte(14 + 2 * SetLenth - i) = Asc(Mid(Data_Send2, L - i + 1, 1))
             Next i
             For i = 1 To SetLenth * 2 - L
               OutByte(13 + i) = Asc(0)
             Next i
            
            
            
            
             '寫入PLC的數據
             For i = 1 To 29                     'BCC校驗碼計算
               ByteXor = ByteXor Xor OutByte(i)
             Next i
             StrXor = Hex(ByteXor)
             If Len(StrXor) = 2 Then
               OutByte(30) = Asc(Mid(StrXor, 1, 1))
               OutByte(31) = Asc(Mid(StrXor, 2, 1))
             Else
               OutByte(30) = Asc(0)
               OutByte(31) = Asc(Mid(StrXor, 1, 1))
             End If
             OutByte(32) = 71
           End If
           MSComm1.Output = OutByte
        End Sub

        Private Sub Command3_Click()
           Dim OutByte(0 To 32) As Byte
           Dim Num As Double
           Dim Num2 As String
           Dim L
           Dim Lenth2 As String
           Dim ByteXor As Byte
           Dim StrXor As String
          
           ReadPlc = False
           If Text6.Text = "" Then
             MsgBox "請輸入寄存器地址", vbOKOnly, "系統提示"
           Else
             Num = Val(Text6.Text)
             Num2 = Hex(Num)
             Lenth2 = Hex(Lenth)
             ByteXor = 0
            
             OutByte(0) = 103                         '起始字符
             OutByte(1) = Instruction                 '讀寫指令
             OutByte(2) = Asc(0)                      'PLC站地址
             OutByte(3) = Asc(2)
             OutByte(4) = Asc(Mid(Address_B, 1, 1))     '寄存器類型
             OutByte(5) = Asc(Mid(Address_B, 2, 1))
             OutByte(6) = Asc(Mid(Address_B, 3, 1))
             OutByte(7) = Asc(Mid(Address_B, 4, 1))
            
             L = Len(Num2)                           '寄存器地址
             For i = 0 To L - 1
               OutByte(11 - i) = Asc(Mid(Num2, L - i, 1))
             Next i
             For i = 0 To 3 - L
               OutByte(11 - L - i) = Asc(0)
             Next i
            
                                                     '位地址
            
               OutByte(12) = Asc(Mid(Bit, 1, 1))
               OutByte(13) = Asc(Mid(Bit, 2, 1))
            

            
             For i = 1 To 29                        'BCC校驗碼計算
               ByteXor = ByteXor Xor OutByte(i)
             Next i
             StrXor = Hex(ByteXor)
             If Len(StrXor) = 2 Then
               OutByte(30) = Asc(Mid(StrXor, 1, 1))
               OutByte(31) = Asc(Mid(StrXor, 2, 1))
             Else
               OutByte(30) = Asc(0)
               OutByte(31) = Asc(Mid(StrXor, 1, 1))
             End If
             OutByte(32) = 71
           End If
           MSComm1.Output = OutByte
        End Sub

        Private Sub Form_Load()
           Instruction = &H11
           Address_R = "0100"
           Address_W = "0100"
           Address_B = "0100"
           Bit = "00"
           Lenth = 2
           SetLenth = 2
           MSComm1.CommPort = 1
           MSComm1.Settings = "9600,n,8,1"
           MSComm1.PortOpen = True
            If (Err) Then
               MsgBox "端口打開錯誤", vbOKOnly, "系統信息"
            End If
           MSComm1.RThreshold = 20
           MSComm1.InputMode = 1
           MSComm1.InBufferCount = 0
        End Sub



        Private Sub MSComm1_OnComm()
          Dim Temp() As Byte
          Dim Read(0 To 32) As Byte
          Dim BBC As Byte
          Dim XorByte As Byte
          Dim BBC_Temp As Byte
          Dim Value As Double
          Dim Trans(1 To 8) As Byte
          Dim TransValue As Double
          
          Value = 0
          XorByte = 0
          Temp = MSComm1.Input
          If ReadPlc = True Then
          
          If Temp(LBound(Temp)) = 103 And Temp(LBound(Temp) + 1) = 1 Then         '如果起始正確
              
              For i = 0 To 20
                Read(i) = Temp(i)
              Next i
              
              For i = 2 To 17                     '計算校驗碼
                 XorByte = XorByte Xor Read(i)
              Next i
              
              For i = 2 To 19
                If Read(i) > &H40 Then
                   Read(i) = Read(i) - &H37
                Else
                   Read(i) = Read(i) - &H30
                End If
              Next
              BBC_Temp = Read(19) + Read(18) * &H10
              If XorByte = BBC_Temp Then
              
                For i = 2 To Lenth * 2 + 1
                  
                  Value = Value * &H10 + Read(i)
                Next i
              Text3.Text = Value
              End If
          End If
          Else
             If Temp(0) = 103 And Temp(1) = 2 Then
               MsgBox "參數設定成功", vbOKOnly, "系統提示"
             End If
          End If
        End Sub


        尤其是這幾句,希望能具體解釋一下,多謝


        OutByte(0) = 103           '起始字符
             OutByte(1) = 5             '讀寫指令
             OutByte(2) = Asc(0)        'PLC站地址
             OutByte(3) = Asc(2)
             OutByte(4) = Asc(Mid(Address_R, 1, 1))    '寄存器類型
             OutByte(5) = Asc(Mid(Address_R, 2, 1))
             OutByte(6) = Asc(Mid(Address_R, 3, 1))
             OutByte(7) = Asc(Mid(Address_R, 4, 1))
            
             L = Len(Num2)                          '寄存器地址
             For i = 0 To L - 1
               OutByte(11 - i) = Asc(Mid(Num2, L - i, 1))
             Next i
             For i = 0 To 3 - L
               OutByte(11 - L - i) = Asc(0)
             Next i
            
             L = Len(Lenth2)                      '讀取字節數
             If L = 2 Then
               OutByte(12) = Asc(Mid(Lenth2, 1, 1))
               OutByte(13) = Asc(Mid(Lenth2, 2, 1))
             Else
               OutByte(12) = Asc(0)
               OutByte(13) = Asc(Mid(Lenth2, 1, 1))
             End If
            
             For i = 1 To 29                        'BCC校驗碼計算
               ByteXor = ByteXor Xor OutByte(i)
             Next i
             StrXor = Hex(ByteXor)
             If Len(StrXor) = 2 Then
               OutByte(30) = Asc(Mid(StrXor, 1, 1))
               OutByte(31) = Asc(Mid(StrXor, 2, 1))
             Else
               OutByte(30) = Asc(0)
               OutByte(31) = Asc(Mid(StrXor, 1, 1))
             End If
             OutByte(32) = 71
           End If
           MSComm1.Output = OutByte
        End Sub


        Private Sub Command2_Click()
        Dim OutByte(0 To 32) As Byte
           Dim Num As Double
           Dim Num2 As String
           Dim L
           Dim Lenth2 As String
           Dim ByteXor As Byte
           Dim StrXor As String
           Dim Data_Send  As Double
           Dim Data_Send2 As String
           Dim SetLenth2 As String
          
           Read = False
           If Text2.Text = "" Then
             MsgBox "請輸入寄存器地址", vbOKOnly, "系統提示"
           Else
             Num = Val(Text2.Text)
             Num2 = Hex(Num)
            
             SetLenth2 = Hex(SetLenth * 2)
            
             Data_Send = Val(Text4.Text)
             Data_Send2 = Hex(Data_Send)
              
             ByteXor = 0
            
             OutByte(0) = 103           '起始字符
             OutByte(1) = 6             '指令寫
             OutByte(2) = Asc(0)        'PLC站地址
             OutByte(3) = Asc(2)
             OutByte(4) = Asc(Mid(Address_W, 1, 1))      '寄存器類型
             OutByte(5) = Asc(Mid(Address_W, 2, 1))
             OutByte(6) = Asc(Mid(Address_W, 3, 1))
             OutByte(7) = Asc(Mid(Address_W, 4, 1))
            
             L = Len(Num2)                             '寄存器地址
             For i = 0 To L - 1
               OutByte(11 - i) = Asc(Mid(Num2, L - i, 1))
             Next i
             For i = 0 To 3 - L
               OutByte(11 - L - i) = Asc(0)
             Next i
            
             L = Len(SetLenth2)            '寫入數據的長度
             If L = 2 Then
               OutByte(12) = Asc(Mid(SetLenth2, 1, 1))
               OutByte(13) = Asc(Mid(SetLenth2, 2, 1))
             Else
               OutByte(12) = Asc(0)
               OutByte(13) = Asc(Mid(SetLenth2, 1, 1))
             End If
             '寫入PLC的數據
             L = Len(Data_Send2)
             For i = 1 To L
               OutByte(14 + 2 * SetLenth - i) = Asc(Mid(Data_Send2, L - i + 1, 1))
             Next i
             For i = 1 To SetLenth * 2 - L
               OutByte(13 + i) = Asc(0)
             Next i
            

        主站蜘蛛池模板: 日韩幕无线码一区中文| 国产精品一区二区三区三级| 国产亚欧女人天堂AV在线| 国产精品老年自拍视频| 99福利一区二区视频| 国产白嫩护士在线播放| 亚欧洲乱码视频在线专区| 精品少妇后入一区二区三区| 亚洲午夜理论无码电影| 婷婷开心色四房播播| 青青草视频华人绿色在线| 国产久免费热视频在线观看| 国产精品一品二区三区的使用体验| 国产一区二区三区四区激情| 亚洲男人的天堂久久香蕉| www国产精品内射熟女| 伊人久久精品无码麻豆一区| 国产成人拍精品视频午夜网站 | 日韩熟女乱综合一区二区| 亚洲国产午夜精品理论片| 亚洲精品不卡av在线播放 | 国产精品久久久久精品日日| 五月天天天综合精品无码| 久久久噜噜噜久久| 亚洲国产香蕉视频欧美| 亚洲蜜臀av乱码久久| 无码人妻精品一区二区| 人妻中文字幕精品一页| 亚洲国产欧美另类va在线观看| 蜜桃成熟色综合久久av| 18禁无遮挡啪啪无码网站| 久久96热在精品国产高清| 国产精品亚欧美一区二区三区| 亚洲欧美日韩综合二区三区| 国产午夜A理论毛片| 性xxxx视频播放| 亚洲成色精品一二三区| 精品久久杨幂国产杨幂| 涩涩爱狼人亚洲一区在线| 亚洲丶国产丶欧美一区二区三区| 99久久国产综合精品色|