> 文档中心 > Vb6荣士Udp Rtu通讯IC卡网络读写源码

Vb6荣士Udp Rtu通讯IC卡网络读写源码

网络读写器介绍: 

https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-17663462238.25.454be728NKUIW8&id=22173768697https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-17663462238.25.454be728NKUIW8&id=22173768697

Private Sub Command1_Click()Dim sendbuf(16) As ByteDim cardnumberbuf(3) As ByteDim I As IntegerDim strls, sendstr As Stringstrls = Trim(Text1.Text) + "00000000"For I = 0 To 3    cardnumberbuf(I) = "&H" + Mid(strls, I * 2 + 1, 2)Nextsendbuf(0) = &H3B '命令字sendbuf(1) = Val(Form1.Text6) Mod 256 '机号sendbuf(2) = Int(Val(Form1.Text6) / 256) Mod 256sendbuf(3) = 1   '本次操作的区数'卡号 不为零表示操作指定卡号的卡sendbuf(4) = cardnumberbuf(0)sendbuf(5) = cardnumberbuf(1)sendbuf(6) = cardnumberbuf(2)sendbuf(7) = cardnumberbuf(3) '区号sendbuf(8) = Combo1.ListIndex    '为1以B密码来验证旧密码,为0以A密码来验证旧密码sendbuf(9) = 0If Combo2.ListIndex > 0 Then    sendbuf(9) = sendbuf(9) + 1End If'旧密码strls = Trim(Text2.Text) + "FFFFFFFFFFFF"For I = 0 To 5    sendbuf(10 + I) = "&H" + Mid(strls, I * 2 + 1, 2)NextIf Form1.Check1.Value = 1 Then    Form1.Winsock1.RemoteHost = "255.255.255.255" '目标IP地址    Form1.Winsock1.RemotePort = 39169Else    Form1.Winsock1.RemoteHost = Form1.Text1.Text + "." + Form1.Text2.Text + "." + Form1.Text3.Text + "." + Form1.Text4.Text '目标IP地址    Form1.Winsock1.RemotePort = Form1.Text38End IfForm1.Winsock1.SendData sendbufIf Form1.Option9.Value = True Then    sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + "   ", 1, 22) + "电脑发送:"    For I = 0 To 15      sendstr = sendstr + Trim(Str(sendbuf(I))) + " "    Next    Form1.List1.AddItem (sendstr)Else    sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + "   ", 1, 22) + "电脑发送:"    For I = 0 To 15      sendstr = sendstr + Right("00" + Hex(sendbuf(I)), 2) + " "    Next    Form1.List1.AddItem (sendstr)    Form1.List1.ListIndex = Form1.List1.ListCount - 1End IfEnd SubPrivate Sub Command2_Click()Dim sendbuf(68) As ByteDim cardnumberbuf(3) As ByteDim writecardbuf(48) As ByteDim I, J As IntegerDim strls, sendstr As Stringstrls = Trim(Text1.Text) + "00000000"For I = 0 To 3    cardnumberbuf(I) = "&H" + Mid(strls, I * 2 + 1, 2)Nextstrls = Trim(Text16.Text) + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"J = 96 ' Len(strls) 一个区48个字节J = Int(J / 2)For I = 0 To J - 1    writecardbuf(I) = "&H" + Mid(strls, I * 2 + 1, 2)Nextsendbuf(0) = &H3D '命令字sendbuf(1) = Val(Form1.Text6) Mod 256 '机号sendbuf(2) = Int(Val(Form1.Text6) / 256) Mod 256sendbuf(3) = 1   '本次操作的区数'卡号 不为零表示操作指定卡号的卡sendbuf(4) = cardnumberbuf(0)sendbuf(5) = cardnumberbuf(1)sendbuf(6) = cardnumberbuf(2)sendbuf(7) = cardnumberbuf(3) '区号sendbuf(8) = Combo1.ListIndex    '为1以B密码来验证旧密码,为0以A密码来验证旧密码sendbuf(9) = 0If Combo2.ListIndex > 0 Then    sendbuf(9) = sendbuf(9) + 1End If'旧密码strls = Trim(Text2.Text) + "FFFFFFFFFFFF"For I = 0 To 5    sendbuf(10 + I) = "&H" + Mid(strls, I * 2 + 1, 2)Next'卡数据For I = 0 To 47    sendbuf(16 + I) = writecardbuf(I)Next'抗干扰sendbuf(64) = "&H55"sendbuf(65) = "&HAA"sendbuf(66) = "&H66"sendbuf(67) = "&H99"If Form1.Check1.Value = 1 Then    Form1.Winsock1.RemoteHost = "255.255.255.255" '目标IP地址    Form1.Winsock1.RemotePort = 39169Else    Form1.Winsock1.RemoteHost = Form1.Text1.Text + "." + Form1.Text2.Text + "." + Form1.Text3.Text + "." + Form1.Text4.Text '目标IP地址    Form1.Winsock1.RemotePort = Form1.Text38End IfForm1.Winsock1.SendData sendbufIf Form1.Option9.Value = True Then    sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + "   ", 1, 22) + "电脑发送:"    For I = 0 To 67      sendstr = sendstr + Trim(Str(sendbuf(I))) + " "    Next    Form1.List1.AddItem (sendstr)Else    sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + "   ", 1, 22) + "电脑发送:"    For I = 0 To 67      sendstr = sendstr + Right("00" + Hex(sendbuf(I)), 2) + " "    Next    Form1.List1.AddItem (sendstr)    Form1.List1.ListIndex = Form1.List1.ListCount - 1End IfEnd SubPrivate Sub Command3_Click()Dim sendbuf(36) As ByteDim cardnumberbuf(3) As ByteDim I, J As IntegerDim strls, sendstr As Stringstrls = Trim(Text1.Text) + "00000000"For I = 0 To 3    cardnumberbuf(I) = "&H" + Mid(strls, I * 2 + 1, 2)Nextsendbuf(0) = &H3A '命令字sendbuf(1) = Val(Form1.Text6) Mod 256 '机号sendbuf(2) = Int(Val(Form1.Text6) / 256) Mod 256sendbuf(3) = 1   '本次操作的区数'卡号 不为零表示操作指定卡号的卡sendbuf(4) = cardnumberbuf(0)sendbuf(5) = cardnumberbuf(1)sendbuf(6) = cardnumberbuf(2)sendbuf(7) = cardnumberbuf(3) '区号sendbuf(8) = Combo1.ListIndex    '为1以B密码来验证旧密码,为0以A密码来验证旧密码sendbuf(9) = 0If Combo2.ListIndex > 0 Then    sendbuf(9) = sendbuf(9) + 1End If '是否修改控制位If Check1.Value = 1 Then    sendbuf(9) = sendbuf(9) + 2 '表示修改控制位End If'是否修改B密码If Check2.Value = 1 Then    sendbuf(9) = sendbuf(9) + 4 '表示更改B密码,不加2表示不更改B密码End If '旧密码strls = Trim(Text2.Text) + "FFFFFFFFFFFF"For I = 0 To 5    sendbuf(10 + I) = "&H" + Mid(strls, I * 2 + 1, 2)Next'新A密码strls = Trim(Text3.Text) + "FFFFFFFFFFFF"For I = 0 To 5    sendbuf(16 + I) = "&H" + Mid(strls, I * 2 + 1, 2)Next'控制字strls = Trim(Text4.Text) + "FF078069"For I = 0 To 3    sendbuf(22 + I) = "&H" + Mid(strls, I * 2 + 1, 2)Next'新B密码strls = Trim(Text5.Text) + "FFFFFFFFFFFF"For I = 0 To 5    sendbuf(26 + I) = "&H" + Mid(strls, I * 2 + 1, 2)Next'抗干扰sendbuf(32) = "&H55"sendbuf(33) = "&HAA"sendbuf(34) = "&H66"sendbuf(35) = "&H99"If Form1.Check1.Value = 1 Then    Form1.Winsock1.RemoteHost = "255.255.255.255" '目标IP地址    Form1.Winsock1.RemotePort = 39169Else    Form1.Winsock1.RemoteHost = Form1.Text1.Text + "." + Form1.Text2.Text + "." + Form1.Text3.Text + "." + Form1.Text4.Text '目标IP地址    Form1.Winsock1.RemotePort = Form1.Text38End IfForm1.Winsock1.SendData sendbufIf Form1.Option9.Value = True Then    sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + "   ", 1, 22) + "电脑发送:"    For I = 0 To 35      sendstr = sendstr + Trim(Str(sendbuf(I))) + " "    Next    Form1.List1.AddItem (sendstr)Else    sendstr = Format(Now, "YYYY-MM-DD HH:MM:SS") & " SendTo:" + Mid(Form1.Winsock1.RemoteHost + ":" + Format(Form1.Winsock1.RemotePort, "0") + "   ", 1, 22) + "电脑发送:"    For I = 0 To 35      sendstr = sendstr + Right("00" + Hex(sendbuf(I)), 2) + " "    Next    Form1.List1.AddItem (sendstr)    Form1.List1.ListIndex = Form1.List1.ListCount - 1End IfEnd SubPrivate Sub Command4_Click()Text16.Text = ""End SubPrivate Sub Form_Load()Dim I As IntegerFor I = 0 To 15    Combo1.AddItem ("第 " + Format(I, "0") + " 区")NextCombo1.ListIndex = 9Combo2.AddItem ("A 密码")Combo2.AddItem ("B 密码")Combo2.ListIndex = 0    End Sub