zpl.tools
RFID

^RT - Read RFID Tag

Reads tag data into a field or back to the host.

^RT reads tag data into a field number, so a format can print it on the label or return it to the host with ^HV. It is a legacy command: the guide keeps it only for formats written for older Zebra RFID printers, and current firmware expects ^RF with the R operation. Read its parameter table anyway, because the two commands number their blocks the same way.

Syntax

^RT#,b,n,f,r,m,s

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 the transponder. None exists, so a field that would receive the data stays empty rather than wrong. 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. ^RF with the R operation is the current replacement for it. — 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. An ^HV with the same number returns it to the host as well.

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.
bStarting block numberoptional · integer

The first block to read. The maximum is the number of blocks the tag has.

Default
0
Accepted range
0 to the tag's block count
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.
nNumber of blocks to readoptional · integer

How many blocks to read, counting from the starting block. The maximum is the tag's block count less the starting block.

Default
1
Accepted range
1 to the tag's remaining blocks
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.
sSpecial modeoptional · text

A printer-specific flag with two unrelated meanings in the guide. On the R4Mplus with US firmware it decides whether the printer reads a block with a mismatched checksum anyway. On the R110Xi HF and R2844-Z it selects byte order. 0 is the default in both readings.

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

Behavior

The block count n is relative to the starting block and not absolute: on an eight-block tag starting at block 6, n can only be 2. Several ^RT commands can appear in one format, each filling a different ^FN.

The special-mode parameter is the awkward one. The guide gives it two unrelated meanings on two printer families: mismatched-checksum handling on one, and byte order on the other.

The renderer reads nothing, so every field an ^RT feeds prints empty. One consequence matters for a page count. A format whose only content comes from a tag draws nothing at all. Labelary returns no page for a format that draws nothing, where this service returns one blank page.

Tested behavior

Example

The guide's example, with a caption added so the label is not blank:

^XA
^FO50,50^A0N,40,40^FDTag data^FS
^FO50,110^A0N,40,40^FN1^FS
^RT1,,,,5^FS
^HV1,,Tag Data:^FS
^XZ

Open in viewer