65
UHF RFID Reader

UHF RFID Reader

  • Upload
    zahur

  • View
    80

  • Download
    16

Embed Size (px)

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 Presentation

Citation preview

Page 1: UHF RFID Reader

UHF RFID Reader

Page 2: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Page 3: 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 เคำรื่��องอ�น

Page 4: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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 ข้องเคำรื่��องอ�น

Page 5: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

'===========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 ในกี่�รื่เข้�ยนได�

Page 6: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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 ในกี่�รื่อ�นข้�อม$ลได�

Page 7: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

===========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

Page 8: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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 ในกี่�รื่เข้�ยนได�

Page 9: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Page 10: UHF RFID Reader

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

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Page 11: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 12: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 13: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 14: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Else Display (" Set BaudRate failed!") result = CommClose(hCom) End If Else tempstr = " Open SerialPort" & (Combo1.ListIndex + 1) & " failed!" Display (tempstr) End If End Sub

Page 15: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 16: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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!"

Page 17: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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)

Page 18: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 19: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Else

tempstr = " Query Reader Frequency failed!"

Display (tempstr)

End If

End Sub

Page 20: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 21: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 22: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Page 23: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 24: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Dim period(5) As Integer

period(0) = 10

period(1) = 50

period(2) = 100

period(3) = 500

period(4) = 1000

Page 25: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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:"

Page 26: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 27: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 28: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Timeflag = 1

Timer4.Interval = period(Combo6.ListIndex)

Timer4.Enabled = True

cmdGen2IDENTIFY.Enabled = False

cmdGen2Stop.Enabled = True

End If

Text3.Text = flagTag - 1

End Sub

Page 29: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 30: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 31: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Display (tempstr + "!")

tempstr = " "

Next

Text3.Text = flagTag - 1

End Sub

Page 32: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Private Sub cmd6BStop_Click()

Timer2.Enabled = False

cmd6B_Indentify.Enabled = True

cmd6BStop.Enabled = False

Combo3.ListIndex = 0

End Sub

Page 33: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 34: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 35: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

tempstr = " Read failed!"

Display (tempstr)

End If

End Sub

Page 36: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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!"

Page 37: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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)

Page 38: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 39: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 40: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 41: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

If result = 0 Then

tempstr = " Write Data success!"

Display (tempstr)

Else

tempstr = " Write Data failed!"

Display (tempstr)

End If

End Sub

Page 42: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 43: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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)

Page 44: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Else

tempstr = " Tag Init failed!"

Display (tempstr)

End If

End Sub

Page 45: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Page 46: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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)

Page 47: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 48: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 49: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

tempstr = tempstr + " "

Next j

tempstr = tempstr + "!"

Display (tempstr)

tempstr = " "

Next i

End If

End If

Else

Page 50: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 51: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 52: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 53: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Display (tempstr + "!")

tempstr = " "

Next

Text2.Text = flagTag - 1

End Sub

Page 54: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Private Sub cmd6BStop_Click()

Timer2.Enabled = False

cmd6B_Indentify.Enabled = True

cmd6BStop.Enabled = False

Combo3.ListIndex = 0

End Sub

Page 55: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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)

Page 56: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 57: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 58: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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)

Page 59: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 60: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

Else

Display (" Please input Data!")

End If

Else

Display (" Please input ByteAddr!")

End If

End Sub

Page 61: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 62: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

tempstr = " Lock Tag failed!"

Display (tempstr)

End If

End Sub

Page 63: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

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

Page 64: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

tempstr = tempstr + " Not Locked!"

Case Is = 1

tempstr = tempstr + " Locked!"

End Select

Display (tempstr)

Else

tempstr = " Query failed!"

Display (tempstr)

End If

End Sub

Page 65: UHF RFID Reader

คำ��สั่��งต่�งๆที่��เกี่��ยวข้�อง กี่�บ เคำรื่��องอ�น

END