📄 readpagefrm.frm
字号:
Exit Sub
End If
status = Sense18K_Open(g_hCom, cbComport.Text)
If ERR_NONE <> status Then
g_Status = MsgBox("串口打开失败!请检查串口是否已经被占用!", vbOKOnly, "提示")
StatusBar1.Panels.Item(8).Text = "串口打开失败,请检查串口是否已经被占用!"
StatusBar1.Panels.Item(8).Text = "断开"
ShowInfo ("串口打开失败!请检查串口是否已经被占用!")
Call btnDisConnect_Click
Exit Sub
End If
Dim main, minnor As Byte
Call Sense18K_GetDLLRevision(main, minnor)
Dim str As String
str = Format(Hex(main), "00")
str = str & "." & Format(Hex(minnor), "00")
StatusBar1.Panels.Item(4).Text = str
Dim MinnorVersion As Byte
Dim MainVersion As Byte
g_RAddr = cbScanner.Text
status = Sense18K_SysGetFirmwareRevision(g_hCom, g_RAddr, MainVersion, MinnorVersion)
If status <> ERR_NONE Then
StatusBar1.Panels.Item(8).Text = "读写器连接失败"
ShowInfo ("读写器连接失败")
StatusBar1.Panels.Item(8).Text = "断开"
Call btnDisConnect_Click
Exit Sub
End If
bBaudIndex = cbBaudRate.ListIndex
status = Sense18K_SysSetBaudRate(g_hCom, g_RAddr, bBaudIndex)
str = Format(Hex(MainVersion), "00")
str = str & ". " & Format(Hex(MinnorVersion), "00")
StatusBar1.Panels.Item(6).Text = str
StatusBar1.Panels.Item(8).Text = "读写器连接成功"
ShowInfo ("读写器连接成功")
StatusBar1.Panels.Item(2).Text = "正常"
Call ConnectedButton
End Sub
Private Sub BtnCycleEnd_Click()
Timer1.Enabled = False
btnCycleRead.Enabled = True
BtnCycleEnd.Enabled = False
End Sub
Private Sub btnCycleRead_Click()
Timer1.Enabled = True
Timer1.Interval = cbTimer.Text
btnCycleRead.Enabled = False
BtnCycleEnd.Enabled = True
End Sub
Private Sub btnDisConnect_Click()
If g_hCom <> 0 Then
status = Sense18K_Close(g_hCom, g_RAddr)
g_hCom = 0
StatusBar1.Panels.Item(8).Text = "断开读写器连接成功!"
ShowInfo ("断开读写器连接成功!")
StatusBar1.Panels.Item(2).Text = "断开"
StatusBar1.Panels.Item(4).Text = ""
StatusBar1.Panels.Item(6).Text = ""
Call DisConnectedButton
End If
End Sub
Private Sub btnReadTag_Click()
Call Mult_Tag_Read
End Sub
Private Sub Command2_Click()
End Sub
Private Sub btnRFQuery_Click()
Dim RF As Byte
status = Sense18K_SysRFQuery(g_hCom, g_RAddr, RF)
If status = ERR_NONE Then
cbRFLevel.Text = RF + 100
ShowInfo ("查询功率成功! 功率:" & cbRFLevel.Text)
Else
ShowInfo ("查询功率失败!错误:0x" & Hex(status))
End If
End Sub
Private Sub btnRFSet_Click()
Dim RF As Byte
RF = cbRFLevel.Text
RF = RF - 100
status = Sense18K_SysRFSet(g_hCom, g_RAddr, RF)
If status = ERR_NONE Then
ShowInfo ("设置功率成功!新功率值:" & cbRFLevel.Text)
Else
ShowInfo ("设置功率失败!错误:0x" & Hex(status))
End If
End Sub
Private Sub btnWriteEnd_Click()
WriteTimer.Enabled = False
btnWriteTag.Enabled = True
btnWriteEnd.Enabled = False
End Sub
Private Sub btnWriteTag_Click()
Dim uclen, dataAddr As Byte
If redioByte1(1).Value = True Then
uclen = 0
Else
uclen = 1
End If
txWriteData.Text = UCase(txWriteData.Text)
istrLen = Len(txWriteData.Text)
If (istrLen < 8) Then
For I = 1 To uclen * 6 + 2 - istrLen
txWriteData.Text = "0" + txWriteData.Text
Next I
End If
If Not CheckHEX(txWriteData.Text) Then
ShowInfo ("请输入正确的16进制数!")
Exit Sub
End If
dataAddr = cbWriteAddr.Text
Dim iWriteCount As Integer
iWriteCount = Val(txWriteCount.Text)
txWriteCount.Text = Format(iWriteCount)
WriteTimer = True
WriteTimer.Interval = 500
btnWriteTag.Enabled = False
btnWriteEnd.Enabled = True
End Sub
Private Sub Command1_Click()
Command1.Caption = txWriteData
End Sub
Private Sub Form_Load()
Dim I As Integer
Dim str As String
For I = 0 To 255
cbWriteAddr.AddItem (I)
Next I
cbWriteAddr.ListIndex = 20
For I = 1 To 9
str = "COM" & I
cbComport.AddItem (str)
Next I
cbComport.ListIndex = 0
cbBaudRate.ListIndex = 0
cbScanner.AddItem (255)
For I = 0 To &HF0
cbScanner.AddItem (I)
Next
cbScanner.ListIndex = 0
g_RAddr = 255
g_hCom = 0
bcycle = True
cbTimer.ListIndex = 0
For I = 0 To 255
cbTagAddr.AddItem (I)
Next I
cbTagAddr.ListIndex = 0
cbBaudRate.ListIndex = 4
redioByte1(1).Value = True
For I = 100 To 150
cbRFLevel.AddItem (I)
Next I
cbRFLevel.ListIndex = 0
cbAntenna.AddItem ("天线1")
cbAntenna.AddItem ("天线2")
cbAntenna.AddItem ("天线3")
cbAntenna.AddItem ("天线4")
cbAntenna.ListIndex = 0
p_ReadPage.Tab = 0
Call DisConnectedButton
End Sub
Private Sub Form_Terminate()
Call btnDisConnect_Click
End Sub
Private Sub AddTagData(tagData As String, AntennaID As Byte)
Set itmx = ListView1.ListItems.Add()
itmx.Text = ListView1.ListItems.Count
itmx.SubItems(1) = tagData
itmx.SubItems(2) = AntennaID
itmx.EnsureVisible
End Sub
Private Sub Mult_Tag_Read()
Dim dataAddr As Byte
Dim tagCount As Byte
Dim strID As String
Dim tagData(0 To 128) As Byte
Dim I As Byte
dataAddr = cbTagAddr.Text
status = Sense18K_ISOMTR(g_hCom, g_RAddr, dataAddr, tagCount)
If status = ERR_NONE Then
status = Sense18K_BufGetOneAndClear(g_hCom, g_RAddr, tagData(0))
If status = ERR_NONE Then
For I = 1 To tagData(0) - 1
strID = strID & " " & Format(Hex(tagData(I)), "00")
Next I
End If
Call AddTagData(strID, tagData(tagData(0) + 1) + 1)
End If
End Sub
Private Sub Timer1_Timer()
Call Mult_Tag_Read
End Sub
Private Sub ConnectedButton()
btnDisConnect.Enabled = True
btnCycleRead.Enabled = True
btnReadTag.Enabled = True
btnWriteTag.Enabled = True
btnRFSet.Enabled = True
btnRFQuery.Enabled = True
BtnAntennaSet.Enabled = True
btnAntennaQuery.Enabled = True
BtnCycleEnd.Enabled = False
btnConnect.Enabled = False
End Sub
Private Sub DisConnectedButton()
btnDisConnect.Enabled = False
btnCycleRead.Enabled = False
btnReadTag.Enabled = False
BtnCycleEnd.Enabled = False
btnRFSet.Enabled = False
btnRFQuery.Enabled = False
BtnAntennaSet.Enabled = False
btnAntennaQuery.Enabled = False
btnWriteTag.Enabled = False
btnConnect.Enabled = True
End Sub
Private Sub ShowInfo(strinfo As String)
Set itmx = ListView2.ListItems.Add()
itmx.Text = Now
itmx.SubItems(1) = strinfo
itmx.EnsureVisible
End Sub
Private Sub WriteTimer_Timer()
WriteTimer.Enabled = False
Dim iWriteCount As Integer
iWriteCount = Val(txWriteCount.Text)
If (iWriteCount = 0) Then
btnWriteTag.Enabled = True
btnWriteEnd.Enabled = False
Exit Sub
End If
Dim uclen, dataAddr, tagData(8) As Byte
If redioByte1(1).Value = True Then
uclen = 0
Else
uclen = 1
End If
txWriteData.Text = UCase(txWriteData.Text)
istrLen = Len(txWriteData.Text)
If (istrLen < 8) Then
For I = 1 To uclen * 6 + 2 - istrLen
txWriteData.Text = "0" + txWriteData.Text
Next I
End If
If Not CheckHEX(txWriteData.Text) Then
ShowInfo ("请输入正确的16进制数!")
btnWriteTag.Enabled = True
btnWriteEnd.Enabled = False
Exit Sub
End If
tagData(0) = Val("&H" + Mid(txWriteData, 1, 2))
tagData(1) = Val("&H" + Mid(txWriteData, 3, 2))
tagData(2) = Val("&H" + Mid(txWriteData, 5, 2))
tagData(3) = Val("&H" + Mid(txWriteData, 7, 2))
status = Sense18K_ISOListOne(g_hCom, g_RAddr)
If (status <> ERR_NONE) Then
status = Sense18K_ISOEndRead(g_hCom, g_RAddr)
WriteTimer.Enabled = True
txWriteCount = txWriteCount - 1
Exit Sub
End If
dataAddr = cbWriteAddr.Text
status = Sense18K_ISOWrite(g_hCom, g_RAddr, uclen, dataAddr, tagData(0))
If (status = ERR_NONE) Then
ShowInfo ("写标签成功!")
btnWriteTag.Enabled = True
btnWriteEnd.Enabled = False
txWriteCount = 0
Else
ShowInfo ("写标签失败!" + Hex(status))
WriteTimer.Enabled = True
btnWriteTag.Enabled = False
btnWriteEnd.Enabled = True
End If
status = Sense18K_ISOEndRead(g_hCom, g_RAddr)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -