zpl.tools
RFID

^RA - Read RFID AFI or DSFID Byte

Reads the application family identifier or data storage format identifier byte from a tag.

ISO 15693 tags carry two single-byte identifiers that describe the tag contents: the application family identifier and the data storage format identifier. ^RA reads one of them into a field number, and an ^FN field can then print it or an ^HV can return it to the host. ^RA reads one byte only. Use ^RF to read tag data.

Syntax

^RA#,f,r,m,b

Support

Recognised, deliberately skippedparsed: none · state: none · rendered: none

Accepted and skipped, because it configures the printer rather than the label. It cannot change the rendered output, and Labelary skips it too.

Reads a single byte from a transponder. No transponder exists, so the renderer reads nothing and returns nothing. The renderer does not parse this command. It reports IGNORED_COMMAND at info severity, which does not reach X-Warnings. Labelary does not implement it either, so neither engine returns tag data. — not pinned by a test

Labelary does not implement it either, so there is no parity reference.

Parameters

#Field numberoptional · integer

The ^FN number that receives the data read, so a field on the label or an ^HV can print it. The guide asks for the same number the matching ^RT uses.

Default
0
Accepted range
0 to 9999
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No test at the minimum, maximum or one step outside the range.
fFormatoptional · one of a set

How the printer interprets the tag data.

Default
0
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (0, 1).
0
ASCII. (default)
1
Hexadecimal.
rNumber of retriesoptional · integer

How many times the printer retries the operation on a single tag before it stops.

Default
0
Accepted range
0 to 10
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No test at the minimum, maximum or one step outside the range.
mMotionoptional · one of a set

Whether the media feeds once the operation completes.

Default
0
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (0, 1).
0
Feed the label after the operation. (default)
1
No feed. Other commands in the format can still cause one.
bType of byteoptional · one of a set

Which of the two single-byte identifiers the operation addresses.

Default
A
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (A, D).
A
The application family identifier (AFI) byte. (default)
D
The data storage format identifier (DSFID) byte.

Behavior

The field number connects this command to the rest of the format: ^RA1 fills ^FN1 at any position. The guide requires the same number that the matching ^RT uses, because the two commands share the numbering. A read into a field succeeds only above the programming position, because the printer prints everything below it before the read.

If the read fails after r retries, the printer voids the label. The renderer draws nothing for this command. No transponder is present, so the ^FN field that ^RA feeds stays empty. A label that carries the byte on a printer prints here without it, and the renderer prints no incorrect data in its place.

Tested behavior

Example

The guide's own example, with a caption added so the label is not blank. The ^FN1 field is where the byte would print:

^XA
^FO50,50^A0N,40,40^FDAFI byte read^FS
^FO50,110^A0N,40,40^FN1^FS
^RA1,0,5,0^FS
^HV1,,AFI Byte:^FS
^XZ

Open in viewer