uhf rfid reader
DESCRIPTION
UHF RFID Reader. คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน. คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน. Function การทำงาน API Mr915ApiV10.dll. Public Declare Function CommOpen Lib "Mr915ApiV10.dll" (ByRef hCom As Long, ByVal com_port As String) As Integer - PowerPoint PPT PresentationTRANSCRIPT
UHF RFID Reader
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Function การทำ�างาน API Mr915ApiV10.dll
Public Declare Function CommOpen Lib "Mr915ApiV10.dll" (ByRef hCom As Long, ByVal com_port As String) As Integer‘คำ��สั่��งในกี่�รื่เปิ�ด Port ในกี่�รื่สั่��อสั่�รื่รื่ะหว�งคำอมพิ!วเต่อรื่"กี่�บเคำรื่��องอ�นPublic Declare Function CommClose Lib "Mr915ApiV10.dll" (ByVal hCom As Long) As Integer'คำ��สั่��งในกี่�รื่ปิ�ด Port ในกี่�รื่สั่��อสั่�รื่รื่ะหว�งคำอมพิ!วเต่อรื่"กี่�บเคำรื่��องอ�นPublic Declare Function SetBaudRate Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal BaudRate As Integer, ByVal NetAddr As Byte) As Integer‘คำ��สั่��งในกี่�รื่กี่��หนดคำว�มเรื่#วในกี่�รื่สั่��อสั่�รื่ข้�อม$ลข้อง Port RS232(Serial Port)Public Declare Function ResetReader Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal NetAddr As Byte) As Integer‘คำ��สั่��งในกี่�รื่ Reboot เคำรื่��องอ�น
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Public Declare Function GetFirmwareVersion Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByRef major As Byte, ByRef minor As Byte, ByVal NetAddr As Byte) As Integer‘คำ��สั่��งในกี่�รื่อ�น Version Firmware ข้องเคำรื่��องอ�นPublic Declare Function SetRf Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal power As Byte, ByVal freq_type As Byte, ByVal NetAddr As Byte) As Integer‘คำ��สั่��งกี่�รื่กี่��หนด Power รื่ะยะกี่�รื่อ�นข้องเคำรื่��องอ�น (Power 0~30)Public Declare Function GetRf Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByRef power As Byte, ByRef freq_type As Byte, ByVal NetAddr As Byte) As Integer‘คำ��สั่��งอ�นคำ� Power รื่ะยะกี่�รื่อ�นข้องเคำรื่��องอ�น (Power 0~30)Public Declare Function SetAnt Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal ant As Byte, ByVal NetAddr As Byte) As Integer‘คำ��สั่�งในกี่�รื่ Set คำ� antennaPublic Declare Function ClearIDBuffer Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Byte) As Integer‘คำ��สั่��งในกี่�รื่ Clear Buffer ข้องเคำรื่��องอ�น
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
'===========ISO180006B Function============
Public Declare Function IsoMultiTagIdentify Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByRef Count As Long, ByRef Value As TagIds, ByVal NetAddr As Byte) As Integer
‘คำ��สั่��งในกี่�รื่อ�นข้�อม$ล Tag ISO18000-6B
Public Declare Function IsoMultiTagRead Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Long, ByRef Count As Long, ByRef Value As TagIds, ByVal NetAddr As Byte) As Integer
‘คำ��สั่��งในกี่�รื่อ�นข้�อม$ลข้อง Tag ISO1800-6B โดยสั่�ม�รื่ถรื่ะบ( Addr ในกี่�รื่อ�นได�
Public Declare Function IsoWriteTag Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Byte, ByVal Value As Byte, ByVal NetAddr As Byte) As Integer
'คำ��สั่��งในกี่�รื่เข้�ยนข้�อม$ลข้อง Tag ISO1800-6B โดยสั่�ม�รื่ถรื่ะบ( Addr ในกี่�รื่เข้�ยนได�
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Public Declare Function IsoLockTag Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Byte, ByVal NetAddr As Byte) As Integer
‘คำ��สั่��งในกี่�รื่ Lock Tag ใมให�เข้�ยนข้�อม$ลซ้ำ�+�ได�
Public Declare Function IsoQueryLock Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Byte, ByRef status As Byte, ByVal NetAddr As Byte) As Integer
‘คำ��สั่��งในกี่�รื่เช็#ดสั่ถ�นะว� Tag โดน Lock หรื่�อไม
Public Declare Function IsoSigleTagRead Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal iAddr As Long, ByRef Value As Byte, ByVal NetAddr As Byte) As Integer
‘คำ��สั่��งในกี่�รื่อ�นคำ� Tag โดยสั่�ม�รื่ถรื่ะบ( Addr ในกี่�รื่อ�นข้�อม$ลได�
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
===========EPC GEN2 Function==========
Public Declare Function Gen2MultiTagIdentify Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByRef Count As Long, ByRef Value As TagIds, ByVal NetAddr As Byte) As Integer' คำ��สั่��งในกี่�รื่อ�นข้�อม$ล Tag EPC Gen2Public Declare Function Gen2LockTag Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal MemBank As Byte, ByVal NetAddr As Byte) As Integer'คำ��สั่��งในกี่�รื่ Lock Tag ใมให�เข้�ยนข้�อม$ลซ้ำ�+�ได�Public Declare Function Gen2KillTag Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal PassWord As Long, ByVal NetAddr As Byte) As Integer‘คำ��สั่��งในกี่�รื่ที่��ล�ย Tag (เม��อใช็�คำ��สั่� �งน�+แล�ว Tag จะไมสั่�ม�รื่ถเกี่ล�บม�ใช็�ง�นได�อ�กี่)Public Declare Function Gen2InitEPC Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal WordCount As Byte, ByVal NetAddr As Byte) As Integer‘คำ��สั่��งในกี่�รื่ initial Tag
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Public Declare Function Gen2Read Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal MemBank As Byte, ByVal WordPtr As Byte, ByVal wordcnt As Byte, ByRef Value As Byte, ByVal NetAddr As Byte) As Integer'คำ��สั่��งในกี่�รื่อ�นข้�อม$ลข้อง EPC GEN2 โดยสั่�ม�รื่ถรื่ะบ( Addr ในกี่�รื่อ�นได�Public Declare Function Gen2Write Lib "Mr915ApiV10.dll" (ByVal hCom As Long, ByVal MemBank As Byte, ByVal WordPtr As Byte, ByVal Value As Long, ByVal NetAddr As Byte) As Integer'คำ��สั่��งในกี่�รื่เข้�ยนข้�อม$ลข้อง EPC GEN2 โดยสั่�ม�รื่ถรื่ะบ( Addr ในกี่�รื่เข้�ยนได�
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Function Display(str$)
Dim tempstr As String
If flagTag < 10 Then
tempstr = "0" & flagTag & " :" & Time & str
Else
tempstr = flagTag & " :" & Time & str
End If
List1.AddItem (tempstr)
flagTag = flagTag + 1
List1.Selected(List1.ListCount - 1) = True
End Function
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmdConncet_Click() Dim temp&, temp1&, tempstr$, strComm$, major As Byte, minor As Byte Dim result As Integer Dim addr As Integer
If Combo4.ListIndex = 0 Then addr = 255 Else addr = Combo4.ListIndex End If
temp = Combo2.ListIndex strComm = Combo1.Text
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
result = CommOpen(hCom, strComm)
If result = 0 Then Display (" Open SerialPort" & (Combo1.ListIndex + 1) & " success!") temp1 = SetBaudRate(hCom, temp, addr) If temp1 = 0 And result = 0 Then Display (" Set BaudRate success!")
cmdConncet.Enabled = False cmdDisCon.Enabled = True Frame3.Enabled = True Text1.Enabled = True Text1.BackColor = &HFFFFFF Combo12.Enabled = True Combo12.BackColor = &HFFFFFF
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
result = GetFirmwareVersion(hCom, major, minor, 255) If result = 0 Then If minor < 10 Then tempstr = " Firmware version is V" & major & ".0" & minor & "!" Else tempstr = " Firmware version is V" & major & "." & minor & "!" End If Display (tempstr) Else Display (" Query Firmware version failed!") End If
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Else Display (" Set BaudRate failed!") result = CommClose(hCom) End If Else tempstr = " Open SerialPort" & (Combo1.ListIndex + 1) & " failed!" Display (tempstr) End If End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmdDisCon_Click()
result = SetBaudRate(hCom, 0, 255)
If result = 0 Then
result = CommClose(hCom)
cmdConncet.Enabled = True
cmdDisCon.Enabled = False
End If
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmdPow_QUERY_Click()
Dim power As Byte, freq_type As Byte
Dim result As Integer
Dim tempstr As String
result = GetRf(hCom, power, freq_type, 255)
If result = 0 Then
tempstr = " Querry RF Parameter success!"
Display (tempstr)
Text1.Text = power
tempstr = " Power is " & power & " dBm!"
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Display (tempstr)
Select Case freq_type
Case 0
Combo12.Text = Combo12.List(0)
tempstr = " Reader Frequency is " & Combo12.Text & " Frequency!"
Display (tempstr)
Case 1
Combo12.Text = Combo12.List(1)
tempstr = " Reader Frequency is " & Combo12.Text & " Frequency!"
Display (tempstr)
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Case 2
Combo12.Text = Combo12.List(2)
tempstr = " Reader Frequency is " & Combo12.Text & " Frequency!"
Display (tempstr)
Case Else
Combo12.Text = Combo12.List(3)
tempstr = " Unknown Frequency!"
Display (tempstr)
End Select
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Else
tempstr = " Query Reader Frequency failed!"
Display (tempstr)
End If
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Dim result As Integer, tempstr As String
Dim a(3) As Byte
a(0) = 0
a(1) = 1
a(2) = 2
If Text1.Text <> "" And Combo12.ListIndex <> 3 Then
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
result = SetRf(hCom, CByte(Text1.Text), a(Combo12.ListIndex), 255)
If result = 0 Then
tempstr = " Set Reader RF Parameter success!"
Else
tempstr = " Set Reader RF Parameter failed!"
End If
Display (tempstr)
End If
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmdGen2IDENTIFY_Click()
Dim Values(100) As TagIds
Dim tempstr As String, result As Integer
Dim i As Long, j As Integer
Dim Count As Long
result = ClearIDBuffer(hCom, 255)
List1.Clear
flagTag = 1
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Dim period(5) As Integer
period(0) = 10
period(1) = 50
period(2) = 100
period(3) = 500
period(4) = 1000
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
If Combo7.Text <> "continurous" Then
If Combo7.Text > 0 Then
Timeflag = 1
Timer3.Interval = period(Combo6.ListIndex)
Timer3.Enabled = True
isButton14.Enabled = False
isButton15.Enabled = True
Else
result = Gen2MultiTagIdentify(hCom, Count, Values(0), 255)
If result = 0 And Count > 0 Then
List1.AddItem " Read success, TagID is:"
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
tempstr = " "
For i = 0 To Count - 1
For j = 0 To 11
If (Values(i).Ids(j) And &HF0) / 16 < &H10 Then
tempstr = tempstr & Hex((Values(i).Ids(j) And &HF0) / 16)
Else
tempstr = tempstr & Hex((Values(i).Ids(j) And (&HF0) / 16 + &H7))
End If
If Values(i).Ids(j) Mod 16 < &H10 Then
tempstr = tempstr & Hex(Values(i).Ids(j) Mod 16)
Else
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
tempstr = tempstr & Hex(Values(i).Ids(j) Mod 16 + &H7)
End If
tempstr = tempstr + " "
Next j
tempstr = tempstr + "!"
Display (tempstr)
tempstr = " "
Next i
End If
End If
Else
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Timeflag = 1
Timer4.Interval = period(Combo6.ListIndex)
Timer4.Enabled = True
cmdGen2IDENTIFY.Enabled = False
cmdGen2Stop.Enabled = True
End If
Text3.Text = flagTag - 1
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub Timer4_Timer()
Dim IDNUM(100) As TagIds
Dim FFZ As Integer
Dim CountID As Long
Dim ii As Integer, jj As Integer, kk As Integer
Dim tempstr As String, temp1 As String
Dim rr As Integer
Dim AddID As Boolean
FFZ = Gen2MultiTagIdentify(hCom, CountID, IDNUM(0), 255)
If FFZ <> 0 Then Exit Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
If List1.ListCount = 0 Then List1.AddItem "ID of Read Tags:" End If For ii = 0 To CountID - 1 AddID = False tempstr = " " For jj = 0 To 11 If (IDNUM(ii).Ids(jj) And &HF0) / 16 < &H10 Then tempstr = tempstr & Right("00" & Hex(IDNUM(ii).Ids(jj)), 2)
End Iftempstr = tempstr & " " Next For kk = 0 To List1.ListCount Next
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Display (tempstr + "!")
tempstr = " "
Next
Text3.Text = flagTag - 1
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmd6BStop_Click()
Timer2.Enabled = False
cmd6B_Indentify.Enabled = True
cmd6BStop.Enabled = False
Combo3.ListIndex = 0
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Dim tempstr As String, result As Integer
Dim i As Long, j As Integer
Dim bank As Integer, ptr As Integer, cnt As Integer
Dim ID(100) As Byte
List1.Clear
flagTag = 1
Dim Memb(4) As Integer
Memb(0) = 0
Memb(1) = 1
Memb(2) = 2
Memb(3) = 3
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
bank = Memb(Combo8.ListIndex)
ptr = CByte(Combo9.Text)
cnt = CByte(Combo10.Text)
result = Gen2Read(hCom, bank, ptr, cnt, ID(0), 255)
If result = 0 Then
List1.AddItem " Read success, Data is:"
tempstr = " "
For i = 0 To cnt * 2 - 1
tempstr = tempstr & " " & Right$("00" & Hex(ID(i + 1)), 2)
Next
Display (tempstr)
Else
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
tempstr = " Read failed!"
Display (tempstr)
End If
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmdGen2Write_Click()
Dim result As Integer, bank As Integer, address As Integer, datalength As Integer, n As Integer
Dim tempstr As String
Dim MemBank(3) As Integer
Dim a() As Long, k As Integer
Dim wordcnt As Integer
If Combo8.Text = "EPC" And (Combo9.ListIndex = 0 Or Combo9.ListIndex = 1) Then
tempstr = " Address " & Combo9.Text & " of EPC is forbidden to write!"
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Display (tempstr)
Exit Sub
End If
MemBank(0) = 0
MemBank(1) = 1
MemBank(2) = 2
MemBank(3) = 3
bank = MemBank(Combo8.ListIndex)
address = CByte(Combo9.Text)
datalength = IIf(Len(Text6.Text) Mod 3 = 0, Len(Text6.Text) \ 3, Len(Text6.Text) \ 3 + 1)
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
wordcnt = Combo10.ListIndex + 1
If Text6.Text <> "" And datalength < wordcnt * 2 Then
Display (" The input data is less than needed!")
Exit Sub
End If
If Text6.Text <> "" And datalength > wordcnt * 2 Then
Display (" The input data is more than needed!")
Exit Sub
End If
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Dim Data1() As String
Data1 = Split(Text6.Text, " ")
For n = 0 To datalength - 1 Step 2
ReDim Preserve a(k)
a(k) = (CByte("&H" & Data1(n))) * 2 ^ 8 + (CByte("&H" & Data1(n + 1)))
k = k + 1
Next
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
If Text6.Text <> "" Then
For k = 0 To IIf(datalength Mod 2 <> 0, datalength \ 2 + 1, datalength \ 2) - 1
result = Gen2Write(hCom, bank, address + k, a(k), 255)
Next
Else
Display (" Please input Data!")
Exit Sub
End If
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
If result = 0 Then
tempstr = " Write Data success!"
Display (tempstr)
Else
tempstr = " Write Data failed!"
Display (tempstr)
End If
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmdGen2Lock_Click()
Dim tempstr As String, i As Integer, result As Integer
result = Gen2LockTag(hCom, 1, 255)
flagTag = 1
List1.Clear
If result = 0 Then
tempstr = " Lock Tag success!"
Else : tempstr = " Lock Tag failed!"
End If
Display (tempstr)
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmdGen2Init_Click()
Dim result As Integer
Dim tempstr As String
result = Gen2InitEPC(hCom, 6, 255)
List1.Clear
flagTag = 1
If result = 0 Then
tempstr = " Tag Init success!"
Display (tempstr)
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Else
tempstr = " Tag Init failed!"
Display (tempstr)
End If
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmd6B_Indentify_Click()
Dim Values(100) As TagIds
Dim tempstr As String, result As Integer
Dim i As Long, j As Integer
Dim Count As Long
List1.Clear
flagTag = 1
result = ClearIDBuffer(hCom, 255)
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Dim period(5) As Integer
period(0) = 10
period(1) = 50
period(2) = 100
period(3) = 500
period(4) = 1000
If Combo3.Text <> "continurous" Then
If Combo3.Text > 0 Then
Timeflag = 1
Timer1.Interval = period(Combo5.ListIndex)
Timer1.Enabled = True
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
cmd6B_Indentify.Enabled = False
cmd6BStop.Enabled = True
Else
result = IsoMultiTagIdentify(hCom, Count, Values(0), 255)
If result = 0 And Count > 0 Then
List1.AddItem " Read success, TagID is:"
tempstr = " "
For i = 0 To Count - 1
For j = 0 To 7
If (Values(i).Ids(j) And &HF0) / 16 < &H10 Then
tempstr = tempstr & Right("00" & Hex(Values(i).Ids(j)), 2)
End If
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
tempstr = tempstr + " "
Next j
tempstr = tempstr + "!"
Display (tempstr)
tempstr = " "
Next i
End If
End If
Else
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Timeflag = 1
Timer2.Interval = period(Combo5.ListIndex)
Timer2.Enabled = True
cmd6B_Indentify.Enabled = False
cmd6BStop.Enabled = True
End If
Text2.Text = flagTag - 1
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub Timer2_Timer()
Dim IDNUM(100) As TagIds
Dim FFZ As Integer
Dim CountID As Long
Dim ii As Integer, jj As Integer, kk As Integer
Dim tempstr As String, temp1 As String
Dim rr As Integer
Dim AddID As Boolean
FFZ = IsoMultiTagIdentify(hCom, CountID, IDNUM(0), 255)
If FFZ <> 0 Then Exit Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
If List1.ListCount = 0 Then
List1.AddItem " Read success, TagID is:"
End If
For ii = 0 To CountID - 1
AddID = False
tempstr = " "
For jj = 0 To 7
If (IDNUM(ii).Ids(jj) And &HF0) / 16 < &H10 Then
tempstr = tempstr & Right("00" & Hex(IDNUM(ii).Ids(jj)), 2)
End If
tempstr = tempstr & " "
Next
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Display (tempstr + "!")
tempstr = " "
Next
Text2.Text = flagTag - 1
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmd6BStop_Click()
Timer2.Enabled = False
cmd6B_Indentify.Enabled = True
cmd6BStop.Enabled = False
Combo3.ListIndex = 0
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmd6BRead_Click()
Dim Values(40) As Byte
Dim tempstr As String, result As Integer, addr As Integer
Dim n As Integer, j As Integer
addr = Val(Text3.Text)
For j = 0 To 1
List1.Clear
flagTag = 1
If Text2.Text <> "" And Text4.Text <> "" Then
result = IsoSigleTagRead(hCom, addr, Values(0), 255)
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
If result = 0 Then
List1.AddItem " Read Tag success, Data is:"
tempstr = " "
For n = 0 To Val(Text4.Text) - 1
tempstr = tempstr & " " & Right$("00" & Hex(Values(n + 1)), 2)
Next
Display (tempstr)
tempstr = ""
Else
List1.AddItem " Read Tag failed!"
End If
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Else
If Text3.Text = "" Then List1.AddItem " ByteAddr can't be blank!"
If Text4.Text = "" Then List1.AddItem " ByteCnt can't be blank!"
End If
Next
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmd6BWrite_Click()
Dim result As Integer, address As Integer, datalength As Integer
Dim tempstr As String
Dim i As Integer
If Text2.Text <> "" Then
address = Val(Text2.Text)
If Text5.Text <> "" Then
datalength = IIf(Len(Text5.Text) Mod 3 = 0, Len(Text5.Text) \ 3, Len(Text5.Text) \ 3 + 1)
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Dim Data1() As String
Dim Data2(8) As Byte
Data1 = Split(Text5.Text, " ")
For i = 0 To datalength - 1
Data2(i) = CByte("&H" & Data1(i))
result = IsoWriteTag(hCom, address + i, Data2(i), 255)
Next
If result = 0 Then
Display (" Write Tag success!")
Else
Display (" Write Tag failed!")
End If
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Else
Display (" Please input Data!")
End If
Else
Display (" Please input ByteAddr!")
End If
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmd6BLock_Click()
Dim tempstr As String, i As Integer, result As Integer
result = IsoLockTag(hCom, Val(Text3.Text), 255)
List1.Clear
flagTag = 1
If result = 0 Then
tempstr = " Lock Tag success!"
Display (tempstr)
Else
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
tempstr = " Lock Tag failed!"
Display (tempstr)
End If
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
Private Sub cmd6BQuery_Click()
Dim Value As Byte
Dim tempstr As String, i As Integer, result As Integer
List1.Clear
flagTag = 1
result = IsoQueryLock(hCom, Val(Text3.Text), Value, 255)
If result = 0 Then
tempstr = " Query success!"
tempstr = tempstr + "StorageAddress " + Text3.Text
Select Case Value
Case Is = 0
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
tempstr = tempstr + " Not Locked!"
Case Is = 1
tempstr = tempstr + " Locked!"
End Select
Display (tempstr)
Else
tempstr = " Query failed!"
Display (tempstr)
End If
End Sub
คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น
END