all | frequencies |
|
|
|
|
exhibits | applications |
---|---|---|---|---|---|---|---|
manual | photos | label |
app s | submitted / available | |||||||
---|---|---|---|---|---|---|---|---|
1 |
|
user manual | Users Manual | 3.74 MiB | ||||
1 |
|
Internal Photos | Internal Photos | 635.39 KiB | ||||
1 |
|
External Photos | External Photos | 321.86 KiB | ||||
1 |
|
label&label location | ID Label/Location Info | 45.99 KiB | ||||
1 | Cover Letter(s) | |||||||
1 | Cover Letter(s) | |||||||
1 | RF Exposure Info | |||||||
1 | Cover Letter(s) | |||||||
1 | Test Setup Photos | |||||||
1 | Test Report |
1 | user manual | Users Manual | 3.74 MiB |
VI-88TR RFID Integrated Reader Development Handbook VANCH has the right to modify the products hardware/software and manual freely without any declaration. Any change without notice. The specification and power supply will be subject to country of origin. Make sure your voltage conforms to standard, and understand more information on security considerations, especially for outdoor installation. Content | VI-88TR development handbook CONTENT 1 Applying development of unilateral communication ........................ 5 1.1 1.2 1.2.1 1.2.2 1.3 Applying development of unilateral communication ...................... 5 Wiegand interface agreement ......................................................... 5 Wiegand26 format .................................................................. 6 Wiegand34 format .................................................................. 6 RS485 interface agreement ............................................................ 6 2 Serial port intercommunication agreement ..................................... 8 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.2 Summarize ....................................................................................... 8 Command packet format without address ............................ 8 Command packet format with address .................................. 9 Return packet format without address .................................. 9 Return packet format with address ..................................... 10 Error code ............................................................................. 10 For example .......................................................................... 11 Checksum ............................................................................. 11 Control command format of serial ................................................ 12 Set BaudRate ....................................................................... 12 Get Reader Version .............................................................. 13 Set Relay .............................................................................. 15 Get Relay .............................................................................. 16 Set Output Power ................................................................. 17 Set Frequency ...................................................................... 18 Read Param .......................................................................... 20 Set Param ............................................................................. 21 Read Auto Param ................................................................. 23 Set Auto Param .................................................................... 23 Select Antenna ..................................................................... 25 Restore factory settings ...................................................... 26 Reboot .................................................................................. 27 Start/ stop automode ............................................................ 28 Clear Memory ....................................................................... 28 Set Reader Time ................................................................... 29 Get Reader Time .................................................................. 29 Set Report Filter ................................................................... 30 Get Report Filter .................................................................. 31 Set Reader Network Address ............................................... 32 Get Reader Network Address .............................................. 32 SetReader MAC .................................................................... 33 Get Reader MAC ................................................................... 33 Report Now ........................................................................... 33 Get Tag Info. ........................................................................ 34 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.17 2.2.18 2.2.19 2.2.20 2.2.21 2.2.22 2.2.23 2.2.24 2.2.25 090909RevA|Page 2 of 97 Content | VI-88TR development handbook 2.2.26 2.3 2.3.1 2.3.1.1 2.3.1.2 2.3.1.3 2.3.1.4 2.3.1.5 2.3.1.6 2.3.1.7 2.3.1.8 2.3.2 2.3.2.1 2.3.2.2 2.3.2.3 2.3.2.4 2.3.2.5 2.3.2.6 2.3.2.7 GetReaderID ......................................................................... 35 Command format of serial read-write tag ..................................... 35 Read-write ISO18000-6B command format ......................... 35 List Tag ID ............................................................................ 36 Get ID List ............................................................................ 37 List Selected ID .................................................................... 38 Read Byte Block ................................................................... 39 Write Byte Block .................................................................. 40 Set Write Protect .................................................................. 42 Read Write Protect ............................................................... 42 Slow Write A Byte................................................................. 44 Read write ISO18000-6C command format ......................... 45 List Tag ID ............................................................................ 45 Get ID List ............................................................................ 47 Read Word Block .................................................................. 48 Write Word Block .................................................................. 50 Kill Tag ................................................................................. 52 Set Lock ............................................................................... 53 Write EPC .............................................................................. 56 Collection of operation command ................................................. 56 ISO18000-6C command ........................................................ 56 ISO18000-6B command ........................................................ 57 Other command .................................................................... 57 Electronic tag storage area and notes ......................................... 58 2.4 2.4.1 2.4.2 2.4.3 2.5 3 SDK software development ............................................................. 61 3.1 3.2 SDK compose ................................................................................ 61 Design introduction ....................................................................... 61 Basic constant and figure .................................................... 61 Constant definition ............................................................... 61 API function return code ...................................................... 61 Data type definition .............................................................. 62 Parameter figure in reader ................................................... 62 Function return code ............................................................ 70 Control command function ................................................... 71 Connect reader ..................................................................... 71 Disconnection ...................................................................... 73 Set baud rate ........................................................................ 73 Read version ......................................................................... 74 Set output power .................................................................. 74 Set operation frequency ....................................................... 75 Read reader basic operation parameter .............................. 76 Set reader basic operation parameter ................................. 76 Read reader auto parameter ................................................ 77 Set reader auto parameter ................................................... 78 3.2.1 3.2.1.1 3.2.1.2 3.2.1.3 3.2.1.4 3.2.1.5 3.2.2 3.2.2.1 3.2.2.2 3.2.2.3 3.2.2.4 3.2.2.5 3.2.2.6 3.2.2.7 3.2.2.8 3.2.2.9 3.2.2.10 090909RevA|Page 3 of 97 Content | VI-88TR development handbook Select antenna ..................................................................... 78 3.2.2.11 Set relay state in reader ...................................................... 79 3.2.2.12 Reboot reader ....................................................................... 80 3.2.2.13 Set time ................................................................................ 80 3.2.2.14 3.2.2.15 Get time ................................................................................ 81 3.2.2.16 Get record ............................................................................ 81 3.2.2.17 Delete all records ................................................................. 82 Network command ............................................................... 83 3.2.3 Set IP address for reader ..................................................... 83 3.2.3.1 3.2.3.2 Get IP address in reader ...................................................... 84 Set reader MAC address ...................................................... 84 3.2.3.3 Get reader MAC address ...................................................... 85 3.2.3.4 Read write ISO18000-6B function ........................................ 86 3.2.4 3.2.4.1 Identify tag ID number ......................................................... 86 Identify selected tag ID number .......................................... 86 3.2.4.2 Read data block ................................................................... 88 3.2.4.3 3.2.4.4 Write data block ................................................................... 88 Slow write data block .......................................................... 89 3.2.4.5 Set write protection ............................................................. 90 3.2.4.6 3.2.4.7 Read write protection .......................................................... 91 Read write ISO18000-6C function ........................................ 92 3.2.5 Identify EPC number of ISO18000-6C tag ............................ 92 3.2.5.1 3.2.5.2 Read a block data ................................................................ 93 Write a block data ................................................................ 94 3.2.5.3 3.2.5.4 Set read write protection state ........................................... 96 090909RevA|Page 4 of 97 Applying development of unilateral communication | VI-88TR development handbook 1 Applying development of unilateral communication 1.1 Applying development of unilateral communication Apply in software development of continuous and trigger working mode, upper computer only need to receive tag ID numbers sent by reader, no need to send reader command. 1.2 Wiegand interface agreement Wiegand interface transmites unilaterally, can send read card numbers to controller only, but controller can not send signal to reader. Signal transmitted from wiegand interface as follows:
D0 D1 5V 0V 5V 0V Binary Number Pulse Interval 2ms Pulse Width 400us 0 1 0 0 0 At present, output waveform from Wiegand interface is as follows:
A. 400us in pulse width2.0ms in pulse interval B. 100us in pulse width1.6ms in pulse interval C. 50us in pulse width1.0ms in pulse interval 090909RevA|Page 5 of 97 Applying development of unilateral communication | VI-88TR development handbook Wiegand interface has 2 types of Wiegand26 and Wiegand34. 1.2.1 Wiegand26 format Wiegand26 transmits 26 bits data every time, 24 bits of them are valid. We stipulate these 24 bits correspondent for low 24 bits of electronic tag ID, or user defined number. Transmission format as follows:
Even: verified data adds parity bit1 is even number. Odd: verified data adds parity bit1 is odd number. 1.2.2 Wiegand34 format Wiegand34 transmits 32 bits of valid data every time. We stipulate these 32 bits correspondent for low 32 bits of electronic tag ID, or user defined number. Transmission format as follows:
1.3 RS485 interface agreement When adopt RS485 interface to output data, need to set up communication rate of RS485 interface in advance. Output data format of RS485 is:
090909RevA|Page 6 of 97 Applying development of unilateral communication | VI-88TR development handbook STX 02 Antenna serial number(2byte ASCII code) BODY DATA ID number or ETX CHECK BCC User-defined number(N 03 check code bytes ASCII code) Introduction:
A. Symbol of data start STX = 02H symbol of data end ETX = 03H B. DATA is antenna serial number(2Byte)+tag ID number(NBytes)length is N+2bytes ASCII code. Expression mode of converting HEX to ASCII:
STX Data ETX Check Length(byte) Description 1 N 1 1 Symbol of data startSTX = 02H Antenna serial number(2byte ASCII code) ID number or User-defined number(N bytes ASCII code) Symbol of data end ETX = 03H Check code Divides data from high to low, every 4 bits in a team, then put value of 4 binary bits in expression of ASCII code. As value range of 4 binary bits is 0HFH, converted ASCII code is 30H39H, 41H46H. For example: data of 32 serial number is 6A90F103H, it is36H 41H 39H 30H 46H 31H 30H 33Hafter converting to 8 bytes ASCII code. Antenna number 1(ASCII code) is30H 31H, antenna number 2(ASCII code) is30H 32H. 090909RevA|Page 7 of 97 Serial port intercommunication agreement | VI-88TR development handbook 2 Serial port intercommunication agreement 2 ways for application development:
1. Use control code of serial port communication agreement to operate reader directly. 2. User matched SDK software with reader to call API function to operate reader. 2.1 Summarize In RFID application system, reader is connected with controller (PC) via RS232 port, and receives commands from controller, then returns the result of command execution. Therefore, we name Data Communication Packet from controller to reader, to be Command Packet, and name that from reader to controller, to be Return Packet. 2.1.1 Command packet format without address BootCode Length Command Command Param CheckSum See chart above , command packet is composed of 5 parts:
Length(byte) Description BootCode Length Command Command Param 1 1 1 uncertain CheckSum 1 Fixed to be 40H Effective length. The length is total bytes of lateral 3 parts Command code Command parameter, length is changing with command Checksum, is all bytes from bootcode to command param, discard patch code 090909RevA|Page 8 of 97 Serial port intercommunication agreement | VI-88TR development handbook 2.1.2 Command packet format with address BootCode Length Command Address Command Param CheckSum See chart above , command packet is composed of 6 parts:
Length(byte) Description BootCode Length Command Address Command Param 1 1 1 1 uncertain CheckSum 1 Fixed to be 40H Effective length. The length is total bytes of lateral 4 parts Command code Reader address, 1254, 0 and 255 is broadcast address Command parameter, length is changing with command Checksum, is all bytes from bootcode to command param, discard patch code 2.1.3 Return packet format without address BootCode Length Command Return Data CheckSum See chart above, return packet is composed of 5 parts:
Length(byte) Description BootCode Length Command Return Data 1 1 1 uncertain CheckSum 1 execute command When correctly, bootcode of return packet is F0H. When execute command fail, bootcode of return packet is F4H. Effective length. The length is total bytes of lateral 3 parts. received Command command code, means that return packet is the reaction to the command. Return the result of command execution. Length is changing with command. Checksum, is all bytes from bootcode to ReturnData, discard patch code. same as code, 090909RevA|Page 9 of 97 Serial port intercommunication agreement | VI-88TR development handbook 2.1.4 Return packet format with address BootCode Length Command Address Return Data CheckSum See chart above , return packet is composed of 6 parts:
Length(byte) Description When execute command correctly, bootcode of return packet is F0H. When execute command fail, bootcode of return packet is F4H. Effective length. The length is total bytes of lateral 4 parts. Command code, same as received command code, means that return packet is the reaction to the command. Reader address, 1 254, 0 and 255 is broadcast address Return the result of command execution. Length is changing with command. Checksum, is all bytes from bootcode to ReturnData, discard patch code. BootCode Length Command Address Return Data 1 1 1 1 uncertain CheckSum 1 2.1.5 Error code When execute command fail, bootcode of return packet is F4H, and ReturnData is 1 byte of error code. Common error code is:
Command success or detect correct Antenna connection fail illegal tag read write power is inadequate 00(00H) 01(01H) 02(02H) Detect no tag 03(03H) 04(04H) 05(05H) Write protection in this area 06(06H) 07(07H) 08(08H) 09(09H) Wrong password 10(0AH) Checksum error Parameter wrong Nonexistent data area kill password cant be 0 When reader in Auto mode, the command is illegal. 11(0BH) 090909RevA|Page 10 of 97 Serial port intercommunication agreement | VI-88TR development handbook 12(0CH) 13(0dH) 14(0EH) 30(1EH) unmatched user with Illegal password RF interference from external Read protection on tag Invalid command, such as wrong parameter command Unknown command 31(1FH) 32(20H) Other error 2.1.6 For example For example: set baud rate of reader to be 9600bps, command packet is 40H 03H 01H 04H B8H Thereinto :
40H 03H 01H 04H B8H Boot code Effective length is 3 bytes Command code of SetBaudRate On behalf of 9600bps Checksum Checksum is the patch code of 40H+03H+01H+04H=48H When execution correct, return packet is: F0H 02H 01H 0DH When execution fail, return packet is: F4H 03H 01H 1FH E9H 2.1.7 Checksum Following C language Check Sum calculation program is for reference:
unsigned char CheckSum(unsigned char *uBuff, unsigned char uBuffLen) 090909RevA|Page 11 of 97 Serial port intercommunication agreement | VI-88TR development handbook
{
unsigned char i,uSum=0;
for(i=0;i<uBuffLen;i++)
{
uSum = uSum + uBuff[i];
}
uSum = (~uSum) + 1;
return uSum;
}
2.2 Control command format of serial 2.2.1 Set BaudRate Function: to set operation baud rate for RS232 interface. The original baud rate of RS232 interface is 9600bps, after every new program download for reader. When reader receives the command, it will reset baud rate of serial. No matter power closed or not, the baud rate will keep same to next reset. Command code: 01H Command parameter: 1byte BPS, value: 00H~08Hrespectively on behalf of:
090909RevA|Page 12 of 97 Serial port intercommunication agreement | VI-88TR development handbook 04H 05H 06H 07H 08H 9600bps 19200bps 38400bps 57600bps 115200bps Command packet: 40H 03H 01H BPS CheckSum Return data: if command execution correct, return data is null. F0H 02H 01H 0DH Command format with reader address:
Command code: 01H Parameter of reader address:address Command parameter: 1byte BPS, value:00H~08H, respectively on behalf of:
04H 05H 06H 07H 08H 9600bps 19200bps 38400bps 57600bps 115200bps Command packet with address: 40H 04H 01H address BPS CheckSum Return data: if command execution correct, return data is null. Return packet with address:F0H 03H 01H address CheckSum 2.2.2 Get Reader Version 090909RevA|Page 13 of 97 Serial port intercommunication agreement | VI-88TR development handbook Function: to get version number of hardware and software from reader Command code: 02H Command parameter: none Command packet: 40H 02H 02H BCH Return data: if command execution correct, return data is 4 bytes of version number:
Byte0 Byte1 Byte2 Byte3 Major version of hardware Minor version of hardware(hardware version number is to show reader model number) Major version of software Minor version of software For example: if model number of reader is Reader1102, software version number is V1.5, then return packet is:
F0H 06H 02H 0BH 02H 01H 05H DDH Command format with reader address:
Command code: 02H Parameter of reader address: address Command parameter: none Command packet: 40H 03H 02H address CheckSum 090909RevA|Page 14 of 97 Serial port intercommunication agreement | VI-88TR development handbook Return data: if command execution correct, return data is 4 bytes of version number:
Byte0 Byte1 Byte2 Byte3 Major version of hardware Minor version of hardware(hardware version number is to show reader model number) Major version of software Minor version of software For example: if model number of reader is Reader1102, software version number is V1.5, then return packet is:
F0H 07H 02H address 0BH 02H 01H 05H CheckSum 2.2.3 Set Relay Function: to set relay status for reader Command code: 03H Command parameter: 1 byte Bit0=1 Bit0=0 Bit1=1 Bit1=0 No1 relay on No1 relay off No2 relay on No2 relay off And so on. Command packet: 40H 03H 03H K CheckSum Return data: if success, return data is null. 090909RevA|Page 15 of 97 Serial port intercommunication agreement | VI-88TR development handbook F0H 02H 03H 0BH Command format with reader address:
Command code: 03H Parameter of reader address: address Command parameter: 1byte Bit0=1 Bit0=0 Bit1=1 Bit1=0 No1 relay on No1 relay off No2 relay on No2 relay off And so on. Command packet: 40H 04H 03H address K CheckSum Return data: if success, return data is null. F0H 03H 03H address CheckSum 2.2.4 Get Relay Function: to Get relay status for reader Command code: 0BH Command packet: 40H 03H 0BH CheckSum Return data: if success, return data is 1 byte F0H 02H 0BH K CheckSum 090909RevA|Page 16 of 97 Serial port intercommunication agreement | VI-88TR development handbook Bit0=1 Bit0=0 Bit1=1 Bit1=0 No1 relay on No1 relay off No2 relay on No2 relay off Command format with reader address:
Command code: 0BH Parameter of reader address: address Command packet: 40H 04H 0BH address CheckSum Return data: if success, return data is K1byte F0H 03H 03H address K CheckSum Bit0=1 Bit0=0 Bit1=1 Bit1=0 No1 relay on No1 relay off No2 relay on No2 relay off 2.2.5 Set Output Power Function: to set the output power coefficient of reader. It takes effect immediately when setting new output power coefficient for reader, and will keep same till reset, no matter power supply is off or not. Command code: 04H Command parameter: 1 byte of P expresses power value 0~59. Command packet: 40H 03H 04H P CheckSum Return data: if command execution correct, return data is null. 090909RevA|Page 17 of 97 Serial port intercommunication agreement | VI-88TR development handbook F0H 02H 04H 0AH Command format with reader address:
Command code: 04H Parameter of reader address: address Command parameter: 1 byte of P expresses power value 20~33. Command packet: 40H 04H 04H address P CheckSum Return data: if command execution correct, return data is null. F0H 03H 04H address CheckSum 2.2.6 Set Frequency Function: to set the frequency channel number for reader to transmit microwave signal. It takes effect immediately when operation frequency is set ready, and will keep same till reset, no matter power supply is off or not. Command code: 05H Command parameter: 2 bytes, byte1 expresses start frequency fmin, value 1~59; byte2 expresses end frequency fmax, value 0~59. If fmax>fmin, reader works by FHSS, range is fminfmax. If fmax=fmin, reader works in fixed frequency, frequency is fmax. Note: its linked with countries frequency. Command packet: 40H 04H 05H fmin fmax CheckSum Return data: if command execution correct, return data is null. 090909RevA|Page 18 of 97 Serial port intercommunication agreement | VI-88TR development handbook F0H 02H 05H 09H Command format with reader address:
Command code: 05H Parameter of reader address:address Command parameter: 2 bytes, byte1 expresses start frequency fmin, value 1~63; byte2 expresses end frequency fmax, value 1~63. If fmax>fmin, reader works by FHSS, range is fminfmax. If fmax=fmin, reader works in fixed frequency, frequency is fmax. Command packet: 40H 05H 05H address fmin fmax CheckSum Return data: if command execution correct, return data is null. F0H 03H 05H address CheckSum Chart. Relation between requency channel and transmitting frequency Channel number Frequency inMHz Channel number Frequency inMHz Channel number Frequency inMHz 1 2 3 4 5 6 7 8 9 10 11 12 13 902.50 903.00 903.50 904.00 904.50 905.00 905.50 906.00 906.50 907.00 907.50 908.00 908.50 21 22 23 24 25 26 27 28 29 30 31 32 33 912.50 913.00 913.50 914.00 914.50 915.00 915.50 916.00 916.50 917.00 917.50 918.00 918.50 41 42 43 44 45 46 47 48 49 50 922.50 923.00 923.50 924.00 924.50 925.00 925.50 926.00 926.50 927.00 090909RevA|Page 19 of 97 Serial port intercommunication agreement | VI-88TR development handbook 909.00 909.50 910.00 910.50 911.00 911.50 912.00 34 35 36 37 38 39 40 919.00 919.50 920.00 920.50 921.00 921.50 922.00 14 15 16 17 18 19 20 2.2.7 Read Param Function: to read the operation parameter in reader written by last command. Command code: 06H Command parameter: none Command packet: 40H 02H 06H B8H Return data: if command execution correct, return data is 32 bytes PAM from setting command. F0H 22H 06H PAM CheckSum Command format with reader address:
Command code: 06H Parameter of reader address: address Command parameter: none Command packet: 40H 03H 06H address CheckSum 090909RevA|Page 20 of 97 Serial port intercommunication agreement | VI-88TR development handbook Return data: if command execution correct, return data is 32 bytes PAM from setting command. F0H 23H 06H address PAM CheckSum 2.2.8 Set Param Function: to set basic parameter of reader, baud rate of serial, transmit power, RF power output and so on. Command code: 09H Command parameter: 32 bytes PAM Command packet: 40H 22H 09H PAM CheckSum Return data: if command execution correct, return data is null. If success, return data of ReadParam is 32 bytes parameters with following sequence. F0H 02H 09H 05H Command format with reader address:
Command code: 09H Parameter of reader address: address Command parameter: 32 bytes PAM Command packet: 40H 23H 09H address PAM CheckSum Return data: if command execution correct, return data is null. If success, return data of ReadParam is 32 bytes parameters with following sequence. 090909RevA|Page 21 of 97 Serial port intercommunication agreement | VI-88TR development handbook F0H 03H 09H address CheckSum 32 bytes of parameter(1 parameter 1 byte):
Byte number Definition 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Baud rate of serial, value: 00H~08H Transmit power, value: 2033dbm. Start point of transmitting microwave signal frequency, value(default 7): 0~59 End point of transmitting microwave signal frequency, value(default 59): 0~59 Null Word mode of reader: 0-Auto1-Command RS485 address of reader: 0 and 255 is broadcast address Max tags of once reading Tag type: 01HISO18000-6B, 02HEPCC1, 04H EPCC1G2 Tag reading duration time: RF emission duration time, only valid for EM tag. 010ms, 120ms, 230ms, 340ms. Reading times Mreader will execute the command for M times when receiving reading command from host pc. 1:enable buzzer 0: disable buzzer Reader IP address1 Reader IP address2 Reader IP address3 Reader IP address4 Reader port high Reader port low Reader mask1 Reader mask2 Reader mask3 Reader mask4 Reader address gateway1 Reader address gateway2 Reader address gateway3 Reader address gateway4 Reader MAC1 Reader MAC2 Reader MAC3 Reader MAC4 Reader MAC5 Reader MAC6 090909RevA|Page 22 of 97 Serial port intercommunication agreement | VI-88TR development handbook 2.2.9 Read Auto Param Function: to read the auto work parameter in reader written by last command. Command code: 14H Command parameter: none Command packet: 40H 02H 14H 6DH Return data: if success, return data is 32 bytes PAM from setting command. F0H 24H 14H PAR Check Command format with reader address:
Command code: 14H Parameter of reader address: address Command parameter: none Command packet: 40H 03H 14H Address Check Return data: if success, return data is 32 bytes PAM from setting command. F0H 24H 14H Address PAR Check 2.2.10 Set Auto Param Function: to set basic parameter for reader in auto mode, baud rate of serial, transmit power, RF power output and so on. 090909RevA|Page 23 of 97 Serial port intercommunication agreement | VI-88TR development handbook Command code: 13H Command parameter: 32 bytes PAM Command packet: 40H 26H 13H PAM Check Return data: if command execution correct, return data is null. If success, return data of Read Auto Param is 32 bytes parameters with following sequence. F0H 02H 13H FBH Command format with reader address:
Command code: 13H Parameter of reader address: address Command parameter: 32 bytes PAM Command packet: 40H 27H 13H Address PAM Check Return data: if command execution correct, return data is null. If success, return data of ReadParam is 32 bytes parameters with following sequence. F0H 03H 13H Address Check 32bytes parameters (1 parameter 1 byte):
Byte number Definition 1 2 3 4 5 Tag reading mode0-timing1-trigger Tag storage timeunits. default 1. High. Tag storage timeunits. default 1. Low. 0-10ms, 1-20ms, 2-30ms, 3-50ms, 4-100ms. Default 2. Atumatically read tag once at intervals. Tag storage quantitydefault 1. The quantity of read tag ID 090909RevA|Page 24 of 97 Serial port intercommunication agreement | VI-88TR development handbook Byte number Definition stored in reader memory. High. Tag storage quantitydefault 1. The quantity of read tag ID stored in reader memory. Low. Data output format0-terse1-standard2-XML format. Default0. Output interface: 0-RS232, 1-RS485, 2-RJ45. Default 0. 3- Wiegand26, 4- Wiegand34. Wiegand output pulse width, default40. Wiegand output pulse interval, default200. Set start bit of output tag ID, value 04. Default 0.
(Wiegand) Set storage address of ID in tag(default0): 0-tag ID number 1-usder defined number(Wiegand) Notify intervalunits. Default 1. Automatically notify host pc once at intervals. Default 120s, 1255. Notify conditiondefault1. 0-notify now1-timing2-add 3-remove4-change Output port of notify (if no reading for long time, send EPC number with length 0 to output port) 0no use 1use time depends on notify interval. Select antenna. 1-ant1,2-ant2,4-ant3,8-ant4 Set trigger mode(default0): 0-low level 1-high level Host PC IP address1 Host PC IP address2 Host PC IP address3 Host PC IP address4 Host PC port -high Host PC port -low Null Null Null Null Null Null 0-no alarm1-alarm. Detect alarm or not in timing and trigger mode. null Control relay or not in Auto state. 0- no control 1- control 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 2.2.11 Select Antenna 090909RevA|Page 25 of 97 Serial port intercommunication agreement | VI-88TR development handbook Function: to select from which antenna to transmit-receive signal. Command code: 0AH Command parameter: 1 byte of selected antenna No. 1 2 4 8 Select No.1 antenna Select No.2 antenna Select No.3 antenna Select No.4 antenna Command packet: 40H 03H 0AH No. CheckSum Return data: if command execution correct, return data is null. F0H 02H 0AH 04H Command format with reader address:
Command code: 0AH Parameter of reader address: address Command parameter: 1 byte of selected antenna No 1 2 4 8 Select No.1 antenna Select No.2 antenna Select No.3 antenna Select No.4 antenna Command packet: 40H 04H 0AH address No. CheckSum Return data: if command execution correct, return data is null. F0H 03H 0AH address CheckSum 2.2.12 Restore factory settings 090909RevA|Page 26 of 97 Serial port intercommunication agreement | VI-88TR development handbook Function: The parameters of the Reader device back to factory Command code: 0EH Command parameter: none Command packet: 40H 02H 0DH Check Return data: if success, return data is null. F0H 02H 0DH Check 2.2.13 Reboot Function: reboot reader, which equivalent to power on again after power off. Command code: 0EH Command parameter: none Command packet: 40H 02H 0EH B0H Return data: if success, return data is null. F0H 02H 0EH 00H Command format with reader address:
Command code: 0EH Parameter of reader address: address Command parameter: none Command packet: 40H 03H 0EH address CheckSum 090909RevA|Page 27 of 97 Serial port intercommunication agreement | VI-88TR development handbook Return data: if success, return data is null. F0H 03H 0EH address CheckSum 2.2.14 Start/ stop automode Function: Set the operation mode of the Reader. Command code: 0FH Command parameter: 1 byte, automode is the working mode of Reader. Command packet: 40H 03H 0FH Automode Check Automode is 0, mean stop automode Automode is 1, mean start automode Return data: if success, return data is null. F0H 02H 0FH 00H 2.2.15 Clear Memory Function: Remove the cache of tag data in Reader. Command code: 10H Command parameter: Null Command packet: 40H 02H 10H AEH Return data: if success, return data is null. F0H 02H 10H FEH 090909RevA|Page 28 of 97 Serial port intercommunication agreement | VI-88TR development handbook 2.2.16 Set Reader Time Function: to set time for reader. Command code: 11H Command parameter: 6bytes:yy/mm/dd/hour/minute/second Command packet: 40H 08H 11H yy mm dd hh ff ss CheckSum Return data: if success, return data is null. F0H 02H 11H FDH Command format with reader address:
Command code: 11H Parameter of reader address:address Command parameter: none Command packet: 40H 09H 11H address yy mm dd hh ff ss CheckSum Return data: if success, return data is null. F0H 03H 11H address CheckSum 2.2.17 Get Reader Time Function: to get time from reader. 090909RevA|Page 29 of 97 Serial port intercommunication agreement | VI-88TR development handbook Command code: 12H Command parameter: none Command packet: 40H 02H 12H ACH Return data: if success, return data is yy/mm/dd/hour/minute/second. F0H 08H 12H yy mm dd hh ff ss CheckSum Command format with reader address:
Command code: 12H Parameter of reader address: address Command parameter: none Command packet: 40H 03H 12H address CheckSum Return data: if success, return data is yy/mm/dd/hour/minute/second. F0H 09H 12H address yy mm dd hh ff ss CheckSum 2.2.18 Set Report Filter Function: read tag chosen from setted filter can be put into output list. Command code: 15H Command parameter1: 2 bytes of mask address ADDR, high digit before, low digit after. Thats bit address. Command parameter2: 2 bytes of mask length LEN, high digit before, low 090909RevA|Page 30 of 97 Serial port intercommunication agreement | VI-88TR development handbook digit after. Thats bit length. Command parameter3: M bytes of data, high digit before, low digit after. If LEN/8 is integer, then M=LEN/8if LEN/8 is not integer, then M=LEN/81, lastbyte data in high-order-position, low-order filling zero. Command packet: 40H 4+M 15H ADDR LEN M CheckSum ReturnData: if success, return data will be null. F0H 02H 15H F9H Note:
1. When LEN0, filter unavailable, without command parameter3. Command packet:40H 04H 15H 00 A7H 2. Filter object:
ISO18000-6B 64 bits ID EPCC1 ISO18000-6C EPC No. EPC No. EM Tag 64 bits ID 2.2.19 Get Report Filter Function: to get parameter of filter. Command code: 16H Command parameter: No 090909RevA|Page 31 of 97 Serial port intercommunication agreement | VI-88TR development handbook Command packet:40H 02H 16H A8H ReturnData: if success, return data will be (2 bytes of mask ADDR2 bytes of mask LENM bytes of data). If LEN/8 is integer, then M=LEN/8if LEN/8 is not integer, then M=LEN/81, last byte data in high-order-position, low-order filling zero. F0H 4+M 16H ADDR LEN M CheckSum 2.2.20 Set Reader Network Address Function: to set network address for reader. Command code: 30H Command parameter: 14bytes parameter.
(IP(4Bytes)+PORT(2Bytes)+MASK(4Bytes)+Gateway(4Bytes)). Command packet: 40H 10H 30H IP PORT MASK Gateway CheckSum Return data: if success, return data is null. F0H 02H 30H DEH 2.2.21 Get Reader Network Address Function: to get network address from reader. Command code: 31H Command parameter: none Command packet: 40H 02H 31H 8DH 090909RevA|Page 32 of 97 Serial port intercommunication agreement | VI-88TR development handbook Return data: if success, return data is
(IP(4Bytes)+PORT(2Bytes)+MASK(4Bytes)+Gateway (4Bytes)). F0H 10H 31H IP PORT MASK Gateway CheckSum 2.2.22 SetReader MAC Function: to set network MAC for reader. Command code: 32H Command parameter: 6bytes parameter MAC Command packet: 40H 08H 32H MAC CheckSum Return data: if success, return data is null. F0H 02H 32H DBH 2.2.23 Get Reader MAC Function: to get network MAC from reader. Command code: 33H Command parameter: none Command packet: 40H 02H 33H 8B Return data: if success, return data is 6bytes MAC. F0H 08H 33H MAC CheckSum 2.2.24 Report Now 090909RevA|Page 33 of 97 Serial port intercommunication agreement | VI-88TR development handbook Function: to send all reserved tag information to PC when reader receive the command. Command code: 54H Command parameter: no Command packet: 40H 02H 54H 6AH ReturnData: if success, return data will be null. F0H 02H 54H BAH Following is some data packets. Each data packet with 1 tag information and each tag information is fixed as 120 bytes. Format of Data packet in appendix A. 2.2.25 Get Tag Info. Function: reader will send the Tag information reader memory stored to PC immedicately after receiving this command. Command code: 57H Command parameter1:2 bytes of initial record address ADDR,higher bit first,lower bit last. Command parameter21byte of record size LEN(<=5) Command packet: 40H 05H 57H ADDR LEN CheckSum ReturnData: if success, return packet definition as following:
090909RevA|Page 34 of 97 Serial port intercommunication agreement | VI-88TR development handbook F0H 4+N*(17+L) 57H N N *RECORD CheckSum N(<=5) is the record number reader return. Record formate is HEX: 6bytes ofstart time 6bytes of end time 2bytes of reading times 1byte of antenna No.1byte of tag type1byte of EPC LengthL byte of EPC. Records range fromsmall to large according to EPC value. If record parameter appointed is not exist, return packet definition as following:
F0H 04H 57H 00H 00H B5H 2.2.26 GetReaderID Function: to get reader ID No. Command code: 8CH Command parameter: Null Command packet: 40H 02H 8CH CheckSum ReturnData: if success, return data will be 6 bytes of ID. F0H 0AH 8CH ID CheckSum 2.3 Command format of serial read-write tag 2.3.1 Read-write ISO18000-6B command format For electronic tag, internal storage capacity is 2048bits, which is devided 090909RevA|Page 35 of 97 Serial port intercommunication agreement | VI-88TR development handbook into 256bytes. An address is for each byte, corresponding to 0255. Thereinto:
Address 07, 8 words(64bits): tag ID number. Fixed before product leaves factory, cant be modified. Address 8223: user information storage area, can be distributed at discretion. Address 224255: write protection byte. 2.3.1.1 List Tag ID Function: to list readable tag ID in antenna radiation field. Command code: FEH Command parameter: none Command packet: 40H 02H FEH C0H Return data: if success, byte count of return data = number of all listed tags M(1byte)+ M*data of (tag length sent out L(<=81byte)+ 8(ID)). F0H 3+M*L+8FEH M M*L+8CheckSum Command format with reader address:
Command code: FEH Parameter of reader address:address Command parameter: none 090909RevA|Page 36 of 97 Serial port intercommunication agreement | VI-88TR development handbook Command packet: 40H 03H FEH address CheckSum Return data: if success, byte count of return data = number of all listed tags M(1byte)+M* data of (tag Length sent out L(<=81byte)*8(ID)). F0H 4+M*L+8 FEH address M M*(L+8) CheckSum 2.3.1.2 Get ID List Function: to get listed tag ID by rfs_ListID command from reader memory. Command code:FDH Command parameter: 2bytes, the first byte is start number ADDR, the second byte is tag count M (<=8,1byte). Command packet: 40H 04H FDH ADDR M CheckSum Return data: if success, byte count of return data=M+M*data of (tag length L*8(ID)). F0H 2+M*L+8 FDH M M*( L+8) CheckSum Command format with reader address:
Command code: FDH Parameter of reader address: address Command parameter: 2bytes, the first byte is start number ADDR, the second byte is tag count M(<=8). Command packet: 40H 05H FDH address ADDR M CheckSum 090909RevA|Page 37 of 97 Serial port intercommunication agreement | VI-88TR development handbook Return data: if success, byte count of return data=M+M*data of (tag length L*8(ID)). F0H 3+M*(L+8) FDH address M M*( L+8) CheckSum 2.3.1.3 List Selected ID Function: to list readable tag ID in antenna radiation field based on following parameter condition. Command code: FBH Command parameter1: 1byte is the condition of selected tag. 00 01 02 03 Equal to Unequal to Greater than Less than Command paramter2: 1byte is start address of tag data ADDR, value 0 223. Command parameter3: 1byte is data MASK. Each bit in the byte is corresponding to a comparative byte. 0 1 The byte not for comparison The byte for comparison Command parameter4: 8bytes is data for comparison. Command packet: 40H 0DH FBH SEL ADDR MASK DATA CheckSum Return data: if success, byte count of return data= number of all listed tags M(1byte)+ M *data of (tag length L (1byte)*8(ID)). 090909RevA|Page 38 of 97 Serial port intercommunication agreement | VI-88TR development handbook F0H 3+M*(L+8) FBH M M*L+8CheckSum Command format with reader address:
Command code:FBH Parameter of reader address:address Command parameter1: 1byte is the condition of selected tag. 00 01 02 03 Equal to Unequal to Greater than Less than Command paramter2: 1byte is start address of tag data ADDR, value 0 223. Command parameter3: 1byte is data MASK. Each bit in the byte is corresponding to a comparative byte. 0 1 The byte not for comparison The byte for comparison Command parameter4: 8bytes is data for comparison. Command packet: 40H 0EH FBH address SEL ADDR MASK DATA CheckSum Return data: if success, byte count of return data= number of all listed tags M(1byte)+ M *data of (tag length L (1byte)*8(ID)). F0H 4+M*(L+8) FBH address M M*(L+8) CheckSum 2.3.1.4 Read Byte Block 090909RevA|Page 39 of 97 Serial port intercommunication agreement | VI-88TR development handbook Function: to read a block of data starting from appointed address of appointed tag. Memory capacity of ISO18000-6B tag is 2048bits(256bytes). Readable byte address for user is 0223. Length of data block takes byte as unit. Stipulates 32bytes can be read at most each time. Command code: F6H Command parameter: 8bytes ID(subject to the sequence of tag ID number);
1byte start address(aa), value 0~223; 1byte length of block(nn), value 1~32. Command packet: 40H 0CH F6H id aa nn CheckSum Return packet: if success, return data is nn bytes of data. F0H nn+2 F6H xx xx CheckSum Command format with reader address:
Command code: F6H Parameter of reader address:address Command parameter: 8 bytes ID(subject to the sequence of tag ID number); 1byte start address(aa), value 0~223; 1byte length of block(nn), value 1~32. Command packet: 40H 0DH F6H address id aa nn CheckSum Return packet: if success, return data is nn bytes of data. F0H nn+3 F6H address xx xx CheckSum 2.3.1.5 Write Byte Block 090909RevA|Page 40 of 97 Serial port intercommunication agreement | VI-88TR development handbook Function: to write data into the appointed address unit of appointed tag. Data length to write takes byte as unit, and 4bytes can be written in at most once. Writable byte address for user is 8223. Command code: F5H Command parameter: 8 bytes ID(subject to the sequence of tag ID number); 1byte start address(aa), value 8~223; 1byte length of block(nn), value 1~4; nn bytes written data. Command packet: 40H 12+nn F5H id aa nn xx --- xx CheckSum Return packet: if success, return data is null. F0H 02H F5H 19H Command format with reader address:
Command code: F5H Parameter of reader address: address Command parameter: 8 bytes ID(subject to the sequence of tag ID number); 1byte start address(aa), value 8~223; 1byte length of block(nn), value 1~4; nn bytes written data. Command packet: 40H 13+nn F5H address id aa nn xx ---
xx CheckSum Return packet: if success, return data is null. F0H 03H F5H address CheckSum 090909RevA|Page 41 of 97 Serial port intercommunication agreement | VI-88TR development handbook 2.3.1.6 Set Write Protect Function: to set write protection for the appointed addess unit of appointed tag. Command code:F4H Command parameter: 8 bytes ID(subject to the sequence of tag ID number); 1byte start address(aa), value 8~223. Command packet: 40H 0BH F4H ID aa CheckSum Return data: if success, boot code of return packet is F0H, data part is null. F0H 02H F4H 1AH Command format with reader address:
Command code: F4H Parameter of reader address: address Command parameter: 8 bytes ID(subject to the sequence of tag ID number); 1byte start address(aa), value 8~223. Command packet: 40H 0CH F4H address ID aa CheckSum Return data: if success, boot code of return packet is F0H, data part is null. F0H 03H F4H address CheckSum 2.3.1.7 Read Write Protect Function: to read the appointed address unit of appointed tag if with write 090909RevA|Page 42 of 97 Serial port intercommunication agreement | VI-88TR development handbook protect or not. Command code: F3H Command parameter: 8 bytes ID(subject to the sequence of tag ID number); 1byte start address(aa), value 0~223. Command packet: 40H 0BH F3H ID aa CheckSum Return data: if success, boot code of return packet is F0H, data part is 1 byte. 0 1 Without protection, F0H 03H F3H 00H 1AH With protection, F0H 03H F3H 01H 19H Command format with reader address:
Command code:F3H Parameter of reader address:address Command parameter: 8 bytes ID(subject to the sequence of tag ID number) ; 1byte start address(aa), value 0~223. Command packet: 40H 0CH F3H address ID aa CheckSum Return data: if success, boot code of return packet is F0H, data part is 1 byte. 0 1 Without protection, F0H 04H F3H address 00H CheckSum With protection, F0H 04H F3H address 01H CheckSum 090909RevA|Page 43 of 97 Serial port intercommunication agreement | VI-88TR development handbook 2.3.1.8 Slow Write A Byte Function: to write data into the appointed address unit of appointed tag. Length of written data takes byte as unit, and 4bytes can be written in at most once. Writable byte address for user is 8223. Command code: F2H Command parameter: 8 bytes ID(subject to the sequence of tag ID number); 1byte start address(aa), value 8~223; 1byte length of block(nn), value 1~4; nn bytes written data. Command packet: 40H 12+nn F2H id aa nn xx --- xx CheckSum Return packet: if success, return data is null. F0H 02H F2H 1CH Note: the command writes data into tag byte by byte, slow in speed. Only used for tags not support previous write command. Command format with reader address:
Command code: F2H Parameter with reader address: address Command parameter: 8 bytes ID(subject to the sequence of tag ID number); 1byte start address(aa), value 8~223; 1byte length of block(nn), value 1~4; nn bytes written data. Command packet: 40H 13+nn F2H address id aa nn xx ---
090909RevA|Page 44 of 97 Serial port intercommunication agreement | VI-88TR development handbook xx CheckSum Return data: if success, return data is null. F0H 03H F2H address CheckSum 2.3.2 Read write ISO18000-6C command format Storage unit of ISO18000-6C is devided into 4 memory banks:
A. EPC memory bank: to store EPC number. It can store 96bits EPC number at most presently. Readable and writable. B. TID memory bank: to store ID number set by tag manufacturer. There are 32bits and 64bits ID presently. Readable but non-writable. C. User memory bank: different from various manufacturer. D. Password memory bank: with 32Bits access password and 32Bits kill password. Readable and writable. 2.3.2.1 List Tag ID Function: to identify the readable tag ID in antenna radiation field based on MASK condtion. Command code: EEH Command parameter1: 1byte mem, select memory bank. 0 1 2 3 Password EPC TID User 090909RevA|Page 45 of 97 Serial port intercommunication agreement | VI-88TR development handbook Command parameter2: 2bytes, start address of MASK (unit: bit). Command parameter3: 1byte, the length of MASK (unit: bit). Command parameter4: m bytes, Mask. If LEN8=0, then m=LEN/8. If LEN80, then m=LEN/8+1. Command packet: 40H m+6 EEH mem addr LEN Mask CheckSum Return data: if success, byte count of return data= number of all listed tags M(1byte)+ data of (tag number sent out L(<=8)*L(digit count of EPC+EPC)). Note: LEN=0, to identify all readable tag ID in antenna radiation field. Digit count of EPC:00H-0Word01H-1Word02H-2WordFFH-256Word F0H 3+L*N EEH M L*N CheckSum Command format with reader address:
Command code: EEH Parameter of reader address: address Command parameter1: 1byte mem, select memory bank. 0 1 2 3 Password EPC TID User Command parameter2: 2bytes addr, start address of MASK (unit: bit). 090909RevA|Page 46 of 97 Serial port intercommunication agreement | VI-88TR development handbook Command parameter3: 1byte LEN, the length of MASK (unit: bit). Command parameter4: m bytes, Mask. If LEN8=0, then m=LEN/8. If LEN80, then m=LEN/8+1. Command packet:40H m+7 EEH address mem addr LEN Mask CheckSum Return data: if success, byte count of return data= number of all listed tags M(1byte)+ data of (tag number sent out L(<=8)*L(digit count of EPC+EPC)). Note: LEN=0, to identify all readable tag ID in antenna radiation field. Digit count of EPC:00H-0Word01H-1Word02H-2WordFFH-256Word F0H 4+L*N EEH address M L*N CheckSum 2.3.2.2 Get ID List Function: to get listed tag ID by rfs_ListID command from reader memory. Command code:EDH Command parameter: 2bytes, the first byte is start number NO, the second byte is tag count L(<=8). Command packet: 40H 04H EDH no m CheckSum Return data: if success, byte count of return data=data of (1byte tag count M*L Bytes(digit count of EPC+EPC)). F0H 2+L*8 EDH L*M CheckSum 090909RevA|Page 47 of 97 Serial port intercommunication agreement | VI-88TR development handbook Command format with reader address:
Command code:EDH Parameter of reader address:address Command parameter:2bytes, the first byte is start number NO, the second byte is tag count L(<=8). Command packet: 40H 05H EDH address no m CheckSum Return data: if success, byte count of return data=data of (1byte tag count M*L Bytes(digit count of EPC+EPC)). F0H 3+L*8 EDH address L*M CheckSum 2.3.2.3 Read Word Block Function: to read a block of data starting from appointed address of appointed tag. Length of data block takes word(16bits) as unit. Command code: ECH Command parameter1: 1byte L, digit count of EPC, to show the word count of EPC number. Command parameter2: L*2bytes EPC number, to show which tag data to read. Command parameter3: 1byte mem, select memory bank. 0 1 2 Password EPC TID 090909RevA|Page 48 of 97 Serial port intercommunication agreement | VI-88TR development handbook 3 User Command parameter4: 1byte addr, start address(unit:Word). Command parameter5: 1byte len, length of data(unit:Word). Command parameter6: 4bytes, AccessPassword. Command packet: 40H 10+L*2 ECH L EPC mem addr len AccessPassword CheckSum Return packet: if success, return data is len*2bytes data xx. F0H len*2+2 ECH xx xx CheckSum Note: AccessPassword is workable when password memory bank is locked. Command format with reader address:
Command code: ECH Parameter of reader address:address Command parameter1: 1byte L, digit count of EPC, to show the word count of EPC number. Command parameter2: L*2bytes EPC number, to show which tag data to read. Command parameter3: 1byte mem, select memory bank. 0 1 2 Password EPC TID 090909RevA|Page 49 of 97 Serial port intercommunication agreement | VI-88TR development handbook 3 User Command parameter4: 1byte addr, start address(unit:Word). Command parameter5: 1byte len, length of data(unit:Word). Command parameter6: 4bytes, AccessPassword. Command packet: 40H 11+L*2 ECH address L EPC mem addr len AccessPassword CheckSum Return packet: if success, return data is len*2bytes data xx. F0H len*2+3 ECH address xx xx CheckSum 2.3.2.4 Write Word Block Function: write data into the appointed address unit in appointed memory bank of appointed tag. Length of written data takes word as unit. Command code: EBH Command parameter1: 1byte L, digit count of EPC, to show the word count of EPC number. Command parameter2: L*2bytes EPC number, to show which tag data to write. Command parameter3: 1byte mem, select memory bank. 0 1 2 3 Password EPC TID User 090909RevA|Page 50 of 97 Serial port intercommunication agreement | VI-88TR development handbook Command parameter4: 1byte addr, start address(unit:Word). Command parameter5: 1byte len, length of data(unit:Word). Command parameter6: len*2bytes written data. Command parameter7: 4bytes, AccessPassword. Command packet: 40H 10+L*2+len*2 EBH L EPC mem addr len data AccessPassword CheckSum Return packet: if success, return data is null. F0H 02H EBH 23H Note: AccessPassword is workable only when memory bank is locked. When unlocked, writable without password. When permanently locked, password is useless. Command format with reader address:
Command code: EBH Parameter of reader address:address Command parameter1: 1byte L, digit count of EPC, to show the word count of EPC number. Command parameter2: L*2bytes EPC number, to show which tag data to write. Command parameter3: 1byte mem, select memory bank. 0 1 Password EPC 090909RevA|Page 51 of 97 Serial port intercommunication agreement | VI-88TR development handbook 2 3 TID User Command parameter4: 1byte addr, start address(unit:Word). Command parameter5: 1byte len, length of data(unit:Word). Command parameter6: len*2bytes written data. Command parameter7: 4bytes, AccessPassword. Command packet: 40H 11+L*2+len*2 EBH address L EPC mem addr len data AccessPassword CheckSum Return packet: if success, return data is null. F0H 03H EBH address CheckSum 2.3.2.5 Kill Tag Function: Permanentkill tag Command code: E8H Command parameter1: 1byte L, digit count of EPC, to show the word count of EPC number. Command parameter2: L*2bytes EPC number, to show which tag to set read-write protect. Command parameter3: kill password , 4bytes mem Command packet:40H L*2+7 E8H L EPC KillPassword Check Command packet with reader address:40H L*2+8 E8H Address L 090909RevA|Page 52 of 97 Serial port intercommunication agreement | VI-88TR development handbook EPC KillPassword Check Head 40H Len Cmd Address Data L*2+7/L*2+8 E8H L EPC KillPassword Check 1Byte Specific command package parameters definition to see the table below:
L EPC KillPassword 1bytedigit count of EPC (Unit:Word) L*2 bytes EPC 4bytes ReturnData: if success, return data will be null. F0H 02H E8H Check 2.3.2.6 Set Lock Function: to set write protect for the appointed memory bank of appointed tag. Command code:EAH Command parameter1: 1byte L, digit count of EPC, to show the word count of EPC number. Command parameter2: L*2bytes EPC number, to show which tag to set read-write protect. Command parameter3: 1byte mem, select memory bank. 0 1 2 3 4 Kill Password Access Password EPC number ID number in TID User 090909RevA|Page 53 of 97 Serial port intercommunication agreement | VI-88TR development handbook Command parameter4: 1byte Lock, control word. 0 Writable 1 Writable permanently 2 Writable in secured state 3 4 Never writable Readable and writable Readable and writable permanently Readable and writable in secured state Never readable and writable 5 6 7 03 only apply to EPC, TID and User memory bank; 47 only apply to Kill Password and Access Password. Command parameter5: 4bytes AccessPassword. Command packet: 40H 9+L*2 EAH L EPC mem Lock AccessPassword CheckSum Return data: if success, boot code of return packet is F0H, return data is null. F0H 02H EAH 24H Command format with reader address:
Command code:EAH Parameter of reader address:address Command parameter1: 1byte L, digit count of EPC, to show the word count of EPC number. Command parameter2: L*2bytes EPC number, to show which tag to set 090909RevA|Page 54 of 97 Serial port intercommunication agreement | VI-88TR development handbook read-write protect. Command parameter3: 1byte mem, select memory bank. 0 1 2 3 4 Kill Password Access Password EPC number ID number in TID User Command parameter4: 1byte Lock, control word. 0 Writable 1 Writable permanently 2 Writable in secured state 3 4 Never writable Readable and writable Readable and writable permanently Readable and writable in secured state Never readable and writable 5 6 7 03 only apply to EPC, TID and User memory bank; 47 only apply to Kill Password and Access Password. Command parameter5: 4bytes AccessPassword. Command packet: 40H 10+L*2 EAH address L EPC mem Lock AccessPassword CheckSum Return data: if success, boot code of return packet is F0H, return data is null. F0H 03H EAH address CheckSum 090909RevA|Page 55 of 97 Serial port intercommunication agreement | VI-88TR development handbook 2.3.2.7 Write EPC Function: to write EPC data into tags EPC bank. Word as unit of written data length. Command code: E7H Command parameter 1: 1 byte EPC digit L, indicate number of Word of EPC No.;
Command parameter 2: L*2 bytes EPC number;
Command parameter 3: 4 bytes AccessPassword;
Command packet: 40H 7+L*2 E7H L EPC AccessPassword CheckSum ReturnData: if success, return data will be null. F0H 02H E7H 27H Note: AccessPassword is available for MemBank in password locked status only. If MemBank unlocked, write without password; if MemBank locked forever, password is useless. 2.4 Collection of operation command 2.4.1 ISO18000-6C command Serial Number Command Function 090909RevA|Page 56 of 97 Serial port intercommunication agreement | VI-88TR development handbook 1 2 3 4 5 6 7 8 9 10 EEH EDH ECH EBH EAH E7H To identify readable tag ID in antenna radiation field based on mask condition To get listed tag ID by rfs_ListTagID command from reader memory To read a block of data starting from the appointed address in appointed memory bank of appointed tag To write data into the appointed address unit in appointed memory bank of appointed tag To set write protect for appointed memory bank of appointed tag To write EPC number into EPC memory bank of tag 2.4.2 ISO18000-6B command Serial number Command Function 1 2 3 4 5 6 7 8 FEH FDH FBH F6H F5H F4H F3H F2H To list readable tag ID in antenna radiation field To get listed tag ID by rfs_ListTagID command from reader memory To list readable tag ID in antenna radiation field based on following parameter condition To read a block of data starting from the appointed address of appointed tag To write data into the appointed address unit of appointed tag To set write protect for the appointed address unit of appointed tag To read if the appointed address unit of appointed tag is set write protect To write data into the appointed address unit of appointed tag 2.4.3 Other command Serial number 1 Command Function 01H To set operation baud rate for RS232 interface 090909RevA|Page 57 of 97 Serial port intercommunication agreement | VI-88TR development handbook 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 02H 03H 04H 05H 06H 09H 0AH 0EH 10H 11H 12H 13H 14H 15H 16H 30H 31H 32H 33H 54H 57H To get hardware and software version number of reader To set relay state for reader To set transmitting power coefficient for reader To set frequency channel number of transmitting microwave signal for reader To read operation parameter written by last command from reader To set basic operation parameter: baud rate, transmitting frequency, RF power output and so on To select which antenna to transmit and receive signal To reboot reader Delete all tag records stored in reader To set time for reader To get time from reader To set the auto work parameter in reader To read the auto work parameter in reader To set parameter of filter. To get parameter of filter. To set network addess for reader To get network address in reader To set network MAC for reader To get network MAC in reader To send all reserved tag information to PC Get Tag records stored in reader 2.5 Electronic tag storage area and notes 1 Memory unit of ISO18000-6C tag is devided into 4 areas:
EPC memory bank: to store EPC number. It can store 96bits EPC number at most presently. Readable and writable. TID memory bank: to store ID number set by tag manufacturer. There are 32bits and 64bits ID presently. Readable but non-writable. User memory bank: different from various manufacturer. G2 tag from Impinj has no user memory bank, while NXP with 96bits. Readable and 090909RevA|Page 58 of 97 Serial port intercommunication agreement | VI-88TR development handbook writable. Password memory bank: with 32Bits access password and 32Bits kill password. Readable and writable. ISO18000-6C tag can set different protection mode for different memory bank, 4 kinds of protection modes for each memory bank:
EPC, TID and User memory bank of ISO18000-6C tag EPC, TID and User memory bank of ISO18000-6C tag with write protect function but without read protect:
Writable from any statecan be written without access password, and can be set to writable from secured state or permanently writable or never writable later;
Permanently Writablecan be written without access password, but cant be set to writable from secured state or never writable later;
Writable from secured statecan be written with access password only, and can be set to never writable or writable from any state or permanently writable later;
Never Writablecant be written even if with access password. Password memory bank of ISO18000-6C tag Password memory bank of ISO18000-6C tag can be set read protect and write protect. The read and write protect state wont influence the usage of password. Readable and Writable from any statecan be read and written without 090909RevA|Page 59 of 97 Serial port intercommunication agreement | VI-88TR development handbook access password, and can be set to readable and writable from secured state or permanently readable and writable or never readable and writable later;
Permanently Readable and Writablecan be read and written without access password, but cant be set to readable and writable from secured state or never readable and writable later;
Readable and Writable from secured statecan read and modify password with access password only, and can be set to permanently readable and writable or readable and writable from any state or never readable and writable later;
Never Readable and Writablecant be read or write even if with access password, cant read or modify password forever. Note: to set read and write protect for tag, must know access password of tag in advance. 2 Memory unit of ISO-18000-6B is devided into 2 memory banks. Internal storage capacity is 2048bits, which is devided into 256bytes. An address is for each byte, corresponding to 0255. Thereinto:
Address 07, 8 words(64bits): tag ID number. Fixed before product leaves factory, cant be modified. Address 8223: user information storage area, can be distributed at discretion. Can be rewrited, and can be locked. Once locked, cant be rewrited again, and cant be unlocked. Address 224255: write protection byte. 090909RevA|Page 60 of 97 SDK software development | VI-88R development handbook 3 SDK software development 3.1 SDK compose SDK is provided in the package of VF-447, mainly including:
A. Reader1400dll.dll file dynamic link library B. Reader1400.lib file static link library C. Reader1400API.h file statement file of API function D. SDK catalogue including example program for learning API function application 3.2 Design introduction 3.2.1 Basic constant and figure 3.2.1.1 Constant definition Description
#define ID_MAX_SIZE_64BIT 8
#define ID_MAX_SIZE_96BIT 13
#define MAX_LABELS 100 Introduction
//tag ID number is 64bit
//tag ID number is 128bit
// no more than 100 tags for once read and write operation 3.2.1.2 API function return code
#define _OK
#define _init_rs232_err
#define _no_scanner 0x00
// operation success
//error message for communication 0x81 0x82
//communication initialization fail
//can not find reader interface 090909RevA|Page 61 of 97 SDK software development | VI-88R development handbook
#define _comm_error
#define _baudrate_error
// error message returned from reader
#define _no_antenna
#define _no_label
#define _invalid_label
#define _less_power
#define _write_prot_error
#define _check_sum_error
#define _parameter_error
#define _memory_error
#define _password_error
#define _killpassword_error
#define _nonlicet_command
#define _nonlicet_user
#define _invalid_command
#define _other_error
//function input error
#define _no_cardID_input 0x83 0x84 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x1e 0x1f 0x20
//communication data error
//set baud rate error in write
//antenna connection fail
//detect no tag
//illegal tag
//read-write power not enough
//the memory bank protection
//checksum error
//parameter error
//the memory bank nonexistence
//password error
//kill password of G2 tag all zero
//illegal command
//illegal user with unmatched password
//invalid command with wrong parameter
//unknown command command, such as
//other error 3.2.1.3 Data type definition typedef USHORT apiReturn; // type of function return value it will return a value of apiReturn type after all API functions executed. It can judge if the function execution is successful. If fail, whats the failure reason and etc. 3.2.1.4 Parameter figure in reader typedef struct tagReaderBasicParam
{
090909RevA|Page 62 of 97 SDK software development | VI-88R development handbook BYTE BaudRate;
00H~08H. BYTE Power;
20~30dBm.(0-63)
//(1)baud rate of serial, value
//(2)RF power output, value BYTE Min_Frequence;
//(3)start point of transmitting microwave signal frequency, value 1~63. BYTE Max_Frequence;
//(4)end point of transmitting microwave signal frequency, value 1~63. BYTE Reserve5;
depth later. BYTE WorkMode;
1-Command
//(5)reserve, changed into modulation
//(6)work mode of reader0-Auto, BYTE ReaderAddress;
//(7)RS485 address:0--255 BYTE NumofCard;
BYTE TagType;
//(8)max tags of once reading.
//(9)type of tag01HISO18000-6B 02HEPCC104HEPCC1G208HEM4442 BYTE ReadDuration;
//(10)tag reading duration timeRF emission duration time is only effective for EM tag; 010ms120ms2 30ms340ms. BYTE ReadTimes;
//(11)read times Mreader will execute the command for M times when receiving reading command from host computer. 090909RevA|Page 63 of 97 SDK software development | VI-88R development handbook BYTE EnableBuzzer;
//(12)1:enable buzzer 0:disable buzzer BYTE IP1;
BYTE IP2;
BYTE IP3;
BYTE IP4;
BYTE Port1;
BYTE Port2;
BYTE Mask1;
BYTE Mask2;
BYTE Mask3;
BYTE Mask4;
BYTE Gateway1;
BYTE Gateway2;
BYTE Gateway3;
BYTE Gateway4;
BYTE MAC1;
BYTE MAC2;
BYTE MAC3;
//(13)IP address of reader
//(14)
//(15)
//(16)
//(17)high-order of reader port
//(18)
//(19)reader mask1
//(20)reader mask2
//(21)reader mask3
//(22)reader mask4
//(23)reader address gateway
//(24)
//(25)
//(26)
//(27)MAC address of reader
//(28)
//(29) 090909RevA|Page 64 of 97 SDK software development | VI-88R development handbook BYTE MAC4;
BYTE MAC5;
BYTE MAC6;
//(30)
//(31)
//(32)
} ReaderBasicParam;
//Auto parameter of reader typedef struct tagReaderAutoParam
{
BYTE AutoMode;
1-trigger. BYTE TimeH;
Default 1. BYTE TimeL;
BYTE Interval;
//(1)tag reading mode0-timing,
//(2)tag storage time: unit: second.
//(3)
//(4)0-10ms1-20ms2-30ms3-50ms 4-100ms. Default 2. Auto reading tag once at intervals. BYTE NumH;
//(5)tag storage quantitydefault 1. The quantity of read tag ID stored in reader memory. BYTE NumL;
//(6) BYTE OutputManner; //(7)data output format0-terse 1-standard2-XML. Default 0. BYTE OutInterface;
//(8)output interface0RS2321 090909RevA|Page 65 of 97 SDK software development | VI-88R development handbook RS4852RJ45. Default 0. 3- Wiegand26 4- Wiegand34 BYTE WiegandWidth;
//(9)value of Weigand pulse width. BYTE WiegandInterval;
//(10)value of Weigand pulse interval. BYTE ID_Start;
04. BYTE IDPosition;
//(11)start address of output ID, value
//(12)storage address for tag ID in tag. BYTE Report_Interval;
//(13) report intervalunit is second. Default 1. Automatically notify host pc once at intervals. BYTE Report_Condition; //(14)condition of reportdefault 1. 0-notify now1-timing2-add3-remove4-change BYTE Report_Output;
//(15)report output port BYTE Antenna;
//(16)select antenna.1-ant1,2-ant2,4-ant4,8-ant8 BYTE TriggerMode;
//(17)trigger mode(default0): 0-low level 1-high level BYTE HostIP1;
BYTE HostIP2;
BYTE HostIP3;
BYTE HostIP4;
BYTE Port1;
//(18)notified IP address
//(19)
//(20)
//(21)
//(22)notified port 090909RevA|Page 66 of 97 SDK software development | VI-88R development handbook BYTE Port2;
BYTE Reserve24;
20121207 reserve
//(23)
//(24)notified MAC,mofi by mqs BYTE ArgentinaSim;
//(25)//emulation mode(argentina),0non-emulation1--emulation BYTE CardTime1;
BYTE CardTime2;
//(26)//reading time-out 1
//(27)//reading time-out 2 BYTE ArgentinaMode;
//(28)//5 modes for argentina, 0---Only ATA ; 1---Only EPC; 2---Only EPC & TID; 3---ATA + EPC; 4---ATA + EPC &
TID. BYTE Reserve29;
BYTE Alarm;
//(29)
//(30)0-no alarm1-alarm. To detect if alarm in timing and trigger modes. BYTE Reserve31;
//(31)time interval for standard output default value is 120s1255. BYTE EnableRelay;
//(32)to control relay or not in Auto mode 1:control 0: no control
} ReaderAutoParam;
//frequency for various countries static const tagReaderFreq stuctFreqCountry[]=
{
090909RevA|Page 67 of 97 SDK software development | VI-88R development handbook
{"00---FCC(American)", 63, 400, 902600},
//(0),{"00---FCC(American)", 50, 500, 902750},
{"01---ETSI EN 300-220(Europe300-220)", 11, 200, 865500},
//(1),{"01---ETSI EN 300-220(Europe300-220)", -1, -1, -1},
{"02---ETSI EN 302-208(Europe302-208)", 4, 600, 865700},
//(2)
{"03---HK920-925(Hong Kong)", 10, 500, 920250},
//(3)
{"04---TaiWan 922-928(Taiwan)", 12, 500, 922250},
//(4)
{"05---Japan 952-954(Japan)", 0, 0, 0},
//(5)
{"06---Japan 952-955(Japan)", 14,200, 952200},
//(6)
{"07---ETSI EN 302-208(Europe)", 4, 600, 865700},
//(7)
{"08---Korea 917-921(Korea)", 6, 600, 917300},
//(8)
{"09---Malaysia 919-923(Malaysia)", 8, 500, 919250},
//(9)
{"10--China 920-925(China)", 16, 250, 920625},
//(10) 090909RevA|Page 68 of 97 SDK software development | VI-88R development handbook
{"11--Japan 952-956(Japan)", 4, 1200, 952400},
//(11)
{"12--South Africa 915-919(Poncho)", 17, 200, 915600},
//(12)
{"13--Brazil 902-907/915-928(Brazil)", 35, 500, 902750},
//(13)
{"14--Thailand 920-925(Thailand)", -1, -1, -1},
//(14)
{"15--Singapore 920-925(Singapore)", 10, 500, 920250},
//(15)
{"16--Australia 920-926(Australia)", 12, 500, 920250},
//(16)
{"17--India 865-867(India)", 4, 600, 865100},
//(17)
{"18--Uruguay 916-928(Uruguay)", 23, 500, 916250},
//(18)
{"19--Vietnam 920-925(Vietnam)", 10, 500, 920250},
//(19)
{"20--Israel 915-917", 1, 0, 916250},
//(20)
{"21--Philippines 918-920(Philippines)", 4, 500, 918250},
//(21) 090909RevA|Page 69 of 97 SDK software development | VI-88R development handbook
{"22--Canada 902-928(Canada)", 42, 500, 902750},
//(22)
{"23--Indonesia 923-925(Indonesia)", 4, 500, 923250},
//(23)
{"24--New Zealand 921.5-928(New Zealand)", 11, 500, 922250},
//(24)
};
3.2.1.5 Function return code When command execution fail, function returns error code. Common error code:
Command 00(00H) 01(01H) 02(02H) 03(03H) 04(04H) 05(05H) 06(06H) 07(07H) 08(08H) 09(09H) 10(0AH) 11(0BH) 12(0CH) 13(0DH) 14 (0EH) 30(1EH) 31(1FH) 32(20H) Function Command success or detection correct Antenna connection fail Detect no tag Illegal tag Read-write power not enough Read and write protection in the memory bank Checksum error Parameter error Memory bank nonexistence Password error Kill password is all zero When reader in auto mode, only receive AutoMode and Reboot commands, other command is illegal Illegal user with unmatched password External RF interference Tag with read protection Invalid command, such as wrong command Unknown command Other error 090909RevA|Page 70 of 97 SDK software development | VI-88R development handbook 3.2.2 Control command function 3.2.2.1 Connect reader Using serial port Connection:
apiReturn ConnectScanner(HANDLE *hScanner, char *szPort, int nBaudRate);
Function: to establish communication connection with reader, and set baud rate for reader. Input parameter:
szPort : character pointer directing at communication port, eg. COM1 COM2 nBaudRate: baud rate of serial, effective value is: 96001920038400 57600115200. Output parameter: to judge if connection success or failure reason according to apiReturn value returned by function. hScanner : reader handle command with reader adress:
apiReturn _stdcall ConnectScanner485 (HANDLE *hScanner, char *szPort, int nBaudRate,int Address);
Function: to establish communication connection with reader, and set baud rate for reader. 090909RevA|Page 71 of 97 SDK software development | VI-88R development handbook Input parameter:
szPort : character pointer directing at communication port, eg.COM1 COM2 nBaudRate: baud rate of serial, effective value is: 96001920038400 57600115200. Address: reader address. Output parameter: to judge if connection success or failure reason according to apiReturn value returned by function. hScanner : reader handle connection via Ethernet port apiReturn _stdcall Net_ConnectScanner(SOCKET *hSocket,char
*nTargetAddress,UINT nTargetPort,char *nHostAddress,UINT nHostPort);
Function: to establish communication connection with reader, and set baud rate for reader. Input parameter:
nTargetAddress: target addess, such as192.168.0.1 nTargetPort: target communication port, such as1969 nHostAddress: host address, such as192.168.0.2 nHostPort: host communication port, such as5000 output parameter:
090909RevA|Page 72 of 97 SDK software development | VI-88R development handbook hSocket : reader communication handle return: if return value of function is OK, it means connection success, otherwise, connection fail. Note: each reader shall execute the command to get corresponding reader communication handle hSocket. 3.2.2.2 Disconnection RS232,RS485 disconnection with reader apiReturn DisconnectScanner(HANDLE hScanner) apiReturn Net_DisconnectScanner();
Function: to stop the connection with reader to release serial resource. Input parameter:
hSacnner: reader communication handle 3.2.2.3 Set baud rate apiReturn _stdcall SetBaudRate(HANDLE hScanner, int nBaudRate,int Address) apiReturn Net_SetBaudRate(SOCKET hSocket, int nBaudRate);
Function: to set operation baud rate of RS232 port. Input parameter:
hSacnner/hSocket: reader communication handle 090909RevA|Page 73 of 97 SDK software development | VI-88R development handbook nBaudRate: vaule:9600192003840057600115200 Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OK, setting success, otherwise failure reason. 3.2.2.4 Read version apiReturn _stdcall GetReaderVersion(HANDLE hScanner, WORD *wHardVer, WORD *wSoftVer,int Address) apiReturn Net_GetReaderVersion(SOCKET hSocket, WORD *wHardVer, WORD *wSoftVer,BYTE * IPaddress);
Function: to read hardware and software version number of reader. Input parameter:
hSacnner/hSocket: reader communication handle Address: RS485 networking address of readerAddress =0 no networking. Output parameter:
wHardVer: hardware version number of reader. WSoftVer: software version number of reader. return: if function return value is OK, read success, otherwise fail. 3.2.2.5 Set output power apiReturn _stdcall SetOutputPower(HANDLE hScanner, int nPower1,int 090909RevA|Page 74 of 97 SDK software development | VI-88R development handbook Address) apiReturn Net_SetOutputPower(SOCKET hSocket, int nPower,BYTE *
IPaddress);
Function: to set RF output power of reader. Input parameter:
hSacnner/hSocket: reader communication handle nPower1/nPower: output power value Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OKit means setting success, otherwise fail. 3.2.2.6 Set operation frequency apiReturn _stdcall SetFrequency(HANDLE hScanner, int Min_Frequency, int Max_Frequency,int Address) apiReturn _stdcall Net_SetFrequency(SOCKET hSocket, int Min_Frequency, int Max_Frequency) Function: to set operation frequency of reader. Input parameter:
hSacnner/hSocket: reader communication handle Min_Frequency: start frequency of readervaule is 0-59. 090909RevA|Page 75 of 97 SDK software development | VI-88R development handbook Max_Frequency: end frequency of readervalue is 0-59. When Min_Frequency = Max_Frequencyreader works in fixed frequency. Address: RS485 networking address of readerAddress =0 no networking. function: if function return value is OKit means setting success, otherwise fail. 3.2.2.7 Read reader basic operation parameter apiReturn _stdcall ReadBasicParam(HANDLE hScanner, ReaderBasicParam
* pParam,int Address);
apiReturn Net_ ReadBasicParam (SOCKET hSocket, ReaderBasicParam *
pParam);
Function: to read operation parameter written by last command in reader. Input parameter:
hSacnner/hSocket: reader communication handle Address: RS485 networking address of readerAddress =0 no networking. Output parameter:
pParam: return operation parameter of reader, 32 bytes return: if function return value is OK, it means read success, otherwise failure reason. 3.2.2.8 Set reader basic operation parameter 090909RevA|Page 76 of 97 SDK software development | VI-88R development handbook apiReturn _stdcall WriteBasicParam(HANDLE hScanner, ReaderBasicParam
* pParam,int Address);
apiReturn Net_ WriteBasicParam (SOCKET hSocket, ReaderBasicParam *
pParam);
Function: to reader operation parameter for reader. Input parameter:
hSacnner/hSocket: reader communication handle pParam: operation parameter of reader, 32 bytes Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OKit means setting success, otherwise failure reason. 3.2.2.9 Read reader auto parameter apiReturn _stdcall ReadAutoParam (HANDLE hScanner, ReaderAutoParam*
pParam,int Address);
apiReturn Net_ ReadAutoParam (SOCKET hSocket, ReaderAutoParam*
pParam);
Function: to read operation parameter written by last command in reader. Input parameter:
hSacnner/hSocket: reader communication handle Address: RS485 networking address of readerAddress =0 no networking. 090909RevA|Page 77 of 97 SDK software development | VI-88R development handbook Output parameter:
pParam: return operation parameter of reader, 32 bytes return: if function return value is OKit mean read success, otherwise failure reason. 3.2.2.10 Set reader auto parameter apiReturn _stdcall WriteAutoParam (HANDLE hScanner, ReaderAutoParam*
pParam,int Address);
apiReturn Net_ WriteAutoParam (SOCKET hSocket, ReaderAutoParam*
pParam);
Function: to set auto operation parameter in reader. Input parameter:
hSacnner/hSocket: reader communication handle pParam: operation parameter of reader, 32 bytes Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OKit means set success, otherwise failure reason. 3.2.2.11 Select antenna apiReturn _stdcall SetAntenna(HANDLE hScanner, int Antenna,int Address) ;
apiReturn Net_SetAntenna(SOCKET hSocket, int Antenna);
090909RevA|Page 78 of 97 SDK software development | VI-88R development handbook Function: to select which antenna to receive and transmit signal. Input parameter:
hSacnner/hSocket: reader handle Antenna: antenna number1-No1 antenna2-No2 antenna4-No3 antenna 8-No4 antenna Address: RS485 networking address of readerRS485Address=0 no networking. Output parameter:
return: if function return value is OK, it means set success, otherwise failure reason. 3.2.2.12 Set relay state in reader apiReturn _stdcall SetRelay(HANDLE hScanner, int Relay,int Address) ;
apiReturn Net_SetRelay(SOCKET hSocket, int Relay);
Function: to set relay state for reader. Input parameter:
hSacnner/hSocket: reader handle Relay: 1byte. Bit0=1, No1 relay on; Bit0=0, No1 relay off. Bit1=1, No2 relay on; Bit1=0, No2 relay off. And so on. Address: RS485 networking address of readerAddress =0 no networking. 090909RevA|Page 79 of 97 SDK software development | VI-88R development handbook return: if function return value is OK, it means set success, otherwise failure reason. 3.2.2.13 Reboot reader apiReturn Reboot(HANDLE hScanner,int Address);
apiReturn Net_Reboot(SOCKET hSocket);
Function: to reboot reader, power on again. Input parameter:
hSacnner/hSocket: reader communication handle Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OK, it means set success, otherwise failure reason. 3.2.2.14 Set time apiReturn _stdcall SetReaderTime(HANDLE hScanner, ReaderDate time ,int Address) ;
apiReturn Net_SetReaderTime(SOCKET hSocket, ReaderDate time) Function: to set time for reader based on Host pc time. Input parameter:
hSacnner/hSocket: reader communication port handle time: host pc time6bytes 090909RevA|Page 80 of 97 SDK software development | VI-88R development handbook Address: RS485 networking address of reader, Address =0 no networking. return: if function return value is OK, it means set success, otherwise failure reason. 3.2.2.15 Get time apiReturn _stdcall GetReaderTime(HANDLE hScanner, ReaderDate
*time ,int Address) ;
apiReturn GetReaderTime(SOCKET hSocket, ReaderDate *time) Function: to read time of reader. Input parameter:
hSacnner/hSocket: reader communication handle Address: RS485 networking address of readerAddress =0 no networking. Output parameter:
time: return time of reader, 6bytes return: if function return value is OKit means read success, otherwise failure reason. 3.2.2.16 Get record apiReturn _stdcall GetRecord(HANDLE hScanner, ReaderDate *stime, ReaderDate *etime, int startaddr, int listlen, int *relistlen, int *taglen, BYTE
* data) ;
apiReturn _stdcall Net_GetRecord(SOCKET hSocket, ReaderDate *stime, 090909RevA|Page 81 of 97 SDK software development | VI-88R development handbook ReaderDate *etime, int startaddr, int listlen, int *relistlen, int *taglen, BYTE
* data);
Function: to read record of identified tags in reader. Input parameter:
hSacnner/hSocket: reader communication handle stime: start time etime: end time startaddr: start record listlen: records count to read output parameter:
relistlen: records count by actual reading taglen: length of each record by actual reading data: records by reading return: if function return value is OKit means read success, otherwise failure reason. 3.2.2.17 Delete all records apiReturn _stdcall DeleteAllRecord(HANDLE hScanner) ;
apiReturn _stdcall Net_DeleteAllRecord(SOCKET hSocket);
Function: to delete all records in reader. 090909RevA|Page 82 of 97 SDK software development | VI-88R development handbook Input parameter:
hSacnner/hSocket: reader communication port handle return: if function return value is OK, it means set success, otherwise failure reason. 3.2.3 Network command 3.2.3.1 Set IP address for reader apiReturn _stdcall SetReaderNetwork(HANDLE hScanner, BYTE IP_Address[4], int Port, BYTE Mask[4], BYTE Gateway[4],int Address) ;
apiReturn _stdcall Net_SetReaderNetwork(SOCKET hSocket, BYTE IP_Address[4], int Port, BYTE Mask[4], BYTE Gateway[4]);
Function: to set network IP address for reader. Input parameter:
hSacnner/hSocket: reader communication port handle IP_Address[4]: IP address of reader Port: network port number of reader Mask[4]: network IP address mask of reader Gateway[4]: gateway of reader Address: RS485 networking address of readerAddress =0 no networking. Return: if function return value is OK, it means set success, otherwise 090909RevA|Page 83 of 97 SDK software development | VI-88R development handbook failure reason. 3.2.3.2 Get IP address in reader apiReturn _stdcall GetReaderNetwork(HANDLE hScanner, BYTE
*IP_Address, int *Port, BYTE *Mask, BYTE *Gateway,int Address) ;
apiReturn _stdcall Net_GetReaderNetwork(SOCKET hSocket, BYTE
*IP_Address, int *Port, BYTE *Mask, BYTE *Gateway);
Funtion: to get network IP addess of reader. Input parameter:
hSacnner/hSocket: reader communication port handle output parameter:
IP_Address[4]: IP address of reader Port: network port number of reader Mask[4]: network IP address mask of reader Gateway[4]: gateway of reader Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OK, it means set success, otherwise failure reason. 3.2.3.3 Set reader MAC address apiReturn _stdcall SetReaderMAC(HANDLE hScanner, BYTE MAC[6],int 090909RevA|Page 84 of 97 SDK software development | VI-88R development handbook Address) ;
apiReturn _stdcall Net_SetReaderMAC(SOCKET hSocket, BYTE MAC[6]);
Function: to set network MAC address for reader. Input parameter:
hSacnner/hSocket: reader communication port handle MAC[6]: network MAC address of reader Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OK, it means set success, otherwise failure reason. 3.2.3.4 Get reader MAC address apiReturn _stdcall GetReaderMAC(HANDLE hScanner, BYTE *MAC,int Address) ;
apiReturn _stdcall Net_GetReaderMAC(SOCKET hSocket, BYTE *MAC);
Function: to get network MAC address of reader. Input parameter:
hSacnner/hSocket: reader communication port handle output parameter:
MAC: network MAC address of reader Address: RS485 networking addressAddress =0 no networking. 090909RevA|Page 85 of 97 SDK software development | VI-88R development handbook return: if function return value is OK, it means set success, otherwise failure reason. 3.2.4 Read write ISO18000-6B function 3.2.4.1 Identify tag ID number apiReturn _stdcall ISO6B_ReadLabelID(HANDLE hScanner, BYTE *IDBuffer, int *nCounter,int Address) ;
apiReturn _stdcall Net_ISO6B_ReadLabelID(SOCKET hSocket, BYTE
*IDBuffer, int *nCounter);
Function: to read all ID number of all readable tags in antenna radiation field. Input parameter:
hSacnner/hSocket: reader communication port handle output parameter:
nCounter: return tag count by actual reading ID number IDBuffer: store ID number of tag by reading in cache Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OK, it means identify success, otherwise failure reason. 3.2.4.2 Identify selected tag ID number 090909RevA|Page 86 of 97 SDK software development | VI-88R development handbook apiReturn _stdcall ISO6B_ListSelectedID(HANDLE hScanner, int Cmd, int ptr, BYTE Mask, BYTE *Data, BYTE *IDBuffer, int *nCounter,int Address) ;
apiReturn _stdcall Net_ISO6B_ListSelectedID(SOCKET hSocket, int Cmd, int ptr, BYTE Mask, BYTE *Data, BYTE *IDBuffer, int *nCounter);
Function: to read ID number of selected tags in antenna radiation field. Input parameter:
hSacnner/hSocket: reader communication port handle Cmd: condition of selected tag 00 01 02 03 Equal to Unequal to Greater than Less than ptr: start address of tag data, value 0223 Mask: data maskeach bit of the byte is corresponding to a comparative bit. 0 means the byte not for comparison1 means the byte for comparison. Data: data to compare Address: RS485 networking address of readerAddress =0 no networking. Output parameter:
nCounter: return tag count by actual reading ID number IDBuffer: store ID number of tag by reading in cache return: if function return value is OK, it means identify success, otherwise 090909RevA|Page 87 of 97 SDK software development | VI-88R development handbook failure reason. 3.2.4.3 Read data block apiReturn ISO6B_ReadByteBlock(HANDLE hScanner, BYTE *IDBuffer, BYTE ptr, BYTE len,BYTE *Data,int Address) apiReturn _stdcall Net_ISO6B_ReadByteBlock(SOCKET hSocket, BYTE
*IDBuffer, BYTE ptr, BYTE len,BYTE *Data);
Function: to read data in a section of continous memory of tag. Input parameter:
hSacnner/hSocket: reader communication port handle IDBuffer: ID number of tag to read ptr: start addess of tag memory to read(0223 Byte) len: length of data block, thats how many bytes for once reading(Byte) Address: RS485 networking address of readerAddress =0 no networking. Output parameter:
Data: return data by reading Note: nLen shall be 32. (nAddress+nLen) 223 Return: if function return value is OK, it means read success, otherwise failure reason. 3.2.4.4 Write data block 090909RevA|Page 88 of 97 SDK software development | VI-88R development handbook apiReturn _stdcall ISO6B_WriteByteBlock(HANDLE hScanner, BYTE
*IDBuffer, BYTE ptr, BYTE len, BYTE *Data,int Address) ;
apiReturn _stdcall Net_ISO6B_WriteByteBlock(SOCKET hSocket, BYTE
*IDBuffer, BYTE ptr, BYTE len, BYTE *Data);
Function: to write data into appointed address unit of tag Input parameter:
hSacnner/hSocket: reader communication port handle IDBuffer: ID number of tag to write ptr: start address of tag memory to write(8223) len: length of data block, that how many words for once wirting(4Bytes/word) Data: data to write Note: ptr shall be integral multiple of 4. (nAddress+nLen) 223. Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OKit means write success, otherwise failure reason. 3.2.4.5 Slow write data block apiReturn _stdcall ISO6B_WriteAByte(HANDLE hScanner, BYTE *IDBuffer, BYTE ptr, BYTE len, BYTE *Data,int Address);
apiReturn _stdcall Net_ISO6B_WriteAByte(SOCKET hSocket, BYTE 090909RevA|Page 89 of 97 SDK software development | VI-88R development handbook
*IDBuffer, BYTE ptr, BYTE len, BYTE *Data);
Function: to write data into appointed address unit of tag byte by byte. Input parameter:
hSacnner/hSocket: reader communication port handle IDBuffer: ID number of tag to write ptr: start address of tag memory to write(8223) len: length of data blockthats how many words to write once(4Bytes/word) Data: data to write Note: (nAddress+nLen) 223 Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OKit means write success, otherwise failure reason. Note: the command writes data into tag byte by byte, slow in speed. Only used for tags not support previous write command. 3.2.4.6 Set write protection apiReturn _stdcall ISO6B_WriteProtect(HANDLE hScanner, BYTE *IDBuffer, BYTE ptr,int Address);
apiReturn _stdcall Net_ISO6B_WriteProtect(SOCKET hSocket, BYTE
*IDBuffer, BYTE ptr);
090909RevA|Page 90 of 97 SDK software development | VI-88R development handbook Function: to set write protect for appointed address unit of appointed tag. Input parameter:
hSacnner/hSocket: reader communication port handle IDBuffer: ID number of tag to write ptr: memory address of tag to set write protect(8223) Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OK, it means set success, otherwise failure reason. 3.2.4.7 Read write protection apiReturn _stdcall ISO6B_ReadWriteProtect(HANDLE hScanner, BYTE
*IDBuffer, BYTE ptr, BYTE *Protected,int Address);
apiReturn _stdcall Net_ISO6B_ReadWriteProtect(SOCKET hSocket, BYTE
*IDBuffer, BYTE ptr, BYTE *Protected);
Function: to read if the appointed address unit of appointed tag is set write protect. Input parameter:
hSacnner/hSocket: reader communication port handle IDBuffer: ID number of tag to write ptr: memory address of tag to read write protection state (0223) 090909RevA|Page 91 of 97 SDK software development | VI-88R development handbook Address: RS485 networking address of readerAddress =0 no networking. Output parameter:
Protected: protection state0- no protect1-protected return: if function return value is OK, it means read success, otherwise failure reason. 3.2.5 Read write ISO18000-6C function 3.2.5.1 Identify EPC number of ISO18000-6C tag apiReturn _stdcall EPC1G2_ReadLabelID(HANDLE hScanner, BYTE mem, int ptr, BYTE len, BYTE *mask, BYTE *IDBuffer, int *nCounter,int Address);
apiReturn _stdcall Net_EPC1G2_ReadLabelID(SOCKET hSocket, BYTE mem, int ptr, BYTE len, BYTE *mask, BYTE *IDBuffer, int *nCounter);
Function: to read EPC number of all eligible readable tag in antenna radiation field. Input parameter:
hSacnner/hSocket: reader communication port handle mem: select memory bank 0 1 2 3 Passwrod EPC TID User ptr: start address of mask(unit:Bit) 090909RevA|Page 92 of 97 SDK software development | VI-88R development handbook len: length of mask(unit:Bit) mask: mask(unit:Byte)if len/8 is integerlength of mask is len/8if len/8 is not integer,length of mask is len/8+1. Last byte data of mask in high-order position, zero fill in low-order position. Address: RS485 networking address of readerAddress =0 no networking. Output parameter:
IDBuffer: EPC number of tag by read NCounter: tag count by read return: if function return value is OKit means identify success, otherwise failure reason. Note: LEN=0, to identify all readable tag ID in antenna radiation field. 3.2.5.2 Read a block data apiReturn _stdcall EPC1G2_ReadWordBlock(HANDLE hScanner, BYTE EPC_WORD, BYTE *IDBuffer, BYTE mem, BYTE ptr, BYTE len, BYTE *Data, BYTE *AccessPassword,int Address);
apiReturn _stdcall Net_EPC1G2_ReadWordBlock(SOCKET hSocket, BYTE EPC_WORD, BYTE *IDBuffer, BYTE mem, BYTE ptr, BYTE len, BYTE *Data, BYTE *AccessPassword);
Function: to read data in a section of continous address of tag. Input parameter:
090909RevA|Page 93 of 97 SDK software development | VI-88R development handbook hSacnner/hSocket: reader communication port handle EPC_WORD: length of EPC, L(unit:Word)such as length of 96BitsEPC L=6(Words) IDBuffer: EPC number of selected tag mem: select memory bank0-Password1-EPC2-TID3-User. ptr: start address to read(unit:WORD) len: length to read(unit:WORD) AccessPassword: 4bytes AccessPassword Address: RS485 networking address of readerAddress =0 no networking. Output parameter:
Data: data to read return: if function return value is OKit means read success, otherwise failure reason. Note: AccessPassword only workable for password memory bank in password lock state. 3.2.5.3 Write a block data apiReturn _stdcall EPC1G2_WriteWordBlock(HANDLE hScanner, BYTE EPC_WORD, BYTE *IDBuffer, BYTE mem, BYTE ptr, BYTE len, BYTE *Data, BYTE *AccessPassword,int Address);
apiReturn _stdcall Net_EPC1G2_WriteWordBlock(SOCKET hSocket, BYTE 090909RevA|Page 94 of 97 SDK software development | VI-88R development handbook EPC_WORD, BYTE *IDBuffer, BYTE mem, BYTE ptr, BYTE len, BYTE *Data, BYTE *AccessPassword);
Function: to write data into appointed address unit of tag. Input parameter:
hSacnner/hSocket: reader communication port handle EPC_WORD: length of EPC, L(unit:Word)such as length of 96BitsEPC L=6(Words) IDBuffer: EPC number of selected tag mem: select memory bank 0 1 2 3 Password EPC TID User ptr: start address to write(unit:WORD) len: length to write(unit:WORD) Data: data to write AccessPassword: 4bytes AccessPassword Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OKit means write success, otherwise failure reason. Note: AccessPassword only workable for memory bank in password 090909RevA|Page 95 of 97 SDK software development | VI-88R development handbook lock state. If memory bank unlocked, can be written without password. If memory bank locked permanently, password useless. 3.2.5.4 Set read write protection state apiReturn _stdcall EPC1G2_SetLock(HANDLE hScanner, BYTE EPC_WORD, BYTE *IDBuffer, BYTE mem, BYTE Lock, BYTE *AccessPassword,int Address);
apiReturn _stdcall Net_EPC1G2_SetLock(SOCKET hSocket, BYTE EPC_WORD, BYTE *IDBuffer, BYTE mem, BYTE Lock, BYTE
*AccessPassword);
Function: to set write protect for appointed memory bank of appointed tag. Input parameter:
hSacnner/hSocket: reader communication port handle EPC_WORD: length of EPC, L(unit:Word)such as length of 96BitsEPC L=6(Words) IDBuffer: EPC number of selected tag mem: select memory bank 0 1 2 3 4 Kill Password Access Password EPC number TID ID number User Lock: control word. 0 Writable 090909RevA|Page 96 of 97 SDK software development | VI-88R development handbook 1 2 3 4 5 6 7 Permanently writable Writable from secured state Never writable Readable and writable Permanently readable and writable Readable and writable from secured state Never readable and writable Note:03 only apply to EPCTID and User memory bank47 only apply to Kill Password and Access Password. AccessPassword: 4bytes AccessPassword Address: RS485 networking address of readerAddress =0 no networking. return: if function return value is OKit means set success, otherwise failure reason. 090909RevA|Page 97 of 97 FCC WARNING This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) this device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation. Any changes or modifications not expressly approved by the party responsible for compliance could void the user's authority to operate the equipment. NOTE: This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
-- Reorient or relocate the receiving antenna.
-- Increase the separation between the equipment and receiver.
-- Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
-- Consult the dealer or an experienced radio/TV technician for help. To maintain compliance with FCCs RF Exposure guidelines, This equipment should be installed and operated with minimum distance between 20cm the radiator your body: Use only the supplied antenna.
1 | label&label location | ID Label/Location Info | 45.99 KiB |
Label location Size:30*20mm M/N: VI-88TR FCC ID: 2AUUR-VI88TR This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) This device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation.
frequency | equipment class | purpose | ||
---|---|---|---|---|
1 | 2019-10-29 | 902.5 ~ 927 | DSS - Part 15 Spread Spectrum Transmitter | Original Equipment |
app s | Applicant Information | |||||
---|---|---|---|---|---|---|
1 | Effective |
2019-10-29
|
||||
1 | Applicant's complete, legal business name |
Shenzhen VanchIOT Technology Co.,Ltd.
|
||||
1 | FCC Registration Number (FRN) |
0028912442
|
||||
1 | Physical Address |
4/F,the West of Building B,Fuanna Industrial Park No.1 Qingning Road, Longhua District
|
||||
1 |
4/F,the West of Building B,Fuanna Industrial Park
|
|||||
1 |
Shenzhen City-518109, Guangdong Province,
|
|||||
1 |
China
|
|||||
app s | TCB Information | |||||
1 | TCB Application Email Address |
j******@metlabs.com
|
||||
1 | TCB Scope |
A4: UNII devices & low power transmitters using spread spectrum techniques
|
||||
app s | FCC ID | |||||
1 | Grantee Code |
2AUUR
|
||||
1 | Equipment Product Code |
VI88TR
|
||||
app s | Person at the applicant's address to receive grant or for contact | |||||
1 | Name |
d******** c******
|
||||
1 | Title |
Manager
|
||||
1 | Telephone Number |
0755-********
|
||||
1 | Fax Number |
0755-********
|
||||
1 |
c******@vanch.net
|
|||||
app s | Technical Contact | |||||
1 | Firm Name |
Shenzhen BCTC Testing Co., Ltd.
|
||||
1 | Name |
A******** M****
|
||||
1 | Physical Address |
BCTC Bldg&1-2F, East of B Bldg,Pengzhou Industrial
|
||||
1 |
Baoan District, Shenzhen
|
|||||
1 |
China
|
|||||
1 | Telephone Number |
86-75********
|
||||
1 | Fax Number |
86-75********
|
||||
1 |
a******@bctc-lab.com.cn
|
|||||
app s | Non Technical Contact | |||||
n/a | ||||||
app s | Confidentiality (long or short term) | |||||
1 | Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | Yes | ||||
1 | Long-Term Confidentiality Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | No | ||||
if no date is supplied, the release date will be set to 45 calendar days past the date of grant. | ||||||
app s | Cognitive Radio & Software Defined Radio, Class, etc | |||||
1 | Is this application for software defined/cognitive radio authorization? | No | ||||
1 | Equipment Class | DSS - Part 15 Spread Spectrum Transmitter | ||||
1 | Description of product as it is marketed: (NOTE: This text will appear below the equipment class on the grant) | UHF RFID Integrated reader | ||||
1 | Related OET KnowledgeDataBase Inquiry: Is there a KDB inquiry associated with this application? | No | ||||
1 | Modular Equipment Type | Does not apply | ||||
1 | Purpose / Application is for | Original Equipment | ||||
1 | Composite Equipment: Is the equipment in this application a composite device subject to an additional equipment authorization? | No | ||||
1 | Related Equipment: Is the equipment in this application part of a system that operates with, or is marketed with, another device that requires an equipment authorization? | No | ||||
1 | Grant Comments | Output Power listed is conducted. | ||||
1 | Is there an equipment authorization waiver associated with this application? | No | ||||
1 | If there is an equipment authorization waiver associated with this application, has the associated waiver been approved and all information uploaded? | No | ||||
app s | Test Firm Name and Contact Information | |||||
1 | Firm Name |
Shenzhen BCTC Testing Co., Ltd.
|
||||
1 | Name |
A**** M******
|
||||
1 | Telephone Number |
+8675********
|
||||
1 |
a******@bctc-lab.com.cn
|
|||||
Equipment Specifications | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Line | Rule Parts | Grant Notes | Lower Frequency | Upper Frequency | Power Output | Tolerance | Emission Designator | Microprocessor Number | |||||||||||||||||||||||||||||||||
1 | 1 | 15C | 902.50000000 | 927.00000000 | 0.0028000 |
some individual PII (Personally Identifiable Information) available on the public forms may be redacted, original source may include additional details
This product uses the FCC Data API but is not endorsed or certified by the FCC