Manual ZPL II
Manual ZPL II
Guide
For Firmware Version x.14 and Later
2008 ZIH Corp. The copyrights in this manual and the software and/or firmware in the printer described
therein are owned by ZIH Corp. Unauthorized reproduction of this manual or the software and/or firmware in the
printer may result in imprisonment of up to one year and fines of up to $10,000 (17 U.S.C.506). Copyright violators
may be subject to civil liability.
This product may contain ZPL
, ZPL II
Circuit; E
3
; and
Monotype Imaging fonts. Software ZIH Corp. All rights reserved worldwide.
ZebraLink and all product names and numbers are trademarks, and Zebra, the Zebra logo, ZPL, ZPL II, Element
Energy Equalizer Circuit, and E
3
Circuit are registered trademarks of ZIH Corp. All rights reserved worldwide.
All other brand names, product names, or trademarks belong to their respective holders. For additional trademark
information, please see Trademarks on the product CD.
Proprietary Statement This manual contains proprietary information of Zebra Technologies Corporation and its
subsidiaries (Zebra Technologies). It is intended solely for the information and use of parties operating and
maintaining the equipment described herein. Such proprietary information may not be used, reproduced, or disclosed
to any other parties for any other purpose without the express, written permission of Zebra Technologies.
Product Improvements Continuous improvement of products is a policy of Zebra Technologies. All
specifications and designs are subject to change without notice.
Liability Disclaimer Zebra Technologies takes steps to ensure that its published Engineering specifications and
manuals are correct; however, errors do occur. Zebra Technologies reserves the right to correct any such errors and
disclaims liability resulting therefrom.
Limitation of Liability In no event shall Zebra Technologies or anyone else involved in the creation, production,
or delivery of the accompanying product (including hardware and software) be liable for any damages whatsoever
(including, without limitation, consequential damages including loss of business profits, business interruption, or loss
of business information) arising out of the use of, the results of use of, or inability to use such product, even if Zebra
Technologies has been advised of the possibility of such damages. Some jurisdictions do not allow the exclusion or
limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you.
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Contents
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Functional List of ZPL Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Alphabetical List of ZBI Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Alphabetical List of Set/Get/Do Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
About This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Who Should Use This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
How This Document Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
The Americas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Europe, Africa, Middle East, and India . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Asia Pacific . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2 ZPL Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Basic ZPL Exercises and Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Before you begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
^A Scalable/Bitmapped Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
^A@ Use Font Name to Call Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
^B0 Aztec Bar Code Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
^B1 Code 11 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
^B2 Interleaved 2 of 5 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
^B3 Code 39 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
^B4 Code 49 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Contents
4
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^B5 Planet Code bar code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
^B7 PDF417 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
^B8 EAN-8 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
^B9 UPC-E Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
^BA Code 93 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
^BB CODABLOCK Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
^BC Code 128 Bar Code (Subsets A, B, and C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
^BD UPS MaxiCode Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
^BE EAN-13 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
^BF MicroPDF417 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
^BI Industrial 2 of 5 Bar Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
^BJ Standard 2 of 5 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
^BK ANSI Codabar Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
^BL LOGMARS Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
^BM MSI Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112
^BO Aztec Bar Code Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114
^BP Plessey Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116
^BQ QR Code Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
^BR RSS (Reduced Space Symbology) Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
^BS UPC/EAN Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
^BT TLC39 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
^BU UPC-A Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
^BX Data Matrix Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
^BY Bar Code Field Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
^BZ POSTAL Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
^CC ~CC Change Caret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
^CD ~CD Change Delimiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
^CF Change Alphanumeric Default Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
^CI Change International Font/Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
^CM Change Memory Letter Designation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
^CO Cache On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
^CT ~CT Change Tilde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
^CV Code Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
^CW Font Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
~DB Download Bitmap Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
~DE Download Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
^DF Download Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
~DG Download Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
~DN Abort Download Graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
~DS Download Intellifont (Scalable Font) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
5
Contents
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~DT Download Bounded TrueType Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
~DU Download Unbounded TrueType Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
~DY Download Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
~EG Erase Download Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
^FB Field Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
^FC Field Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
^FD Field Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
^FH Field Hexadecimal Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
^FL Font Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
^FM Multiple Field Origin Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
^FN Field Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
^FO Field Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
^FP Field Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
^FR Field Reverse Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
^FS Field Separator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
^FT Field Typeset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
^FV Field Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
^FW Field Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
^FX Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
^GB Graphic Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
^GC Graphic Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
^GD Graphic Diagonal Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
^GE Graphic Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
^GF Graphic Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
^GS Graphic Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
~HB Battery Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
~HD Head Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
^HF Host Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
^HG Host Graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
^HH Configuration Label Return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
~HI Host Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
~HM Host RAM Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
~HQ Host Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
~HQ Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
~HS Host Status Return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
^HT Host Linked Fonts List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
~HU Return ZebraNet Alert Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
^HV Host Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
^HW Host Directory List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
^HY Upload Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Contents
6
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^HZ Display Description Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
^ID Object Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
^IL Image Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
^IM Image Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
^IS Image Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
~JA Cancel All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
^JB Initialize Flash Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
~JB Reset Optional Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
~JC Set Media Sensor Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
~JD Enable Communications Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
~JE Disable Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
~JF Set Battery Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
~JG Graphing Sensor Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
^JH Early Warning Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
^JI Start ZBI (Zebra BASIC Interpreter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
~JI Start ZBI (Zebra BASIC Interpreter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
^JJ Set Auxiliary Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
~JL Set Label Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
^JM Set Dots per Millimeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
~JN Head Test Fatal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
~JO Head Test Non-Fatal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
~JP Pause and Cancel Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
~JQ Terminate Zebra BASIC Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
~JR Power On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
^JS Sensor Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
~JS Change Backfeed Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
^JT Head Test Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
^JU Configuration Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
^JW Set Ribbon Tension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
~JX Cancel Current Partially Input Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
^JZ Reprint After Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
~KB Kill Battery (Battery Discharge Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
^KD Select Date and Time Format (for Real Time Clock) . . . . . . . . . . . . . . . . . . . . . 273
^KL Define Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
^KN Define Printer Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
^KP Define Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
^LF List Font Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
^LH Label Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
^LL Label Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
^LR Label Reverse Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
7
Contents
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^LS Label Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
^LT Label Top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
^MA Set Maintenance Alerts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
^MC Map Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
^MD Media Darkness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
^MF Media Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
^MI Set Maintenance Information Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
^ML Maximum Label Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
^MM Print Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
^MN Media Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
^MP Mode Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
^MT Media Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
^MU Set Units of Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
^MW Modify Head Cold Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
^NC Select the Primary Network Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
~NC Network Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
^ND Change Network Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
^NI Network ID Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
~NR Set All Network Printers Transparent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
^NS Change Wired Networking Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
~NT Set Currently Connected Printer Transparent . . . . . . . . . . . . . . . . . . . . . . . . . . 308
^PA Advanced Text Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
^PF Slew Given Number of Dot Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
^PH ~PH Slew to Home Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311
^PM Printing Mirror Image of Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
^PO Print Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
^PP ~PP Programmable Pause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
^PQ Print Quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
^PR Print Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
~PR Applicator Reprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
~PS Print Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
^PW Print Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
~RO Reset Advanced Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
^SC Set Serial Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
~SD Set Darkness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
^SE Select Encoding Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
^SF Serialization Field (with a Standard ^FD String) . . . . . . . . . . . . . . . . . . . . . . . . . 325
^SI Set Sensor Intensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
^SL Set Mode and Language (for Real-Time Clock) . . . . . . . . . . . . . . . . . . . . . . . . . 330
^SN Serialization Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Contents
8
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^SO Set Offset (for Real-Time Clock) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
^SP Start Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
^SQ Halt ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
^SR Set Printhead Resistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
^SS Set Media Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
^ST Set Date and Time (for Real-Time Clock) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
^SX Set ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
^SZ Set ZPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
~TA Tear-off Adjust Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
^TB Text Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
^TO Transfer Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
~WC Print Configuration Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
^WD Print Directory Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
~WQ Write Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
~WQ Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
^XA Start Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
^XB Suppress Backfeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
^XF Recall Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
^XG Recall Graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
^XS Set Dynamic Media Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
^XZ End Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
^ZZ Printer Sleep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
3 ZPL RFID Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
RFID Command Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Printer and Firmware Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
^HL or ~HL Return RFID Data Log to Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
^HR Calibrate RFID Transponder Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
^RA Read AFI or DSFID Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
^RB Define EPC Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
^RE Enable/Disable E.A.S. Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
^RF Read or Write RFID Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
^RI Get RFID Tag ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
^RM Enable RFID Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
^RN Detect Multiple RFID Tags in Encoding Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
^RQ Quick Write EPC Data and Passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
^RR Specify RFID Retries for a Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
^RS Set Up RFID Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
^RT Read RFID Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
~RV Report RFID Encoding Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
9
Contents
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^RW Set RFID Read and Write Power Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
^RZ Set RFID Tag Password and Lock Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
^WF Encode AFI or DSFID Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
^WT Write (Encode) Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
^WV Verify RFID Encoding Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
4 ZPL Wireless Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
^KC Set Client Identifier (Option 61) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
^NB Search for Wired Print Server during Network Boot . . . . . . . . . . . . . . . . . . . . . . . 413
^NN Set SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
^NP Set Primary/Secondary Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
^NT Set SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
^NW Set Web Authentication Timeout Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
^WA Set Antenna Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
^WE Set WEP Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
^WI Change Wireless Network Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
^WL Set LEAP Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
~WL Print Network Configuration Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
^WP Set Wireless Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
^WR Set Transmit Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
~WR Reset Wireless Radio Card and Print Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
^WS Set Wireless Radio Card Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
^WX Configure Wireless Securities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Supporting Parameters for Different Security Types . . . . . . . . . . . . . . . . . . . . . . . . 434
5 ZBI Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Command and Function Reference Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Function Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Introduction to Zebra Basic Interpreter (ZBI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
What is ZBI and why is it for me? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Printers, ZBI Keys, & ZBI Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Section Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Writing ZBI Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Editing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Running and Debugging Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Contents
10
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Base Types and Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Variable Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Variable Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Numeric Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
String Concatenation (&) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Sub-strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Boolean Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Combined Boolean Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Control and Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Available Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Creating Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Reading and Writing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Port Usage Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Runtime Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Comma Separated Values (CSV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Accessing Comma Separated Value (CSV) and Text File Functions . . . . . . . . . . . . 519
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Available Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
ZBI Key Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Applicator Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
String Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Math Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Array Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Time and Date Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Set/Get/Do Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Example Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Array Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
CSV Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
DPI Conversion Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Email Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Extraction 1 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Extraction 2 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
Front Panel Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
Recall Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .611
Scale Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
11
Contents
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
6 SGD Printer Setting Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
setvar Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
getvar Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
do Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Command Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
How to Send Multiple SGD Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
appl.option_board_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
appl.bootblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
appl.name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
cutter.clean_cutter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
device.download_connection_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
device.friendly_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
device.frontpanel.key_press . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
device.frontpanel.line1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
device.frontpanel.line2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
device.frontpanel.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
device.jobs_print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
device.languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
device.pnp_option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
device.reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
device.restore_defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
device.unique_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
device.uptime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
device.user_p1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
device.user_p2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
device.xml.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
display.text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
file.delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
file.dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
file.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
file.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
head.latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
interface.network.active.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
interface.network.active.ip_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
interface.network.active.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
interface.network.active.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
interface.network.active.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
interface.network.active.protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
media.darkness_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
media.printmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
media.speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
odometer.headclean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
odometer.headnew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
Contents
12
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
odometer.label_dot_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
odometer.media_marker_count1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
odometer.media_marker_count2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
odometer.total_print_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
print.tone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
rfid.error.response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
rfid.position.program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
rfid.reader_1.antenna_port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
rfid.reader_1.power.read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
rfid.reader_1.power.single_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
rfid.reader_1.power.write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
zbi.control.add_breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
zbi.control.break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
zbi.control.clear_breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
zbi.control.delete_breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
zbi.control.line_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
zbi.control.restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
zbi.control.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
zbi.control.step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
zbi.control.terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
zbi.control.variable_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
zbi.control.variable_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
zbi.key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
zbi.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
zbi.reseller_key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
zbi.revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
zbi.running_program_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
zbi.start_info.execute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
zbi.start_info.file_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
zbi.start_info.memory_alloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
zbi.state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
7 SGD Wired Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
setvar Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
getvar Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
do Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
Command Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
How to Send Multiple SGD Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
external_wired.check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
external_wired.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
external_wired.ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
external_wired.ip.default_addr_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
external_wired.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
external_wired.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
13
Contents
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
external_wired.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
external_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
external_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
external_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
external_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
external_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
external_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
external_wired.ip.timeout.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
external_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
external_wired.ip.v6.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
external_wired.ip.v6.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
external_wired.ip.v6.prefix_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
external_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .711
external_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
internal_wired.auto_switchover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
internal_wired.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
internal_wired.ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
internal_wired.ip.default_addr_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
internal_wired.ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
internal_wired.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
internal_wired.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
internal_wired.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
internal_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
internal_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
internal_wired.ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
internal_wired.ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
internal_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
internal_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
internal_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
internal_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
internal_wired.ip.timeout.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
internal_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
internal_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
internal_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
8 SGD Wireless Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
setvar Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
getvar Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
do Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
Command Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
How to Send Multiple SGD Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
bluetooth.address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
bluetooth.afh_map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
bluetooth.afh_map_curr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
Contents
14
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
bluetooth.afh_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
bluetooth.authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
bluetooth.bluetooth_pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
bluetooth.date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
bluetooth.discoverable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
bluetooth.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
bluetooth.friendly_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
bluetooth.local_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
bluetooth.radio_auto_baud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756
bluetooth.radio_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
bluetooth.short_address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
bluetooth.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
card.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
card.inserted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
ip.active_network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
ip.bootp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
ip.dhcp.lease.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
ip.dhcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
ip.dhcp.requests_per_session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
ip.dns.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
ip.dns.servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
ip.ftp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
ip.http.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
ip.lpd.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
ip.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
ip.pop3.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
ip.pop3.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
15
Contents
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
ip.pop3.poll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
ip.pop3.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
ip.pop3.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
ip.primary_network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
ip.smtp.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
ip.smtp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
ip.smtp.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
ip.snmp.get_community_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
ip.snmp.set_community_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
ip.snmp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
ip.telnet.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
ip.tcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
ip.udp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
wlan.adhocautomode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
wlan.adhocchannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
wlan.associated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
wlan.bssid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
wlan.channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .811
wlan.channel_mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
wlan.current_tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
wlan.essid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
wlan.firmware_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
wlan.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
wlan.ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
wlan.ip.default_addr_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
wlan.ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
wlan.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
wlan.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
wlan.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
wlan.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
wlan.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
wlan.ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
wlan.ip.dhcp.lease.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
wlan.ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
wlan.ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
wlan.ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
wlan.ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
wlan.ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831
wlan.ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
wlan.ip.dhcp.requests_per_session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
wlan.ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
wlan.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
wlan.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
wlan.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
Contents
16
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
wlan.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
wlan.ip.timeout.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
wlan.ip.timeout.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
wlan.keep_alive.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
wlan.keep_alive.timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
wlan.kerberos.kdc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
wlan.kerberos.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
wlan.kerberos.realm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845
wlan.kerberos.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846
wlan.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
wlan.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
wlan.operating_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
wlan.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
wlan.preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
wlan.private_key_password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
wlan.roam.interchannel_delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
wlan.roam.interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
wlan.roam.max_chan_scan_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
wlan.roam.signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
wlan.security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
Supporting SGD Commands for Different Security Types . . . . . . . . . . . . . . . . . . . . 859
wlan.signal_noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
wlan.signal_quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
wlan.signal_strength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
wlan.station_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
wlan.tx_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870
wlan.tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
wlan.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872
wlan.wep.auth_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
wlan.wep.index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874
wlan.wep.key1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875
wlan.wep.key2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876
wlan.wep.key3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
wlan.wep.key4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
wlan.wpa.psk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879
wlan.wep.key_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
A Zebra Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881
Zebra Code Page 850 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882
Zebra Code Page 1250 (Scalable/Downloaded TTF) . . . . . . . . . . . . . . . . . . . . . . . . . . 884
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
Zebra Code Page 1250 (Bitmap fonts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
Zebra Code Page 1252 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
17
Contents
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
B ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 891
ASCII Code Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
C Fonts and Bar Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893
Standard Printer Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
Proportional and Fixed Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
Scalable Versus Bitmapped Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
Scalable Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
Bitmapped Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898
Font Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900
Bar Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
Basic Format for Bar Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903
Bar Code Field Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903
Bar Code Command Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
D Mod 10 and Mod 43 Check Digits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
Mod 10 Check Digit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
Mod 43 Check Digit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
E ZB64 Encoding and Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
Introduction to B64 and Z64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912
B64 and Z64 Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914
F Field Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
Normal Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
Rotated Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
Bottom Up Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
Inverted Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
G Real Time Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
Control Panel Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
Real Time Clock Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
RTC Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
RTC Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
RTC General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
First Day of the Week Affects Calendar Week . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
Time and Date Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
ZPL II Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935
H ZBI Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940
Contents
18
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
I SGD Command Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
Printer and Firmware Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
Printer Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
RFID Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
J Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961
Firmware x.16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962
Firmware x.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
Wireless Securities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
ZPL and SGD Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965
SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965
Set / Get / Do Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965
XML-Enabled Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965
Firmware x.14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966
Global Printing Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 970
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Functional List
of ZPL Commands
Abort Download Graphic . . . . . . . . . . . . . . . 168
Advanced Text Properties . . . . . . . . . . . . . . . 309
ANSI Codabar Bar Code . . . . . . . . . . . . . . . . 108
Applicator Reprint . . . . . . . . . . . . . . . . . . . . . 318
Aztec Bar Code Parameters . . . . . . . . . . . . . . 114
Aztec Bar Code Parameters . . . . . . . . . . . . . . . 51
Bar Code Field Default . . . . . . . . . . . . . . . . . 140
Battery Status . . . . . . . . . . . . . . . . . . . . . . . . 210
Cache On . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Calibrate RFID Transponder Position . . . . . . . 374
Cancel All . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Cancel Current Partially Input Format . . . . . . 270
Change Alphanumeric Default Font . . . . . . 146
Change Backfeed Sequence . . . . . . . . . . . . 265
Change Caret . . . . . . . . . . . . . . . . . . . . . . . . 144
Change Delimiter . . . . . . . . . . . . . . . . . . . . . 145
Change International Font/Encoding . . . . . . . 147
Change Memory Letter Designation . . . . . . 152
Change Network Settings . . . . . . . . . . . . . . . . 302
Change Tilde . . . . . . . . . . . . . . . . . . . . . . . . 155
Change Wired Networking Settings . . . . . . . . 306
Change Wireless Network Settings . . . . . . . . 421
CODABLOCK Bar Code . . . . . . . . . . . . . . . . . . 78
Code 11 Bar Code . . . . . . . . . . . . . . . . . . . . . 53
Code 128 Bar Code (Subsets A, B, and C) . . . 82
Code 39 Bar Code . . . . . . . . . . . . . . . . . . . . . . 57
Code 49 Bar Code . . . . . . . . . . . . . . . . . . . . . . 61
Code 93 Bar Code . . . . . . . . . . . . . . . . . . . . . . 74
Code Validation . . . . . . . . . . . . . . . . . . . . . . . 156
Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Configuration Label Return . . . . . . . . . . . . . . . 214
Configuration Update . . . . . . . . . . . . . . . . . . 268
Configure Wireless Securities . . . . . . . . . . . . 430
Data Matrix Bar Code . . . . . . . . . . . . . . . . . . 135
Define EPC Data Structure . . . . . . . . . . . . . . . 378
Define Language . . . . . . . . . . . . . . . . . . . . . 274
Define Password . . . . . . . . . . . . . . . . . . . . . . 277
Define Printer Name . . . . . . . . . . . . . . . . . . . 275
Detect Multiple RFID Tags in Encoding Field . 386
Disable Diagnostics . . . . . . . . . . . . . . . . . . . . 247
Display Description Information . . . . . . . . . . 233
Download Bitmap Font . . . . . . . . . . . . . . . . . 160
Download Bounded TrueType Font . . . . . . . 170
Download Encoding . . . . . . . . . . . . . . . . . . . 162
Download Format . . . . . . . . . . . . . . . . . . . . . 164
Download Graphics . . . . . . . . . . . . . . . . . . . . 165
Download Intellifont (Scalable Font) . . . . . . . 169
Download Objects . . . . . . . . . . . . . . . . . . . . . . 172
Download Unbounded TrueType Font . . . . . 171
EAN-13 Bar Code . . . . . . . . . . . . . . . . . . . . . . 99
EAN-8 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . 70
Early Warning Settings . . . . . . . . . . . . . . . . . . 250
Enable Communications Diagnostics . . . . . . 246
Enable RFID Motion . . . . . . . . . . . . . . . . . . . . 385
Enable/Disable E.A.S. Bit . . . . . . . . . . . . . . . . 380
Encode AFI or DSFID Byte . . . . . . . . . . . . . . . 405
End Format . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Erase Download Graphics . . . . . . . . . . . . . . 176
Field Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Field Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Field Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Field Hexadecimal Indicator . . . . . . . . . . . . . . 182
Field Number . . . . . . . . . . . . . . . . . . . . . . . . . 190
Field Orientation . . . . . . . . . . . . . . . . . . . . . . 198
Field Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Field Parameter . . . . . . . . . . . . . . . . . . . . . . . 192
Field Reverse Print . . . . . . . . . . . . . . . . . . . . 193
Field Separator . . . . . . . . . . . . . . . . . . . . . . . 194
Field Typeset . . . . . . . . . . . . . . . . . . . . . . . . . 195
Field Variable . . . . . . . . . . . . . . . . . . . . . . . . 197
Font Identifier . . . . . . . . . . . . . . . . . . . . . . . . . 158
Font Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Functional List of ZPL Commands
20
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Get RFID Tag ID . . . . . . . . . . . . . . . . . . . . . . . 384
Graphic Box . . . . . . . . . . . . . . . . . . . . . . . . . 201
Graphic Circle . . . . . . . . . . . . . . . . . . . . . . . . 203
Graphic Diagonal Line . . . . . . . . . . . . . . . . . 204
Graphic Ellipse . . . . . . . . . . . . . . . . . . . . . . 205
Graphic Field . . . . . . . . . . . . . . . . . . . . . . . . 206
Graphic Symbol . . . . . . . . . . . . . . . . . . . . . . 208
Graphing Sensor Calibration . . . . . . . . . . . . . 249
Halt ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . 337
Head Diagnostic . . . . . . . . . . . . . . . . . . . . . . . 211
Head Test Fatal . . . . . . . . . . . . . . . . . . . . . . 259
Head Test Interval . . . . . . . . . . . . . . . . . . . . 267
Head Test Non-Fatal . . . . . . . . . . . . . . . . . . 260
Host Directory List . . . . . . . . . . . . . . . . . . . . 230
Host Format . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Host Graphic . . . . . . . . . . . . . . . . . . . . . . . . 213
Host Identification . . . . . . . . . . . . . . . . . . . . 215
Host Linked Fonts List . . . . . . . . . . . . . . . . . . 227
Host Query . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Host RAM Status . . . . . . . . . . . . . . . . . . . . . 216
Host Status Return . . . . . . . . . . . . . . . . . . . . 224
Host Verification . . . . . . . . . . . . . . . . . . . . . . . 229
Image Load . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Image Move . . . . . . . . . . . . . . . . . . . . . . . . . 239
Image Save . . . . . . . . . . . . . . . . . . . . . . . . . 240
Industrial 2 of 5 Bar Codes . . . . . . . . . . . . . . 104
Initialize Flash Memory . . . . . . . . . . . . . . . . . 243
Interleaved 2 of 5 Bar Code . . . . . . . . . . . . . . 55
Kill Battery (Battery Discharge Mode) . . . . . 272
Label Home . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Label Length . . . . . . . . . . . . . . . . . . . . . . . . . 280
Label Reverse Print . . . . . . . . . . . . . . . . . . . . 281
Label Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Label Top . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
List Font Links . . . . . . . . . . . . . . . . . . . . . . . . 278
LOGMARS Bar Code . . . . . . . . . . . . . . . . . . . 110
Map Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Maximum Label Length . . . . . . . . . . . . . . . . 290
Media Darkness . . . . . . . . . . . . . . . . . . . . . . 287
Media Feed . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Media Tracking . . . . . . . . . . . . . . . . . . . . . . . 293
Media Type . . . . . . . . . . . . . . . . . . . . . . . . . . 296
MicroPDF417 Bar Code . . . . . . . . . . . . . . . . . 101
Mode Protection . . . . . . . . . . . . . . . . . . . . . . 294
Modify Head Cold Warning . . . . . . . . . . . . . . . 299
MSI Bar Code . . . . . . . . . . . . . . . . . . . . . . . . 112
Multiple Field Origin Locations . . . . . . . . . . . 187
Network Connect . . . . . . . . . . . . . . . . . . . . . 301
Network ID Number . . . . . . . . . . . . . . . . . . . 304
Object Delete . . . . . . . . . . . . . . . . . . . . . . . . 235
Pause and Cancel Format . . . . . . . . . . . . . 261
PDF417 Bar Code . . . . . . . . . . . . . . . . . . . . . . 66
Planet Code bar code . . . . . . . . . . . . . . . . . . . . 65
Plessey Bar Code . . . . . . . . . . . . . . . . . . . . . . 116
POSTAL Bar Code . . . . . . . . . . . . . . . . . . . . . 142
Power On Reset . . . . . . . . . . . . . . . . . . . . . . 263
Print Configuration Label . . . . . . . . . . . . . . . . . 351
Print Directory Label . . . . . . . . . . . . . . . . . . . 352
Print Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Print Network Configuration Label . . . . . . . . . 424
Print Orientation . . . . . . . . . . . . . . . . . . . . . . . 313
Print Quantity . . . . . . . . . . . . . . . . . . . . . . . . 315
Print Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Print Start . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Print Width . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Printer Sleep . . . . . . . . . . . . . . . . . . . . . . . . . 367
Printing Mirror Image of Label . . . . . . . . . . . 312
Programmable Pause . . . . . . . . . . . . . . . . . . 314
QR Code Bar Code . . . . . . . . . . . . . . . . . . . . . 118
Quick Write EPC Data and Passwords . . . . . . 387
Read AFI or DSFID Byte . . . . . . . . . . . . . . . . . 376
Read or Write RFID Format . . . . . . . . . . . . . . 381
Read RFID Tag . . . . . . . . . . . . . . . . . . . . . . . . 396
Recall Format . . . . . . . . . . . . . . . . . . . . . . . . 363
Recall Graphic . . . . . . . . . . . . . . . . . . . . . . . . 364
Report RFID Encoding Results . . . . . . . . . . . . 399
Reprint After Error . . . . . . . . . . . . . . . . . . . . . 271
Reset Advanced Counter . . . . . . . . . . . . . . . . 321
Reset Optional Memory . . . . . . . . . . . . . . . . 244
Reset Wireless Radio Card and Print Server . 427
Return RFID Data Log to Host . . . . . . . . . . . . 373
Return ZebraNet Alert Configuration . . . . . . . . 228
RSS (Reduced Space Symbology) Bar Code . 126
Scalable/Bitmapped Font . . . . . . . . . . . . . . . . . 47
Search for Wired Print Server during
Network Boot . . . . . . . . . . . . . . . . . . . . . . 413
Select Date and Time Format (for Real
Time Clock) . . . . . . . . . . . . . . . . . . . . . . 273
Select Encoding Table . . . . . . . . . . . . . . . . . . 324
Select the Primary Network Device . . . . . . . . . 300
Sensor Select . . . . . . . . . . . . . . . . . . . . . . . . . 264
Serialization Data . . . . . . . . . . . . . . . . . . . . . . 332
Serialization Field (with a Standard
^FD String) . . . . . . . . . . . . . . . . . . . . . . . . 325
Set All Network Printers Transparent . . . . . . 305
Set Antenna Parameters . . . . . . . . . . . . . . . . . 418
Set Auxiliary Port . . . . . . . . . . . . . . . . . . . . . . 255
Set Battery Condition . . . . . . . . . . . . . . . . . . 248
Set Client Identifier (Option 61) . . . . . . . . . . . . 412
Set Currently Connected Printer Transparent 308
Set Darkness . . . . . . . . . . . . . . . . . . . . . . . . . 323
Set Date and Time (for Real-Time Clock) . . . 342
Set Dots per Millimeter . . . . . . . . . . . . . . . . . 258
Set Dynamic Media Calibration . . . . . . . . . . . . 365
Set Label Length . . . . . . . . . . . . . . . . . . . . . . 257
Set LEAP Parameters . . . . . . . . . . . . . . . . . . . 423
Set Maintenance Alerts . . . . . . . . . . . . . . . . . . 284
Set Maintenance Information Message . . . . . . 289
21
Functional List of ZPL Commands
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Set Media Sensor Calibration . . . . . . . . . . . 245
Set Media Sensors . . . . . . . . . . . . . . . . . . . . 340
Set Mode and Language (for Real-Time
Clock) . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Set Offset (for Real-Time Clock) . . . . . . . . . . 334
Set Primary/Secondary Device . . . . . . . . . . . . 415
Set Printhead Resistance . . . . . . . . . . . . . . . 339
Set RFID Read and Write Power Levels . . . . 400
Set RFID Tag Password and Lock Tag . . . . . 402
Set Ribbon Tension . . . . . . . . . . . . . . . . . . . . 269
Set Sensor Intensity . . . . . . . . . . . . . . . . . . . . 329
Set Serial Communications . . . . . . . . . . . . . 322
Set SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Set SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Set Transmit Rate . . . . . . . . . . . . . . . . . . . . . . 426
Set Units of Measurement . . . . . . . . . . . . . . 297
Set Up RFID Parameters . . . . . . . . . . . . . . . . 390
Set Web Authentication Timeout Value . . . . . 417
Set WEP Mode . . . . . . . . . . . . . . . . . . . . . . . . 419
Set Wireless Password . . . . . . . . . . . . . . . . . . 425
Set Wireless Radio Card Values . . . . . . . . . . 428
Set ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . 343
Set ZPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Slew Given Number of Dot Rows . . . . . . . . . 310
Slew to Home Position . . . . . . . . . . . . . . . . . 311
Specify RFID Retries for a Block . . . . . . . . . . 389
Standard 2 of 5 Bar Code . . . . . . . . . . . . . . . . 106
Start Format . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Start Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Start ZBI (Zebra BASIC Interpreter) . . . . . . . 252
Start ZBI (Zebra BASIC Interpreter) . . . . . . . . 254
Suppress Backfeed . . . . . . . . . . . . . . . . . . . . 362
Tear-off Adjust Position . . . . . . . . . . . . . . . . . 347
Terminate Zebra BASIC Interpreter . . . . . . . 262
Text Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
TLC39 Bar Code . . . . . . . . . . . . . . . . . . . . . . . 131
Transfer Object . . . . . . . . . . . . . . . . . . . . . . . 349
UPC/EAN Extensions . . . . . . . . . . . . . . . . . . 128
UPC-A Bar Code . . . . . . . . . . . . . . . . . . . . . . 133
UPC-E Bar Code . . . . . . . . . . . . . . . . . . . . . . . 72
Upload Graphics . . . . . . . . . . . . . . . . . . . . . . 232
UPS MaxiCode Bar Code . . . . . . . . . . . . . . . . 96
Use Font Name to Call Font . . . . . . . . . . . . . . 49
Verify RFID Encoding Operation . . . . . . . . . . 409
Write (Encode) Tag . . . . . . . . . . . . . . . . . . . . 407
Write Query . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Functional List of ZPL Commands
22
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Notes ___________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Alphabetical List
of ZBI Commands
! (EXCLAMATION MARK) . . . . . . . . . . . . . . . 448
ACCEPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
ADDBREAK . . . . . . . . . . . . . . . . . . . . . . . . . . 463
AUTONUM . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
AUXPORT_GETPIN . . . . . . . . . . . . . . . . . . . . 547
AUXPORT_RELEASEPIN . . . . . . . . . . . . . . . 548
AUXPORT_SETPIN . . . . . . . . . . . . . . . . . . . . 546
AUXPORT_STEALPIN . . . . . . . . . . . . . . . . . . 544
BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
CHR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
CLIENTSOCKET . . . . . . . . . . . . . . . . . . . . . . 493
CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
CLRERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
COLUMNSIZE . . . . . . . . . . . . . . . . . . . . . . . . 580
CSVLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
CSVSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . 522
CTRL-C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
DATAREADY . . . . . . . . . . . . . . . . . . . . . . . . . 490
DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
DATE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
DEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
DELBREAK . . . . . . . . . . . . . . . . . . . . . . . . . . 464
DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
DELROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
DIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
DO Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
ECHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
EXTRACT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
FOR Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
GETVAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
GOTO/GOSUB . . . . . . . . . . . . . . . . . . . . . . . . 482
HANDLEEVENT . . . . . . . . . . . . . . . . . . . . . . . 533
HEXTOINT . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
IF Statements . . . . . . . . . . . . . . . . . . . . . . . . . 479
INBYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
INSERTROW . . . . . . . . . . . . . . . . . . . . . . . . . 577
INTTOHEX$ . . . . . . . . . . . . . . . . . . . . . . . . . . 572
ISERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
ISWARNING . . . . . . . . . . . . . . . . . . . . . . . . . . 538
LCASE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
LEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
LTRIM$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
MAXNUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
MIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
MOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
NEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
ON ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
ORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
OUTBYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
POS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
PRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
READ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
REDIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
REGISTEREVENT . . . . . . . . . . . . . . . . . . . . . 530
REM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
RENUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
REPEAT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
RESTART . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
ROWSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
RTRIM$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
SEARCHTO$ . . . . . . . . . . . . . . . . . . . . . . . . . 503
SERVERCLOSE . . . . . . . . . . . . . . . . . . . . . . . 492
SERVERSOCKET . . . . . . . . . . . . . . . . . . . . . . 491
Alphabetical List of ZBI Commands
24
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
SETERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
SETVAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
SLEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
SPLIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
SPLITCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . 558
STEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
STORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
STR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
SUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
TIME$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
TRACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
TRIGGEREVENT . . . . . . . . . . . . . . . . . . . . . . 535
TXTLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
TXTSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . 524
UCASE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
UNREGISTEREVENT . . . . . . . . . . . . . . . . . . 532
VAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
WRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
ZPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Alphabetical List
of Set/Get/Do Commands
appl.bootblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
appl.name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
appl.option_board_version . . . . . . . . . . . . . . . . . . . . . . 619
bluetooth.address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
bluetooth.afh_map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
bluetooth.afh_map_curr . . . . . . . . . . . . . . . . . . . . . . . . . 747
bluetooth.afh_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
bluetooth.authentication . . . . . . . . . . . . . . . . . . . . . . . . . 749
bluetooth.bluetooth_pin . . . . . . . . . . . . . . . . . . . . . . . . . 750
bluetooth.date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
bluetooth.discoverable . . . . . . . . . . . . . . . . . . . . . . . . . . 752
bluetooth.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
bluetooth.friendly_name . . . . . . . . . . . . . . . . . . . . . . . . . 754
bluetooth.local_name . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
bluetooth.radio_auto_baud . . . . . . . . . . . . . . . . . . . . . . 756
bluetooth.radio_version . . . . . . . . . . . . . . . . . . . . . . . . . 757
bluetooth.short_address . . . . . . . . . . . . . . . . . . . . . . . . 758
bluetooth.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
card.inserted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
card.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
cutter.clean_cutter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
device.download_connection_timeout . . . . . . . . . . . . . . 623
device.friendly_name . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
device.frontpanel.key_press . . . . . . . . . . . . . . . . . . . . . 625
device.frontpanel.line1 . . . . . . . . . . . . . . . . . . . . . . . . . . 626
device.frontpanel.line2 . . . . . . . . . . . . . . . . . . . . . . . . . . 627
device.frontpanel.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
device.jobs_print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
device.languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
device.pnp_option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
device.reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
device.restore_defaults . . . . . . . . . . . . . . . . . . . . . . . . . 633
device.unique_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
device.uptime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
device.user_p1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
device.user_p2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
device.xml.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
display.text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
external_wired.check . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
external_wired.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . 694
external_wired.ip.arp_interval . . . . . . . . . . . . . . . . . . . . 695
external_wired.ip.default_addr_enable . . . . . . . . . . . . . 696
external_wired.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . 697
external_wired.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . 698
external_wired.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . 699
external_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . 700
external_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . 701
external_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . 702
external_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . 703
external_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . 704
external_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . 705
external_wired.ip.timeout.enable . . . . . . . . . . . . . . . . . 706
external_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . . 707
external_wired.ip.v6.addr . . . . . . . . . . . . . . . . . . . . . . . 708
external_wired.ip.v6.gateway . . . . . . . . . . . . . . . . . . . . 709
external_wired.ip.v6.prefix_length . . . . . . . . . . . . . . . . . 710
external_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . . 711
external_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . 712
file.delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
file.dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
file.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
file.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
head.latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
interface.network.active.gateway . . . . . . . . . . . . . . . . . 645
interface.network.active.ip_addr . . . . . . . . . . . . . . . . . . 646
interface.network.active.mac_addr . . . . . . . . . . . . . . . . 647
interface.network.active.mac_raw . . . . . . . . . . . . . . . . . 648
interface.network.active.netmask . . . . . . . . . . . . . . . . . 649
interface.network.active.protocol . . . . . . . . . . . . . . . . . . 650
internal_wired.auto_switchover . . . . . . . . . . . . . . . . . . 713
internal_wired.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . 714
internal_wired.ip.arp_interval . . . . . . . . . . . . . . . . . . . . 715
internal_wired.ip.default_addr_enable . . . . . . . . . . . . . 716
internal_wired.ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . 717
internal_wired.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . 718
internal_wired.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . 719
internal_wired.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . 720
internal_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . 721
internal_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . 722
internal_wired.ip.dhcp.lease.last_attempt . . . . . . . . . . . 723
internal_wired.ip.dhcp.lease.length . . . . . . . . . . . . . . . . 724
internal_wired.ip.dhcp.lease.server . . . . . . . . . . . . . . . . 725
Alphabetical List of Set/Get/Do Commands
26
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
internal_wired.ip.dhcp.lease.time_left . . . . . . . . . . . . . . 726
internal_wired.ip.dhcp.option12 . . . . . . . . . . . . . . . . . . 727
internal_wired.ip.dhcp.option12_format . . . . . . . . . . . . 728
internal_wired.ip.dhcp.option12_value . . . . . . . . . . . . . 729
internal_wired.ip.dhcp.request_timeout . . . . . . . . . . . . 730
internal_wired.ip.dhcp.requests_per_session . . . . . . . . 731
internal_wired.ip.dhcp.session_interval . . . . . . . . . . . . 732
internal_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . 733
internal_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . 734
internal_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
internal_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . 736
internal_wired.ip.timeout.enable . . . . . . . . . . . . . . . . . . 737
internal_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . . 738
internal_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . 739
internal_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . 740
ip.active_network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
ip.bootp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
ip.dhcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . . . . . . 774
ip.dhcp.lease.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . . . . . . 776
ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . . . . . 778
ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . . . . . . 779
ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . . . . . . . 780
ip.dhcp.requests_per_session . . . . . . . . . . . . . . . . . . . . 781
ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . . . . . . . 782
ip.dns.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
ip.dns.servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
ip.ftp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
ip.http.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
ip.lpd.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
ip.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
ip.pop3.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
ip.pop3.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
ip.pop3.poll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
ip.pop3.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
ip.pop3.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
ip.primary_network . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
ip.smtp.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
ip.smtp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
ip.smtp.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
ip.snmp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
ip.snmp.get_community_name . . . . . . . . . . . . . . . . . . . 801
ip.snmp.set_community_name . . . . . . . . . . . . . . . . . . . 802
ip.tcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
ip.telnet.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
ip.udp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
media.darkness_mode . . . . . . . . . . . . . . . . . . . . . . . . . . 651
media.printmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
media.speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
odometer.headclean . . . . . . . . . . . . . . . . . . . . . . . . . . 655
odometer.headnew . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
odometer.label_dot_length . . . . . . . . . . . . . . . . . . . . . . 657
odometer.media_marker_count1 . . . . . . . . . . . . . . . . . 658
odometer.media_marker_count2 . . . . . . . . . . . . . . . . . 659
odometer.total_print_length . . . . . . . . . . . . . . . . . . . . . 660
print.tone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
rfid.error.response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
rfid.position.program . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
rfid.reader_1.antenna_port . . . . . . . . . . . . . . . . . . . . . . 664
rfid.reader_1.power.read . . . . . . . . . . . . . . . . . . . . . . . . 665
rfid.reader_1.power.single_power . . . . . . . . . . . . . . . . . 666
rfid.reader_1.power.write . . . . . . . . . . . . . . . . . . . . . . . 667
wlan.adhocautomode . . . . . . . . . . . . . . . . . . . . . . . . . . 807
wlan.adhocchannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
wlan.associated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
wlan.bssid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
wlan.channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
wlan.channel_mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
wlan.current_tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
wlan.essid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
wlan.firmware_version . . . . . . . . . . . . . . . . . . . . . . . . . 815
wlan.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
wlan.ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
wlan.ip.default_addr_enable . . . . . . . . . . . . . . . . . . . . . 818
wlan.ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . . 819
wlan.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
wlan.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . 821
wlan.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . 822
wlan.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . 823
wlan.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . 824
wlan.ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . 825
wlan.ip.dhcp.lease.length . . . . . . . . . . . . . . . . . . . . . . . 826
wlan.ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . . 827
wlan.ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . 828
wlan.ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . 829
wlan.ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . 830
wlan.ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . 831
wlan.ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . . 832
wlan.ip.dhcp.requests_per_session . . . . . . . . . . . . . . . 833
wlan.ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . . 834
wlan.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
wlan.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
wlan.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
wlan.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
wlan.ip.timeout.enable . . . . . . . . . . . . . . . . . . . . . . . . . 839
wlan.ip.timeout.value . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
wlan.keep_alive.enable . . . . . . . . . . . . . . . . . . . . . . . . . 841
wlan.keep_alive.timeout . . . . . . . . . . . . . . . . . . . . . . . . 842
wlan.kerberos.kdc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
wlan.kerberos.password . . . . . . . . . . . . . . . . . . . . . . . . 844
wlan.kerberos.realm . . . . . . . . . . . . . . . . . . . . . . . . . . . 845
wlan.kerberos.username . . . . . . . . . . . . . . . . . . . . . . . . 846
wlan.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
wlan.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
wlan.operating_mode . . . . . . . . . . . . . . . . . . . . . . . . . . 849
wlan.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
wlan.preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
wlan.private_key_password . . . . . . . . . . . . . . . . . . . . . 852
wlan.roam.interchannel_delay . . . . . . . . . . . . . . . . . . . 853
wlan.roam.interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
27
Alphabetical List of Set/Get/Do Commands
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
wlan.roam.max_chan_scan_time . . . . . . . . . . . . . . . . . 855
wlan.roam.signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
wlan.security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
wlan.signal_noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
wlan.signal_quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
wlan.signal_strength . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
wlan.station_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
wlan.tx_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870
wlan.tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
wlan.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872
wlan.wep.auth_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
wlan.wep.index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874
wlan.wep.key_format . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
wlan.wep.key1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875
wlan.wep.key2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876
wlan.wep.key3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
wlan.wep.key4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
wlan.wpa.psk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879
zbi.control.add_breakpoint . . . . . . . . . . . . . . . . . . . . . . . 668
zbi.control.break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
zbi.control.clear_breakpoints . . . . . . . . . . . . . . . . . . . . . 670
zbi.control.delete_breakpoint . . . . . . . . . . . . . . . . . . . . . 671
zbi.control.line_number . . . . . . . . . . . . . . . . . . . . . . . . . 672
zbi.control.restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
zbi.control.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
zbi.control.step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
zbi.control.terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
zbi.control.variable_name . . . . . . . . . . . . . . . . . . . . . . . 677
zbi.control.variable_value . . . . . . . . . . . . . . . . . . . . . . . 678
zbi.key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
zbi.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
zbi.reseller_key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
zbi.revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
zbi.running_program_name . . . . . . . . . . . . . . . . . . . . . . 683
zbi.start_info.execute . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
zbi.start_info.file_name . . . . . . . . . . . . . . . . . . . . . . . . . 685
zbi.start_info.memory_alloc . . . . . . . . . . . . . . . . . . . . . . 686
zbi.state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Alphabetical List of Set/Get/Do Commands
28
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Notes ____________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
About This Document
This section provides you with contact information, document structure and organization, and
additional reference documents.
Contents
Who Should Use This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
How This Document Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Contacts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
About This Document
Who Should Use This Document
30
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Who Should Use This Document
This Guide is for programmers who are familiar working with programming languages.
How This Document Is Organized
The ZPL II Programming Guide is set up as follows:
Section Description
Introduction Provides a high-level overview about this guide
and Zebra Programming Language (ZPL).
ZPL Commands Provides an alphabetical, detailed description of
each ZPL command.
ZPL RFID Commands Provides an alphabetical, detailed description of
each ZPL RFID command, and some examples of
how to use them.
ZPL Wireless Commands Provides new and modified ZPL commands for the
wireless print server.
ZBI Commands Provides details about the Zebra Basic Interpreter,
its commands, descriptions, formats, and
parameters.
SGD Printer Setting Commands Provides a high-level overview of printer setting
Set / Get / Do (SGD) commands.
SGD Wired Commands Provides a high-level overview of the wired
Set / Get / Do (SGD) commands.
SGD Wireless Commands Provides a high-level overview of the wireless
Set / Get / Do (SGD) commands.
Appendixes The appendixes include:
Zebra Code Pages
ASCII
Fonts and Bar Codes
Mod 10 and Mod 43 Check Digits
ZB64 Encoding and Compression
Field Interactions
Real Time Clock
ZBI Character Set
SGD Command Support
Features
Glossary Glossary of terms.
31
About This Document
Contacts
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Contacts
You can contact Zebra Technologies at the following:
Web Site
http://www.zebra.com
Technical Support via the Internet is available 24 hours per day, 365 days per year. Go to
http://www.zebra.com/support.
The Americas
Europe, Africa, Middle East, and India
Asia Pacific
Regional Headquarters Technical Support Customer Service Dept.
Zebra Technologies International, LLC
333 Corporate Woods Parkway
Vernon Hills, Illinois 60061.3109 U.S.A
T: +1 847 793 2600
Toll-free +1 800 423 0422
F: +1 847 913 8766
T: +1 877 ASK ZEBRA (275 9327)
F: +1 847 913 2578
Hardware: ts1@zebra.com
Software: ts3@zebra.com
For printers, parts, media, and ribbon, please
call your distributor, or contact us.
T: +1 877 ASK ZEBRA (275 9327)
E: clientcare@zebra.com
Regional Headquarters Technical Support Internal Sales Dept.
Dukes Meadow
Millboard Road
Bourne End
Buckinghamshire
SL8 5XF
United Kingdom
Switchboard: +44 (0)1628 556000
Fax: +44 (0)1628 556001
T: +44 (0) 1494 768298
F: +44 (0) 1494 768210
Germany: Tsgermany@zebra.com
France: Tsfrance@zebra.com
Spain/Portugal: Tsspain@zebra.com
All other areas: Tseurope@zebra.com
For printers, parts, media, and ribbon, please
call your distributor, or contact us.
T: +44 (0) 1494 768316
F: +44 (0) 1494 768244
E: cseurope@zebra.com
Regional Headquarters Technical Support Customer Service
Zebra Technologies Asia Pacific, LLC
120 Robinson Road
#06-01 Parakou Building
Singapore 068913
T: +65 6858 0722
F: +65 6885 0838
T: +65 6858 0722
F: +65 6885 0838
E: China: tschina@zebra.com
All other areas:
tsasiapacific@zebra.com
For printers, parts, media, and ribbon, please
call your distributor, or contact us.
T: +65 6858 0722
F: +65 6885 0836
About This Document
Document Conventions
32
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Document Conventions
The following conventions are used throughout this document to convey certain information.
Alternate Color (online only) Cross-references contain hot links to other sections in this
guide. If you are viewing this guide online in .pdf format, you can click the cross-reference
(blue text) to jump directly to its location.
Icons Used
Illustration Callouts Callouts are used when an illustration contains information that needs
to be labeled and described. A table that contains the labels and descriptions follows the
graphic. Figure 1 provides an example.
Figure 1 Sample Figure with Callouts
Identifies features that are available in printers with firmware version V60.16.x, V53.16.x, or
later.
Identifies features that are available in printers with firmware version V60.15.x, V50.15.x, or
later.
Identifies features that are available in printers with firmware version V60.14, V50.14, or
later.
Important Advises you of information that is essential to complete a task.
Note Indicates neutral or positive information that emphasizes or supplements important
points of the main text.
1 ZPL Code
2 Generated Label
CODE 49 BAR CODE
^XA
^FO150,100^BY3
^B4N,20,A,A
^FD12345ABCDE^FS
^XZ
ZPL II CODE
1 2
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
1
Introduction
This guide is the unabridged, alphabetical reference of programming commands supported in
the firmware. This includes all ZPL commands and SGD commands.
Firmware You can get the printers firmware version by printing out a configuration label.
For instructions to do so, see your printers user guide.
Many word processors or a text editor is capable of creating ASCII files can be used to
recreate most examples in this guide. However, for other encodings such as Unicode, a text
editor such as Microsoft Notepad is needed.
If there are any terms used in this guide that you need clarification on, please see the Glossary
on page 969.
Important These are important points to note when using ZPL and SGD commands:
ZPL and SGD commands should be sent to the printer as separate files.
Certain settings can be controlled by both ZPL and SGD. Configuration changes made in
ZPL can affect configuration changes made in SGD.
Note For firmware upgrades go to: www.zebra.com.
Important These are important points to note when using a Zebra G-Series printer:
You can send instructions to the printer using multiple programming languages: EPL,
ZPL, or SGD. EPL and ZPL commands configure the printer, print labels, and get device
status information. SGD commands set and get configuration details. These three
languages can be used without the need to send the printer instructions to switch from
one language to another.
EPL, ZPL, and SGD commands must be sent to the printer as separate files. They cannot
be used together in one format, or set of commands. For example, if you send a series of
SGD commands to the printer and they are followed by a printable format, this needs to
be done using separate files.
Introduction
34
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Notes ___________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
2
ZPL Commands
This section contains the complete alphabetical listing of ZPL II commands.
Description This heading provides an explanation of how the command is used, what it is
capable of, and any defining characteristics it has.
Format Format explains how the command is syntactically arranged and what parameters it
contains.
For Example The ^B8 command prints a EAN-8 bar code. The format of the ^B8
command is: ^B8o,h,f,g. It is arranged with the caret symbol (^), the command code
(B8), and the parameters and are replaced with supported values.
Parameters If a command has values that can be defined to make its function more specific,
these are outlined as parameters. Parameters typically have Accepted Values and Default
Values.
Still using the ^B8 example, the h parameter is defined as:
h = bar code height (in dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
If the command has no parameters for example ~JA (Cancel All) the parameter heading is
removed, indicating that the format of the command (~JA) is acceptable ZPL II code.
ZPL Commands
36
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Comment This section is reserved for notes that are of value to a programmer, warnings of
potential command interactions, or command-specific information that should be taken into
consideration.
Example When the command is best clarified in context, an example of the
ZPL II code is provided. Text indicating exact code entered is printed in an easily
recognizable Courier font. An example of code using the ^B8 command looks like this:
^XA
^FO50,50
^B8N,100,Y,N
^FD1234567^FS
^XZ
Notice that the ^B8 parameter letters have been replaced with real values that apply to the
command. In this example N,100,Y,N have been entered.
Example An example comment is: This command works only when the printer is idle,
or This command is ignored if a value exceeds the parameter limits.
Comments are also included next to parameters if they apply directly to a particular setting.
37
ZPL Commands
Basic ZPL Exercises and Examples
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Basic ZPL Exercises and Examples
The purpose of these exercises is to introduce basic ZPL commands to novice ZPL users.
Make sure this checklist is complete:
Load the printer with labels that are big enough to give you ample space to work with.
Print a configuration label (CANCEL test).
Look at the configuration label and make sure that the LEFT POSITION is set to
000 and LABEL TOP is set to 000.
Determine the printers resolution. It is listed on the configuration label. 8/MM =
200 dpi, 12/MM = 300 dpi and 24/MM = 600 dpi.
Tips
These are some tips when using ZPL:
Use the DOS text editor to write ZPL files.
Save the file as a .txt file and copy it to the printer from DOS command line.
Before you begin
Some things that are important to understand before you begin are:
200 dpi means the resolution of the printhead is 200 dots per inch. If you program the
printer to draw a line 100 dots long that equals a half inch. 100 dots on a
300 dpi printer prints a line 1/3 inch long.
The home position that all your coordinates are referencing is at the left-hand trailing edge
of the label as the label comes out of the printer. (There are some exceptions to this.)
ZPL Commands
Basic ZPL Exercises and Examples
38
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Exercises
The exercises start simple and gradually progress to give you an opportunity to try a variety of
commonly used ZPL commands. Not all commands are covered, but this should be a good
core of commands to learn. Some commands may not be supported due to the firmware
version in your printer.
Exercise 1 This exercise shows you how to specify a location for an entered name.
1. Print your name on the label.
2. Start by printing just your name on the label. Use this format as a model:
3. Send this format to the printer:
4. When the label prints correctly, alter the first number after the ^FOx. See how that
change affects the print position. Alter the second number after the ^FO50,x and see
how that the print position.
Font instruction
^ADN
1. Alter the numbers after the ^ADN,x,x command.
18,10 is the smallest size you can make the D font.
The first number is the height of the font in dots. The second number is the width in
dots.
You can use direct multiples up to ten times that size as a maximum.
25,18 would not be a valid size. The printer rounds to the next recognizable size.
Important Your name goes where you see xxxxxxxxxxx in the second line of code.
1 Every format starts with the ^XA command
2 ^FO (field origin) command
3 ^FS (field separator) command
4 Every format ends with the ^XZ command
5 ^FD (field data) command
^XA
^FO50,50^ADN,36,20^FDxxxxxxxxxxx
^FS
^XZ
1
5
3
4
2
Example 180,100 is the largest you can make the D font.
39
ZPL Commands
Basic ZPL Exercises and Examples
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
2. Check the font matrices tables for other fonts to try. See Fonts and Bar Codes
on page 893.
3. Try the zero scalable font ^A0N,x,x.
This font is scalable, and you can choose any height and width.
Rotation commands
1. Change ^ADN to ^ADR, and then ^ADI, and then ^ADB.
See how the print position changes.
2. Add more fields.
3. Add two more fields to print directly under your name using the ^ADN,36,20 font and
size:
Your street address
Your city, state, zip
4. You must add two more lines of code that start off with:
^XA
^FO50,50^ADN,36,20^FDxxxxxxxxxxx^FS
^FO (fill in the rest)
^FO (fill in the rest)
^XZ
Make sure all these fields print in the same font and size and left side of fields has same
vertical alignment.
Your name
1200 W Main Street
Anytown, Il 60061
ZPL Commands
Basic ZPL Exercises and Examples
40
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Special Effects commands
The Graphic Box or ^GB command or is used in some of the speical effects commands.
Reverse Printing a Field
1. Write the following format and send to the printer:
^XA
^PR1
^FO100,100
^GB70,70,70,,3^FS
^FO200,100
^GB70,70,70,,3^FS
^FO300,100
^GB70,70,70,,3^FS
^FO400,100
^GB70,70,70,,3^FS
^FO107,110^CF0,70,93
^FR^FDREVERSE^FS
^XZ
2. To see the effects, remove:
^FR^FDREVERSE^FS
3. To see the effects, try removing one of the ^GB lines of code.
Label Reverse Print
1. Write the following format and send to the printer:
^XA^LRY
^FO100,50
^GB195,203,195^FS
^FO180,110^CFG
^FDLABEL^FS
^FO130,170
^FDREVERSE^FS
^XZ
2. To see the effects, remove:
^GB195,203,195^FS
41
ZPL Commands
Basic ZPL Exercises and Examples
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Mirror Image of Label
1. Write the following format and send to the printer:
^XA^PMY
^FO100,100
^CFG
^FDMIRROR^FS
^FO100,160
^FDIMAGE^FS
^XZ
2. To see the effects, in the first line of code change ^PMY to ^PMN.
Print Orientation
1. Write the following format and send to the printer:
^XA^CFD
^POI
^LH330,10
^FO50,50
^FDZEBRA TECHNOLOGIES^FS
^FO50,75
^FDVernon Hills, IL^FS
^XZ
2. To see the effects, in the second line of code change ^POI to ^PON.
Exercise 2 Boxes and lines
1. Use the address format from Exercise 1.
2. Add this new line to your existing format:
^FO50,200^GB200,200,2^FS
This prints a box one wide by one inch long and the thickness of the line is 2 dots.
3. Reposition and resize the square so that it goes around the name and address uniformly.
4. Print a line by adding:
^FO50,300^GB400,0,4,^FS
This prints a horizontal line two inches wide by 4 dots thick.
5. Print a vertical line using this code:
^F0100,50^GBO,400,4^FS
ZPL Commands
Basic ZPL Exercises and Examples
42
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Exercise 3 Bar codes ^B3 code 39 bar code
1. Write the following format and send to the printer:
^XA
^FO50,50^B3N,N,100,Y,N^FD123456^FS
^XZ
2. Try changing each of the parameters in the ^B3 string so you can see the effects.
^B3o,e,h,f,g
^BY
3. Insert the ^BY command just before the ^B3 to see how the narrow bar width can be
altered.
^FO50,50^BY2^B3..etc ^BYx, acceptable values for x are 1
through 10
4. Alter the ratio of the narrow to wide bar.
^FO50,50^BY2,3^B3..etc ^BY2,x acceptable values for x are
2.1 through 3 in .1 increments
5. Print out a ^B3 bar code with the interpretation line on top of the bar code and the bar
code rotated 90 degrees.
6. Add a ^PQ just before the ^XZ to print several labels.
^PQ4
^XZ
^PR Print rate (in inches per second)
7. Add a ^PR command after the ^XA at the beginning of the format to change the print rate
(print speed).
^XA
^PR4 then try ^PR6 ^PRx acceptable values for x are 2 through
12 (check printer specs)
See how the print speed affects the print quality of the bar code. You may need to increase
the printer darkness setting at higher print speeds.
Important For valid parameter choices, see ^B3 on page 57.
43
ZPL Commands
Basic ZPL Exercises and Examples
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Exercise 4 ^SN Serial Number command
1. Send this format to the printer:
^XA
^FO100,100^ADN,36,20^SN001,1,Y^FS
^PQ3
^XZ
To vary the ^SNv,n,z to exercise increment/decrement and leading zeros functions,
consult this guide.
If your serial number contains alpha and numeric characters, you can increment or
decrement a specific segment of the data even if it is in the middle, as this sample
sequence shows:
ABCD1000EFGH, ABCD1001EFGH, ABCD1002EFGH
2. Send this file to the printer and to see how it increments the serial number. The ^SF
command can also work with alpha characters.
^XA
^FO100,100^ADN,36,20^FDABCD1000EFGH^SF%%%%dddd%%%%,10000^FS
^PQ15
^XZ
Notice how the field data character position aligns with the ^SF data string:
And on through
The last label prints ABCD1014EFGH.
The % is placed in positions that you do not want to increment or decrement,
d = decimal, 10000 = increment value.
For more details on ^SF, see ^SF on page 325.
^ F D A B C D 1 0 0 0 E F G H
^ S F % % % % d d d d % % % %
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
1 0 1 4 0 0 0 0
ZPL Commands
Basic ZPL Exercises and Examples
44
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Exercise 5 Saving a template to memory. ^IS and image save and image load.
1. Send this format to the printer:
^XA
^FO20,30^GB750,1100,4^FS
^FO20,30^GB750,200,4^FS
^FO20,30^GB750,400,4^FS
^FO20,30^GB750,700,4^FS
^FO20,226^GB325,204,4^FS
^FO30,40^ADN,36,20^FDShip to:^FS
^FO30,260^ADN,18,10^FDPart number #^FS
^FO360,260^ADN,18,10^FDDescription:^FS
^FO30,750^ADN,36,20^FDFrom:^FS
^ISR:SAMPLE.GRF^FS
^XZ
2. Send this format:
^XA
^ILR:SAMPLE.GRF^FS
^FO150,125^ADN,36,20^FDAcme Printing^FS
^FO60,330^ADN,36,20^FD14042^FS
^FO400,330^ADN,36,20^FDScrew^FS
^FO70,480^BY4^B3N,,200^FD12345678^FS
^FO150,800^ADN,36,20^FDMacks Fabricating^FS
^XZ
In this way the template only needs to be sent one time to the printers memory. Subsequent
formats can be sent recalling the template and merging variable data into the template. In this
exercise, the file was saved in the printers R: memory, which is volatile.
Note This exercise helps you troubleshoot your code against the errors you see on your
labels.
45
ZPL Commands
Basic ZPL Exercises and Examples
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Exercise 6 ^DF and ^XF Download format and recall format
Similar concept to ^IS and ^IL command. ^IS and ^IL processes faster in the printer than
^DF and ^XF.
This is how the ^DF and ^XF format structure produces a label similar to the ^IS/^IL
sample you just tried.
Figure 2 Download and Recall Format
1 Download format code
2 Recall format call that generates the generated label in Figure 2.
^XA
^DFR:SAMPLE.GRF^FS
^FO20,30^GB750,1100,4^FS
^FO20,30^GB750,200,4^FS
^FO20,30^GB750,400,4^FS
^FO20,30^GB750,700,4^FS
^FO20,226^GB325,204,4^FS
^FO30,40^ADN,36,20^FDShip to:^FS
^FO30,260^ADN,18,10^FDPart number #^FS
^FO360,260^ADN,18,10^FDDescription:^FS
^FO30,750^ADN,36,20^FDFrom:^FS
^FO150,125^ADN,36,20^FN1^FS (ship to)
^FO60,330^ADN,36,20^FN2^FS(part num)
^FO400,330^ADN,36,20^FN3^FS(description)
^FO70,480^BY4^B3N,,200^FN4^FS(barcode)
^FO150,800^ADN,36,20^FN5^FS (from)
^XZ
^XA
^XFR:SAMPLE.GRF
^FN1^FDAcme Printing^FS
^FN2^FD14042^FS
^FN3^FDScrew^FS
^FN4^FD12345678^FS
^FN5^FDMacks Fabricating^FS
^XZ
ZPL II CODE GENERATED LABEL
1
2
ZPL Commands
Basic ZPL Exercises and Examples
46
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Exercise 7 Asian and Unicode Encodings
In each of the following examples, the format is saved in the corresponding encoding before
being sent down to the printer and the ZPL script was made in Microsoft Notepad, a basic text
editor. The characters were inserted from the character map in Windows or typed from the
keyboard.
This exercise works in printers with firmware version v60.14, v50.14, or later.
Example This is an example of using an Asian encoding, such as UHANGUL, with ASCII
text. Using the CI26 command tells the printer to recognize any byte less than 7F as ASCII
text and every byte above as the first byte of UHANGUAL encoding:
Example This is an example of using the Unicode encoding, UTF-8:
ZPL II CODE GENERATED LABEL
ZPL II CODE
GENERATED LABEL
47
ZPL Commands
^A
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^A
Scalable/Bitmapped Font
Description The ^A command specifies the font to use in a text field. ^A designates the
font for the current ^FD statement or field. The font specified by ^A is used only once for that
^FD entry. If a value for ^A is not specified again, the default ^CF font is used for the next
^FD entry.
Format ^Afo,h,w
This table identifies the parameters for this format:
Important Parameter f is required. If f is omitted it defaults to the last value of the ^CF
command.
Command Details
f = font name Accepted Values: A through Z, and 0 to 9
Any font in the printer (downloaded, EPROM, stored fonts,
fonts A through Z and 0 to 9).
o = field orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: the last accepted ^FW value or the ^FW default
h = Character Height
(in dots)
Scalable
Accepted Values: 10 to 32000
Default Value: last accepted ^CF
Bitmapped
Accepted Values: multiples of height from 1 to 10 times the
standard height, in increments of 1
Default Value: last accepted ^CF
w = width (in dots) Scalable
Accepted Values: 10 to 32000
Default Value: last accepted ^CF
Bitmapped
Accepted Values: multiples of width from 1 to 10 times the
standard width, in increments of 1
Default Value: last accepted ^CF
ZPL Commands
^A
48
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Scalable Font Command
Bitmap Font Command
For reference, see Standard Printer Fonts on page 894, Zebra Code Page 850 on page 882,
Fonts and Bar Codes on page 893, and ASCII on page 891.
Comments Fonts are built using a matrix that defines standard height-to-width ratios. If you
specify only the height or width value, the standard matrix for that font automatically
determines the other value. If the value is not given or a 0 (zero) is entered, the height or width
is determined by the standard font matrix.
Example This is an example of a scalable font command:
Example This is an example of a bitmap font command:
This command interacts with the justification parameters of ^FO and ^FT and with the field
direction parameter of ^FP. For output and examples, see Field Interactions on page 917.
49
ZPL Commands
^A@
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^A@
Use Font Name to Call Font
Description The ^A@ command uses the complete name of a font, rather than the character
designation used in ^A. Once a value for ^A@ is defined, it represents that font until a new
font name is specified by ^A@.
Format ^A@o,h,w,d:o.x
This table identifies the parameters for this format:
Parameters Details
o = field orientation Accepted Values:
N = normal
R = rotates 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: N or the last ^FW value
h = character height (in
dots)
Default Value: specifies magnification by w (character width)
or the last accepted ^CF value. Uses the base height if none is
specified.
Scalable The value is the height in dots of the entire
character block. Magnification factors are unnecessary,
because characters are scaled.
Bitmapped The value is rounded to the nearest integer
multiple of the fonts base height, then divided by the
fonts base height to give a magnification nearest limit.
w = width (in dots) Default Value: specifies magnification by h (height) or the
last accepted ^CF value. Specifies the base width is used if
none is specified.
Scalable The value is the width in dots of the entire
character block. Magnification factors are unnecessary,
because characters are scaled.
Bitmapped The value rounds to the nearest integer
multiple of the fonts base width, then divided by the
fonts base width to give a magnification nearest limit.
d = drive location of font Accepted Values: R:, E:, B:, and A:
Default Value: R:
ZPL Commands
^A@
50
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
For reference, see Zebra Code Page 850 on page 882, Fonts and Bar Codes on page 893, and
ASCII on page 891.
o = font name Accepted Values: any valid font
Default Value: if an invalid or no name is entered, the default
set by ^CF is used. If no font has been specified in ^CF, font
A is used.
The font named carries over on all subsequent ^A@
commands without a font name.
x = extension
.TTE is only supported in
firmware version V60.14.x,
V50.14.x, or later.
Accepted Values:
.FNT = font
.TTF = TrueType Font
.TTE = TrueType Extension
Example This example is followed by a table that identifies the called out lines of code:
1 Starts the label format.
2 Searches non-volatile printer memory (B:) for CYRI_UB.FNT. When
the font is found, the ^A@ command sets the print orientation to
normal and the character size to 50 dots by 50 dots.
3 Sets the field origin at 100,100.
4 Prints the field data, Zebra Printer Fonts on the label.
5 Calls the font again and character size is decreased to 40 dots by 40
dots.
6 Sets the new field origin at 100,150.
7 Prints the field data, This uses the B:CYRI_UB.FNT on the label.
8 Ends the label format.
Parameters Details
1
2
3
4
5
6
7
8
51
ZPL Commands
^B0
9/4/08 ZPL II ProgrammingGuide 13979L-011 Rev. A
^B0
Aztec Bar Code Parameters
Description The ^B0 command creates a two-dimensional matrix symbology made up of
square modules arranged around a bulls-eye pattern at the center.
Format ^B0a,b,c,d,e,f,g
This table identifies the parameters for this format:
Note The Aztec bar code works with firmware version v60.13.0.11A and v50.13.2 or later.
Parameters Details
a = orientation Accepted Values:
N = normal
R = rotated
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
b = magnification factor Accepted Values: 1 to 10
Default Value:
1 on 150 dpi printers
2 on 200 dpi printers
3 on 300 dpi printers
6 on 600 dpi printers
c = extended channel
interpretation code
indicator
Accepted Values:
Y = if data contains ECICs
N = if data does not contain ECICs
Default Value: N
d = error control and
symbol size/type
indicator
Accepted Values:
0 = default error correction level
01 to 99 = error correction percentage (minimum)
101 to 104 = 1 to 4-layer compact symbol
201 to 232 = 1 to 32-layer full-range symbol
300 = a simple Aztec Rune
Default Value: 0
e = menu symbol
indicator
Accepted Values:
Y = if this symbol is to be a menu (bar code reader
initialization) symbol
N = if it is not a menu symbol
Default Value: N
ZPL Commands
^B0
52
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
f = number of symbols
for structured append
Accepted Values: 1 through 26
Default Value: 1
g = optional ID field for
structured append
The ID field is a text string with 24-character maximum
Default Value: no ID
Example This is an example of the ^B0 command:
Parameters Details
^XA
^B0R,7,N,0,N,1,0
^FD 7. This is testing label 7^FS
^XZ
ZPL II CODE GENERATED LABEL
53
ZPL Commands
^B1
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^B1
Code 11 Bar Code
Description The ^B1 command produces the Code 11 bar code, also known as USD-8
code. In a Code 11 bar code, each character is composed of three bars and two spaces, and the
character set includes 10 digits and the hyphen (-).
^B1 supports print ratios of 2.0:1 to 3.0:1.
Field data (^FD) is limited to the width (or length, if rotated) of the label.
Format ^B1o,e,h,f,g
This table identifies the parameters for this format:
Important If additional information about the Code 11 bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
e = check digit Accepted Values:
Y = 1 digit
N = 2 digits
Default Value: N
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values:
Y = yes
N = no
Default Value: Y
g = print interpretation
line above code
Accepted Values:
Y = yes
N = no
Default Value: N
ZPL Commands
^B1
54
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example This is an example of the Code 11 bar code:
CODE 11 BAR CODE
^XA
^FO100,100^BY3
^B1N,N,150,Y,N
^FD123456^FS
^XZ
CODE 11 BAR CODE CHARACTERS
0 1 2 3 4 5 6 7 8 9 -
Internal Start/Stop Character:
ZPL II CODE
is used with 1 check digit
is used with 2 check digits
When used as a stop character:
55
ZPL Commands
^B2
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^B2
Interleaved 2 of 5 Bar Code
Description The ^B2 command produces the Interleaved 2 of 5 bar code, a high-density,
self-checking, continuous, numeric symbology.
Each data character for the Interleaved 2 of 5 bar code is composed of five elements: five bars
or five spaces. Of the five elements, two are wide and three are narrow. The bar code is formed
by interleaving characters formed with all spaces into characters formed with all bars.
^B2 supports print ratios of 2.0:1 to 3.0:1.
Field data (^FD) is limited to the width (or length, if rotated) of the label.
Format ^B2o,h,f,g,e,j
This table identifies the parameters for this format:
Important If additional information about the Interleaved 2 of 5 bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values:
Y = yes
N = no
Default Value: Y
g = print interpretation
line above code
Accepted Values:
Y = yes
N = no
Default Value: N
e = calculate and print
Mod 10 check digit
Accepted Values:
Y = yes
N = no
Default Value: N
ZPL Commands
^B2
56
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Comments The total number of digits in an Interleaved 2 of 5 bar code must be even. The
printer automatically adds a leading 0 (zero) if an odd number of digits is received.
The Interleaved 2 of 5 bar code uses the Mod 10 check-digit scheme for error checking. For
more information on Mod 10 check digits, see Mod 10 Check Digit on page 908.
Example This is an example of an Interleaved 2 of 5 bar code:
INTERLEAVED 2 OF 5 BAR CODE
^XA
^FO100,100^BY3
^B2N,150,Y,N,N
^FD123456^FS
^XZ
INTERLEAVED 2 OF 5 BAR CODE CHARACTERS
0 1 2 3 4 5 6 7 8 9
Start/Stop (internal)
ZPL II CODE
57
ZPL Commands
^B3
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^B3
Code 39 Bar Code
Description The Code 39 bar code is the standard for many industries, including the U.S.
Department of Defense. It is one of three symbologies identified in the American National
Standards Institute (ANSI) standard MH10.8M-1983. Code 39 is also known as USD-3 Code
and 3 of 9 Code.
Each character in a Code 39 bar code is composed of nine elements: five bars, four spaces, and
an inter-character gap. Three of the nine elements are wide; the six remaining elements are
narrow.
^B3 supports print ratios of 2.0:1 to 3.0:1.
Field data (^FD) is limited to the width (or length, if rotated) of the label.
Code 39 automatically generates the start and stop character (*).
Asterisk (*) for start and stop character prints in the interpretation line, if the interpretation
line is turned on.
Code 39 is capable of encoding the full 128-character ASCII set.
Format ^B3o,e,h,f,g
This table identifies the parameters for this format:
Important If additional information about the Code 39 bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
e = Mod-43 check digit Accepted Values:
Y = yes
N = no
Default Value: N
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
ZPL Commands
^B3
58
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Comments Extended ASCII is a function of the scanner, not of the bar code. Your scanner
must have extended ASCII enabled for this feature to work. To enable extended ASCII in the
Code 39, you must first encode +$ in your ^FD statement. To disable extended ASCII, you
must encode -$ in your ^FD statement.
f = print interpretation
line
Accepted Values:
Y = yes
N = no
Default Value: Y
g = print interpretation
line above code
Accepted Values:
Y = yes
N = no
Default Value: N
Example This is an example of a Code 39 bar code:
Example This example encodes a carriage return with line feed into a Code 39 bar code:
Parameters Details
CODE 39 BAR CODE
^XA
^FO100,100^BY3
^B3N,N,100,Y,N
^FD123ABC^FS
^XZ
CODE 39 BAR CODE CHARACTERS
0 1 2 3 4 5 6 7 8 9
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- . $ / + % Space
ZPL II CODE
^XA
^FO20,20
^B3N,N,100,Y
^FDTEST+$$M$J-$^FS
^XZ
ZPL II CODE GENERATED LABELS
59
ZPL Commands
^B3
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Full ASCII Mode for Code 39
Code 39 can generate the full 128-character ASCII set using paired characters as shown in
these tables:
Table 1 Code 39 Full ASCII Mode
ASCII Code 39
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
FS
RS
US
$A
$B
$C
$D
$E
$F
$G
$H
$I
$J
$K
$L
$M
$N
$O
$P
$Q
$R
$S
$T
$U
$V
$W
$X
$Y
$Z
%A
%B
%C
%D
%E
ASCII Code 39
SP
!
#
$
%
&
(
)
*
++
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
Space
/A
/B
/C
/D
/E
/F
/G
/H
/I
/J
/K
/L
-
.
/O
O
1
2
3
4
5
6
7
8
9
/Z
%F
%G
%H
%I
%J
ZPL Commands
^B3
60
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Table 2 Code 39 Full ASCII Mode
ASCII Code 39
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
%V
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
%K
%L
%M
%N
%O
ASCII Code 39
a
b
c
d
e
f
g
h
I
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
%W
+A
+B
+C
+D
+E
+F
+G
+H
+I
+J
+K
+L
+M
+N
+O
+P
+Q
+R
+S
+T
+U
+V
+W
+X
+Y
+Z
%P
%Q
%R
%S
%T, %X
61
ZPL Commands
^B4
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^B4
Code 49 Bar Code
Description The ^B4 command creates a multi-row, continuous, variable-length
symbology capable of encoding the full 128-character ASCII set. It is ideally suited for
applications requiring large amounts of data in a small space.
The code consists of two to eight rows. A row consists of a leading quiet zone, four symbol
characters encoding eight code characters, a stop pattern, and a trailing quiet zone. A separator
bar with a height of one module separates each row. Each symbol character encodes two
characters from a set of Code 49 characters.
^B4 has a fixed print ratio.
Rows can be scanned in any order.
Format ^B4o,h,f,m
This table identifies the parameters for this format:
Important For additional information about the Code 49 bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = height multiplier of
individual rows
Accepted Values: 1 to height of label
Default Value: value set by ^BY
This number multiplied by the module equals the height of
the individual rows in dots. 1 is not a recommended value.
ZPL Commands
^B4
62
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
f = print interpretation
line
Accepted Values:
N = no line printed
A = print interpretation line above code
B = print interpretation line below code
Default Value: N
When the field data exceeds two rows, expect the
interpretation line to extend beyond the right edge of the
bar code symbol.
m = starting mode Accepted Values:
0 = Regular Alphanumeric Mode
1 = Multiple Read Alphanumeric
2 = Regular Numeric Mode
3 = Group Alphanumeric Mode
4 = Regular Alphanumeric Shift 1
5 = Regular Alphanumeric Shift 2
A = Automatic Mode. The printer determines the starting
mode by analyzing the field data.
Default Value: A
Example This is an example of a Code 49 bar code:
Parameters Details
CODE 49 BAR CODE
^XA
^FO150,100^BY3
^B4N,20,A,A
^FD12345ABCDE^FS
^XZ
ZPL II CODE
63
ZPL Commands
^B4
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Table 3 Code 49
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
-
.
SPACE
$
/
++
%
< (Shift 1)
> (Shift 2)
: (N.A.)
; (N.A.)
? (N.A.)
= (Numeric Shift)
Field Data
Set
Unshifted
Character Set
Shift 1
Character Set
Shift 2
Character Set
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
-
.
SPACE
$
/
++
%
ESC
FS
GS
RS
US
!
#
&
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
(
)
Null
*
,
:
reserved
;
<
=
>
?
@
[
\
]
a
b
c
d
e
f
g
h
I
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
_
DEL
{
|
}
~
Code 49 Shift 1 and 2 Character Substitutions
ZPL Commands
^B4
64
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Code 49 Field Data Character Set
The ^FD data sent to the printer when using starting modes 0 to 5 is based on the
Code 49 Internal Character Set. This is shown in the first column of the Code 49 table on the
previous page. These characters are Code 49 control characters:
: ; < = > ?
Valid field data must be supplied when using modes 0 to 5. Shifted characters are sent as a
two-character sequence of a shift character followed by a character in the unshifted character
set.
If an invalid sequence is detected, the Code 49 formatter stops interpreting field data and prints
a symbol with the data up to the invalid sequence. These are examples of invalid sequences:
Terminating numeric mode with any characters other than 0 to 9 or a Numeric Space.
Starting in Mode 4 (Regular Alphanumeric Shift 1) and the first field data character is
not in the Shift 1 set.
Starting in Mode 5 (Regular Alphanumeric Shift 2) and the first field data character is
not in the Shift 2 set.
Sending Shift 1 followed by a character not in the Shift 1 set.
Sending Shift 2 followed by a character not in the Shift 2 set.
Sending two Shift 1 or Shift 2 control characters.
Advantages of Using the Code 49 Automatic Mode
Using the default (Automatic Mode) completely eliminates the need for selecting the starting
mode or manually performing character shifts. The Automatic Mode analyzes the incoming
ASCII string, determines the proper mode, performs all character shifts, and compacts the data
for maximum efficiency.
Numeric Mode is selected or shifted only when five or more continuous digits are found.
Numeric packaging provides no space advantage for numeric strings consisting of fewer than
eight characters.
Example To encode a lowercase a, send a > (Shift 2) followed by an uppercase A. If
interpretation line printing is selected, a lowercase a prints in the interpretation line. This
reflects what the output from the scanner reads. Code 49 uses uppercase alphanumeric
characters only.
65
ZPL Commands
^B5
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^B5
Planet Code bar code
Description The ^B5 command is supported in all printers as a resident bar code.
Format ^B5o,h,f,g
This table identifies the parameters for this format:
Note Accepted bar code characters are 0 - 9.
Parameters Details
o = orientation code Accepted Values:
N = normal
R = rotated
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 9999
Default Value: value set by ^BY
f = interpretation line Accepted Values:
N = no
Y = yes
Default Value: N
g = determines if the
interpretation line is
printed above the bar
code
Accepted Values:
N = no
Y = yes
Default Value: N
Example This is an example of a Planet Code bar code:
^XA
^FO150,100^BY3
^B5N,100,Y,N
^FD12345678901^FS
^XZ
ZPL II CODE GENERATED LABEL
ZPL Commands
^B7
66
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^B7
PDF417 Bar Code
Description The ^B7 command produces the PDF417 bar code, a two-dimensional,
multirow, continuous, stacked symbology. PDF417 is capable of encoding over 1,000
characters per bar code. It is ideally suited for applications requiring large amounts of
information at the time the bar code is read.
The bar code consists of three to 90 stacked rows. Each row consists of start and stop patterns
and symbol characters called code-words. A code-word consists of four bars and four spaces.
A three code-word minimum is required per row.
The PDF417 bar code is also capable of using the structured append option (^FM), which
allows you to extend the field data limitations by printing multiple bar codes. For more
information on using structured append, see ^FM on page 187.
PDF417 has a fixed print ratio.
Field data (^FD) is limited to 3K of character data.
Format ^B7o,h,s,c,r,t
This table identifies the parameters for this format:
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height for
individual rows (in
dots)
Accepted Values: 1 to height of label
Default Value: value set by ^BY
This number multiplied by the module equals the height of
the individual rows in dots. If this number is not specified,
the overall bar code height, divided by the number of
rows, equals the height of the individual rows in dots,
where the overall bar code height is defined by the ^BY
command. 1 is not a recommended value.
s = security level Accepted Values: 1 to 8 (error detection and correction)
Default Value: 0 (error detection only)
This determines the number of error detection and
correction code-words to be generated for the symbol. The
default level provides only error detection without
correction. Increasing the security level adds increasing
levels of error correction and increases the symbol size.
67
ZPL Commands
^B7
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
c = number of data
columns to encode
Accepted Values: 1 to 30
Default Value: 1:2 (row-to-column aspect ratio)
You can specify the number of code-word columns giving
control over the width of the symbol.
r = number of rows to
encode
Accepted Values: 3 to 90
Default Value: 1:2 (row-to-column aspect ratio)
You can specify the number of symbol rows giving control
over the height of the symbol. For example, with no row
or column values entered, 72 code-words would be
encoded into a symbol of six columns and 12 rows.
Depending on code-words, the aspect ratio is not always
exact.
t = truncate right row
indicators and stop
pattern
Accepted Values:
N = no truncation
Y = perform truncation
Default Value: N
Example This is an example of a PDF417 bar code:
Parameters Details
PDF417 BAR CODE
^XA
^BY2,3
^FO10,10^B7N,5,5,,83,N
^FDZebra Technologies
Corporation strives to be
the expert supplier of
innovative solutions to
speciality demand labeling
and ticketing problems of
business and government.
We will attract and retain
the best people who will
understand our customer's
needs and provide them with
systems, hardware, software,
consumables and service
offering the best value,
high quality, and reliable
performance, all delivered
in a timely manner.
^FS^XZ
ZPL II CODE
ZPL Commands
^B7
68
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Comments Noted in this bulleted list:
If both columns and rows are specified, their product must be less than 928.
No symbol is printed if the product of columns and rows is greater than 928.
No symbol is printed if total code-words are greater than the product of columns and rows.
Serialization is not allowed with this bar code.
The truncation feature can be used in situations where label damage is not likely. The right
row indicators and stop pattern is reduced to a single module bar width. The difference
between a non truncated and a truncated bar code is shown in the previous examples.
Example This is an example of a PDF417 without and with truncation selected:
Example This example shows the ^B7 command used with field hex (^FH) characters:
^XA
^FO50,50^BY3,3.0^B7N,8,5,7,21,N
^FH_^FD[)>_1E06_1DP12345678_1DQ160
_1D1JUN123456789A2B4C6D8E_1D20LA6-987
_1D21L54321 ZES_1D15KG1155
_1DBSC151208_1D7Q10GT_1E_04^FS
^XZ
ZPL II CODE GENERATED LABEL
69
ZPL Commands
^B7
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Special Considerations for ^BY When Using PDF417
When used with ^B7, the parameters for the ^BY command are:
w = module width (in dots)
Accepted Values: 2 to 10
Default Value: 2
r = ratio
Fixed Value: 3 (ratio has no effect on PDF417)
h = height of bars (in dots)
Accepted Values: 1 to 32000
Default Value: 10
PDF417 uses this only when row height is not specified in the ^B7 h parameter.
Special Considerations for ^FD When Using PDF417
The character set sent to the printer with the ^FD command includes the full ASCII set, except
for those characters with special meaning to the printer.
See Zebra Code Page 850 on page 882, ^CC ~CC on page 144, and ^CT ~CT on page 155.
CR and LF are also valid characters for all ^FD statements. This scheme is used:
\& = carriage return/line feed
\\ = backslash (\)
^CI13 must be selected to print a backslash (\).
ZPL Commands
^B8
70
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^B8
EAN-8 Bar Code
Description The ^B8 command is the shortened version of the EAN-13 bar code. EAN is
an acronym for European Article Numbering. Each character in the EAN-8 bar code is
composed of four elements: two bars and two spaces.
^B8 supports a fixed ratio.
Field data (^FD) is limited to exactly seven characters. ZPL II automatically pads or
truncates on the left with zeros to achieve the required number of characters.
When using JAN-8 (Japanese Article Numbering), a specialized application of EAN-8,
the first two non-zero digits sent to the printer are always 49.
Format ^B8o,h,f,g
This table identifies the parameters for this format:
Important If additional information about the EAN-8 bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values:
N = no
Y = yes
Default Value: Y
g = print interpretation
line above code
Accepted Values:
N = no
Y = yes
Default Value: N
71
ZPL Commands
^B8
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example This is an example of an EAN-8 bar code:
EAN-8 BAR CODE
^XA
^FO100,100^BY3
^B8N,100,Y,N
^FD1234567^FS
^XZ
EAN-8 BAR CODE CHARACTERS
0 1 2 3 4 5 6 7 8 9
ZPL II CODE
ZPL Commands
^B9
72
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^B9
UPC-E Bar Code
Description The ^B9 command produces a variation of the UPC symbology used for
number system 0. It is a shortened version of the UPC-A bar code, where zeros are suppressed,
resulting in codes that require less printing space. The 6 dot/mm, 12 dot/mm, and 24 dot/mm
printheads produce the UPC and EAN symbologies at 100 percent of their size. However, an
8 dot/mm printhead produces the UPC and EAN symbologies at a magnification factor of 77
percent.
Each character in a UPC-E bar code is composed of four elements: two bars and two spaces.
The ^BY command must be used to specify the width of the narrow bar.
^B9 supports a fixed ratio.
Field data (^FD) is limited to exactly 10 characters, requiring a five-digit manufacturers
code and five-digit product code.
When using the zero-suppressed versions of UPC, you must enter the full
10-character sequence. ZPL II calculates and prints the shortened version.
Format ^B9,h,f,g,e
This table identifies the parameters for this format:
Important If additional information about the UPC-E bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values:
N = no
Y = yes
Default Value: Y
73
ZPL Commands
^B9
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Rules for Proper Product Code Numbers
If the last three digits in the manufacturers number are 000, 100, or 200, valid product
code numbers are 00000 to 00999.
If the last three digits in the manufacturers number are 300, 400, 500, 600, 700, 800, or
900, valid product code numbers are 00000 to 00099.
If the last two digits in the manufacturers number are 10, 20, 30, 40, 50, 60, 70, 80, or 90,
valid product code numbers are 00000 to 00009.
If the manufacturers number does not end in zero (0), valid product code numbers are
00005 to 00009.
g = print interpretation
line above code
Accepted Values:
N = no
Y = yes
Default Value: N
e = print check digit Accepted Values:
N = no
Y = yes
Default Value: Y
Example This is an example of a UPC-E bar code:
Parameters Details
UPC-E BAR CODE
^XA
^FO150,100^BY3
^B9N,100,Y,N,Y
^FD1230000045^FS
^XZ
UPC-E BAR CODE CHARACTERS
0 1 2 3 4 5 6 7 8 9
ZPL II CODE
ZPL Commands
^BA
74
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BA
Code 93 Bar Code
Description The ^BA command creates a variable length, continuous symbology. The
Code 93 bar code is used in many of the same applications as Code 39. It uses the full 128-
character ASCII set. ZPL II, however, does not support ASCII control codes or escape
sequences. It uses the substitute characters shown below.
Each character in the Code 93 bar code is composed of six elements: three bars and three
spaces. Although invoked differently, the human-readable interpretation line prints as though
the control code has been used.
^BA supports a fixed print ratio.
Field data (^FD) is limited to the width (or length, if rotated) of the label.
Format ^BAo,h,f,g,e
This table identifies the parameters for this format:
Control Code ZPL II Substitute
Ctrl $ &
Ctrl %
Ctrl / (
Ctrl + )
Important If additional information about the Code 93 bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values:
N = no
Y = yes
Default Value: Y
75
ZPL Commands
^BA
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Comments All control codes are used in pairs.
Code 93 is also capable of encoding the full 128-character ASCII set. For more details, see
Table 4 on page 76.
Full ASCII Mode for Code 93
Code 93 can generate the full 128-character ASCII set using paired characters as shown in
Table 4 on page 76.
g = print interpretation
line above code
Accepted Values:
N = no
Y = yes
Default Value: N
e = print check digit Accepted Values:
N = no
Y = yes
Default Value: N
Example This is an example of a Code 93 bar code:
Parameters Details
^XA
^FO100,75^BY3
^BAN,100,Y,N,N
^FD12345ABCDE^FS
^XZ
CODE 93 BAR CODE CHARACTERS
0 1 2 3 4 5 6 7 8 9
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- . $ / + % & ( )
SPACE
ZPL II CODE
Denotes an internal start/stop character that must precede and follow
every bar code message.
CODE 93 BAR CODE
ZPL Commands
^BA
76
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Table 4 Code 93 Full ASCII Mode
ASCII Code 93
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
FS
RS
US
U
&A
B
C
D
E
F
G
H
I
J
K
L
M
N
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
&
&
&
&
&
&
&
&
&
&
&
&
&
&O
&
&
&
&
&
&
&
&
&
&
&
ASCII Code 93
SP
!
#
$
%
&
(
)
*
++
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
Space
(A
(B
C
D
E
F
G
H
I
J
++
(L
-
.
/
O
1
2
3
4
5
6
7
8
9
(Z
F
G
H
I
J
(
(
(
(
(
(
(
(
77
ZPL Commands
^BA
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Table 5 Code 93 Full ASCII Mode
ASCII Code 93
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
V
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
K
L
M
N
O
ASCII Code 93
a
b
c
d
e
f
g
h
I
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
W
)A
)B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
P
Q
R
S
T
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
ZPL Commands
^BB
78
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BB
CODABLOCK Bar Code
Description The ^BB command produces a two-dimensional, multirow, stacked
symbology. It is ideally suited for applications that require large amounts of information.
Depending on the mode selected, the code consists of one to 44 stacked rows. Each row begins
and ends with a start and stop pattern.
CODABLOCK A supports variable print ratios.
CODABLOCK E and F support only fixed print ratios.
Format ^BBo,h,s,c,r,m
This table identifies the parameters for this format:
Important If additional information about the CODABLOCK bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: N
h = bar code height for
individual rows (in
dots)
Accepted Values: 2 to 32000
Default Value: 8
This number, multiplied by the module, equals the height
of the individual row in dots.
s = security level Accepted Values:
N = no
Y = yes
Default Value: Y
Security level determines whether symbol check-sums are
generated and added to the symbol. Check sums are never
generated for single-row symbols. This can be turned off
only if parameter m is set to A.
c = number of characters
per row (data
columns)
Accepted Values: 2 to 62 characters
This is used to encode a CODABLOCK symbol. It gives
the you control over the width of the symbol.
79
ZPL Commands
^BB
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
r = number of rows to
encode
Accepted Values:
for CODABLOCK A: 1 to 22
for CODABLOCK E and F: 2 to 4
If values for c and r are not specified, a single row is
produced.
If a value for r is not specified, and c exceeds the
maximum range, a single row equal to the field data
length is produced.
If a value for c is not specified, the number of
characters per row is derived by dividing the field
data by the value of r.
If both parameters are specified, the amount of field
data must be less than the product of the specified
parameters. If the field data exceeds the value of the
product, either no symbol or an error code is printed
(if ^CV is active).
If the data field contains primarily numeric data,
fewer than the specified rows might be printed. If the
field data contains several shift and code-switch
characters, more than the specified number of rows
might be printed.
m = mode Accepted Values: A, E, F
CODABLOCK A uses the Code 39 character set.
CODABLOCK F uses the Code 128 character set.
CODABLOCK E uses the Code 128 character set and
automatically adds FNC1.
Default Value: F
Parameters Details
ZPL Commands
^BB
80
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Special Considerations for the ^BY Command When Using ^BB
The parameters for the ^BYw,r,h command, when used with a ^BB code, are as follows:
w = module width (in dots)
Accepted Values: 2 to 10 (CODABLOCK A only)
Default Value: 2
r = ratio
Fixed Value: 3 (ratio has no effect on CODABLOCK E or F)
h = height of bars (in dots)
Accepted Values: 1 to 32,32000
Default Value: 10
CODABLOCK uses this as the overall symbol height only when the row height is not
specified in the ^BB h parameter.
Example This is an example of a CODABLOCK bar code:
^XA
^BY2,3
^FO10,10^BBN,30,,30,44,E
^FDZebra Technologies
Corporation strives to be
the expert supplier of
innovative solutions to
speciality demand labeling
and ticketing problems of
business and government.
We will attract and retain
the best people who will
understand our customer's
needs and provide them with
systems, hardware, software,
consumables and service
offering the best value,
high quality, and reliable
performance, all delivered
in a timely manner.^FS
^XZ
ZPL II CODE CODABLOCK BAR CODE
81
ZPL Commands
^BB
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Special Considerations for ^FD Character Set When Using ^BB
The character set sent to the printer depends on the mode selected in parameter m.
CODABLOCK A: CODABLOCK A uses the same character set as Code 39. If any other
character is used in the ^FD statement, either no bar code is printed or an error message is
printed (if ^CV is active).
CODABLOCK E: The Automatic Mode includes the full ASCII set except for those
characters with special meaning to the printer. Function codes or the
Code 128 Subset A <nul> character can be inserted using of the ^FH command.
For any other character above 84 hex, either no bar code is printed or an error message is
printed (if ^CV is active).
CODABLOCK F: CODABLOCK F uses the full ASCII set, except for those characters
with special meaning to the printer. Function codes or the Code 128 Subset A <nul>
character can be inserted using of the ^FH command.
<fnc1> = 80 hex <fnc3> = 82 hex
<fnc2> = 81 hex <fnc4> = 83 hex
<nul> = 84 hex
<fnc1> = 80 hex <fnc3> = 82 hex
<fnc2> = 81 hex <fnc4> = 83 hex
<nul> = 84 hex
ZPL Commands
^BC
82
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BC
Code 128 Bar Code (Subsets A, B, and C)
Description The ^BC command creates the Code 128 bar code, a high-density, variable
length, continuous, alphanumeric symbology. It was designed for complexly encoded product
identification.
Code 128 has three subsets of characters. There are 106 encoded printing characters in each
set, and each character can have up to three different meanings, depending on the character
subset being used. Each Code 128 character consists of six elements: three bars and three
spaces.
^BC supports a fixed print ratio.
Field data (^FD) is limited to the width (or length, if rotated) of the label.
Format ^BCo,h,f,g,e,m
This table identifies the parameters for this format:
Important If additional information about the Code 128 bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values: Y (yes) or N (no)
Default Value: Y
The interpretation line can be printed in any font by
placing the font command before the bar code command.
g = print interpretation
line above code
Accepted Values: Y (yes) or N (no)
Default Value: N
83
ZPL Commands
^BC
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
e = UCC check digit Accepted Values: Y (turns on) or N (turns off)
Mod 103 check digit is always there. It cannot be turned
on or off. Mod 10 and 103 appear together with e turned
on.
Default Value: N
m = mode Accepted Values:
N = no selected mode
U = UCC Case Mode
More than 19 digits in ^FD or ^SN are eliminated.
Fewer than 19 digits in ^FD or ^SN add zeros to the
right to bring the count to 19. This produces an
invalid interpretation line.
A = Automatic Mode
This analyzes the data sent and automatically
determines the best packing method. The full
ASCII character set can be used in the ^FD
statement the printer determines when to shift
subsets. A string of four or more numeric digits
causes an automatic shift to Subset C.
D = UCC/EAN Mode (x.11.x and newer firmware)
This allows dealing with UCC/EAN with and
without chained application identifiers. The code
starts in the appropriate subset followed by FNC1
to indicate a UCC/EAN 128 bar code. The printer
automatically strips out parentheses and spaces for
encoding, but prints them in the human-readable
section. The printer automatically determines if a
check digit is required, calculate it, and print it.
Automatically sizes the human readable.
Default Value: N
Example This is an example of a Code 128 bar code:
Parameters Details
CODE 128 BAR CODE ZPL II CODE
^XA
^FO100,100^BY3
^BCN,100,Y,N,N
^FD123456^FS
^XZ
ZPL Commands
^BC
84
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Code 128 Subsets
The Code 128 character subsets are referred to as Subset A, Subset B, and Subset C. A subset
can be selected in these ways:
A special Invocation Code can be included in the field data (^FD) string associated with
that bar code.
The desired Start Code can be placed at the beginning of the field data. If no Start Code is
entered, Subset B are used.
To change subsets within a bar code, place the Invocation Code at the appropriate points
within the field data (^FD) string. The new subset stays in effect until changed with the
Invocation Code. For example, in Subset C, >7 in the field data changes the Subset to A.
Table 6 shows the Code 128 Invocation Codes and Start Characters for the three subsets.
Table 6 Code 128 Invocation Characters
><
>0
>=
>1
>2
>3
>4
>5
>6
>7
>8
>9
>:
>;
62
30
94
95
96
97
98
99
100
101
102
103
104
105
>
USQ
FNC 3
FNC 2
SHIFT
CODE C
CODE B
FNC 4
FNC 1
Start Code A
Start Code B
Start Code C
>
~
DEL
FNC 3
FNC 2
SHIFT
CODE C
FNC 4
CODE A
FNC 1
(Numeric Pairs give Alpha/Numerics)
(Normal Alpha/Numeric)
(All numeric (00 - 99)
CODE B
CODE A
FNC 1
Invocation
Code
Start Characters
Decimal
Value
Subset A
Character
Subset B
Character
Subset C
Character
85
ZPL Commands
^BC
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Table 7 shows the character sets for Code 128:
Table 7 Code 128 character sets
Code A
SP
!
''
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
Code B
SP
!
''
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
Value
0
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Code C
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Value
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Code C
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Code B
Code A
FNC1
Code B
U
V
W
X
Y
Z
[
\
]
^
_
.
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
FNC3
FNC2
SHIFT
Code C
FNC4
Code A
FNC1
START (Code A)
START (Code B)
START (Code C)
Code A
U
V
W
X
Y
Z
[
\
]
^
_
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
FNC3
FNC2
SHIFT
Code C
Code B
FNC4
FNC1
ZPL Commands
^BC
86
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
How ^BC Works Within a ZPL II Script
^XA the first command starts the label format.
^FO100,75 the second command sets the field origin at 100 dots across the x-axis and 75
dots down the y-axis from the upper-left corner.
^BCN,100,Y,N,N the third command calls for a Code 128 bar code to be printed with
no rotation (N) and a height of 100 dots. An interpretation line is printed (Y) below the bar
code (N). No UCC check digit is used (N).
^FDCODE128^FS (Figure A) ^FD>:CODE128^FS (Figure B) the field data command
specifies the content of the bar code.
^XZ the last command ends the field data and indicates the end of the label.
The interpretation line prints below the code with the UCC check digit turned off.
Example Figures A and B are examples of identical bar codes, and Figure C is an example
of switching from Subset C to B to A, as follows:
Because Code 128 Subset B is the most commonly used subset, ZPL II defaults to Subset B if
no start character is specified in the data string.
^XA
^FO100,75
^BCN,100,Y,N,N
^FDCODE128^FS
^XZ
Figure A: Subset B with no start character
^XA
^FO100,75
^BCN,100,Y,N,N
^FD>:CODE128^FS
^XZ
Figure B: Subset B with start character
^XA
^FO50,50
^BY3^BCN,100,Y,N,N
^FD>;382436>6CODE128>752375152^FS
^XZ
Figure C: Switching from Subset C to B to A
87
ZPL Commands
^BC
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
The ^FD command for Figure A does not specify any subset, so Subset B is used. In Figure B,
the ^FD command specifically calls Subset B with the >: Start Code. Although ZPL II defaults
to Code B, it is good practice to include the Invocation Codes in the command.
Code 128 Subset B is programmed directly as ASCII text, except for values greater than 94
decimal and a few special characters that must be programmed using the invocation codes.
Those characters are:
^ > ~
Example Code 128 Subsets A and C
Code 128, Subsets A and C are programmed in pairs of digits, 00 to 99, in the field data
string. For details, see Table 6 on page 84.
In Subset A, each pair of digits results in a single character being encoded in the bar code; in
Subset C, characters are printed as entered. Figure E below is an example of Subset A (>9 is
the Start Code for Subset A).
Nonintegers programmed as the first character of a digit pair (D2) are ignored. However,
nonintegers programmed as the second character of a digit pair (2D) invalidate the entire
digit pair, and the pair is ignored. An extra unpaired digit in the field data string just before a
code shift is also ignored.
Figure C and Figure D below are examples of Subset C. Notice that the bar codes are
identical. In the program code for Figure D, the D is ignored and the 2 is paired with the 4.
^XA
^FO100,75^BY3
^BCN,100,Y,N,N
^FD>;382436^FS
^XZ
Figure C: Subset C with normal data
^XA
^FO100,75^BY3
^BCN,100,Y,N,N
^FD>;38D2436^FS
^XZ
Figure D: Subset C with ignored alpha character
^XA
^FO100,75^BY3
^BCN,100,Y,N,N
^FD>935473637171824^FS
^XZ
Figure E: Subset A
ZPL Commands
^BC
88
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
The UCC/EAN-128 Symbology
The symbology specified for the representation of Application Identifier data is UCC/EAN-
128, a variant of Code 128, exclusively reserved to EAN International and the Uniform Code
Council (UCC).
UCC/EAN-128 offers several advantages. It is one of the most complete, alphanumeric, one-
dimensional symbologies available today. The use of three different character sets (A, B and
C), facilitates the encoding of the full 128 ASCII character set. Code 128 is one of the most
compact linear bar code symbologies. Character set C enables numeric data to be represented
in a double density mode. In this mode, two digits are represented by only one symbol
character saving valuable space. The code is concatenated. That means that multiple AIs and
their fields may be combined into a single bar code. The code is also very reliable. Code 128
symbols use two independent self-checking features which improves printing and scanning
reliability.
UCC/EAN-128 bar codes always contain a special non-data character known as function 1
(FNC 1), which follows the start character of the bar code. It enables scanners and processing
software to auto-discriminate between UCC/EAN-128 and other bar code symbologies, and
subsequently only process relevant data.
The UCC/EAN-128 bar code is made up of a leading quiet zone, a Code 128 start character A,
B, or C, a FNC 1 character, Data (Application Identifier plus data field), a symbol check
character, a stop character, and a trailing quiet zone.
UCC/EAN, UCC/128 are a couple of ways you'll hear someone refer to the code. This just
indicates that the code is structured as dictated by the application identifiers that are used.
SSCC (Serial Shipping Container Code) formatted following the data structure layout for
Application Identifier 00. See Table 8, UCC Application Identifier Table on page 93. It could
be 00 which is the SSCC code. The customer needs to let us know what application identifiers
are used for their bar code so we can help them.
There are several ways of writing the code to print the code to Application Identifier '00'
structure.
Note It is not intended to be used for data to be scanned at the point of sales in retail outlets.
89
ZPL Commands
^BC
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Using N for the mode (m) parameter
>;>8' sets it to subset C, function 1
'00' is the application identifier followed by '17 characters', the check digit is selected
using the 'Y' for the (e) parameter to automatically print the 20th character.
you are not limited to 19 characters with mode set to N
Using U for the mode (m) parameter
UCC Case Mode
Choosing U selects UCC Case mode. You will have exactly 19 characters available in
^FD.
Subset C using FNC1 values are automatically selected.
Check digit is automatically inserted.
Example This example shows with application identifier 00 structure:
^XA
^FO90,200^BY4
^BCN,256,Y,N,Y,N
^FD>;>80012345123451234512^FS
^XZ
ZPL II CODE
N FOR THE M PARAMETER
Example The example shows the application identifier 00 format:
^XA
^FO90,200
^BY4^BC,256,Y,N,,U
^FD0012345123451234512^FS
^XZ
ZPL II CODE
U FOR THE M PARAMETER
ZPL Commands
^BC
90
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Using D for the mode (m) parameter
(0 at end of field data is a bogus character that is inserted as a place holder for the check digit
the printer will automatically insert.
Subset C using FNC1 values are automatically selected.
Parentheses and spaces can be in the field data. '00' application identifier, followed by
17 characters, followed by bogus check digit place holder.
Check digit is automatically inserted. The printer will automatically calculate the
check digit and put it into the bar code and interpretation line.
The interpretation line will also show the parentheses and spaces but will strip them
out from the actual bar code.
Printing the Interpretation Line
The font command (^A0N,40,30) can be added and changed to alter the font and size of the
interpretation line.
With firmware version later than x.10.x
A separate text field needs to be written.
The interpretation line needs to be turned off.
^A0N,50,40 is the font and size selection for the separate text field.
Example This example shows application identifier 00 format ((x.11.x or later):
^XA
^FO50,200^BCN,150,Y,N,,D
^FD(00)10084423 7449200940^FS
^XZ
ZPL II CODE D FOR THE M PARAMETER
Example This example shows printing the interpretation in a different font with firmware
x.11.x or later:
^XA
^FO50,200
^A0N,40,30^BCN,150,Y,N,Y
^FD>;>80012345123451234512^FS
^XZ
ZPL II CODE INTERPRETATION LINE
91
ZPL Commands
^BC
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
You have to make sure you enter the correct check digit in the text field.
Creating a separate text field allows you to format the interpretation line with
parentheses and spaces.
^XA
^FO25,25
^BCN,150,N,N,Y
^FD>;>80012345123451234512^FS
^FO100,190
^A0N,50,40
^FD(00) 1 2345123 451234512 0^FS
^XZ
ZPL II CODE FIRMWARE OLDER THAN X.10.X
ZPL Commands
^BC
92
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Application Identifiers UCC/EAN APPLICATION IDENTIFIER
An Application Identifier is a prefix code used to identify the meaning and the format of the
data that follows it (data field).
There are AIs for identification, traceability, dates, quantity, measurements, locations, and
many other types of information.
For example, the AI for batch number is 10, and the batch number AI is always followed by an
alphanumeric batch code not to exceed 20-characters.
The UCC/EAN Application Identifiers provide an open standard that can be used and
understood by all companies in the trading chain, regardless of the company that originally
issued the codes.
93
ZPL Commands
^BC
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Table 8 UCC Application Identifier Table
Data Content AI
Plus The Following Data
Structure
Serial Shipping Container Code (SSCC) 00 exactly 18 digits
Shipping Container Code 01 exactly 14 digits
Batch Numbers 10 up to 20 alpha numerics
Production Date (YYMMDD) 11 exactly 6 digits
Packaging Date (YYMMDD) 13 exactly 6 digits
Sell By Date (YYMMDD) 15 exactly 6 digits
Expiration Date (YYMMDD) 17 exactly 6 digits
Product Variant 20 exactly 2 digits
Serial Number 21 up to 20 alpha numerics
HIBCC Quantity, Date, Batch and Link 22 up to 29 alpha numerics
Lot Number 23* up to 19 alpha numerics
Quantity Each 30
Net Weight (Kilograms) 310** exactly 6 digits
Length, Meters 311** exactly 6 digits
Width or Diameter (Meters) 312** exactly 6 digits
Depths (Meters) 313** exactly 6 digits
Area (Sq. Meters) 314** exactly 6 digits
Volume (Liters) 315** exactly 6 digits
Volume (Cubic Meters) 316** exactly 6 digits
Net Weight (Pounds) 320** exactly 6 digits
Customer PO Number 400 up to 29 alpha numerics
Ship To (Deliver To) Location Code using
EAN 13 or DUNS Number with leading
zeros
410 exactly 13 digits
Bill To (Invoice To) Location Code using
EAN 13 or DUNS Number with leading
zeros
411 exactly 13 digits
Purchase from 412 exactly 13 digits
Ship To (Deliver To) Postal Code within
single postal authority
420 up to 9 alpha numerics
Ship To (Deliver To) Postal Code with 3-
digit ISO Country Code Prefix
421 3 digits plus up to 9 alpha numerics
Roll Products - width, length, core diameter,
direction and splices
8001 exactly 14 digits
Electronic Serial number for cellular mobile
phone
8002 up to 20 alpha numerics
ZPL Commands
^BC
94
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
For date fields that only need to indicate a year and month, the day field is set to 00.
* Plus one digit for length indication.
** Plus one digit for decimal point indication.
Note Table 8 is a partial table showing the application identifiers. For more current and
complete information, search the Internet for UCC Application Identifier.
95
ZPL Commands
^BC
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Chaining several application identifiers (firmware x.11.x or later)
The FNC1, which is invoked by >8, is inserted just before the AI's so that the scanners reading
the code sees the FNC1 and knows that an AI follows.
Example This is an example with the mode parameter set to A (automatic):
^XA
^BY2,2.5,193
^FO33,400
^BCN,,N,N,N,A
^FD>;>80204017773003486100008535>8910001>837252^FS
^FT33,625^AEN,0,0^FD(02)04017773003486(10)0008535(91)
0001(37)252^FS
^XZ
Example This is an example with the mode parameter set to U:
^XA
^BY3,2.5,193
^FO33,200
^BCN,,N,N,N,U
^FD>;>80204017773003486>8100008535>8910001>837252^FS
^FT33,455^A0N,30,30^FD(02)04017773003486(10)0008535(9
1)0001(37)252^FS
^XZ
Example This is an example with the mode parameter set to D*:
^XA
^PON
^LH0,0
^BY2,2.5,145
^FO218,343
^BCB,,Y,N,N,D
^FD(91)0005886>8(10)0000410549>8(99)05^FS
^XZ
D* When trying to print the last Application Identifier with an odd number of characters,
a problem existed when printing EAN128 bar codes using Mode D. The problem was fixed
in firmware version v60.13.0.6.
ZPL Commands
^BD
96
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BD
UPS MaxiCode Bar Code
Description The ^BD command creates a two-dimensional, optically read (not scanned)
code. This symbology was developed by UPS (United Parcel Service).
Notice that there are no additional parameters for this code and it does not generate an
interpretation line. The ^BY command has no effect on the UPS MaxiCode bar code.
However, the ^CV command can be activated.
Format ^BDm,n,t
This table identifies the parameters for this format:
Parameters Details
m = mode Accepted Values:
2 = structured carrier message: numeric postal code
(U.S.)
3 = structured carrier message: alphanumeric postal
code (non-U.S.)
4 = standard symbol, secretary
5 = full EEC
6 = reader program, secretary
Default Value: 2
n = symbol number Accepted Values: 1 to 8 can be added in a structured
document
Default Value: 1
t = total number of
symbols
Accepted Values: 1 to 8, representing the total number of
symbols in this sequence
Default Value: 1
Example This is an example of UPS MAXICODE - MODE 2 bar code:
ZPL II CODE
^XA
^FO50,50
^CVY
^BD^FH^FD001840152382802
[)>_1E01_1D961Z00004951_1DUPSN_
1D_06X610_1D159_1D1234567_1D1/1_
1D_1DY_1D634 ALPHA DR_
1DPITTSBURGH_1DPA_1E_04^FS
^FO30,300^A0,30,30^FDMode2^FS
^XZ
UPS MAXICODE - MODE 2
97
ZPL Commands
^BD
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Special Considerations for ^FD when Using ^BD
The ^FD statement is divided into two parts: a high priority message (hpm) and a low priority
message (lpm). There are two types of high priority messages. One is for a U.S. Style Postal
Code; the other is for a non-U.S. Style Postal Code. The syntax for either of these high priority
messages must be exactly as shown or an error message is generated.
Format ^FD <hpm><lpm>
This table identifies the parameters for this format:
Parameters Details
<hpm> = high priority
message (applicable
only in Modes 2 and
3)
Accepted Values: 0 to 9, except where noted
U.S. Style Postal Code (Mode 2)
<hpm> = aaabbbcccccdddd
aaa = three-digit class of service
bbb = three-digit country zip code
ccccc = five-digit zip code
dddd = four-digit zip code extension (if none exists,
four zeros (0000) must be entered)
non-U.S. Style Postal Code (Mode 3)
<hpm> = aaabbbcccccc
aaa = three-digit class of service
bbb = three-digit country zip code
ccccc = six-digit zip code (A through Z or 0 to 9)
<lpm> = low priority
message (only
applicable in Modes
2 and 3)
GS is used to separate fields in a message (0x1D). RS is used
to separate format types (0x1E). EOT is the end of
transmission characters.
Message Header [)>RS
Transportation Data
Format Header 01GS96
Tracking Number* <tracking number>
SCAC* GS<SCAC>
UPS Shipper Number GS<shipper number>
Julian Day of Pickup GS<day of pickup>
Shipment ID Number GS<shipment ID number>
Package n/x GS<n/x>
Package Weight GS<weight>
Address Validation GS<validation>
Ship to Street Address GS<street address>
Ship to City GS<city>
Ship to State GS<state>
RS RS
End of Message EOT
(* Mandatory Data for UPS)
ZPL Commands
^BD
98
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Comments
The formatting of <hpm> and <lpm> apply only when using Modes 2 and 3.
Mode 4, for example, takes whatever data is defined in the ^FD command and places it in
the symbol.
UPS requires that certain data be present in a defined manner. When formatting MaxiCode
data for UPS, always use uppercase characters. When filling in the fields in the <lpm> for
UPS, follow the data size and types specified in Guide to Bar Coding with UPS.
If you do not choose a mode, the default is Mode 2. If you use non-U.S. Postal Codes, you
probably get an error message (invalid character or message too short). When using non-
U.S. codes, use Mode 3.
ZPL II doesnt automatically change your mode based on the zip code format.
When using special characters, such as GS, RS, or EOT, use the ^FH command to tell
ZPL II to use the hexadecimal value following the underscore character ( _ ).
99
ZPL Commands
^BE
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^BE
EAN-13 Bar Code
Description The ^BE command is similar to the UPC-A bar code. It is widely used
throughout Europe and Japan in the retail marketplace.
The EAN-13 bar code has 12 data characters, one more data character than the UPC-A code.
An EAN-13 symbol contains the same number of bars as the UPC-A, but encodes a 13th digit
into a parity pattern of the left-hand six digits. This 13th digit, in combination with the 12th
digit, represents a country code.
^BE supports fixed print ratios.
Field data (^FD) is limited to exactly 12 characters. ZPL II automatically truncates or
pads on the left with zeros to achieve the required number of characters.
When using JAN-13 (Japanese Article Numbering), a specialized application of EAN-13,
the first two non-zero digits sent to the printer must be 49.
Format ^BEo,h,f,g
This table identifies the parameters for this format:
Note Use Interleaved 2 of 5 for UCC and EAN 14.
Important If additional information about the EAN-13 bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values:
N = no
Y = yes
Default Value: Y
g = print interpretation
line above code
Accepted Values:
N = no
Y = yes
Default Value: N
ZPL Commands
^BE
100
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Comments The EAN-13 bar code uses the Mod 10 check-digit scheme for error checking.
For more information on Mod 10, see Mod 10 Check Digit on page 908.
Example This is an example of an EAN-13 bar code:
^XA
^FO100,100^BY3
^BEN,100,Y,N
^FD12345678^FS
^XZ
EAN-13 BAR CODE CHARACTERS
0 1 2 3 4 5 6 7 8 9
ZPL II CODE EAN-13 BAR CODE
101
ZPL Commands
^BF
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^BF
MicroPDF417 Bar Code
Description The ^BF command creates a two-dimensional, multi-row, continuous, stacked
symbology identical to PDF417, except it replaces the 17-module-wide start and stop patterns
and left/right row indicators with a unique set of 10-module-wide row address patterns. These
reduce overall symbol width and allow linear scanning at row heights as low as 2X.
MicroPDF417 is designed for applications with a need for improved area efficiency but
without the requirement for PDF417s maximum data capacity. It can be printed only in
specific combinations of rows and columns up to a maximum of four data columns by 44
rows.
Field data (^FD) and field hexadecimal (^FH) are limited to:
250 7-bit characters
150 8-bit characters
366 4-bit numeric characters
Format ^BFo,h,m
This table identifies the parameters for this format:
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 9999
Default Value: value set by ^BY or 10 (if no ^BY value
exists).
m = mode Accepted Values: 0 to 33 (see MicroPDF417 Mode
on page 103)
Default Value: 0 (see MicroPDF417 Mode on page 103)
ZPL Commands
^BF
102
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
To encode data into a MicroPDF417 bar code, complete these steps:
1. Determine the type of data to be encoded (for example, ASCII characters, numbers, 8-bit
data, or a combination).
2. Determine the maximum amount of data to be encoded within the bar code (for example,
number of ASCII characters, quantity of numbers, or quantity of 8-bit data characters).
3. Determine the percentage of check digits that are used within the bar code. The higher the
percentage of check digits that are used, the more resistant the bar code is to damage
however, the size of the bar code increases.
4. Use the chart MicroPDF417 Mode on page 103 with the information gathered from the
questions above to select the mode of the bar code.
Example This is an example of a MicroPDF417 bar code:
^XA
^FO100,100^BY6
^BFN,8,3
^FDABCDEFGHIJKLMNOPQRSTUV^FS
^XZ
ZPL II CODE MICRO-PDF417 BAR CODE
103
ZPL Commands
^BF
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Table 9 MicroPDF417 Mode
8
17
26
32
44
55
20
35
52
67
82
93
105
14
26
38
49
67
96
132
167
202
237
32
49
67
85
111
155
208
261
313
366
20
6
12
18
22
30
38
14
24
36
46
56
64
72
10
18
26
34
46
66
90
114
138
162
22
34
46
58
76
106
142
178
214
250
14
64
50
41
40
33
29
50
41
32
29
28
28
29
67
58
53
50
47
43
41
40
39
38
50
44
40
38
35
33
31
30
29
28
50
11
14
17
20
24
28
8
11
14
17
20
23
26
6
8
10
12
15
20
26
32
38
44
6
8
10
12
15
20
26
32
38
44
4
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
0
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
33
Mode
(M)
Number
of Data
Columns
Number
of Data
Rows
% of
Cws for
EC
Max
Alpha
Characters
Max
Digits
ZPL Commands
^BI
104
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BI
Industrial 2 of 5 Bar Codes
Description The ^BI command is a discrete, self-checking, continuous numeric
symbology. The Industrial 2 of 5 bar code has been in use the longest of the 2 of 5 family of
bar codes. Of that family, the Standard 2 of 5 (^BJ) and Interleaved 2 of 5 (^B2) bar codes are
also available in ZPL II.
With Industrial 2 of 5, all of the information is contained in the bars. Two bar widths are
employed in this code, the wide bar measuring three times the width of the narrow bar.
^BI supports a print ratio of 2.0:1 to 3.0:1.
Field data (^FD) is limited to the width (or length, if rotated) of the label.
Format ^BIo,h,f,g
This table identifies the parameters for this format:
Important If additional information about the Industrial 2 of 5 bar code, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values:
N = no
Y = yes
Default Value: Y
g = print interpretation
line above code
Accepted Values:
N = no
Y = yes
Default Value: N
105
ZPL Commands
^BI
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example This is an example of an Industrial 2 of 5 bar code:
^XA
^FO100,100^BY3
^BIN,150,Y,N
^FD123456^FS
^XZ
INDUSTRIAL 2 OF 5 BAR CODE CHARACTERS
0 1 2 3 4 5 6 7 8 9
Start/Stop (internal)
ZPL II CODE INDUSTRIAL 2 OF 5 BAR CODE
ZPL Commands
^BJ
106
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BJ
Standard 2 of 5 Bar Code
Description The ^BJ command is a discrete, self-checking, continuous numeric
symbology.
With Standard 2 of 5, all of the information is contained in the bars. Two bar widths are
employed in this code, the wide bar measuring three times the width of the narrow bar.
^BJ supports a print ratio of 2.0:1 to 3.0:1.
Field data (^FD) is limited to the width (or length, if rotated) of the label.
Format ^BJo,h,f,g
This table identifies the parameters for this format:
Important If additional information about the Standard 2 of 5 bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values:
N = no
Y = yes
Default Value: Y
g = print interpretation
line above code
Accepted Values:
N = no
Y = yes
Default Value: N
107
ZPL Commands
^BJ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example This is an example of a Standard 2 of 5 bar code:
^XA
^FO100,100^BY3
^BJN,150,Y,N
^FD123456^FS
^XZ
STANDARD 2 OF 5 BAR CODE CHARACTERS
0 1 2 3 4 5 6 7 8 9
Start/Stop (automatic)
ZPL II CODE STANDARD 2 OF 5 BAR CODE
ZPL Commands
^BK
108
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BK
ANSI Codabar Bar Code
Description The ANSI Codabar bar code is used in a variety of information processing
applications such as libraries, the medical industry, and overnight package delivery companies.
This bar code is also known as USD-4 code, NW-7, and 2 of 7 code. It was originally
developed for retail price labeling.
Each character in this code is composed of seven elements: four bars and three spaces.
Codabar bar codes use two character sets, numeric and control (start and stop) characters.
^BK supports a print ratio of 2.0:1 to 3.0:1.
Field data (^FD) is limited to the width (or length, if rotated) of the label.
Format ^BKo,e,h,f,g,k,l
This table identifies the parameters for this format:
Important If additional information about the ANSI Codabar bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
e = check digit Fixed Value: N
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values:
N = no
Y = yes
Default Value: Y
g = print interpretation
line above code
Accepted Values:
N = no
Y = yes
Default Value: N
k = designates a start
character
Accepted Values: A,B, C, D
Default Value: A
l = designates stop
character
Accepted Values: A,B, C, D
Default Value: A
109
ZPL Commands
^BK
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example This is an example of an ANSI Codabar bar code:
^XA
^FO100,100^BY3
^BKN,N,150,Y,N,A,A
^FD123456^FS
^XZ
ANSI CODABAR BAR CODE CHARACTERS
0 1 2 3 4 5 6 7 8 9
Control Characters
ZPL II CODE
- : . $ / +
Start/Stop Characters
A B C D
ANSI CODABAR BAR CODE
ZPL Commands
^BL
110
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BL
LOGMARS Bar Code
Description The ^BL command is a special application of Code 39 used by the Department
of Defense. LOGMARS is an acronym for Logistics Applications of Automated Marking and
Reading Symbols.
^BL supports a print ratio of 2.0:1 to 3.0:1.
Field data (^FD) is limited to the width (or length, if rotated) of the label. Lowercase
letters in the ^FD string are converted to the supported uppercase LOGMARS
characters.
Format ^BLo,h,g
This table identifies the parameters for this format:
Important If additional information about the LOGMARS bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
g = print interpretation
line above code
Accepted Values:
N = no
Y = yes
Default Value: N
111
ZPL Commands
^BL
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Comments The LOGMARS bar code produces a mandatory check digit using
Mod 43 calculations. For further information on the Mod 43 check digit, see
Mod 43 Check Digit on page 909.
Example This is an example of a LOGMARS bar code:
^XA
^FO100,75^BY3
^BLN,100,N
^FD12AB^FS
^XZ
LOGMARS BAR CODE CHARACTERS
ZPL II CODE
0 1 2 3 4 5 6 7 8 9
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- . $ / + %
SPACE
LOGMARS BAR CODE
ZPL Commands
^BM
112
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BM
MSI Bar Code
Description The ^BM command is a pulse-width modulated, continuous, non-self-
checking symbology. It is a variant of the Plessey bar code (^BP).
Each character in the MSI bar code is composed of eight elements: four bars and four adjacent
spaces.
^BM supports a print ratio of 2.0:1 to 3.0:1.
For the bar code to be valid, field data (^FD) is limited to 1 to 14 digits when
parameter e is B, C, or D. ^FD is limited to 1 to 13 digits when parameter e is A, plus
a quiet zone.
Format ^BMo,e,h,f,g,e2
This table identifies the parameters for this format:
Important If additional information about the MSI bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
e = check digit selection Accepted Values:
A = no check digits
B = 1 Mod 10
C = 2 Mod 10
D = 1 Mod 11 and 1 Mod 10
Default Value: B
h = bar code height (in
dots)
Accepted Values: 1 to 32000
Default Value: value set by ^BY
f = print interpretation
line
Accepted Values:
N = no
Y = yes
Default Value: Y
113
ZPL Commands
^BM
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
g = print interpretation
line above code
Accepted Values:
N = no
Y = yes
Default Value: N
e2 = inserts check digit
into the interpretation
line
Accepted Values:
N = no
Y = yes
Default Value: N
Example This is an example of a MSI bar code:
Parameters Details
^XA
^FO100,100^BY3
^BMN,B,100,Y,N,N
^FD123456^FS
^XZ
MSI BAR CODE CHARACTERS
ZPL II CODE
1 2 3 4 5 6 7 8 9
MSI BAR CODE
ZPL Commands
^BO
114
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BO
Aztec Bar Code Parameters
Description The ^BO command creates a two-dimensional matrix symbology made up of
square modules arranged around a bulls-eye pattern at the center.
Format ^BOa,b,c,d,e,f,g
This table identifies the parameters for this format:
Note The Aztec bar code works with firmware version v60.13.0.11A and v50.13.2 or later.
Parameters Details
a = orientation Accepted Values:
N = normal
R = rotated
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
b = magnification factor Accepted Values: 1 to 10
Default Value:
1 on 150 dpi printers
2 on 200 dpi printers
3 on 300 dpi printers
6 on 600 dpi printers
c = extended channel
interpretation code
indicator
Accepted Values:
Y = if data contains ECICs
N = if data does not contain ECICs.
Default Value: N
d = error control and
symbol size/type
indicator
Accepted Values:
0 = default error correction level
01 to 99 = error correction percentage (minimum)
101 to 104 = 1 to 4-layer compact symbol
201 to 232 = 1 to 32-layer full-range symbol
300 = a simple Aztec Rune
Default Value: 0
e = menu symbol
indicator
Accepted Values:
Y = if this symbol is to be a menu (bar code reader
initialization) symbol
N = if it is not a menu symbol
Default Value: N
115
ZPL Commands
^BO
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
f = number of symbols
for structured append
Accepted Values: 1 through 26
Default Value: 1
g = optional ID field for
structured append
The ID field is a text string with 24-character maximum
Default Value: no ID
Example This is an example of the ^B0 command:
Parameters Details
^XA
^B0R,7,N,0,N,1,0
^FD 7. This is testing label 7^FS
^XZ
ZPL II CODE GENERATED LABEL
^BP
116
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BP
Plessey Bar Code
Description The ^BP command is a pulse-width modulated, continuous, non-self-
checking symbology.
Each character in the Plessey bar code is composed of eight elements: four bars and four
adjacent spaces.
^BP supports a print ratio of 2.0:1 to 3.0:1.
Field data (^FD) is limited to the width (or length, if rotated) of the label.
Format ^BPo,e,h,f,g
This table identifies the parameters for this format:
Important If additional information about the Plessey bar code is required, go to
www.aimglobal.org.
Parameters Details
o = orientation Accepted Values:
N = normal
R = rotated 90 degrees (clockwise)
I = inverted 180 degrees
B = read from bottom up, 270 degrees
Default Value: current ^FW value
e = print check digit Accepted Values:
N = no
Y = yes
Default Value: N
h = bar code height (in
dots)
Accepted Values:
N = no
Y = yes
Default Value: N
f = print interpretation
line
Accepted Values:
N = no
Y = yes
Default Value: Y
g = print interpretation
line above code
Accepted Values:
N = no
Y = yes
Default Value: N
117
ZPL Commands
^BP
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example This is an example of a Plessey bar code:
^XA
^FO100,100^BY3
^BPN,N,100,Y,N
^FD12345^FS
^XZ
PLESSEY BAR CODE CHARACTERS
ZPL II CODE
0 1 2 3 4 5 6 7 8 9
A B C D E F
PLESSEY BAR CODE
ZPL Commands
^BQ
118
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^BQ
QR Code Bar Code
Description The ^BQ command produces a matrix symbology consisting of an array of
nominally square modules arranged in an overall square pattern. A unique pattern at three of
the symbols four corners assists in determining bar code size, position, and inclination.
A wide range of symbol sizes is possible, along with four levels of error correction. User-
specified module dimensions provide a wide variety of symbol production techniques.
QR Code Model 1 is the original specification, while QR Code Model 2 is an enhanced form
of the symbology. Model 2 provides additional features and can be automatically differentiated
from Model 1.
Model 2 is the recommended model and should normally be used.
This bar code is printed using field data specified in a subsequent ^FD string.
Encodable character sets include numeric data, alphanumeric data, 8-bit byte data, and Kanji
characters.
Format ^BQa,b,c,d,e
This table identifies the parameters for this format:
Important If additional information about the QR Code bar code is required, go to
www.aimglobal.org.
Parameters Details
a = field orientation Fixed Value: normal (^FW has no effect on rotation)
b = model Accepted Values: 1 (original) and 2 (enhanced
recommended)
Default Value: 2
c = magnification factor Accepted Values: 1 to 10
Default Value:
1 on 150 dpi printers
2 on 200 dpi printers
3 on 300 dpi printers
6 on 600 dpi printers
119
ZPL Commands
^BQ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
On the pages that follow are specific commands for formatting the ^BQ command with the
^FD statements that contain the information to be coded.
d = H,Q,M,L Accepted Values:
H = ultra-high reliability level
Q = high reliability level
M = standard level
L = high density level
Default Value:
Q = if empty
M = invalid values
e = N,A,B.K Accepted Values: 1 - 7
Default Value: 7
Example This is an example of a QR Code bar code:
Parameters Details
^XA
^FO100,100
^BQN,2,10
^FDMM,AAC-42^FS
^XZ
ZPL II CODE QR CODE BAR CODE
ZPL Commands
^BQ
120
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Considerations for ^FD When Using the QR Code:
QR Switches (formatted into the ^FD field data)
mixed mode <D>
D = allows mixing of different types of character modes in one code.
code No. <01 16>
Value = subtracted from the Nth number of the divided code (must be two digits).
No. of divisions <02 16>
Number of divisions (must be two digits).
parity data <1 byte>
Parity data value is obtained by calculating at the input data (the original input data before
divided byte-by-byte through the EX-OR operation).
error correction level <H, Q, M, L>
H = ultra-high reliability level
Q = high reliability level
M = standard level (default)
L = high density level
character Mode <N, A, B, K>
N = numeric
A = alphanumeric
Bxxxx = 8-bit byte mode. This handles the 8-bit Latin/Kana character set in accordance
with JIS X 0201 (character values 0x00 to 0xFF).
xxxx = number of data characters is represented by two bytes of BCD code.
K = Kanji handles only Kanji characters in accordance with the Shift JIS system
based on JIS X 0208. This means that all parameters after the character mode K should be
16-bit characters. If there are any 8-bit characters (such as ASCII code), an error occurs.
data character string <Data>
Follows character mode or it is the last switch in the ^FD statement.
data input <A, M>
A = Automatic Input (default). Data character string JIS8 unit, Shift JIS. When the input
mode is Automatic Input, the binary codes of 0x80 to 0x9F and 0xE0 to 0xFF cannot be
set.
M = Manual Input
Two types of data input mode exist: Automatic (A) and Manual (M). If A is specified, the
character mode does not need to be specified. If M is specified, the character mode must be
specified.
121
ZPL Commands
^BQ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^FD Field Data (Normal Mode)
Automatic Data Input (A) with Switches
^FD
<error correction level>A,
<data character string>
^FS
Manual Data Input (M) with Switches
^FD
<error correction level>M,
<character mode><data character string>
^FS
Example QR Code, normal mode with automatic data input.
1 Q = error correction level
2 A, = automatic setting
3 data string character
^XA
^FO20,20^BQ,2,10^FDQA,0123456789ABCD 2D code^FS
^XZ
3 1 2
ZPL Commands
^BQ
122
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example QR Code, normal mode with manual data input:
1 H = error correction level (ultra-high reliability level
2 M, = input mode (manual input)
3 N = character mode (numeric data)
4 data character string
Example QR Code, normal mode with standard reliability and manual data input:
1 M = error correction level (standard-high reliability level
2 M, = manual input
3 A = alphanumeric data
4 AC-42 = data character string
GENERATED LABEL
^XA
^FO20,20^BQ,2,10
^FDHM,N123456789012345^FS
^XZ
ZPL II CODE
1
2
4
3
GENERATED LABEL
^XA
^FO20,20^BQ,2,10^FDMM,AAC-42^FS
^XZ
ZPL II CODE
2 3 4 1
123
ZPL Commands
^BQ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^FD Field Data (Mixed Mode requires more switches)
Automatic Data Input (A) with Switches
^FD
<D><code No.> <No. of divisions> <parity data>,
<error correction level> A,
<data character string>,
<data character string>,
< : >,
<data character string n**>
^FS
Manual Data Input (M) with Switches
^FD
<code No.> <No. of divisions> <parity data>,
<error correction level> M,
<character mode 1> <data character string 1>,
<character mode 2> <data character string 2>,
< : > < : >,
<character mode n> <data character string n**>
^FS
n** up to 200 in mixed mode
ZPL Commands
^BQ
124
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example QR Code, mixed mode with manual data input:
<mixed mode identifier> D (mixed)
<code No.> M (code number)
<No. of divisions> D (divisions)
<parity data> M (0x0C)
v5)
P = portable network graphic (.PNG) - ZB64 encoded
Default Value: a value must be specified
173
ZPL Commands
~DY
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
x = extension of stored
file
.TTE and .OTF are only
supported in firmware
versions V60.14.x,
V50.14.x, or later.
.NRD and .PAC are only
supported in firmware
versions V60.15.x,
V50.15.x, or later.
Accepted Values:
B = bitmap
E = TrueType Extension (.TTE)
G = raw bitmap (.GRF)
P = store as compressed (.PNG)
T = TrueType (.TTF) or OpenType (.OTF)
X = Paintbrush (.PCX)
NRD = Non Readable File (.NRD)
PAC = Protected Access Credential (.PAC)
C = User defined menu file (WML)
F = User defined webpage file (HTM)
H = Printer feedback file (GET)
Default Value: a value other than the accepted values defaults
to .GRF
t = total number of bytes
in file
.TTE is only supported in
firmware versions
V60.14.x, V50.14.x, or
later.
Accepted Values:
.BMP
This parameter refers to the actual size of the file, not
the amount of disk space.
.GRF images: the size after decompression into memory
This parameter refers to the actual size of the file, not
the amount of disk space.
.PCX
This parameter refers to the actual size of the file, not
the amount of disk space.
.PNG images:
This parameter refers to the actual size of the file, not
the amount of disk space.
.TTF
This parameter refers to the actual size of the file, not
the amount of disk space.
.TTE
This parameter refers to the actual size of the file, not
the amount of disk space.
Parameters Details
ZPL Commands
~DY
174
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
w = total number of bytes
per row
.TTE is only supported in
firmware version V60.14.x,
V50.14.x, or later.
.NRD and .PAC files are
supported in firmware
version V60.15.x,
V50.15.x, or later.
Accepted Values:
.GRF images: number of bytes per row
.PNG images: value ignored
.TTF images: value ignored
.TTE images: value ignored
.NRD images: value ignored
.PAC images: value ignored
data = data ASCII hexadecimal encoding, ZB64, or binary data,
depending on b.
A, P = ASCII hexadecimal or ZB64
B, C = binary
When binary data is sent, all control prefixes and flow control
characters are ignored until the total number of bytes needed
for the graphic format is received.
Note When transmitting fonts or graphics, the ~DY command and the binary content can be
sent as two separate data streams. In cases where the ~DY command and data content are sent
separately, the connection to the printer must be maintained until both the command and data
content have been sent. If the command and data content are sent separately, the data light on
the printer will remain lit until it receives all the data called for in the ~DY command. The
download will be considered complete when the number of bytes called out in the ~DY
command have been received.
For best results, graphic files must be monochrome (black and white) or dithered.
Example This is an example of how to download a binary TrueType Font file of Size bytes
using the name fontfile.ttf and storing it to permanent flash memory on the printer:
~DYE:FONTFILE.TTF,B,T,SIZE,,
Parameters Details
175
ZPL Commands
~DY
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Comments For more information on ZB64 encoding and compression, see
ZB64 Encoding and Compression on page 911.
Examples These examples show:
that when the ^IM command is used with the ^FO command, the ^IM command moves
the logo.png file from a storage area to the 0,0 position on the label. This is the ZPL
code:
^XA
^FO0,0^IMR:LOGO.PNG^FS
^XZ
that when the ^IL command is used at the beginning of a label format, it loads a stored
image (logo.png) of a format and merges it with additional data. It is automatically
positioned at the 0,0 position of the label and does not require the ^FO command. This is
the ZPL code:
^XA
^ILR:LOGO.PNG
^XZ
These are some important things to know about this command in firmware version V60.14.x,
V50.14.x, or later:
ZebraNet Bridge can be used to download fonts and graphics with this command.
OpenType tables are only supported when downloading the font with this command
OpenType fonts (.OTF) are supported if they are downloaded as a TrueType font. In
the printer .OTF fonts have the .TTF extension.
ZPL Commands
~EG
176
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~EG
Erase Download Graphics
See ^ID on page 235.
177
ZPL Commands
^FB
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^FB
Field Block
Description The ^FB command allows you to print text into a defined block type format.
This command formats an ^FD or ^SN string into a block of text using the origin, font, and
rotation specified for the text string. The ^FB command also contains an automatic word-wrap
function.
Format ^FBa,b,c,d,e
This table identifies the parameters for this format:
Parameters Details
a = width of text block
line (in dots)
Accepted Values: 0 to the width of the label
Default Value: 0
If the value is less than font width or not specified, text
does not print.
b = maximum number of
lines in text block
Accepted Values: 1 to 9999
Default Value: 1
Text exceeding the maximum number of lines overwrites
the last line. Changing the font size automatically
increases or decreases the size of the block.
c = add or delete space
between lines (in
dots)
Accepted Values: -9999 to 9999
Default Value: 0
Numbers are considered to be positive unless preceded by
a minus sign. Positive values add space; negative values
delete space.
d = text justification Accepted Values:
L = left
C = center
R = right
J = justified
Default Value: L
If J is used the last line is left-justified.
e = hanging indent (in
dots) of the second
and remaining lines
Accepted Values: 0 to 9999
Default Value: 0
ZPL Commands
^FB
178
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Comments
This scheme can be used to facilitate special functions:
\& = carriage return/line feed
\(*) = soft hyphen (word break with a dash)
\\ = backslash (\)
Item 1: ^CI13 must be selected to print a backslash (\).
Item 2: If a soft hyphen escape sequence is placed near the end of a line, the hyphen is printed.
If it is not placed near the end of the line, it is ignored.
(*) = any alphanumeric character
If a word is too long to print on one line by itself (and no soft hyphen is specified), a
hyphen is automatically placed in the word at the right edge of the block. The remainder
of the word is on the next line. The position of the hyphen depends on word length, not a
syllable boundary. Use a soft hyphen within a word to control where the hyphenation
occurs.
Maximum data-string length is 3K, including control characters, carriage returns, and line
feeds.
Normal carriage returns, line feeds, and word spaces at line breaks are discarded.
When using ^FT (Field Typeset), ^FT uses the baseline origin of the last possible line of
text. Increasing the font size causes the text block to increase in size from bottom to top.
This could cause a label to print past its top margin.
When using ^FO (Field Origin), increasing the font size causes the text block to increase
in size from top to bottom.
^FS terminates an ^FB command. Each block requires its own ^FB command.
Example These are examples of how the ^FB command affects field data.
^XA
^CF0,30,30^FO25,50
^FB250,4,,
^FDFD command that IS
preceded by an FB command.^FS
^XZ
ZPL II CODE GENERATED LABEL
^XA
^CF0,30,30^FO25,50
^FDFD command that IS NOT
preceded by an FB command.^FS
^XZ
179
ZPL Commands
^FB
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
While the ^FB command has a text justification parameter that defines the justification of the
text within the block, it also interacts with the justification of ^FO and ^FT that define the
justification of the origin.
The ^FB command does not support soft hyphens as a potential line break point. However,
soft hyphen characters are always printed as if they were a hyphen.
The ^FB command does not support complex text. For complex text support, use ^TB.
ZPL Commands
^FC
180
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^FC
Field Clock
Description The ^FC command is used to set the clock-indicators (delimiters) and the
clock mode for use with the Real-Time Clock hardware. This command must be included
within each label field command string each time the Real-Time Clock values are required
within the field.
Format ^FCa,b,c
This table identifies the parameters for this format:
Comments The ^FC command is ignored if the Real Time Clock hardware is not present.
As of V60.13.0.10, (^SN) functions with (^FC) capabilities.
For more details on the Real Time Clock, see Real Time Clock on page 923.
Parameters Details
a = primary clock
indicator character
Accepted Values: any ASCII character
Default Value: %
b = secondary clock
indicator character
Accepted Values: any ASCII character
Default Value: nonethis value cannot be the same as a or c
c = third clock indicator
character
Accepted Values: any ASCII character
Default Value: nonethis value cannot be the same as a or b
Example Entering these ZPL commands sets the primary clock indicator to %, the
secondary clock indicator to {, and the third clock indicator to #. The results are printed on a
label with Primary, Secondary, and Third as field data.
^XA
^FO10,100^A0N,50,50
^FC%,{,#
^FDPrimary: %m/%d/%y^FS
^FO10,200^A0N,50,50
^FC%,{,#
^FDSecondary: {m/{d/{y^FS
^FO10,300^A0N,50,50
^FC%,{,#
^FDThird: #m/#d/#y^FS
^XZ
ZPL II CODE GENERATED LABEL
181
ZPL Commands
^FD
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^FD
Field Data
Description The ^FD command defines the data string for the field. The field data can be
any printable character except those used as command prefixes (^ and ~).
Format ^FDa
This table identifies the parameters for this format:
Comments The ^ and ~ characters can be printed by changing the prefix characterssee
^CD ~CD on page 145 and ^CT ~CT on page 155. The new prefix characters cannot be
printed.
Characters with codes above 127, or the ^ and ~ characters, can be printed using the ^FH and
^FD commands.
^CI13 must be selected to print a backslash (\).
For information on using soft hyphens, see Comments on the ^FB command on page 178.
Parameters Details
a = data to be printed Accepted Values: any data string up to 3072 bytes
Default Value: nonea string of characters must be entered
ZPL Commands
^FH
182
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^FH
Field Hexadecimal Indicator
Description The ^FH command allows you to enter the hexadecimal value for any
character directly into the ^FD statement. The ^FH command must precede each ^FD
command that uses hexadecimals in its field.
Within the ^FD statement, the hexadecimal indicator must precede each hexadecimal value.
The default hexadecimal indicator is _ (underscore). There must be a minimum of two
characters designated to follow the underscore. The a parameter can be added when a
different hexadecimal indicator is needed.
This command can be used with any of the commands that have field data (that is ^FD, ^FV
(Field Variable), and ^SN (Serialized Data)).
Valid hexadecimal characters are:
0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
Format ^FHa
This table identifies the parameters for this format:
Parameters Details
a = hexadecimal
indicator
Accepted Values: any character except current format and
control prefix (^ and ~ by default)
Default Value: _ (underscore)
Example This is an example of how to enter a hexadecimal value directly into a ^FD
statement: This is an example for ascii data using ^CI0.
183
ZPL Commands
^FH
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Examples These are examples of how ^FH works with UTF-8 and UTF-16BE:
UTF-8
UTF-16BE
^XA
^CI28
^LL500
^FO100,100
^AA,20,20
^FH^FDU+00A1 in UTF8 = _C2_A1^FS
^XZ
ZPL II CODE GENERATED LABEL
^XA
^CI29
^LL500
^FO100,100
^AA,20,20
^FH^FDU+00A1 in UTF16BE = _00_A1^FS
^XZ
ZPL II CODE GENERATED LABEL
ZPL Commands
^FL
184
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^FL
Font Linking
Description The ^FL command provides the ability to link any TrueType font, including
private character fonts, to associated fonts. If the base font does not have a glyph for the
required character, the printer looks to the linked fonts for the glyph. The font links are user-
definable.
The font linking remains until the link is broken or the printer is turned off. To permanently
save the font linking, use the ^JUS command.
Format ^FL<ext>,<base>,<link>
This table identifies the parameters for this format:
This command is available only for printers with firmware versions V60.14.x, V50.14.x, or
later.
Note For assistance in setting up the font links, please use the font wizard in
ZebraNet Bridge.
Parameters Details
<ext> This is the fully-qualified filename of the extension. This file
name does not accept wildcards.
The supported extensions for this parameter are: .TTF and
.TTE. The format for this parameter is the memory device
followed by the font name with the extension, as follows:
E:SWISS721.TTF
<base> This is the filename of the base font(s) to which <ext> is
associated. This can be partially or fully wild carded; all files
that match the wildcard specification will have this extension
associated with it.
The filename does not have to match a file that is currently
defined on the printer. A specification of *.TTF results in all
*.TTF font files loaded on the printer currently or in the
future to be associated with the specified <ext> font
extension.
<link> This is an indicator that determines if the extension is to be
linked with the base, or unlinked from the base, as follows:
Accepted Values:
0 = <ext> is to be unlinked (disassociated) from the
file(s) specified in <base>
1 = <ext> is to be linked (associated) with the file(s)
specified by <base>
Default Value: must be an accepted value or it is ignored
185
ZPL Commands
^FL
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Comments A font can have up to five fonts linked to it. The printer resident font, 0.FNT is
always the last font in the list of font links, but is not included in the five link maximum. It can
also be placed anywhere in the font links list.
The default glyph prints when a glyph cannot be found in any of the fonts in the link list. The
advanced layout command ^PA determines if the default glyph is a space character or the
default glyph of the base font, which is typically a hollow box.
The list of font links can be printed by using the ^LF command or retrieved with the ^HT
command.
Font Linking
In the font linking example, this code is sent down to link the ANMDJ.TTF font to
SWISS721.TTF font:
^XA
^FLE:ANMDJ.TTF,E:SWISS721.TTF,1^FS
^XZ
When the label reprints, the Asian characters are printed using the ANMDJ.TTF font,
rather than the SWISS721.TTF font.
Examples These examples show the code and output for no font linking and for font
linking:
No Font Linking
In the no font linking example, the Swiss721 font does not have the Asian glyphs, which
is why Asian glyphs do not print.
ZPL II CODE GENERATED LABEL
ZPL Commands
^FL
186
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
ZPL II CODE GENERATED LABEL
187
ZPL Commands
^FM
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^FM
Multiple Field Origin Locations
Description The ^FM command allows you to control the placement of bar code symbols.
It designates field locations for the PDF417 (^B7) and MicroPDF417 (^BF) bar codes when
the structured append capabilities are used. This allows printing multiple bar codes from the
same set of text information.
The structured append capability is a way of extending the text printing capacity of both bar
codes. If a string extends beyond what the data limitations of the bar code are, it can be printed
as a series: 1 of 3, 2 of 3, 3 of 3. Scanners read the information and reconcile it into the
original, unsegmented text.
The ^FM command triggers multiple bar code printing on the same label with ^B7 and ^BF
only. When used with any other commands, it is ignored.
Format ^FMx1,y1,x2,y2,...
This table identifies the parameters for this format:
Parameters Details
x1 = x-axis location of
first symbol (in dots)
Accepted Values:
0 to 32000
e = exclude this bar code from printing
Default Value: a value must be specified
y1 = y-axis location of
first symbol (in dots)
Accepted Values:
0 to 32000
e = exclude this bar code from printing
Default Value: a value must be specified
x2 = x-axis location of
second symbol (in
dots)
Accepted Values:
0 to 32000
e = exclude this bar code from printing
Default Value: a value must be specified
y2 = y-axis location of
second symbol (in
dots)
Accepted Values:
0 to 32000
e = exclude this bar code from printing
Default Value: a value must be specified
= continuation of X,Y
pairs
Maximum number of pairs: 60
ZPL Commands
^FM
188
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example This example shows you how to generate three bar codes with the text Zebra
Technologies Corporation strives to be would need to be repeated seven times, which
includes 2870 characters of data (including spaces) between ^FD and ^FS:
1 The ellipse is not part of the code. It indicates that the text needs to be
repeated seven times, as mentioned in the example description.
^XA
^FM100,100,100,600,100,1200
^BY2,3
^B7N,5,5,9,83,N
^FDZebra Technologies
Corporation strives to be
the expert supplier of
innovative solutions to
specialty demand labeling
and ticketing problems of
business and government.
We will attract and retain
the best people who will
understand our customer's
needs and provide them with
systems, hardware, software,
consumables and service
offering the best value,
high quality, and reliable
performance, all delivered
in a timely manner
^FS^XZ
ZPL II CODE GENERATED LABEL
1
189
ZPL Commands
^FM
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Comments Subsequent bar codes print once the data limitations of the previous bar code
have been exceeded. For example, bar code 2 of 3 prints once 1 of 3 has reached the maximum
amount of data it can hold. Specifying three fields does not ensure that three bar codes print;
enough field data to fill three bar code fields has to be provided.
The number of the x,y pairs can exceed the number of bar codes generated. However, if too
few are designated, no symbols print.
Example This example assumes a maximum of three bar codes, with bar code 2 of 3
omitted:
1 The ellipse is not part of the code. It indicates that the text needs to be
repeated seven times, as mentioned in the example description.
^XA
^FM100,100,e,e,100,1200
^BY2,3
^B7N,5,5,9,83,N
^FDZebra Technologies
Corporation strives to be
the expert supplier of
innovative solutions to
specialty demand labeling
and ticketing problems of
business and government.
We will attract and retain
the best people who will
understand our customer's
needs and provide them with
systems, hardware, software,
consumables and service
offering the best value,
high quality, and reliable
performance, all delivered
in a timely manner
^FS^XZ
ZPL II CODE GENERATED LABEL
1
ZPL Commands
^FN
190
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^FN
Field Number
Description The ^FN command numbers the data fields. This command is used in both
^DF (Store Format) and ^XF (Recall Format) commands.
In a stored format, use the ^FN command where you would normally use the ^FD (Field
Data) command. In recalling the stored format, use ^FN in conjunction with the ^FD
command.
The optional "a" parameter can be used with the KDU Plus to cause prompts to be displayed
on the KDU unit. Also, when the Print on Label link is selected on the Directory page of
ZebraLink enabled printers the field prompt displays.
The number of fields and data that can be stored is dependent in the available printer memory.
Format ^FN#"a"
This table identifies the parameters for this format:
* This parameter is only available on printers with firmware V50.13.2, V53.15.5Z,
V60.13.0.1, or later.For a complete example of the ^DF and ^XF command, see ^DF and ^XF
Download format and recall format on page 45.
Comments
The same ^FN value can be stored with several different fields.
If a label format contains a field with ^FN and ^FD, the data in that field prints for any
other field containing the same ^FN value.
For the "a" parameter to function as a prompt the characters used in the "a" parameter
must be surrounded by double quotes (see example).
Note The maximum number of ^FN commands that can be used depends on the amount of
data that is placed in the fields on the label. It is recommended to use 400 or fewer fields.
Parameters Details
# = number to be
assigned to the field
Accepted Values: 0 to 9999
Default Value: 0
"a" = optional
parameter*
Accepted Values: 255 alphanumeric characters maximum
(a-z,A-Z,1-9 and space)
Default Value: optional parameter
Example The ^FN1Name would result in Name being used as the prompt
on the KDU unit.
191
ZPL Commands
^FO
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^FO
Field Origin
Description The ^FO command sets a field origin, relative to the label home (^LH)
position.
Format ^FOx,y,z
This table identifies the parameters for this format:
Comments If the value entered for the x or y parameter is too high, it could position the
field origin completely off the label.
Parameters Details
x = x-axis location (in
dots)
Accepted Values: 0 to 32000
Default Value: 0
y = y-axis location (in
dots)
Accepted Values: 0 to 32000
Default Value: 0
z = justification
The z parameter is only
supported in firmware
versions V60.14.x,
V50.14.x, or later.
Accepted Values:
0 = left justification
1 = right justification
2 = auto justification (script dependent)
Default Value: last accepted ^FW value or ^FW default
This command interacts with the field direction parameter of ^FP and with the rotation
parameter of ^A. For output and examples, see Field Interactions on page 917.
The auto justification option might cause unexpected results if variable fields or bidirectional
text are used with ^FO. For the best results with bidirectional text and/or variable fields, use
either the left of right justification option.
ZPL Commands
^FP
192
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^FP
Field Parameter
Description The ^FP command allows vertical and reverse formatting of the font field,
commonly used for printing Asian fonts.
Format ^FPd,g
This table identifies the parameters for this format:
.
Parameters Details
d = direction Accepted Values:
H = horizontal printing (left to right)
V = vertical printing (top to bottom)
R = reverse printing (right to left)
Default Value: H
g = additional
inter-character gap
(in dots)
Accepted Values: 0 to 9999
Default Value: 0 if no value is entered
Example This is an example of how to implement reverse and vertical print:
For vertical and reverse printing directions, combining semantic clusters are used to place
characters.
This command interacts with the justification parameters of ^FO and ^FT and with the
rotation parameter of ^A. For output and examples, see Field Interactions on page 917.
193
ZPL Commands
^FR
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^FR
Field Reverse Print
Description The ^FR command allows a field to appear as white over black or black over
white. When printing a field and the ^FR command has been used, the color of the output is
the reverse of its background.
Format ^FR
Comments The ^FR command applies to only one field and has to be specified each time.
When multiple ^FR commands are going to be used, it might be more convenient to use the
^LR command.
Example In this example, the ^GB command creates areas of black allowing the printing to
appear white:
^XA
^PR1
^FO100,100
^GB70,70,70,,3^FS
^FO200,100
^GB70,70,70,,3^FS
^FO300,100
^GB70,70,70,,3^FS
^FO400,100
^GB70,70,70,,3^FS
^FO107,110^CF0,70,93
^FR^FDREVERSE^FS
^XZ
ZPL II CODE GENERATED LABEL
ZPL Commands
^FS
194
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^FS
Field Separator
Description The ^FS command denotes the end of the field definition. Alternatively, ^FS
command can also be issued as a single ASCII control code SI (Control-O, hexadecimal 0F).
Format ^FS
195
ZPL Commands
^FT
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^FT
Field Typeset
Description The ^FT command sets the field position, relative to the home position of the
label designated by the ^LH command. The typesetting origin of the field is fixed with respect
to the contents of the field and does not change with rotation.
Format ^FTx,y,z
This table identifies the parameters for this format:
Table 12 Typeset Justification
Note The ^FT command is capable of concantination of fields.
Parameters Details
x = x-axis location (in
dots)
Accepted Values: 0 to 32000
Default Value: position after last formatted text field
y = y-axis location (in
dots)
Accepted Values: 0 to 32000
Default Value: position after last formatted text field
z = justification
The z parameter is only
supported in firmware
version V60.14.x,
V50.14.x, or later.
Accepted Values:
0 = left justification
1 = right justification
2 = auto justification (script dependent)
Default Value: last accepted ^FW value or ^FW default
The auto justification option may cause unexpected results if
variable fields or bidirectional text are used with ^FT. For
best results with bidirectional text and/or variable fields, use
either the left of right justification options.
L
e
f
t
J
u
s
t
i
f
i
e
d
Text For examples, see Field Interactions
on page 917.
Bar Codes Origin is base of bar code, at left edge
Graphic Boxes Origin is bottom-left corner of the box
Images Origin is bottom-left corner of the image area
R
i
g
h
t
J
u
s
t
i
f
i
e
d
Text For examples, see Field Interactions
on page 917.
Bar Codes Origin is base of bar code, at right edge
Graphic Boxes Origin is bottom-right corner of the box
Images Origin is bottom-right corner of the image area
ZPL Commands
^FT
196
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example This is an example of the ^FT command and concatenation:
When a coordinate is missing, the position following the last formatted field is assumed. This
remembering simplifies field positioning with respect to other fields. Once the first field is
positioned, other fields follow automatically.
There are several instances where using the ^FT command without specifying x and y
parameters is not recommended:
when positioning the first field in a label format
at any time with the ^FN (Field Number) command
following an ^SN (Serialization Data) command
variable data
bidirectional text
The right typeset justified is available only for printers with firmware version V60.14.x,
V50.14.x, or later.
This command interacts with the field direction parameters of ^FP and with the rotation
parameter of ^A. For output and code examples, see Field Interactions on page 917
197
ZPL Commands
^FV
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^FV
Field Variable
Description ^FV replaces the ^FD (field data) command in a label format when the field is
variable.
Format ^FVa
This table identifies the parameters for this format:
Comments ^FV fields are always cleared after the label is printed. ^FD fields are not
cleared.
Parameters Details
a = variable field data to
be printed
Accepted Values: 0 to 3072 byte string
Default Value: if no data is entered, the command is ignored
Example This is an example of how to use the ^MC and ^FV command:
^XA
^FO40,40
^GB300,203,8^FS
^FO55,60^CF0,25
^FVVARIABLE DATA #1^FS
^FO80,150
^FDFIXED DATA^FS
^MCN
^XZ
ZPL II CODE GENERATED LABEL
^XA
^FO55,60
^FVVARIABLE DATA #2^FS
^MCY
^XZ
^CF0,25
ZPL Commands
^FW
198
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^FW
Field Orientation
Description The ^FW command sets the default orientation for all command fields that
have an orientation (rotation) parameter and sets the default justification for all commands
with a justification parameter. Fields can be rotated 0, 90, 180, or 270 degrees clockwise by
using this command. Justification can be left, right, or auto.
The ^FW command affects only fields that follow it. Once you have issued a ^FW command,
the setting is retained until you turn off the printer or send a new ^FW command to the printer.
Format ^FWr,z
This table identifies the parameters for this format:
Parameters Details
r = rotate field Accepted Values:
N = normal
R = rotated 90 degrees
I = inverted 180 degrees
B = bottom-up 270 degrees, read from bottom up
Initial Value at Power-up: N
z = justification
The z parameter is
available only with printers
with firmware version
V60.14.x, V50.14.x, or
later.
Accepted Values:
0 = left justification
1 = right justification
2 = auto justification (script dependent)
Default Value: auto for ^TB and left for all other commands
199
ZPL Commands
^FW
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Comments ^FW affects only the orientation in commands where the rotation parameter has
not been specifically set. If a command has a specific rotation parameter, that value is used.
Example This example shows how ^FW rotation works in conjunction with ^FO. In this
example, note that:
the fields using A0N print the field in normal rotation
the fields with no rotation indicated (A0) follow the rotation used in the ^FW
command (^FWR).
^FW affects only the justification in commands where the parameter has not been set. If a
command has a specific justification parameter that value is used .
^XA
^FWR
^FO150,90^A0N,25,20^FDZebra Technologies^FS
^FO115,75^A0,25,20^FD0123456789^FS
^FO150,115^A0N,25,20^FD333 Corporate Woods
Parkway^FS
^FO400,75^A0,25,20^FDXXXXXXXXX^FS
^XZ
ZPL II CODE GENERATED LABEL
ZPL Commands
^FX
200
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^FX
Comment
Description The ^FX command is useful when you want to add non-printing informational
comments or statements within a label format. Any data after the ^FX command up to the next
caret (^) or tilde (~) command does not have any effect on the label format. Therefore, you
should avoid using the caret (^) or tilde (~) commands within the ^FX statement.
Format ^FXc
This table identifies the parameters for this format:
Comments Correct usage of the ^FX command includes following it with the ^FS
command.
Parameters Details
c = non printing
comment
Creates a non-printable comment.
Example This is an example of how to use the ^FX command effectively:
^XA
^LH100,100^FS
^FXSHIPPING LABEL^FS
^FO10,10^GB470,280,4^FS
^FO10,190^GB470,4,4^FS
^FO10,80^GB240,2,2^FS
^FO250,10^GB2,100,2^FS
^FO250,110^GB226,2,2^FS
^FO250,60^GB226,2,2^FS
^FO156,190^GB2,95,2^FS
^FO312,190^GB2,95,2^FS
^XZ
ZPL II CODE GENERATED LABEL
201
ZPL Commands
^GB
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^GB
Graphic Box
Description The ^GB command is used to draw boxes and lines as part of a label format.
Boxes and lines are used to highlight important information, divide labels into distinct areas,
or to improve the appearance of a label. The same format command is used for drawing either
boxes or lines.
Format ^GBw,h,t,c,r
This table identifies the parameters for this format:
For the w and h parameters, keep in mind that printers have a default of 6, 8, 12, or
24 dots/millimeter. This comes out to 153, 203, 300, or 600 dots per inch. To determine the
values for w and h, calculate the dimensions in millimeters and multiply by 6, 8, 12, or 24.
If the width and height are not specified, you get a solid box with its width and height as
specified by value t.
The roundness-index is used to determine a rounding-radius for each box. Formula:
rounding-radius = (rounding-index / 8) * (shorter side / 2)
where the shorter side is the lesser of the width and height (after adjusting for minimum and
default values).
Parameters Details
w = box width (in dots) Accepted Values: value of t to 32000
Default Value: value used for thickness (t) or 1
h = box height (in dots) Accepted Values: value of t to 32000
Default Value: value used for thickness (t) or 1
t = border thickness (in
dots)
Accepted Values: 1 to 32000
Default Value: 1
c = line color Accepted Values:
B = black
W = white
Default Value: B
r = degree of corner-
rounding
Accepted Values: 0 (no rounding) to 8 (heaviest rounding)
Default Value: 0
ZPL Commands
^GB
202
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Examples Here are a few examples of graphic boxes:
Width: 1.5 inch; Height: 1 inch; Thickness: 10; Color: default; Rounding: default
Width: 0 inch; Height: 1 inch; Thickness: 20; Color: default; Rounding: default:
Width: 1 inch; Height: 0 inch; Thickness: 30; Color: default; Rounding: default
Width: 1.5 inch; Height: 1 inch; Thickness: 10; Color: default; Rounding: 5
^XA
^FO50,50
^GB300,200,10^FS
^XZ
ZPL II CODE GENERATED LABEL
^XA
^FO50,50
^GB0,203,20^FS
^XZ
ZPL II CODE GENERATED LABEL
^XA
^FO50,50
^GB203,0,20^FS
^XZ
ZPL II CODE GENERATED LABEL
^XA
^FO50,50
^GB300,200,10,,5^FS
^XZ
ZPL II CODE GENERATED LABEL
203
ZPL Commands
^GC
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^GC
Graphic Circle
Description The ^GC command produces a circle on the printed label. The command
parameters specify the diameter (width) of the circle, outline thickness, and color. Thickness
extends inward from the outline.
Format ^GCd,t,c
This table identifies the parameters for this format:
Parameters Details
d = circle diameter (in
dots)
Accepted Values: 3 to 4095 (larger values are replaced with
4095)
Default Value: 3
t = border thickness (in
dots)
Accepted Values: 2 to 4095
Default Value: 1
c = line color Accepted Values:
B = black
W = white
Default Value: B
Example This is an example of how to create a circle on the printed label:
^XA
^FO50,50
^GC250,10,B^FS
^XZ
ZPL II CODE GENERATED LABEL
ZPL Commands
^GD
204
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^GD
Graphic Diagonal Line
Description The ^GD command produces a straight diagonal line on a label. This can be
used in conjunction with other graphic commands to create a more complex figure.
Format ^GDw,h,t,c,o
This table identifies the parameters for this format:
Parameters Details
w = box width (in dots) Accepted Values: 3 to 32000
Default Value: value of t (thickness) or 1
h = box height (in dots) Accepted Values: 3 to 32000
Default Value: value of t (thickness) or 1
t = border thickness (in
dots)
Accepted Values: 1 to 32000
Default Value: 1
c = line color Accepted Values:
B = black
W = white
Default Value: B
o = orientation (direction
of the diagonal)
Accepted Values:
R (or /) = right-leaning diagonal
L (or \) = left-leaning diagonal
Default Value: R
Example This is an example of how to create a diagonal line connecting one corner with the
opposite corner of a box on a printed label:
^XA
^FO150,100
^GB350,203,10^FS
^FO155,110
^GD330,183,10,,R^FS
^XZ
ZPL II CODE GENERATED LABEL
205
ZPL Commands
^GE
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^GE
Graphic Ellipse
Description The ^GE command produces an ellipse in the label format.
Format ^GEw,h,t,c
This table identifies the parameters for this format:
Parameters Details
w = ellipse width (in dots) Accepted Values: 3 to 4095 (larger values are replaced with
4095)
Default Value: value used for thickness (t) or 1
h = ellipse height (in
dots)
Accepted Values: 3 to 4095
Default Value: value used for thickness (t) or 1
t = border thickness (in
dots)
Accepted Values: 2 to 4095
Default Value: 1
c = line color Accepted Values:
B = black
W = white
Default Value: B
Example This is an example of how to create a ellipse on a printed label:
^XA
^FO100,100
^GE300,100,10,B^FS
^XZ
ZPL II CODE GENERATED LABEL
ZPL Commands
^GF
206
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^GF
Graphic Field
Description The ^GF command allows you to download graphic field data directly into the
printers bitmap storage area. This command follows the conventions for any other field,
meaning a field orientation is included. The graphic field data can be placed at any location
within the bitmap space.
Format ^GFa,b,c,d,data
This table identifies the parameters for this format:
Parameters Details
a = compression type Accepted Values:
A = ASCII hexadecimal (follows the format for other
download commands)
B = binary (data sent after the c parameter is strictly
binary)
C = compressed binary (data sent after the c parameter
is in compressed binary format. The data is
compressed on the host side using Zebras
compression algorithm. The data is then
decompressed and placed directly into the bitmap.)
Default Value: A
b = binary byte count Accepted Values: 1 to 99999
This is the total number of bytes to be transmitted for the
total image or the total number of bytes that follow
parameter d. For ASCII download, the parameter should
match parameter c. Out-of-range values are set to the
nearest limit.
Default Value: command is ignored if a value is not specified
c = graphic field count Accepted Values: 1 to 99999
This is the total number of bytes comprising the graphic
format (width x height), which is sent as parameter d.
Count divided by bytes per row gives the number of lines
in the image. This number represents the size of the image,
not necessarily the size of the data stream (see d).
Default Value: command is ignored if a value is not specified
207
ZPL Commands
^GF
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
d = bytes per row Accepted Values: 1 to 99999
This is the number of bytes in the downloaded data that
comprise one row of the image.
Default Value: command is ignored if a value is not specified
data = data Accepted Values:
ASCII hexadecimal data: 00 to FF
A string of ASCII hexadecimal numbers, two digits per
image byte. CR and LF can be inserted as needed for
readability. The number of two-digit number pairs must
match the above count. Any numbers sent after count is
satisfied are ignored. A comma in the data pads the current
line with 00 (white space), minimizing the data sent. ~DN
or any caret or tilde character prematurely aborts the
download.
Binary data: Strictly binary data is sent from the host. All
control prefixes are ignored until the total number of bytes
needed for the graphic format is sent.
Example This example downloads 8,000 total bytes of data and places the graphic data at
location 100,100 of the bitmap. The data sent to the printer is in ASCII form.
^FO100,100^GFA,8000,8000,80,ASCII data
Example This example downloads 8,000 total bytes of data and places the graphic data at
location 100,100 of the bitmap. The data sent to the printer is in binary form.
^FO100,100^GFB,8000,8000,80,Binary data
Parameters Details
ZPL Commands
^GS
208
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^GS
Graphic Symbol
Description The ^GS command enables you to generate the registered trademark,
copyright symbol, and other symbols.
Format ^GSo,h,w
This table identifies the parameters for this format:
Parameters Details
o = field orientation Accepted Values:
N = normal
R = rotate 90 degrees clockwise
I = inverted 180 degrees
B = bottom-up, 270 degrees
Default Value: N or last ^FW value
h = character height
proportional to width
(in dots)
Accepted Values: 0 to 32000
Default Value: last ^CF value
w = character width
proportional to
height (in dots)
Accepted Values: 0 to 32000
Default Value: last ^CF value
209
ZPL Commands
^GS
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example Use the ^GS command followed by ^FD and the appropriate character (A
through E) within the field data to generate the desired character:
^XA^CFD
^FO50,50
^FDZEBRA PROGRAMMING^FS
^FO50,75
^FDLANGUAGE II (ZPL II )^FS
^FO280,75
^GS^FDC^FS
^XZ
ZPL II CODE GENERATED LABEL
ZPL Commands
~HB
210
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~HB
Battery Status
Description When the ~HB command is sent to the printer, a data string is sent back to the
host. The string starts with an <STX> control code sequence and terminates by an
<ETX><CR><LF> control code sequence.
Format ~HB
Parameters: when the printer receives the command, it returns:
<STX>bb.bb,hh.hh,bt<ETX><CR><LF>
Comments This command is used for the power-supply battery of the printer and should
not be confused with the battery backed-up RAM.
Important This command only responds to mobile printers.
<STX> = ASCII start-of-text character
bb.bb = current battery voltage reading to the nearest 1/4 volt
hh.hh = current head voltage reading to the nearest 1/4 volt
bt = battery temperature in Celsius
<ETX> = ASCII end-of-text character
<CR> = ASCII carriage return
<LF> = ASCII line feed character
211
ZPL Commands
~HD
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~HD
Head Diagnostic
Description The ~HD command echoes printer status information that includes the power
supply and head temperature using the terminal emulator.
Format ~HD
Example This is an example of the ~HD command:
ZPL Commands
^HF
212
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^HF
Host Format
Description The ^HF command sends stored formats to the host.
Format ^HFd,o,x
This table identifies the parameters for this format:
Parameters Details
d = device to recall
image
Accepted Values: R:, E:, B:, and A:
Default Value: R:
o = image name Accepted Values: 1 to 8 alphanumeric characters
Default Value: if a name is not specified, UNKNOWN is used
x = extension Fixed Value: .ZPL
Example This example shows the sequence and results.
Using a terminal emulator, you download this code to the printer:
^XA
^DFB:FILE1.ZPL
^FO100,100^A0,100
^FDTEST^FS
^XZ
Then you send this code to the printer:
^XA
^HFB:FILE1.ZPL
^XZ
The terminal emulator returns this code:
^XA^DFFILE1,
^FO100,100^A0,100^FDTEST^FS
^XZ
213
ZPL Commands
^HG
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^HG
Host Graphic
Description The ^HG command is used to upload graphics to the host. The graphic image
can be stored for future use, or it can be downloaded to any Zebra printer.
Format ^HGd:o.x
This table identifies the parameters for this format:
Comments For more information on uploading graphics, see ^HY on page 232.
Parameters Details
d = device location
of object
Accepted Values: R:, E:, B:, and A:
Default Value: search priority
o = object name Accepted Values: 1 to 8 alphanumeric characters
Default Value: if a name is not specified, UNKNOWN is used
x = extension Fixed Value: .GRF
ZPL Commands
^HH
214
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^HH
Configuration Label Return
Description The ^HH command echoes printer configuration back to the host, using a
terminal emulator.
Format ^HH
Example This is an example of what is returned to the host when ^XA^HH^XZ is sent to
the printer:
215
ZPL Commands
~HI
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~HI
Host Identification
Description The ~HI command is designed to be sent from the host to the Zebra printer to
retrieve information. Upon receipt, the printer responds with information on the model,
software version, dots-per-millimeter setting, memory size, and any detected objects.
Format ~HI
When the printer receives this command, it returns:
XXXXXX,V1.0.0,dpm,000KB,X
XXXXXX = model of Zebra printer
V1.0.0 = version of software
dpm = dots/mm
6, 8, 12, or 24 dots/mm printheads
000KB = memory
512KB = 1/2 MB
1024KB = 1 MB
2048KB = 2 MB
4096KB = 4 MB
8192KB = 8 MB
x = recognizable objects
only options specific to printer are shown (cutter, options, et cetera.)
ZPL Commands
~HM
216
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~HM
Host RAM Status
Description Sending ~HM to the printer immediately returns a memory status message to
the host. Use this command whenever you need to know the printers RAM status.
When ~HM is sent to the Zebra printer, a line of data containing information on the total
amount, maximum amount, and available amount of memory is sent back to the host.
Format ~HM
Comments Memory taken up by bitmaps is included in the currently available memory
value (due to ^MCN).
Downloading a graphic image, fonts, or saving a bitmap affects only the amount of RAM. The
total amount of RAM and maximum amount of RAM does not change after the printer is
turned on.
Example This example shows when the ~HM is sent to the printer, a line of data containing
three numbers are sent back to the host. Each set of numbers is identified and explained in the
table that follows:
1024,0780,0780
2
1
3
1 The total amount of RAM (in kilobytes) installed in the printer. In
this example, the printer has 1024K RAM installed.
2 The maximum amount of RAM (in kilobytes) available to the
user. In this example, the printer has a maximum of 780K RAM
available.
3 The amount of RAM (in kilobytes) currently available to the user.
In this example, there is 780K of RAM in the printer currently
available to the user.
217
ZPL Commands
~HQ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~HQ
Host Query
Description The ~HQ command group requests that the printer send information back to
the host. This command is only supported on Zebra ZM400/ZM600, S4M (with
v53.15.4Z or later), and G-Series printers.
Format ~HQquery-type
This table identifies the parameters for this format:
Comments The response to the ~HQ command starts with STX, a CR LF is inserted
between each line, and the response ends with ETX.
Parameter Details
query-type For detailed examples of these parameters, see ~HQ Examples
on page 219.
Accepted Values:
ES = requests the printers status - see Table 13 on page 218
and Table 14 on page 218
HA = hardware address of the internal wired print server
JT = requests a summary of the printers printhead test
results
MA = maintenance alert settings
MI = maintenance information
OD = odometer
PH = printhead life history
PP = printers Plug and Play string
SN = printers serial number
UI = USB product ID and BDC release version
Default Value: must be an accepted value or the command is
ignored
ZPL Commands
~HQ
218
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Table 13 Error Flags (~HQES)
X = Value can be any hexadecimal number (0-9, A-F)
Table 14 Warning Flags (~HQES)
X = Value can be any hexadecimal number (0-9, A-F)
Flag
Group 2 Group 1
Error Flags Nibbles 16-9 Nibbles 8-4 Nibble 3 Nibble 2 Nibble 1
No Error 0 00000000 00000 0 0 0
Error Present 1 00000000 00000 X X X
Printhead Thermistor Open 1 00000000 00000 2 X X
Invalid Firmware Configuration 1 00000000 00000 1 X X
Printhead Detection Error 1 00000000 00000 X 8 X
Bad Printhead Element 1 00000000 00000 X 4 X
Motor Over Temperature 1 00000000 00000 X 2 X
Printhead Over Temperature 1 00000000 00000 X 1 X
Cutter Fault 1 00000000 00000 X X 8
Head Open 1 00000000 00000 X X 4
Ribbon Out 1 00000000 00000 X X 2
Media Out 1 00000000 00000 X X 1
Flag
Group 2 Group 1
Warning Flags Nibbles 16-9 Nibbles 8-2 Nibble 1
No Error 0 00000000 0000000 0
Error Present 1 00000000 0000000 X
Replace Printhead 1 00000000 0000000 4
Clean Printhead 1 00000000 0000000 2
Need to Calibrate Media 1 00000000 0000000 1
219
ZPL Commands
~HQ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~HQ Examples
This section provides detail examples of all the available parameters.
This illustration identifies the printer status definitions:
Example This example shows how to request the printers status.
1. To request the printers status, type ~HQES.
The printer responds with data similar to this:
PRINTER STATUS
ERRORS: 1 00000000 00000005
WARNINGS: 1 00000000 00000002
In this example, the Printer Status resolves to these conditions:
The cover/printhead is open (value = 4).
Media is out or not loaded into the printer (value = 1).
The printhead needs to be cleaned (value = 2).
Error nibble 1 is equal to 5 when the error status values are added together (4 + 1).
1 Flag
2 Nibble 16-9
3 Nibble 8-4
4 Nibble 3
5 Nibble 2
6 Nibble 1
PRINTER STATUS
ERRORS: 1 00000000 00000005
WARNINGS: 1 00000000 00000002
1
2
3
4
5
6
ZPL Commands
~HQ
220
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example This example shows how the printer responds when the printer receives the
~HQES command:
1. To see how the printer responds, type ~HQES.
The printer responds with data similar to this:
PRINTER STATUS
ERRORS: 1 00000000 0000000B
WARNINGS: 0 00000000 00000000
In this example, the printer status resolves to the following conditions:
The cutter has a fault (value = 8).
Ribbon is out or not loaded into the printer (value = 2).
Media is out or not loaded into the printer (value = 1).
Error byte 1 is equal to B when the error status values are added together
(8 + 2 + 1 = hexadecimal B).
Example This is an example of how to retrieve the hardware address of the internal wired
print server.
1. To get the hardware address of the internal wired print server, type ~HQHA.
The printer responds with data similar to this:
MAC ADDRESS
00:07:4d:2c:e0:7a
Example This is an example of how to request a summary of the printers printhead test
results.
The ^JT command is used to initiate printhead testing, set the testing interval, and set the
element range to be tested. For more details see, ^JT on page 267.
1. To request a summary of the printers printhead test, type ~HQJT.
The printer responds with data similar to this:
PRINT HEAD TEST RESULTS
0,A,0000,0000,0000
When the printer has printed enough labels to trigger a printhead test, the initial data
changes.
1. To request a summary of the printers printhead test, type ~HQJT.
The printer responds with data similar to this:
PRINT HEAD TEST RESULTS:
0,A,0015,0367,0000
221
ZPL Commands
~HQ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
This illustration identifies the printhead test field definitions:
1 Element failure
2 Manual (M) or automatic (A) range
3 First test element
4 Last test element
5 Failure count
Example This is an example of how to use the maintenance alert query for the ~HQ
command.
1. To get the current settings, type ~HQMA.
The printer responds with data similar to this:
~HQMA
MAINTENANCE ALERT SETTINGS
HEAD REPLACEMENT INTERVAL: 1 km
HEAD REPLACEMENT FREQUENCY: 0 M
HEAD CLEANING INTERVAL: 0 M
HEAD CLEANING FREQUENCY: 0 M
PRINT REPLACEMENT ALERT: NO
PRINT CLEANING ALERT: NO
UNITS: C
Example This is an example of how to use the maintenance information query for the ~HQ
command. Note that the message is controlled by the ^MI command.
1. To get the current settings, type ~HQMI.
The printer responds with data similar to this:
MAINTENANCE ALERT MESSAGES
CLEAN: PLEASE CLEAN PRINT HEAD
REPLACE: PLEASE REPLACE PRINT HEAD
0,A,0000,0000,0000
1 2 3 4 5
ZPL Commands
~HQ
222
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example This is an example of how to use the odometer query for the ~HQ command. Note
that the units of measure are controlled by the ^MA command. Also, if the "Early Warning
Maintenance State" is turned "ON" the printer response would also list LAST CLEANED
and CURRENT PRINTHEAD LIFE counters.
1. To get the current settings, type ~HQOD.
The printer responds with data similar to this:
PRINT METERS
TOTAL NONRESETTABLE: 8560 "
USER RESETTABLE CNTR1: 9 "
USER RESETTABLE CNTR2: 8560 "
The units of measure are set to inches.
2. To change the units of measure to centimeters, type:
^XA^MA,,,,C
^XZ
The units of measure are set to centimeters.
3. To check the settings, type ~HQOD.
The printer responds with data similar to this:
PRINT METERS
TOTAL NONRESETTABLE: 21744 cm
USER RESETTABLE CNTR1: 24 cm
USER RESETTABLE CNTR2: 21744 cm
Example This is an example of how to use the printhead life query for the ~HQ command.
Note that the units of measure are controlled by the ^MA command.
1. To get the current settings, type ~HQPH.
The printer responds with data similar to this:
1 The current life of the print head.
2 Line items 2 through 10 (the example only shows 2 through
3) tracks the measurement for each time the print head is
changed.
LAST CLEANED: 257 "
HEAD LIFE HISTORY
# DISTANCE
1: 257 "
2: 1489 "
3: 7070 "
1
2
223
ZPL Commands
~HQ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example This is an example of how to request the printers Plug and Play string.
1. To request the printers Plug and Play string, type ~HQPP.
The printer responds with data similar to this:
PLUG AND PLAY MESSAGES
MFG: Zebra Technologies
CMD: ZPL
MDL: GX420t
Example This is an example of how to retrieve the printers serial number.
1. To get the printers serial number, type ~HQSN.
The printer responds with data similar to this:
SERIAL NUMBER
41A06440023
Example This is an example of how to retrieve the printers USB product ID and BCD
release version
1. To get the printers USB product ID and BCD release version, type ~HQUI.
The printer responds with data similar to this:
USB INFORMATION
PID: 0085
RELEASE VERSION: 15.01
ZPL Commands
~HS
224
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~HS
Host Status Return
Description When the host sends ~HS to the printer, the printer sends three data strings
back. Each string starts with an <STX> control code and is terminated by an
<ETX><CR><LF> control code sequence. To avoid confusion, the host prints each string on a
separate line.
String 1 <STX>aaa,b,c,dddd,eee,f,g,h,iii,j,k,l<ETX><CR><LF>
* This string specifies the printers baud rate, number of data bits, number of stop bits, parity
setting, and type of handshaking. This value is a three-digit decimal representation of an eight-
bit binary number. To evaluate this parameter, first convert the decimal number to a binary
number.
Note When a ~HS command is sent, the printer will not send a response to the host if the
printer is in one of these conditions:
MEDIA OUT
RIBBON OUT
HEAD OPEN
REWINDER FULL
HEAD OVER-TEMPERATURE
aaa = communication (interface) settings*
b = paper out flag (1 = paper out)
c = pause flag (1 = pause active)
dddd = label length (value in number of dots)
eee = number of formats in receive buffer
f = buffer full flag (1 = receive buffer full)
g = communications diagnostic mode flag (1 = diagnostic mode active)
h = partial format flag (1 = partial format in progress)
iii = unused (always 000)
j = corrupt RAM flag (1 = configuration data lost)
k = temperature range (1 = under temperature)
l = temperature range (1 = over temperature)
225
ZPL Commands
~HS
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
The nine-digit binary number is read according to this table:
String 2 <STX>mmm,n,o,p,q,r,s,t,uuuuuuuu,v,www<ETX><CR><LF>
* This string specifies the printers media type, sensor profile status, and communication
diagnostics status. As in String 1, this is a three-digit decimal representation of an eight-bit
binary number. First, convert the decimal number to a binary number.
** These values are only supported on the Zebra ZM400/ZM600 printer.
mmm = function settings*
n = unused
o = head up flag (1 = head in up position)
p = ribbon out flag (1 = ribbon out)
q = thermal transfer mode flag (1 = Thermal Transfer Mode selected)
r = Print Mode
0 = Rewind
1 = Peel-Off
2 = Tear-Off
3 = Cutter
4 = Applicator
5 = Delayed cut
6 = Reserved **
7 = Reserved **
s = print width mode
t = label waiting flag (1 = label waiting in Peel-off Mode)
uuuuuu
uu
= labels remaining in batch
v = format while printing flag (always 1)
www = number of graphic images stored in memory
a a a a a = Baud
a
a
a
a
= Handshake
0 = Xon/Xoff
1 = DTR
0 000 = 110
0 001 = 300
0 010 = 600
0 011 = 1200
0 100 = 2400
0 101 = 4800
0 110 = 9600
0 111 = 19200
1 000 = 28800
1 001 = 38400
1 010 = 57600
1 011 = 14400
(available only on certain printer models)
= Parity Odd/Even
0 = Odd
1 = Even
= Disable/Enable
0 = Disable
1 = Enable
= Stop Bits
0 = 2 Bits
1 = 1 Bit
= Data Bits
0 = 7 Bits
1 = 8 Bits
7 8 2 1 0
6
5
4
3
aaa = a a a a a a a a a
8 7 6 5 4 3 2 1 0
(available only on certain printer models)
(available only on certain printer models)
ZPL Commands
~HS
226
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
The eight-digit binary number is read according to this table:
String 3 <STX>xxxx,y<ETX><CR><LF>
xxxx = password
y = 0 (static RAM not installed)
1 (static RAM installed)
m7
m6
m5
m4 m3 m2 m1 = Unused
m0
= Media Type
0 = Die-Cut
1 = Continuous
= Sensor Profile
0 = Off
= Communications Diagnostics
0 = Off
1 = On
0 = Off
1 = On
= Print Mode
0 = Direct Thermal
1 = Thermal Transfer
mmm = m7 m6 m5 m4 m3 m2 m1 m0
227
ZPL Commands
^HT
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^HT
Host Linked Fonts List
Description The ^HT command receives the complete list of font links over a
communication port.
This command is available only for printers with firmware version V60.14.x, V50.14.x, or
later.
Example The SWISS.721.TTF is the base font, ANMDJ.TTF is the first linked font, and
MSGOTHIC.TTF is the second linked font:
This is the code that was used to establish the font links:
^XA
^FLE:ANMDJ.TTF,E:SWISS721.TTF,1^FS
^FLE:MSGOTHIC.TTF,E:SWISS721.TTF,1^FS
^XZ
ZPL II CODE DATA RETURNED
^XA
^HT
^XZ
LIST OF FONT LINKS
E:SWISS721.TTF
E:ANMDJ.TTF
E:MSGOTHIC.TTF
ZPL Commands
~HU
228
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~HU
Return ZebraNet Alert Configuration
Description This command returns the table of configured ZebraNet Alert settings to the
host.
Format ~HU
The first line indicates that condition B (ribbon out) is routed to destination C (e-mail address).
The next two characters, Y and Y, indicate that the condition set and condition clear options
have been set to yes.
The following entry is the destination that the Alert e-mail should be sent to; in this example it
is admin@company.com.
The last figure seen in the first line is 0, which is the port number.
Each line shows the settings for a different Alert condition as defined in the ^SX command.
Example If the ~HU command is sent to the printer with existing Alert messages set to go
to e-mail and SNMP traps, the data returned would look something like the information
below. See ^SX on page 343 for complete information on the individual parameter settings.
B,C,Y,Y,ADMIN@COMPANY.COM,0
J,F,Y,Y,,0
C,F,Y,Y,,0
D,F,Y,Y,,0
E,F,Y,N,,0
F,F,Y,N,,0
H,C,Y,N,ADMIN@COMPANY.COM,0
N,C,Y,Y,ADMIN@COMPANY.COM,0
O,C,Y,Y,ADMIN@COMPANY.COM,0
P,C,Y,Y,ADMIN@COMPANY.COM,0
Important If there are no ^SX (alerts) set, the printer will not respond to the ~HU
command.
229
ZPL Commands
^HV
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^HV
Host Verification
Description This command is used to return data from specified fields, along with an
optional ASCII header, to the host computer. The command can be used with any field that has
been assigned a number with the ^RT command or the ^FN and ^RF commands.
Format ^HV#,n,h
This table identifies the parameters for this format:
Parameters Details
# = field number
specified with
another command
The value assigned to this parameter should be the same as
the one used in another command.
Accepted Values: 0 to 9999
Default Value: 0
n = number of bytes to be
returned
Accepted Values: 1 to 256
Default Value: 64
h = header Header to be returned with the data.
Accepted Values: 0 to 3072 bytes
Default Value: no header
ZPL Commands
^HW
230
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^HW
Host Directory List
Description ^HW is used to transmit a directory listing of objects in a specific memory area
(storage device) back to the host device. This command returns a formatted ASCII string of
object names to the host.
Each object is listed on a line and has a fixed length. The total length of a line is also fixed.
Each line listing an object begins with the asterisk (*) followed by a blank space. There are
eight spaces for the object name, followed by a period and three spaces for the extension. The
extension is followed by two blank spaces, six spaces for the object size, two blank spaces, and
three spaces for option flags (reserved for future use). The format looks like this:
<STX><CR><LF>
DIR R: <CR><LF>
*Name.ext(2sp.)(6 obj. sz.)(2sp.)(3 option flags)
*Name.ext(2sp.)(6 obj. sz.)(2sp.)(3 option flags)
<CR><LF>
-xxxxxxx bytes free
<CR><LF>
<ETX>
<STX> = start of text
<CR><LR> = carriage return/line feed
<ETX> = end on text
The command might be used in a stand-alone file to be issued to the printer at any time. The
printer returns the directory listing as soon as possible, based on other tasks it might be
performing when the command is received.
This command, like all ^ (caret) commands, is processed in the order that it is received by the
printer.
Format ^HWd:o.x
This table identifies the parameters for this format:
Parameters Details
d = location to retrieve
object listing
Accepted Values: R:, E:, B:, A:and Z:
Default Value: R:
o = object name Accepted Values: 1 to 8 alphanumeric characters
Default Value: asterisk (*). A question mark (?) can also be
used.
231
ZPL Commands
^HW
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
x = extension Accepted Values: any extension conforming to Zebra
conventions
Default Value: asterisk (*). A question mark (?) can also be
used.
f = format
The f parameter is only
supported in firmware
version V60.16.0Z and
V53.16.0Z or later.
Accepted Values:
c = column format
d = default format
Default Value: d
Example Listed is an example of the ^HW command to retrieve from information R:
^XA
^HWR:*.*
^XZ
Example The printer returned this information as the Host Directory Listing:-DIR
R:*.*
*R:ARIALN1.FNT 49140
*R:ARIALN2.FNT 49140
*R:ARIALN3.FNT 49140
*R:ARIALN4.FNT 49140
*R:ARIALN.FNT 49140
*R:ZEBRA.GRF 8420
-794292 bytes free R:RAM
Parameters Details
ZPL Commands
^HY
232
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^HY
Upload Graphics
Description The ^HY command is an extension of the ^HG command. ^HY is used to
upload graphic objects from the printer in any supported format.
Format ^HYd:o.x
This table identifies the parameters for this format:
Comments The image is uploaded in the form of a ~DY command. The data field of the
returned ~DY command is always encoded in the ZB64 format.
Parameters Details
d = location of object Accepted Values: R:, E:, B:, and A:
Default Value: search priority
o = object name Accepted Values: 1 to 8 alphanumeric characters
Default Value: an object name must be specified
x = extension Accepted Values:
G = .GRF (raw bitmap format)
P = .PNG (compressed bitmap format)
Default Value: format of stored image
233
ZPL Commands
^HZ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^HZ
Display Description Information
Description The ^HZ command is used for returning printer description information in
XML format. The printer returns information on format parameters, object directories,
individual object data, and print status information.
Format ^HZb
This table identifies the parameters for this format:
Format ^HZO,d:o.x,l
This table identifies the parameters for this format:
Parameters Details
b = display description to
return
Accepted Values:
a = display all information
f = display printer format setting information
l = display object directory listing information
o = display individual object data information
r = display printer status information
Default Value: if the value is missing or invalid, the command
is ignored
Parameters Details
d = location of stored
object
Accepted Values: R:, E:, B:, and A:
Default Value: R:
o = object name Accepted Values: 1 to 8, or 1 to 16 alphanumeric characters
based on parameter l.
Default Value: if a name is not specified, UNKNOWN is used.
ZPL Commands
^HZ
234
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
x = extension Supported extensions for objects (parameter o) include:
.FNT font
.GRF graphic
.PNG compressed graphic
.ZPL stored format
.DAT encoding table
.ZOB downloadable object
.STO Alert data file
l = long filename support Accepted Values:
Y = Yes
If Y, the object data stores the filename as 16
characters. The data is only compatible with
firmware version V60.13.0.5, or later.
N = No
If N, the object data stores the filename as 8
characters. The data is forward and backward
compatible with all versions of firmware.
Default Value: N
Example This example shows the object data information for the object SAMPLE.GRF
located on R:.
^XA
^HZO,R:SAMPLE.GRF
^XZ
Parameters Details
235
ZPL Commands
^ID
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^ID
Object Delete
Description The ^ID command deletes objects, graphics, fonts, and stored formats from
storage areas. Objects can be deleted selectively or in groups. This command can be used
within a printing format to delete objects before saving new ones, or in a stand-alone format to
delete objects.
The image name and extension support the use of the asterisk (*) as a wild card. This allows
you to easily delete a selected groups of objects.
Format ^IDd:o.x
This table identifies the parameters for this format:
Parameters Details
d = location of stored
object
Accepted Values: R:, E:, B:, and A:
Default Value: R:
o = object name Accepted Values: any 1 to 8 character name
Default Value: if a name is not specified, UNKNOWN is used
x = extension Accepted Values: any extension conforming to Zebra
conventions
Default Value: .GRF
Example To delete stored formats from DRAM:
^XA
^IDR:*.ZPL^FS
^XZ
Example To delete formats and images named SAMPLE from DRAM, regardless of the
extension:
XA
^IDR:SAMPLE.*^FS
^XZ
ZPL Commands
^ID
236
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Comments When an object is deleted from R:, the object can no longer be used and
memory is available for storage. This applies only to R:memory. With the other memory types
(A:, B:, E:) the deleted object is no longer available. The memory space recovers when an
automatic defragmentation or initiallization occurs.
The ^ID command also frees up the uncompressed version of the object in DRAM.
If the name is specified as *.ZOB, all downloaded bar code fonts (or other objects) are
deleted.
If the named downloadable object cannot be found in the R:, E:, B:, and A: device, the
^ID command is ignored.
Example To delete the image SAMPLE1.GRF prior to storing SAMPLE2.GRF:
^XA
^FO25,25^AD,18,10
^FDDelete^FS
^FO25,45^AD,18,10
^FDthen Save^FS
^IDR:SAMPLE1.GRF^FS
^ISR:SAMPLE2.GRF^FS^XZ
Example In this the * is a wild card, indicating that all objects with the .GRF extension are
deleted:
^XA
^IDR:*.GRF^FS
^XZ
237
ZPL Commands
^IL
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^IL
Image Load
Description The ^IL command is used at the beginning of a label format to load a stored
image of a format and merge it with additional data. The image is always positioned at
^FO0,0.
Using this technique to overlay the image of constant information with variable data greatly
increases the throughput of the label format.
Format ^ILd:o.x
This table identifies the parameters for this format:
Important See ^IS on page 240.
Parameters Details
d = location of stored
object
Accepted Values: R:, E:, B:, and A:
Default Value: R:
o = object name Accepted Values: 1 to 8 alphanumeric characters
Default Value: if a name is not specified, UNKNOWN is used
x = extension Fixed Value: .GRF, .PNG
ZPL Commands
^IL
238
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example This example recalls the stored image SAMPLE2.GRF from DRAM and
overlays it with the additional data. The graphic was stored using the ^IS command. For the
stored label format, see the ^IS on page 240 command.
^XA
^ILR:SAMPLE2.GRF^FS
^CFD,36,20
^FO15,210
^FD900123^FS
^FO218,210
^FDLINE 12^FS
^FO15,360^AD
^FDZEBRA THERMAL^FS
^FO15,400^AD
^FDTRANSFER PRINTER^FS
^FO15,540
^FD54321^FS
^FO220,530
^FDZ58643^FS
^FO15,670^A0,27,18
^FDTesting Stored Graphic^FS
^FO15,700^A0,27,18
^FDLabel Formats!!^FS
^XZ
ZPL II CODE GENERATED LABEL
239
ZPL Commands
^IM
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^IM
Image Move
Description The ^IM command performs a direct move of an image from storage area into
the bitmap. The command is identical to the ^XG command (Recall Graphic), except there are
no sizing parameters.
Format ^IMd:o.x
This table identifies the parameters for this format:
Comments By using the ^FO command, the graphic image can be positioned anywhere on
the label.
The difference between ^IM and ^XG: ^IM does not have magnification, and therefore might
require less formatting time. However, to take advantage of this, the image must be at a 8-, 16-,
or 32-bit boundary.
Parameters Details
d = location of stored
object
Accepted Values: R:, E:, B:, and A:
Default Value: search priority
o = object name Accepted Values: 1 to 8 alphanumeric characters
Default Value: if a name is not specified, UNKNOWN is used
x = extension Fixed Value: .GRF, .PNG
Example This example moves the image SAMPLE.GRF from DRAM and prints it in
several locations in its original size.
^XA
^FO100,100^IMR:SAMPLE.GRF^FS
^FO100,200^IMR:SAMPLE.GRF^FS
^FO100,300^IMR:SAMPLE.GRF^FS
^FO100,400^IMR:SAMPLE.GRF^FS
^FO100,500^IMR:SAMPLE.GRF^FS
^XZ
ZPL Commands
^IS
240
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^IS
Image Save
Description The ^IS command is used within a label format to save that format as a
graphic image, rather than as a ZPL II script. It is typically used toward the end of a script. The
saved image can later be recalled with virtually no formatting time and overlaid with variable
data to form a complete label.
Using this technique to overlay the image of constant information with the variable data
greatly increases the throughput of the label format.
\
Format ^ISd:o.x,p
This table identifies the parameters for this format:
Important See ^IL on page 237.
Parameters Details
d = location of stored
object
Accepted Values: R:, E:, B:, and A:
Default Value: R:
o = object name Accepted Values: 1 to 8 alphanumeric characters
Default Value: if a name is not specified, UNKNOWN is used
x = extension Accepted Values: .GRF or .PNG
Default Value: .GRF
p = print image after
storing
Accepted Values:
N = no
Y = yes
Default Value: Y
241
ZPL Commands
^IS
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example This is an example of using the ^IS command to save a label format to DRAM.
The name used to store the graphic is SAMPLE2.GRF.
^XA
^LH10,15^FWN^BY3,3,85^CFD,36
^GB430,750,4^FS
^FO10,170^GB200,144,2^FS
^FO10,318^GB410,174,2^FS
^FO212,170^GB206,144,2^FS
^FO10,498^GB200,120,2^FSR
^FO212,498^GB209,120,2^FS
^FO4,150^GB422,10,10^FS
^FO135,20^A0,70,60
^FDZEBRA^FS
^FO80,100^A0,40,30
^FDTECHNOLOGIES CORP^FS
^FO15,180
^FDARTICLE#^FS
^FO218,180
^FDLOCATION^FS
^FO15,328
^FDDESCRIPTION^FS
^FO15,508
^FDREQ.NO.^FS
^FO220,508
^FDWORK NUMBER^FS
^FO15,630^AD,36,20
^FDCOMMENTS:^FS
^ISR:SAMPLE2.GRF,Y
^XZ
^CFD,18,10^FS
ZPL II CODE GENERATED LABEL
ZPL Commands
~JA
242
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~JA
Cancel All
Description The ~JA command cancels all format commands in the buffer. It also cancels
any batches that are printing.
The printer stops after the current label is finished printing. All internal buffers are cleared of
data and the DATA LED turn off.
Submitting this command to the printer scans the buffer and deletes only the data before the
~JA in the input buffer it does not scan the remainder of the buffer for additional ~JA
commands.
Format ~JA
243
ZPL Commands
^JB
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^JB
Initialize Flash Memory
Description The ^JB command is used to initialize various types of Flash memory
available in the Zebra printers.
Format ^JBa
This table identifies the parameters for this format:
Parameters Details
a = device to initialize Acceptable Values:
A = Option Flash memory
B = Flash card (PCMCIA)
E = internal Flash memory
Default Value: a device must be specified
Example This is an example of initializing the different types of flash memory:
^JBA initializes initial Compact Flash memory when installed in the printer.
^JBB initializes the optional Flash card when installed in the printer.
^JBE initializes the optional Flash memory when installed in the printer.
Note Initializing memory can take several minutes. Be sure to allow sufficient time for the
initialization to complete before power cycling the printer.
ZPL Commands
~JB
244
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~JB
Reset Optional Memory
Description The ~JB command is used for these conditions:
The ~JB command must be sent to the printer if the battery supplying power to the battery
powered memory card fails and is replaced. A bad battery shows a battery dead condition
on the Printer Configuration Label.
The ~JB command can also be used to intentionally clear (reinitialize) the B: memory
card. The card must not be write protected.
Format ~JB
Comments If the battery is replaced and this command is not sent to the printer, the
memory card cannot function.
245
ZPL Commands
~JC
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~JC
Set Media Sensor Calibration
Description The ~JC command is used to force a label length measurement and adjust the
media and ribbon sensor values.
Format ~JC
Comments In Continuous Mode, only the media and ribbon sensors are calibrated.
This command is ignored on the HC100 printer.
ZPL Commands
~JD
246
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~JD
Enable Communications Diagnostics
Description The ~JD command initiates Diagnostic Mode, which produces an ASCII
printout (using current label length and full width of printer) of all characters received by the
printer. This printout includes the ASCII characters, the hexadecimal value, and any
communication errors.
Format ~JD
247
ZPL Commands
~JE
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~JE
Disable Diagnostics
Description The ~JE command cancels Diagnostic Mode and returns the printer to normal
label printing.
Format ~JE
ZPL Commands
~JF
248
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~JF
Set Battery Condition
Description There are two low battery voltage levels sensed by the PA/PT400 printers.
When battery voltage goes below the first level, the green LED begins flashing as a warning
but printing continues. When this warning occurs, it is recommended to recharge the battery.
As printing continues, a second low voltage level is reached. At this point, both green and
orange LEDs flash as a warning, and printing automatically pauses.
When pause on low voltage is active (~JFY) and the battery voltage level falls below the
second low voltage level, printing pauses and an error condition is displayed as an indication
that the printer should be plugged into the battery charger. By pressing FEED, printing
continues on a label-by-label basis, but there is a high risk of losing label format information
due to the continued decrease of battery voltage.
When pause on low voltage is not active (~JFN), and the battery voltage level falls below the
second low voltage level, printing continues and the orange LED remains off. If the battery
voltage continues to decrease, label information could be lost and cause the printer to stop
operating. This option should be selected only when the printer is connected to the Car Battery
Adapter. From time to time the printer might sense that battery voltage is below the first low
voltage level, but due to the continuous recharging of the car battery, further loss of battery
voltage is not a concern and printing continues.
If this option is not selected when using the Car Battery Adapter, you might need to press
FEED to take the printer out of Pause Mode and print each label.
Format ~JFp
This table identifies the parameters for this format:
Parameters Details
p = pause on low voltage Accepted Values: Y (pause on low voltage) or N (do not
pause)
N is suggested when the printer is powered by the Car
Battery Adapter.
Default Value: Y
249
ZPL Commands
~JG
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~JG
Graphing Sensor Calibration
Description The ~JG command prints a graph (media sensor profile) of the sensor values.
Format ~JG
Comments The HC100 printer does not perform a calibration, but does print a sensor
profile label.
Example Sending the ~JG command to a printer configured for thermal transfer produces
a series of labels resembling this image:
GENERATED LABELS
ZPL Commands
^JH
250
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^JH
Early Warning Settings
Description The ^JH command configures the early warning messages that appear on the
LCD. This command is supported on the Zebra XiIII, PAX4, ZM400/ZM600, and
S4M printers.
Format ^JHa,b,c,d,e,f,g,h,i,j
This table identifies the parameters for this format:
Important These are parameter and printer specific things to be aware of:
Parameters a through e are only supported on the Zebra XiIIIPlus and PAX series
printers. The remaining parameters are supported on Zebra XiIII, PAX4,
ZM400/ZM600, and S4M printers.
On G-Series printers, the f parameter must be enabled for the ^MA driven system to
work.
Parameter Details
a = early warning
media
Accepted Values:
E = enable
D = disable
Default Value: D
b = labels per roll Accepted Values: 100 to 9999
Default Value: 900
c = media replaced Accepted Values:
Y = yes
N = no
Default Value: N
d = ribbon length The accepted values for the XiIII series printers are 100M through
450M. PAX4 printers allow for values up to 900M.
Accepted Values:
0 = 100M 10 = 600M
1 = 150M 11 = 650M
2 = 200M 12 = 700M
3 = 250M 13 = 750M
4 = 300M 14 = 800M
5 = 350M 15 = 850M
6 = 400M 16 = 900M
7 = 450M
8 = 500M
9 = 550M
Default Value: 7
251
ZPL Commands
^JH
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Comments To permanently save the changes to the ^JH command, send ^XA^JUS^XZ.
e = ribbon replaced Accepted Values:
Y = yes
N = no
Default Value: N
f = early warning
maintenance
Accepted Values:
E = enabled
D = disabled
Default Value: D
g = head cleaning
interval
Accepted value exceptions: accepted values for XiIII printer are
100M through 450M; accepted values for 600 dpi XiIII printers
are 100M through 150M; accepted values for PAX4 series printers
can accept values up to 900M by increments of 50M; accepted
values for ZM400/ZM600 and S4M printers are 0M through
450M.
Accepted Values:
0 = 100M 11 = 650M
1 = 150M (default for 96XiIII) 12 = 700M
2 = 200M 13 = 750M
3 = 250M 14 = 800M
4 = 300M 15 = 850M
5 = 350M 16 = 900M
6 = 400M
7 = 450M (default for all except 96XiIII)
8 = 500M
9 = 550M
10= 600M
Default Value: see above
h = head clean Accepted Values:
N = No
Y = Yes
Default Value: N
i = head life
threshold
Accepted Values:
0 0 in or off
100-3500000 in
Default Value: 1000000
j = head replaced Accepted Values:
N = no
Y = yes
Default Value: N
Parameter Details
ZPL Commands
^JI
252
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^JI
Start ZBI (Zebra BASIC Interpreter)
Description ^JI works much like the ~JI command. Both commands are sent to the
printer to initialize the Zebra BASIC Interpreter.
In interactive mode, ^JI can be sent through one of the communication ports (serial, parallel,
or Ethernet) to initialize the printer to receive ZBI commands. This command can be sent from
one of the Zebra software utilities, such as ZTools, or from a terminal emulation program.
When the command is received, the printer responds by sending a ZBI header back to the
console, along with the program version number. This indicates that the interpreter is active.
Format ^JId:o.x,b,c,d
This table identifies the parameters for this format:
* This parameter is only available on printers with firmware V60.12.0.x or earlier.
Identifies features that are available in printers with firmware version V60.16.2Z, V53.16.2Z,
or later.
Parameters Details
d = location of
program to run
after initialization
Acceptable Values: R:, E:, B:, and A:
Default Value: location must be specified
o = name of program
to run after
initialization
Accepted Values: any valid program name
Default Value: name must be specified
x = extension of
program to run
after initialization
.BAE is only supported
in firmware version
V60.16.2Z or later
Fixed Value: .BAS, .BAE
b = console control Accepted Values:
Y = console on
N = console off
Default Value: Y
c = echoing control Accepted Values:
Y = echo on
N = echo off
Default Value: Y
d = memory allocation
for ZBI *
Accepted Values: 20K to 1024K
Default Value: 50K
253
ZPL Commands
^JI
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Comments When the printer is turned on, it can receive ZPL II commands and label
formats. However, for the printer to recognize ZBI commands and programs, it must be
initialized using ^JI or ~JI.
Only one ZBI interpreter can be active in the printer at a time. If a second ^JI or ~JI
command is received while the interpreter is running, the command is ignored.
The interpreter is deactivated by entering one of two commands:
ZPL at the ZBI prompt
~JQ at an active ZPL port
ZPL Commands
~JI
254
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~JI
Start ZBI (Zebra BASIC Interpreter)
Description ~JI works much like the ^JI command. Both commands are sent to the
printer to initialize the Zebra BASIC Interpreter.
In interactive mode, ~JI can be sent through one of the communication ports (serial, parallel,
or Ethernet) to initialize the printer to receive ZBI commands. This command can be sent from
one of the Zebra software utilities, such as ZTools, or from a standard PC program, such as
Hyper terminal.
When the command is received, the printer responds by sending a ZBI header back to the
console, along with the program version number. This indicates that the interpreter is active.
Format ~JI
Comments While receiving commands, the printer echoes the received characters back to
the source. This can be toggled on and off with the ZBI ECHO command.
When the printer is turned on, it can receive ZPL II commands and label formats. However, for
the printer to recognize ZBI commands and formats, it must be initialized using ^JI or ~JI.
Only one ZBI interpreter can be active in the printer at a time. If a second ~JI or ^JI
command is received while the interpreter is running, the command is ignored.
The interpreter is deactivated by entering one of these commands:
ZPL at the ZBI prompt
~JQ at an active ZPL port
Identifies features that are available in printers with firmware version V60.16.2Z, V53.16.2Z,
or later.
255
ZPL Commands
^JJ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^JJ
Set Auxiliary Port
Description The ^JJ command allows you to control an online verifier or applicator
device.
Format ^JJa,b,c,d,e,f
This table identifies the parameters for this format:
Parameters Details
a = operational mode for
auxiliary port
Accepted Values:
0 = off
1 = reprint on errorthe printer stops on a label with a
verification error. When PAUSE is pressed, the
label reprints (if ^JZ is set to reprint). If a bar code
is near the upper edge of a label, the label feeds out
far enough for the bar code to be verified and then
backfeeds to allow the next label to be printed and
verified.
2 = maximum throughputthe printer stops when a
verification error is detected. The printer starts
printing the next label while the verifier is still
checking the previous label. This mode provides
maximum throughput, but does not allow the
printer to stop immediately on a label with a
verification error.
Default Value: 0
b = application mode Accepted Values:
0 = off
1 = End Print signal normally high, and low only when
the printer is moving the label forward.
2 = End Print signal normally low, and high only when
the printer is moving the label forward.
3 = End Print signal normally high, and low for 20 ms
when a label has been printed and positioned.
4 = End Print signal normally low, and high for 20 ms
when a label has been printed and positioned.
Default Value: 0
c = application mode
start signal print
Accepted Values:
p = Pulse Mode Start Print signal must be de-asserted
before it can be asserted for the next label.
l = Level Mode Start Print signal does not need to be
de-asserted to print the next label. As long as the
Start Print signal is low and a label is formatted, a
label prints.
Default Value: 0
ZPL Commands
^JJ
256
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
d = application label
error mode
Accepted Values:
e = error modethe printer asserts the Service
Required signal (svce_req - pin 10) on the
application port, enters into Pause Mode, and
displays an error message on the LCD.
f = Feed Modea blank label prints when the web is
not found where expected to sync the printer to the
media.
Default Value: f
e = reprint mode Accepted Values:
e = enabledthe last label reprints after the signal is
asserted. If a label is canceled, the label to be
reprinted is also canceled. This mode consumes
more memory because the last printed label is not
released until it reprints.
d = disabledprinter ignores the Reprint signal.
Default Value: d
f = ribbon low mode Accepted Values:
e = enabled printer warning issued when ribbon low.
d = disabled printer warning not issued when ribbon
low.
Default Value: e
Parameters Details
257
ZPL Commands
~JL
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~JL
Set Label Length
Description The ~JL command is used to set the label length. Depending on the size of the
label, the printer feeds one or more blank labels.
Format ~JL
ZPL Commands
^JM
258
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^JM
Set Dots per Millimeter
Description The ^JM command lowers the density of the print24 dots/mm becomes 12,
12 dots/mm becomes 6, 8 dots/mm becomes 4, and 6 dots/mm becomes 3. ^JM also affects the
field origin (^FO) placement on the label (see example below).
When sent to the printer, the ^JM command doubles the format size of the label. Depending on
the printhead, normal dot-per-millimeter capabilities for a Zebra printer are 12 dots/mm (304
dots/inch), 8 dots/mm (203 dots/inch) or 6 dots/mm (153 dots/inch).
This command must be entered before the first ^FS command in a format. The effects of ^JM
are persistent.
Format ^JMn
This table identifies the parameters for this format:
Comments If ^JMB is used, the UPS MaxiCode bar code becomes out of specification.
Parameters Details
n = set dots per
millimeter
Accepted Values:
A = 24 dots/mm, 12 dots/mm, 8 dots/mm or 6 dots/mm
B = 12 dots/mm, 6 dots/mm, 4 dots/mm or 3 dots/mm
Default Value: A
Example This example of the affects of alternating the dots per millimeter:
^XA
^JMA^FS
^FO100,100
^B2N,50,Y,N,N
^FD1234567890^FS
^XZ
ZPL II CODE GENERATED LABEL
^XA
^JMB^FS
^FO100,100
^B2N,50,Y,N,N
^FD1234567890^FS
^XZ
259
ZPL Commands
~JN
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~JN
Head Test Fatal
Description The ~JN command turns on the head test option. When activated, ~JN causes
the printer to halt when a head test failure is encountered.
Once an error is encountered the printer remains in error mode until the head test is turned off
(~JO) or power is cycled.
Format ~JN
Comments If the communications buffer is full, the printer is not able to receive data. In
this condition, the ~JO command is not received by the printer.
ZPL Commands
~JO
260
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~JO
Head Test Non-Fatal
Description The ~JO command turns off the head test option. ~JO is the default printhead
test condition and overrides a failure of printhead element status check. This state is changed
when the printer receives a ~JN (Head Test Fatal) command. The printhead test does not
produce an error when ~JO is active.
Format ~JO
261
ZPL Commands
~JP
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~JP
Pause and Cancel Format
Description The ~JP command clears the format currently being processed and places the
printer into Pause Mode.
The command clears the next format that would print, or the oldest format from the buffer.
Each subsequent ~JP command clears the next buffered format until the buffer is empty. The
DATA indicator turns off when the buffer is empty and no data is being transmitted.
Issuing the ~JP command is identical to using CANCEL on the printer, but the printer does
not have to be in Pause Mode first.
Format ~JP
ZPL Commands
~JQ
262
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~JQ
Terminate Zebra BASIC Interpreter
Description The ~JQ command is used when Zebra BASIC Interpreter is active. Sending
~JQ to the printer terminates the ZBI session.
Format ~JQ
Comments Entering ZPL at the command prompt also terminates a ZBI session.
Identifies features that are available in printers with firmware version V60.16.2Z, V53.16.2Z,
or later.
263
ZPL Commands
~JR
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~JR
Power On Reset
Description The ~JR command resets all of the printers internal software, performs a
power-on self-test (POST), clears the buffer and DRAM, and resets communication
parameters and default values. Issuing a ~JR command performs the same function as a
manual power-on reset.
Format ~JR
ZPL Commands
^JS
264
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^JS
Sensor Select
Format ^JSa
This table identifies the parameters for this format:
Note This command is ignored on Zebra ZM400/ZM600 printers.This command is only
for use with the Z series and S4M printers (with the exception of the ZM400/ZM600).
Parameters Details
a = sensor selection Accepted Values:
A = auto select
R = reflective sensor
T = transmissive sensor
Default Value: Z series = A and the S4M = R
265
ZPL Commands
~JS
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~JS
Change Backfeed Sequence
Description The ~JS command is used to control the backfeed sequence. This command
can be used on printers with or without built-in cutters.
These are the primary applications:
to allow programming of the rest point of the cut edge of continuous media.
provide immediate backfeed after peel-off when the printer is used in a print/apply
application configuration.
This command stays in effect only until the printer is turned off, a new ~JS command is sent,
or the setting is changed on the control panel. When a ~JS command is encountered, it
overrides the current control panel setting for the Backfeed Sequence.
The most common way of eliminating backfeed is to operate in Rewind Mode. Rewind Mode
does not backfeed at all. After a label prints, the leading edge of the next label is placed at the
print line. This eliminates the need to backfeed and does not introduce a non printable area at
the leading edge or bottom of the label. It also does not allow the label to be taken from the
printer because it is not fed out from under the printhead.
Running in another mode with backfeed turned off allows the label to be removed and
eliminates the time-reduction of the backfeed sequence.
Format ~JSb
This table identifies the parameters for this format:
Comments When using a specific value, the difference between the value entered and 100
percent is calculated before the next label is printed. For example, a value of 40 means 40
percent of the backfeed takes place after the label is cut or removed. The remaining 60 percent
takes place before the next label is printed.
Parameters Details
b = backfeed order in
relation to printing
Accepted Values:
A = 100 percent backfeed after printing and cutting
B = 0 percent backfeed after printing and cutting, and
100 percent before printing the next label
N = normal 90 percent backfeed after label is printed
O = off turn backfeed off completely
10 to 90 = percentage value
The value entered must be a multiple of 10. Values not
divisible by 10 are rounded to the nearest acceptable
value. For example, ~JS55 is accepted as 50 percent
backfeed.
Default Value: N
ZPL Commands
~JS
266
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
The value for this command is also reflected in the Backfeed parameter on the printer
configuration label.
For ~JSN the Backfeed parameter is listed as DEFAULT
For ~JSA or 100% the Backfeed parameter is listed as AFTER
For ~JSB or 0% the Backfeed parameter is listed as BEFORE
For ~JS10 10% of the backfeed takes place after the label is cut or removed. The
remaining 90% takes place before the next label is printed.
This command is ignored on the HC100 printer.
267
ZPL Commands
^JT
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^JT
Head Test Interval
Description The ^JT command allows you to change the printhead test interval from every
100 labels to any desired interval. With the ^JT command, the printer is allowed to run the
test after printing a label. When a parameter is defined, the printer runs the test after printing a
set amount of labels.
The printers default head test state is off. Parameters for running the printhead test are defined
by the user.
Format ^JT####,a,b,c
This table identifies the parameters for this format:
Comments The ^JT command supports testing a range of print elements. The printer
automatically selects the test range by tracking which elements have been used since the
previous test.
^JT also turns on Automatic Mode to specify the first and last elements for the head test. This
makes it possible to select any specific area of the label or the entire print width.
If the last element selected is greater than the print width selected, the test stops at the selected
print width.
Whenever the head test command is received, a head test is performed on the next label unless
the count is set to 0 (zero).
Parameters Details
#### = four-digit
number of labels
printed between head
tests
Accepted Values: 0000 to 9999
If a value greater than 9999 is entered, it is ignored.
Default Value: 0000 (off)
a = manually select range
of elements to test
Accepted Values:
N = no
Y = yes
Initial Value at Power-up: N
b = first element to check
when parameter a is
Y
Accepted Values: 0 to 9999
Initial Value at Power-up: 0
c = last element to check
when parameter a is
Y
Accepted Values: 0 to 9999
Initial Value at Power-up: 9999
ZPL Commands
^JU
268
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^JU
Configuration Update
Description The ^JU command sets the active configuration for the printer.
Format ^JUa
This table identifies the parameters for this format:
Parameters Details
a = active configuration Accepted Values:
F = reload factory settings
N = reload factory network settings
These values are lost at power-off if not saved with ^JUS.
R = recall last saved settings
S = save current settings
These values are used at power-on.
Default Value: a value must be specified
269
ZPL Commands
^JW
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^JW
Set Ribbon Tension
Description ^JW sets the ribbon tension for the printer it is sent to.
Format ^JWt
This table identifies the parameters for this format:
Comments ^JW is used only for PAX series printers.
Parameters Details
t = tension Accepted Values:
L = low
M = medium
H = high
Default Value: a value must be specified
ZPL Commands
~JX
270
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~JX
Cancel Current Partially Input Format
Description The ~JX command cancels a format currently being sent to the printer. It does
not affect any formats currently being printed, or any subsequent formats that might be sent.
Format ~JX
271
ZPL Commands
^JZ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^JZ
Reprint After Error
Description The ^JZ command reprints a partially printed label caused by a Ribbon
Out, Media Out, or Head Open error condition. The label is reprinted as soon as the
error condition is corrected.
This command remains active until another ^JZ command is sent to the printer or the printer
is turned off.
Format ^JZa
This table identifies the parameters for this format:
Comments ^JZ sets the error mode for the printer. If ^JZ changes, only labels printed
after the change are affected.
If the parameter is missing or incorrect, the command is ignored.
Parameters Details
a = reprint after error Accepted Values:
N = no
Y = yes
Initial Value at Power-up: Y
ZPL Commands
~KB
272
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~KB
Kill Battery (Battery Discharge Mode)
Description To maintain performance of the rechargeable battery in the portable printers,
the battery must be fully discharged and recharged regularly. The ~KB command places the
printer in battery discharge mode. This allows the battery to be drained without actually
printing.
Format ~KB
Comments While the printer is in Discharge Mode, the green power LED flashes in groups
of three flashes.
Discharge Mode might be terminated by sending a printing format to the printer or by pressing
either of the control panel keys.
If the battery charger is plugged into the printer, the battery is automatically recharged once the
discharge process is completed.
273
ZPL Commands
^KD
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^KD
Select Date and Time Format (for Real Time Clock)
Description The ^KD command selects the format that the Real-Time Clocks date and
time information presents as on a configuration label. This is also displayed on the Printer Idle
LCD control panel display, and displayed while setting the date and time.
Format ^KDa
This table identifies the parameters for this format:
Comments If the Real-Time Clock hardware is not present, Display Mode is set to 0
(Version Number).
If Display Mode is set to 0 (Version Number) and the Real-Time Clock hardware is present,
the date and time format on the configuration label is presented in format 1.
If Display Mode is set to 0 (Version Number) and the Real-Time Clock hardware is present,
the date and time format on the control panel display is presented in format 1.
For more details on select date and time format for the Real Time Clock, see Real Time Clock
on page 923.
Parameters Details
a = value of date and
time format
Accepted Values:
0 = normal, displays Version Number of firmware
1 = MM/DD/YY (24-hour clock)
2 = MM/DD/YY (12-hour clock)
3 = DD/MM/YY (24-hour clock)
4 = DD/MM/YY (12-hour clock)
Default Value: 0
ZPL Commands
^KL
274
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^KL
Define Language
Description The ^KL command selects the language displayed on the control panel.
Format ^KLa
This table identifies the parameters for this format:
* These values are only supported on Zebra ZM400/ZM600 printer.
Parameters Details
a = language Accepted Values:
1 = English
2 = Spanish
3 = French
4 = German
5 = Italian
6 = Norwegian
7 = Portuguese
8 = Swedish
9 = Danish
10 = Spanish2
11 = Dutch
12 = Finnish
13 = Japanese
14 = Korean *
15 = Simplified Chinese *
16 = Traditional Chinese *
Default Value: 1
275
ZPL Commands
^KN
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^KN
Define Printer Name
Description The printers network name and description can be set using the ^KN
command. ^KN is designed to make your Zebra printer easy for users to identify. The name the
administrator designates is listed on the configuration label and on the Web page generated by
the printer.
Format ^KNa,b
This table identifies the parameters for this format:
Parameters Details
a = printer name Accepted Values: up to 16 alphanumeric characters
Default Value: if a value is not entered, the parameter is
ignored
If more than 16 characters are entered, only the first 16 are
used.
b = printer description Accepted Values: up to 35 alphanumeric characters
Default Value: if a value is not entered, the parameter is
ignored
If more than 35 characters are entered, only the first 35 are
used.
ZPL Commands
^KN
276
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example This is an example of how to change the printers network name an description:
This shows how a configuration looks before using this command and after using this
command:
^XA
^KNZebra1,desk_printer
^XZ
Before using this command: After using this command:
277
ZPL Commands
^KP
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^KP
Define Password
Description The ^KP command is used to define the password that must be entered to
access the control panel switches and LCD Setup Mode.
Format ^KPa,b
This table identifies the parameters for this format:
Comments If you forget your password, the printer can be returned to a default Setup Mode
and the default password 1234 is valid again. Caution should be used, however this also
sets the printer configuration values back to their defaults.
To return the printer to the default factory settings using ZPL, send this:
^XA
^JUF
^XZ
To return the printer to the default factory settings using the control panel keys, see your
printers User Guide for the procedure.
Parameters Details
a = mandatory four-digit
password
Accepted Values: any four-digit numeric sequence
Default Value: 1234
b = password level Accepted Values: 1, 2, 3, 4
Default Value: 3
Example This is an example of how to set a new control panel password:
^XA
^KP5678
^XZ
ZPL Commands
^LF
278
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^LF
List Font Links
Description The ^LF command prints out a list of the linked fonts.
This command is available only for printers with firmware version V60.14.x, V50.14.x, or
later.
Example This example shows that SWISS721.TTF is the based font. ANMDJ.TTF is the
first linked font, and MSGOTHIC.TTF is the second linked extension:
This is the code that established the font links:
^XA
^FLE:ANMDJ.TTF,E:SWISS721.TTF,1^FS
^FLE:MSGOTHIC.TTF,E:SWISS721.TTF,1^FS
^XZ
ZPL II CODE GENERATED LABEL
^XA
^LF
^XZ
279
ZPL Commands
^LH
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^LH
Label Home
Description The ^LH command sets the label home position.
The default home position of a label is the upper-left corner (position 0,0 along the x and y
axis). This is the axis reference point for labels. Any area below and to the right of this point is
available for printing. The ^LH command changes this reference point. For instance, when
working with preprinted labels, use this command to move the reference point below the
preprinted area.
This command affects only fields that come after it. It is recommended to use ^LH as one of
the first commands in the label format.
Format ^LHx,y
This table identifies the parameters for this format:
Depending on the printhead used in your printer, use one of these when figuring the values for
x and y:
6 dots = 1 mm, 152 dots = 1 inch
8 dots = 1 mm, 203 dots = 1 inch
11.8 dots = 1 mm, 300 dots = 1 inch
24 dots = 1 mm, 608 dots = 1 inch
Comments To be compatible with existing printers, this command must come before the
first ^FS (Field Separator) command. Once you have issued an ^LH command, the setting is
retained until you turn off the printer or send a new ^LH command to the printer.
Parameters Details
x = x-axis position (in
dots)
Accepted Values: 0 to 32000
Initial Value at Power-up: 0 or last permanently saved value
y = y-axis position (in
dots)
Accepted Values: 0 to 32000
Initial Value at Power-up: 0 or last permanently saved value
ZPL Commands
^LL
280
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^LL
Label Length
Description The ^LL command defines the length of the label. This command is necessary
when using continuous media (media not divided into separate labels by gaps, spaces, notches,
slots, or holes).
To affect the current label and be compatible with existing printers, ^LL must come before the
first ^FS (Field Separator) command. Once you have issued ^LL, the setting is retained until
you turn off the printer or send a new ^LL command.
Format ^LLy
This table identifies the parameters for this format:
Comments These formulas can be used to determine the value of y:
Values for y depend on the memory size. If the entered value for y exceeds the acceptable
limits, the bottom of the label is cut off. The label also shifts down from top to bottom.
If multiple ^LL commands are issued in the same label format, the last ^LL command affects
the next label unless it is prior to the first ^FS.
This command is ignored on the HC100 printer.
Parameters Details
y = y-axis position (in
dots)
Accepted Values: 1 to 32000, not to exceed the maximum
label size.
While the printer accepts any value for this parameter, the
amount of memory installed determines the maximum
length of the label.
Default Value: typically set through the LCD (if applicable),
or to the maximum label length capability of the printer.
For 6 dot/mm printheads... Label length in inches x 152.4 (dots/inch) = y
For 8 dot/mm printheads... Label length in inches x 203.2 (dots/inch) = y
For 12 dot/mm printheads... Label length in inches x 304.8 (dots/inch) = y
For 24 dot/mm printheads... Label length in inches x 609.6 (dots/inch) = y
281
ZPL Commands
^LR
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^LR
Label Reverse Print
Description The ^LR command reverses the printing of all fields in the label format. It
allows a field to appear as white over black or black over white.
Using the ^LR is identical to placing an ^FR command in all current and subsequent fields.
Format ^LRa
This table identifies the parameters for this format:
Comments The ^LR setting remains active unless turned off by ^LRN or the printer is
turned off.
Only fields following this command are affected.
Parameters Details
a = reverse print all fields Accepted Values:
N = no
Y = yes
Initial Value at Power-up: N or last permanently saved value
Example This is an example that shows printing white over black and black over white.
The ^GB command is used to create the black background.
Note ^GB needs to be used together with ^LR.
^XA^LRY
^FO100,50
^GB195,203,195^FS
^FO180,110^CFG
^FDLABEL^FS
^FO130,170
^FDREVERSE^FS
^XZ
ZPL II CODE GENERATED LABEL
ZPL Commands
^LS
282
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^LS
Label Shift
Description The ^LS command allows for compatibility with Z-130 printer formats that
are set for less than full label width. It is used to shift all field positions to the left so the same
commands used on a Z-130 or Z-220 Printer can be used on other Zebra printers.
To determine the value for the ^LS command, use this formula:
Z-130 and Z-220 values for ^LHx + ^FOx
(distance from edge of label) = printer value for ^LSa
If the print position is less than 0, set ^LS to 0.
Format ^LSa
This table identifies the parameters for this format:
Comments When entering positive values, it is not necessary to use the + sign. The value is
assumed to be positive unless preceded by a negative sign (-).
To be compatible with existing Zebra printers, this command must come before the first ^FS
(Field Separator) command. Once you have issued an ^LS command, the setting is retained
until you turn off the printer or send a new ^LS command to the printer.
Important The ability to save the ^LS command depends on the version of firmware.
Parameters Details
a = shift left value (in
dots)
Accepted Values: -9999 to 9999
Initial Value at Power-up: 0
283
ZPL Commands
^LT
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^LT
Label Top
Description The ^LT command moves the entire label format a maximum of
120 dot rows up or down from its current position, in relation to the top edge of the label. A
negative value moves the format towards the top of the label; a positive value moves the
format away from the top of the label.
This command can be used to fine-tune the position of the finished label without having to
change any of the existing parameters.
Format ^LTx
This table identifies the parameters for this format:
Comments The Accepted Value range for x might be smaller depending on the printer
platform.
The ^LT command does not change the media rest position.
Important For some printer models, it is possible to request a negative value large enough
to cause the media to backup into the printer and become unthreaded from the platen. This
condition can result in a printer error or unpredictable results.
Parameters Details
x = label top (in dot
rows)
Accepted Values:
-120 to 120
0 to 120 (on the HC100)
Default Value: a value must be specified or the command is
ignored
ZPL Commands
^MA
284
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^MA
Set Maintenance Alerts
Description The ^MA command controls how the printer issues printed maintenance alerts.
Maintenance alerts are labels that print with a warning that indicates the printhead needs to be
cleaned or changed. This command is only supported on Zebra ZM400/ZM600, S4M
(with v53.15.5Z or later), and G-Series printers.
Description
Format ^MAtype,print,printlabel_threshold,frequency,units
This table identifies the parameters for this format:
Parameters Details
type = type of alert Accepted Values:
R = head replacement
C = head cleaning
Default Value: This parameter must be specified as R or C for
print, printlabel_threshold, and frequency to be
saved. However, units will always be set.
print = determines
if the alert prints
a label
Accepted Values:
Y = print a label
N = do not print label
Default Value: N
printlabel
threshold=
distance where
the first alert
occurs
Accepted Values:
R = head replacement (unit of measurement for head is km
with a range of 0 to 150 km)
C = clean head (unit of measurement is 1 meter = 39.37
inches with a range of 0 to 2000 meters. The range for
G-Series printers is 100 to 2000 meters.)
0 = off (when set to 0, the selected alert is disabled;
otherwise it is enabled.
Default Value: R = 50 km (1,968,500 inches) and C = 0 (off).
285
ZPL Commands
^MA
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
For details resetting the units of measure, see the ~HQ examples on page 219.
Comments Any values outside the specified range are ignored.
The intent of this command is to cause a label to print when the defined threshold is reached.
frequency =
distance before
reissuing the
alert
The unit of measurement is in meters. The range is 0 to 2000. The
range for G-Series printers is 0 or 5 to 2000 meters.When set to 0,
the alert label is only printed on power-up or when the printer is
reset.
Default Value: 0 (print on power-up).
units = odometer
and printhead
maintenance
commands
The units parameter reports units of the odometer and printhead
maintenance commands, as follows: ~HQOD,~HQPH,~WQOD,
~WQPH.
Accepted Values:
C = centimeters (displays as: cm)
I = inches (displays as: )
M = meters (displays as: M)
Default Value: I
Example This example sets the printed head cleaning message to print after five meters
and to repeat every one meter after that until a ~ROC command is issued.
The Early Warning Maintenance setting must be ON.To enable the maintenance alert system
on the G-Series printer the ^JH command is used; on other Zebra printers the front panel
can also be used.
1. To set ^MA to print out a label flagging the need to clean the head, type:
^XA^MAC,Y,5,1^XZ
When the threshold is met a label will print indicating that the head needs to be clean.
2. For this example, the message on the label looks like this:
Parameters Details
ZPL Commands
^MC
286
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^MC
Map Clear
Description In normal operation, the bitmap is cleared after the format has been printed.
The ^MC command is used to retain the current bitmap. This applies to current and subsequent
labels until cleared with ^MCY.
Format ^MCa
This table identifies the parameters for this format:
Comments The ^MC command retains the image of the current label after formatting. It
appears in the background of the next label printed.
Important To produce a label template, ^MC must be used with ^FV.
Parameters Details
a = map clear Accepted Values: Y (clear bitmap) or N (do not clear bitmap)
Initial Value at Power-up: Y
287
ZPL Commands
^MD
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^MD
Media Darkness
Description The ^MD command adjusts the darkness relative to the current darkness
setting.
Format ^MDa
This table identifies the parameters for this format:
Comments The ~SD command value, if applicable, is added to the ^MD command.
Parameters Details
a = media darkness level Accepted Values: -30 to 30, depending on current value
Initial Value at Power-up: 0
If no value is entered, this command is ignored.
Example These examples show setting the printer to different darkness levels:
If the current value (value on configuration label) is 16, entering the command ^MD-9
decreases the value to 7.
If the current value (value on configuration label) is 1, entering the command ^MD15
increases the value to 16.
If the current value (value on configuration label) is 25, entering the command ^MD10
increases only the value to 30, which is the maximum value allowed.
Each ^MD command is treated separately in relation to the current value as printed on the
configuration label.
Important The darkness setting range for the XiIIIPlus is 0 to 30 in increments of 0.1.
The firmware is setup so that the ^MD and ~SD commands (ZPL darkness commands)
accepts that range of settings.
Example These are examples of the XiIIIPlus Darkness Setting:
^MD8.3
~SD8.3
Example For example, this is what would happen if two ^MD commands were received:
Assume the current value is 15. An ^MD-6 command is received that changes the current
value to 9. Another command, ^MD2, is received. The current value changes to 17.
The two ^MD commands are treated individually in relation to the current value of 15.
ZPL Commands
^MF
288
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^MF
Media Feed
Description The ^MF command dictates what happens to the media at power-up and at
head-close after the error clears.
Format ^MFp,h
This table identifies the parameters for this format:
* This value is only supported on Zebra XiIIIPlus, PAX, ZM400/ZM600, and S4M printers.
Comments It is important to remember that if you choose the N setting, the printer
assumes that the media and its position relative to the printhead are the same as before power
was turned off or the printhead was opened. Use the ^JU command to save changes.
Parameters Details
p = feed action at power-
up
Accepted Values:
F = feed to the first web after sensor
C = (see ~JC on page 245 definition)
L = (see ~JL on page 257 definition)
N = no media feed
S = short calibration *
Default Value: C
h = feed action after
closing printhead
Accepted Values:
F = feed to the first web after sensor
C = (see ~JC on page 245 definition)
L = (see ~JL on page 257 definition)
N = no media feed
S = short calibration *
Default Value: C
289
ZPL Commands
^MI
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^MI
Set Maintenance Information Message
Description The ^MI command controls the content of maintenance alert messages, which
are reminders printed by the printer to instruct the operator to clean or replace the printhead.
This command is only supported on Zebra ZM400/ZM600, S4M (with v53.15.4Z or
later), and G-Series printers.
Format ^MItype,message
This table identifies the parameters for this format:
Parameters Details
type = identifies the
type of alert
Accepted Values:
R = head replacement
C = head cleaning
Default Value: R
message = message
that prints on the
label when a
maintenance
alert occurs
The maximum length of each message is 63 characters. All
characters following the comma and preceding the next tilde (~)
or carat (^) define the message string. Commas (,) are not
allowed in the message.
Default Value:
HEAD CLEANING = please clean printhead
HEAD REPLACEMENT = please replace printhead
Example This example sets the printhead (head) replacement warning message. Printing of
this message is controlled by the ^MA command.
1. To customize the text of this label, type something like this:
^XA^MIR,PRINT HEAD NEEDS REPLACEMENT - CALL EXT 1000^XZ
The label prints whatever you program it to say.
2. For this example, the message on the label looks like this:
ZPL Commands
^ML
290
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^ML
Maximum Label Length
Description The ^ML command lets you adjust the maximum label length.
Format ^MLa
This table identifies the parameters for this format:
Comments For calibration to work properly, you must set the maximum label length equal
to or greater than your actual label length.
This command is ignored on the HC100 printer.
Parameters Details
a = maximum label
length (in dot rows)
Accepted Values: 0 to maximum length of label
Default Value: last permanently saved value
291
ZPL Commands
^MM
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^MM
Print Mode
Description The ^MM command determines the action the printer takes after a label or
group of labels has printed.
Format ^MMa,b
This table identifies the parameters for this format:
* These values are only supported on the Zebra ZM400/ZM600 printer.
This list identifies the different modes of operation:
Tear-off after printing, the label advances so the web is over the tear bar. The label,
with liner attached, can be torn off manually.
Parameters Details
a = desired mode Accepted Values:
T = Tear-off
P = Peel-off (not available on S-300)
R = Rewind (depends on printer model)
A = Applicator (depends on printer model)
C = Cutter (depends on printer model)
D = Delayed cutter
F = RFID
L = Reserved *
U = Reserved *
Default Value:
The values available for parameter a depend on the
printer being used and whether it supports the option.
For RFID printers:
A = R110PAX4 print engines
F = other RFID printers
b = prepeel select Accepted Values:
N = no
Y = yes
Default Value: N
The command is ignored if parameters are missing or
invalid. The current value of the command remains
unchanged.
ZPL Commands
^MM
292
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Peel-off after printing, the label moves forward and activates a Label Available Sensor.
Printing stops until the label is manually removed from the printer.
Power Peel liner automatically rewinds using an optional internal rewind spindle.
Value Peel liner feeds down the front of the printer and is manually removed.
Prepeel after each label is manually removed, the printer feeds the next label forward to
prepeel a small portion of the label away from the liner material. The printer then
backfeeds and prints the label. The prepeel feature assists in the proper peel operation of
some media types.
Rewind the label and backing are rewound on an (optional) external rewind device.
The next label is positioned under the printhead (no backfeed motion).
Applicator when used with an application device, the label move far enough forward to
be removed by the applicator and applied to an item.
Cutter after printing, the media feeds forward and is automatically cut into
predetermined lengths.
Delayed cutter When the printer is in the Delayed Cut PRINT MODE, it will cut the
label when it receives the ~JK (Delayed Cut) command. To activate the ~JK command,
the printer's PRINT MODE must be set to Delayed Cut and there must be a label waiting
to be cut. When the printer is not in the Delayed Cut PRINT MODE, the printer will not
cut the label when it receives the ~JK command.
The Delayed Cut feature can be activated:
through PRINT MODE on the printers control panel
with a ^MMD command
RFID increases throughput time when printing batches of RFID labels by eliminating
backfeed between labels.
Comments Be sure to select the appropriate value for the print mode being used to avoid
unexpected results.
This command is ignored on the HC100 printer.
Note Send ~JK in a separate file - it cannot be sent at the end of a set of commands.
293
ZPL Commands
^MN
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^MN
Media Tracking
Description The ^MN command relays to the printer what type of media is being used
(continuous or non-continuous) for purposes of tracking.
This bulleted list shows the types of media associated with this command:
Continuous Media this media has no physical characteristic (such as a web, notch,
perforation, black mark) to separate labels. Label length is determined by the ^LL
command.
Non-continuous Media this media has some type of physical characteristic (such as web,
notch, perforation, black mark) to separate the labels.
Format ^MNa
This table identifies the parameters for this format:
* provides the same result.
** This parameter is supported only on Zebra G-Series printers.
Comments This command is ignored on the HC100 printer.
Parameters Details
a = media being used Accepted Values:
N = continuous media
Y = non-continuous media web sensing *
W = non-continuous media web sensing *
M = non-continuous media mark sensing
A = auto-detects the type of media during calibration**
Default Value: a value must be entered or the command is
ignored
ZPL Commands
^MP
294
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^MP
Mode Protection
Description The ^MP command is used to disable the various mode functions on the
control panel. Once disabled, the settings for the particular mode function can no longer be
changed and the LED associated with the function does not light.
Because this command has only one parameter, each mode must be disabled with an individual
^MP command.
Format ^MPa
This table identifies the parameters for this format:
Parameters Details
a = mode to protect Accepted Values:
D = disable Darkness Mode
P = disable Position Mode
C = disable Calibration Mode
E = enable all modes
S = disable all mode saves (modes can be adjusted but
values are not saved)
W = disable Pause
F = disable Feed
X = disable Cancel
M = disable menu changes
Default Value: a value must be entered or the command is
ignored
295
ZPL Commands
^MP
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example This example shows the ZPL code that disables modes D and C. It also shows the
effects on the configuration label before and after the ZPL code is sent:
^XA
^MPD
^MPC
^XZ
Before
After
ZPL Commands
^MT
296
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^MT
Media Type
Description The ^MT command selects the type of media being used in the printer.
These are the choices for this command:
Thermal Transfer Media this media uses a high-carbon black or colored ribbon. The
ink on the ribbon is bonded to the media.
Direct Thermal Media this media is heat sensitive and requires no ribbon.
Format ^MTa
This table identifies the parameters for this format:
Comments This command is ignored on the HC100 printer.
Parameters Details
a = media type used Accepted Values:
T = thermal transfer media
D = direct thermal media
Default Value: a value must be entered or the command is
ignored
297
ZPL Commands
^MU
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^MU
Set Units of Measurement
Description The ^MU command sets the units of measurement the printer uses. ^MU works
on a field-by-field basis. Once the mode of units is set, it carries over from field to field until a
new mode of units is entered.
^MU also allows for printing at lower resolutions 600 dpi printers are capable of printing at
300, 200, and 150 dpi; 300 dpi printers are capable of printing at 150 dpi.
Format ^MUa,b,c
This table identifies the parameters for this format:
Parameters Details
a = units Accepted Values:
D = dots
I = inches
M = millimeters
Default Value: D
b = format base in dots
per inch
Accepted Values: 150, 200, 300
Default Value: a value must be entered or the command is
ignored
c = desired dots-per-inch
conversion
Accepted Values: 300, 600
Default Value: a value must be entered or the command is
ignored
Example This is an example of Setting Units:
Assume 8 dot/millimeter (203 dot/inch) printer.
Field based on dots:
^MUd^FO100,100^GB1024,128,128^FS
Field based on millimeters:
^MUm^FO12.5,12.5^GB128,16,16^FS
Field based on inches:
^MUi^FO.493,.493^GB5.044,.631,.631^FS
ZPL Commands
^MU
298
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Comments This command should appear at the beginning of the label format to be in
proper ZPL II format.
To turn the conversion off, enter matching values for parameter b and c.
Example This is an example of Converting dpi Values.
Convert a 150 dpi format to a 300 dpi format with a base in dots:
^MUd,150,300
Convert a 150 dpi format to a 600 dpi format with a base in dots:
^MUd,150,600
Convert a 200 dpi format to a 600 dpi format with a base in dots:
^MUd,200,600
To reset the conversion factor to the original format, enter matching values for
parameters b and c:
^MUd,150,150
^MUd,200,200
^MUd,300,300
^MUd,600,600
299
ZPL Commands
^MW
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^MW
Modify Head Cold Warning
Description The ^MW command allows you to set the head cold warning indicator based on
the operating environment.
Format ^MWa
This table identifies the parameters for this format:
Parameters Details
a = enable head cold
warning
Accepted Values:
Y = enable head cold warning
N = disable head cold warning
Important When a parameter is not given, the instruction is ignored.
ZPL Commands
^NC
300
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^NC
Select the Primary Network Device
Description The ^NC command selects the wired or wireless print server as the primary
network device. This command is supported only on Zebra ZM400/ZM600 printers.
The ZM400 and ZM600 printers support the simultaneous installation of an internal, external,
and a wireless print server. Even though all three print servers may be installed, only one is
connected to the network and is the active print server. Table 1 outlines priorities and identifies
which device becomes the active print server when multiple print servers are installed.
Format ^NCa
This table identifies the parameters for this format:
Table 1 Effect of Primary Network Setting on Active Print Server
If the
Primary
Network is
set to:
Installed and Connected to
a Live Ethernet Network Then, the Active
Print Server will be:
Internal External Wireless*
Wired
X X X Internal
X X External
X Wireless
Wireless
X X X Wireless
X X Internal
X External
* NOTE: A wireless option board must have an active radio that can properly associate to an access point.
Parameters Details
a = primary network
device
Accepted Values:
1 = wired primary
2 = wireless primary
Default Value: 1
must be an accepted value or it is ignored
301
ZPL Commands
~NC
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~NC
Network Connect
Description The ~NC command is used to connect a particular printer to a network by
calling up the printers network ID number.
Format ~NC###
This table identifies the parameters for this format:
Comments Use this command at the beginning of any label format to specify which printer
on the network is going to be used. Once the printer is established, it continues to be used until
it is changed by another ~NC command. This command must be included in the label format to
wake up the printer.
The commands ^MW, ~NC, ^NI, ~NR, and ~NT are used only with RS-422/485 printer
communications.
Parameters Details
### = network ID
number assigned
(must be a three-digit
entry)
Accepted Values: 001 to 999
Default Value: 000 (none)
ZPL Commands
^ND
302
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^ND
Change Network Settings
Description The ^ND command changes the network settings on Zebra ZM400/ZM600
and S4M printers running V53.15.xZ or later.
For the external wired print server settings, the ^ND command is the same as the ^NS
command. For the wireless print server settings, the ^ND command is the same as the ^WI
command. This command is only supported on Zebra ZM400/ZM600 and S4M printers
running V53.15.xZ or later.
Format ^NDa,b,c,d,e,f,g,h,i,j
This table identifies the parameters for this format:
Parameters Details
a = the device that is
being modified
Accepted Values:
1 = external wired
2 = internal wired
3 = wireless
b = IP resolution Accepted Values:
A = All
B = BOOTP
C = DHCP and BOOTP
D = DHCP
G = Gleaning only (Not recommended when the Wireless
Print Server or Wireless Plus Print Server is installed.)
R = RARP
P = Permanent
Default Value: A
c = IP address Accepted Values: Any properly formatted IP address in the
xxx.xxx.xxx.xxx format.
d = subnet mask Accepted Values: Any properly formatted subnet mask in the
xxx.xxx.xxx.xxx format.
e = default gateway Accepted Values: Any properly formatted gateway in the
xxx.xxx.xxx.xxx format.
f = WINS server
address
Accepted Values: Any properly formatted WINS server in the
xxx.xxx.xxx.xxx format.
g = connection
timeout checking
Accepted Values:
Y = yes
N = no
Default Value: Y
h = timeout value Time, in seconds, before the connection times out.
Accepted Values: 0 through 9999
Default Value: 300
303
ZPL Commands
^ND
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
i = ARP broadcast
interval
Time, in minutes, that the broadcast is sent to update the devices
ARP cache.
Accepted Values: 0 through 30
Default Value: 0 (no ARP sent)
j = base raw port
number
The port number that the printer should use for its RAW data.
Accepted Values: 1 through 65535
Default Value: 9100
Parameters Details
ZPL Commands
^NI
304
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^NI
Network ID Number
Description The ^NI command is used to assign a network ID number to the printer. This
must be done before the printer can be used in a network.
Format ^NI###
This table identifies the parameters for this format:
Comments The last network ID number set is the one recognized by the system.
The commands ~NC, ^NI, ~NR, and ~NT are used only with RS-485 printer
communications.
Parameters Details
### = network ID
number assigned
(must be a three-digit
entry)
Accepted Values: 001 to 999
Default Value: 000 (none)
305
ZPL Commands
~NR
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~NR
Set All Network Printers Transparent
Description The ~NR command sets all printers in the network to be transparent, regardless
of ID or current mode.
Format ~NR
Comments The commands ~NC, ^NI, ~NR, and ~NT are used only with RS-485 printer
communications.
ZPL Commands
^NS
306
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^NS
Change Wired Networking Settings
Description Use this command to change the wired print server network settings.
Format ^NSa,b,c,d,e,f,g,h,i
The following table identifies the parameters for this format.
Parameters Details
a = IP resolution Accepted Values:
A = ALL
B = BOOTP
C = DHCP AND BOOTP
D = DHCP
G = GLEANING ONLY
R = RARP
P = PERMANENT
Default Value: A
Use of GLEANING ONLY is not recommended when the
Wireless Print Server or Wireless Plus Print Server is
installed.
b = IP address Accepted Values: Any properly formatted IP address in the
xxx.xxx.xxx.xxx format.
c = subnet mask Accepted Values: Any properly formatted subnet mask in the
xxx.xxx.xxx.xxx format.
d = default gateway Accepted Values: Any properly formatted gateway in the
xxx.xxx.xxx.xxx format.
e = WINS server address Accepted Values: Any properly formatted WINS server in the
xxx.xxx.xxx.xxx format.
f = connection timeout
checking
Accepted Values:
Y = Yes
N = No
Default Value: Y
g = timeout value Time, in seconds, before the connection times out.
Accepted Values: 0 through 9999
Default Value: 300
307
ZPL Commands
^NS
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Comments For the ZM400 and ZM600 printers, Zebra recommends that you use the ^ND
command instead of the ^NS command.
h = ARP broadcast
interval
Time, in minutes, that the broadcast is sent to update the
devices ARP cache.
Accepted Values: 0 through 30
Default Value: 0 (no ARP sent)
i = base raw port number The port number that the printer should use for its RAW data.
Accepted Values: 1 through 65535
Default Value: 9100
Example
^XA
^NSa,192.168.0.1,255.255.255.0,192.168.0.2
^XZ
Parameters Details
ZPL Commands
~NT
308
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
~NT
Set Currently Connected Printer Transparent
Description The ~NT command sets the currently connected network printer to be
transparent.
Format ~NT
Comments With Z Series
S
u
p
p
o
r
t
e
d
C
o
m
m
a
n
d
s
B
a
s
e
d
o
n
P
r
i
n
t
e
r
a
n
d
F
i
r
m
w
a
r
e
C
o
m
m
a
n
d
F
u
n
c
t
i
o
n
U
H
F
P
r
i
n
t
e
r
s
H
F
P
r
i
n
t
e
r
s
R 1 1 0 X i
a n d R 1 7 0 X i
R 1 1 0 P A X 4
R 4 M p l u s
R 1 1 0 X i H F
R 2 8 4 4 - Z
F
i
r
m
w
a
r
e
F
i
r
m
w
a
r
e
R 6 0 . 1 3 . X
R 6 0 . 1 5 . X
R 6 2 . 1 3 . X
R 6 3 . 1 3 . X
S P 9 9 4 X
S P 9 9 9 X
S P 1 0 2 7 X
S P 1 0 5 6 X
S P 1 0 8 2 X
a l l
a l l
^
H
L
o
r
~
H
L
o
n
p
a
g
e
3
7
3
R
e
t
u
r
n
R
F
I
D
D
a
t
a
L
o
g
t
o
H
o
s
t
*
*
*
*
*
*
*
*
*
*
^
H
R
o
n
p
a
g
e
3
7
4
C
a
l
i
b
r
a
t
e
R
F
I
D
T
r
a
n
s
p
o
n
d
e
r
P
o
s
i
t
i
o
n
*
*
*
*
*
*
*
*
*
*
^
R
A
o
n
p
a
g
e
3
7
6
R
e
a
d
A
F
I
o
r
D
S
F
I
D
B
y
t
e
^
R
B
o
n
p
a
g
e
3
7
8
D
e
f
i
n
e
E
P
C
D
a
t
a
S
t
r
u
c
t
u
r
e
*
*
*
*
*
*
*
*
*
*
^
R
E
o
n
p
a
g
e
3
8
0
E
n
a
b
l
e
/
D
i
s
a
b
l
e
E
.
A
.
S
.
B
i
t
*
*
^
R
F
o
n
p
a
g
e
3
8
1
R
e
a
d
o
r
W
r
i
t
e
R
F
I
D
F
o
r
m
a
t
*
*
*
*
*
*
*
*
*
*
^
R
I
o
n
p
a
g
e
3
8
4
G
e
t
R
F
I
D
T
a
g
I
D
*
(
R
6
0
.
1
3
.
0
.
1
3
Z
D
o
r
l
a
t
e
r
)
*
*
(
R
6
2
.
1
3
.
0
.
1
3
Z
C
o
r
l
a
t
e
r
)
*
(
R
6
3
.
1
3
.
0
.
1
1
Z
o
r
l
a
t
e
r
)
*
*
*
*
*
*
*
^
R
M
o
n
p
a
g
e
3
8
5
E
n
a
b
l
e
R
F
I
D
M
o
t
i
o
n
*
*
*
*
*
*
*
*
*
*
^
R
N
o
n
p
a
g
e
3
8
6
D
e
t
e
c
t
M
u
l
t
i
p
l
e
R
F
I
D
T
a
g
s
i
n
E
n
c
o
d
i
n
g
F
i
e
l
d
*
(
R
6
0
.
1
3
.
0
.
3
o
r
l
a
t
e
r
)
*
*
*
~
R
O
o
n
p
a
g
e
3
2
1
R
e
s
e
t
A
d
v
a
n
c
e
d
C
o
u
n
t
e
r
s
*
*
*
*
*
*
*
*
*
*
^
R
Q
o
n
p
a
g
e
3
8
7
Q
u
i
c
k
W
r
i
t
e
E
P
C
D
a
t
a
a
n
d
P
a
s
s
w
o
r
d
s
*
(
R
6
0
.
1
5
.
7
Z
o
r
l
a
t
e
r
)
*
(
R
6
2
.
1
5
.
7
Z
o
r
l
a
t
e
r
)
^
R
R
o
n
p
a
g
e
3
8
9
S
p
e
c
i
f
y
R
F
I
D
R
e
t
r
i
e
s
f
o
r
a
B
l
o
c
k
*
*
*
*
*
*
*
*
*
*
*
=
S
u
p
p
o
r
t
e
d
=
N
o
t
s
u
p
p
o
r
t
e
d
a
.
U
s
e
t
h
e
^
R
F
,
^
R
M
,
a
n
d
^
R
R
c
o
m
m
a
n
d
s
r
a
t
h
e
r
t
h
a
n
t
h
e
^
R
T
c
o
m
m
a
n
d
.
b
.
U
s
e
t
h
e
^
R
F
,
^
R
M
,
^
R
R
,
a
n
d
^
W
V
c
o
m
m
a
n
d
s
r
a
t
h
e
r
t
h
a
n
t
h
e
^
W
T
c
o
m
m
a
n
d
.
ZPL RFID Commands
Printer and Firmware Compatibility
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
372
^
R
S
o
n
p
a
g
e
3
9
0
S
e
t
U
p
R
F
I
D
P
a
r
a
m
e
t
e
r
s
*
*
*
*
*
*
*
*
*
*
*
^
R
T
o
n
p
a
g
e
3
9
6
R
e
a
d
R
F
I
D
T
a
g
*
a
*
a
*
a
*
a
*
a
*
a
*
a
*
a
*
a
*
a
*
~
R
V
o
n
p
a
g
e
3
9
9
R
e
p
o
r
t
R
F
I
D
E
n
c
o
d
i
n
g
R
e
s
u
l
t
s
*
*
*
*
*
(
S
P
9
9
4
J
o
r
l
a
t
e
r
)
*
(
S
P
9
9
9
C
o
r
l
a
t
e
r
)
*
*
*
^
R
W
o
n
p
a
g
e
4
0
0
S
e
t
R
F
I
D
R
e
a
d
a
n
d
W
r
i
t
e
P
o
w
e
r
L
e
v
e
l
s
*
*
*
*
*
*
*
*
*
*
^
R
Z
o
n
p
a
g
e
4
0
2
S
e
t
R
F
I
D
T
a
g
P
a
s
s
w
o
r
d
a
n
d
L
o
c
k
T
a
g
*
*
*
*
*
*
*
*
*
^
W
F
o
n
p
a
g
e
4
0
5
E
n
c
o
d
e
A
F
I
o
r
D
S
F
I
D
B
y
t
e
^
W
T
o
n
p
a
g
e
4
0
7
W
r
i
t
e
(
E
n
c
o
d
e
)
T
a
g
*
b
*
b
*
b
*
b
*
b
*
b
*
b
*
b
*
b
*
b
*
^
W
V
o
n
p
a
g
e
4
0
9
V
e
r
i
f
y
R
F
I
D
E
n
c
o
d
i
n
g
O
p
e
r
a
t
i
o
n
*
*
*
*
*
*
*
*
*
T
a
b
l
e
4
S
u
p
p
o
r
t
e
d
C
o
m
m
a
n
d
s
B
a
s
e
d
o
n
P
r
i
n
t
e
r
a
n
d
F
i
r
m
w
a
r
e
(
C
o
n
t
i
n
u
e
d
)
C
o
m
m
a
n
d
F
u
n
c
t
i
o
n
U
H
F
P
r
i
n
t
e
r
s
H
F
P
r
i
n
t
e
r
s
R 1 1 0 X i
a n d R 1 7 0 X i
R 1 1 0 P A X 4
R 4 M p l u s
R 1 1 0 X i H F
R 2 8 4 4 - Z
F
i
r
m
w
a
r
e
F
i
r
m
w
a
r
e
R 6 0 . 1 3 . X
R 6 0 . 1 5 . X
R 6 2 . 1 3 . X
R 6 3 . 1 3 . X
S P 9 9 4 X
S P 9 9 9 X
S P 1 0 2 7 X
S P 1 0 5 6 X
S P 1 0 8 2 X
a l l
a l l
*
=
S
u
p
p
o
r
t
e
d
=
N
o
t
s
u
p
p
o
r
t
e
d
a
.
U
s
e
t
h
e
^
R
F
,
^
R
M
,
a
n
d
^
R
R
c
o
m
m
a
n
d
s
r
a
t
h
e
r
t
h
a
n
t
h
e
^
R
T
c
o
m
m
a
n
d
.
b
.
U
s
e
t
h
e
^
R
F
,
^
R
M
,
^
R
R
,
a
n
d
^
W
V
c
o
m
m
a
n
d
s
r
a
t
h
e
r
t
h
a
n
t
h
e
^
W
T
c
o
m
m
a
n
d
.
373
ZPL RFID Commands
^HL or ~HL
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^HL or ~HL
Return RFID Data Log to Host
Description The printer continually logs RFID data and stores it in the printers RAM. Use
this command to request that the RFID data log be returned to the host computer, to clear the
current data log, and to restart data recording. The data returned show the status of the RFID
read, write, and lock commands and show any resulting error codes.
Format ^HL or ~HL
Comments
Data is shown in the format sent by the ^RFW command (ASCII, Hex, or EPC).
In the log, the data displays in this manner:
C,EEEE,DDDDDDDDDDDDDDDDDDDDDDDD
where
C = the RFID operation (R = read, W = write, L = lock)
EEEE = the RFID error code
DDDDDDDDDDDDDDDDDDDDDDDD = data read or written
If the log exceeds 64K (approximately 2000 operations), the data log is cleared
automatically, and data recording restarts. When this happens, the following appears in the
log:
Logfile automatically reset
If the printer loses power, the log is lost. If the log results are important to you, retrieve the
log frequently.
ZPL RFID Commands
^HR
374
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^HR
Calibrate RFID Transponder Position
Description Use this command to initiate an RFID transponder calibration for a specific
RFID label. Results are returned to the host computer. This calibration is used to determine the
optimal programming position for RFID media that may not meet the transponder placement
specifications for the printer.
During transponder calibration, the printer feeds the RFID label one-dot row at a time while
taking readings (via the READ TAG command and the WRITE TAG commands) to profile the
RFID transponder. Based on the results, the printer determines the optimal programming
position for the label and returns a results table to the host. The calibrated value is used as the
programming position for the ^RS command, can be overwritten by the ^RS command, and is
saved to nonvolatile memory (the value is saved even if the power is turned off).
This calibration takes into account the print mode, backfeed mode, and tear off position. The
RUN option in the RFID TAG CALIB control panel parameter performs the same
calibration but does not create a results table.
Format ^HRa,b
This table identifies the parameters for this format.
Comments
Based on the recommended transponder placement position for most RFID labels, the
printers default RFID programming position is zero for the R110PAX4. For other RFID
printers, the default programming position is the label length minus 1 mm (0.04 in.).
To return to the default programming position at any time, use the RESTORE option in the
RFID TAG CALIB control panel parameter.
Important If a label format specifies a value for parameter p (read/write position of the
transponder) in the ^RS command, that value will be used for the programming position for
all RFID labels until a new position is specified or until the printer is turned Off (O) and then
back On (I).
Parameters Details
a = start string User text to appear before the results table.
Accepted values: any string less than 65 characters
Default value: start
b = end string User text to appear after the results table.
Accepted values: any string less than 65 characters
Default value: end
375
ZPL RFID Commands
^HR
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
At the end of calibration, a results table is returned to the host. Each line in the results
table appears as:
Row, Read Result, Write Result
where
Row = the dot row where calibration occurred
Read Result = results of calibration (R = read, = unable to read)
Write Result = results of calibration (W = write, = unable to write)
Example If the following command is sent to the printer:
^XA^HR^XZ
The printer starts the transponder calibration and returns a results table such as the following:
start
position=195
215, ,
214, ,
213, ,
212, ,
211, ,
210, ,W
209,R,
208, ,
207, ,
206, ,W
205,R,
204, ,
203, ,
202, ,W
201,R,W
200,R,W
199,R,W
198,R,W
197,R,W
196,R,W
195,R,W <---****
194,R,W
193,R,W
192,R,W
191,R,W
190,R,W
189,R,
188, ,
187, ,
186, ,
185, ,
.
.
.
end
In this example, the optimal programming position is 195. This is identified at the top of the
table (position=195) and with an the arrow (<---****) in the table.
ZPL RFID Commands
^RA
376
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^RA
Read AFI or DSFID Byte
Description Use this command to read the AFI or DSFID byte. The data can be returned to
the host via the ^HV command.
Format ^RA#,f,r,m,b
This table identifies the parameters for this format.
Important This command is not supported by all printers or firmware. See Printer and
Firmware Compatibility on page 371 for the list of printers and firmware with which you can
use this command.
Parameters Details
# = field number
specified with
another command
The value assigned to this parameter should be the same as
the one used in the ^RT command.
Accepted values: 0 to 9999
Default value: 0
f = format Accepted values:
0 = ASCII
1 = Hexadecimal
Default value: 0
r = number of retries Accepted values: 0 to 10
Default value: 0
m = motion Accepted values:
0 = Feed label after writing.
1 = No Feed after writing. Other ZPL may cause a feed.
Default value: 0
b = type of byte to read Accepted values:
A = AFI byte
D = DSFID byte
Default value: A
Example 1 This example reads the AFI byte in ASCII format and returns AFI Byte:x
to the host. The printer will retry the command five times if necessary. A voided label is
generated if the read is unsuccessful after these retries. The data read will go into the ^FN1
location of the recalled format.
^XA
^FO20,120^A0N,60^FN1^FS
^RA1,0,5,0^FS
^HV1,,AFI Byte:^FS
^XZ
377
ZPL RFID Commands
^RA
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example 2 This example reads the DSFID byte in ASCII format and returns
DSFID Byte:x to the host. The printer will retry the command three times if necessary. A
voided label is generated if the read is unsuccessful after these retries. The data read will go
into the ^FN1 location of the recalled format.
^XA
^FO20,120^A0N,60^FN1^FS
^RA1,0,3,0,D^FS
^HV1,,DSFID Byte:^FS
^XZ
ZPL RFID Commands
^RB
378
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^RB
Define EPC Data Structure
Description Use this command to define the structure of EPC data, which can be read from
or written to an RFID transponder. For more information about EPC specifications, refer to the
EPC Global web site. All parameters in this command are persistent and will be used in
subsequent formats if not provided. The values are initially set to the default values.
RFID transponders can have different partitions defined. This command specifies the number
of partitions and how many bits are in each partition.
Format ^RBn,p0,p1,p2, ..., p15
This table identifies the parameters for this format.
Important This command is not supported by all printers or firmware. See Printer and
Firmware Compatibility on page 371 for the list of printers and firmware with which you can
use this command.
Parameters Details
n = total bit size of the
partitions
Specify the number of bits to include in the partitions.
Accepted values: 1 to n, where n is the bit size of the tag.
Default value: 96
p0 ... p15 =
partition sizes
Specify the number of bits to include in the individual
partitions. The partition sizes must add up to the bit size
specified for the previous parameter. The largest individual
partition size is 64 bits.
Accepted values: 1 to 64
Default value: 1
Example 1 The following command specifies that there are 96 bits used with three fields.
Fields 1, 2, and 3 contain 10, 26, and 60 bits, respectively.
^RB96,10,26,60
The ZPL code to encode a tag with this format would look like this:
^RFW,E^FD1000.67108000.1122921504606846976^FS
When the tag is being encoded, the tag stores the data in the following way:
Field 1 contains 1000. This value is stored in the first 10 bits
Field 2 contains 67108000. This value is stored in the next 26 bits.
Field 3 contains 1122921504606846976. This value is stored in the remaining
60 bits.
379
ZPL RFID Commands
^RB
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example 2 The following command specifies that there are 64 bits used with eight 8-bit
fields.
^RB64,8,8,8,8,8,8,8,8^FS
The ZPL code to encode a tag with this format would look like this:
^RFW,E^FD1.123.160.200.249.6.1.0^FS
When writing to the tag, each set of data is written in its respective 8-bit field.
Example 3 This example uses the SGTIN-64 standard, which defines 64-bit structure in the
following way:
The ZPL code to encode a tag with this format would look like this:
^XA
^RB64,2,3,14,20,25
^RFW,E^FD0,3,12345,544332,22335221^FS
^XZ
These commands would put
0 in the header
3 as the filter value
12345 as the company prefix
544332 as the item reference
22335221 as the serial number
To read this EPC data and print the results on the label, you would use the following code:
^XA
^RB64,2,3,14,20,25
^FO50,50^A0N,40^FN0^FS
^FN0^RFR,E^FS
^XZ
The resulting label would look like this:
Header Filter Value
Company
Prefix Index
Item Reference Serial Number
SGTIN-64 2 bits 3 bits 14 bits 20 bits 25 bits
10
(binary value)
8
(decimal
capacity)
16,383
(decimal
capacity)
9 to 1,048,575
(decimal
capacity*)
33,554,431
(decimal
capacity)
* Capacity of Item Reference field varies with the length of the company prefix.
0.3.12345.544332.22335221
ZPL RFID Commands
^RE
380
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^RE
Enable/Disable E.A.S. Bit
Description Use this command to enable or disable the Electronic Article Surveillance
(E.A.S.) bit that is available in some ISO15693 tags (such as Philips). This command works
only on those ISO15693 transponders and will be ignored if the tag does not support E.A.S.
Format ^REt,r
The following table identifies the parameters for this format.
Important This command is not supported by all printers or firmware. See Printer and
Firmware Compatibility on page 371 for the list of printers and firmware with which you can
use this command.
Parameters Details
t = Enable/disable the
E.A.S. bit in the
ISO15693
transponder
Accepted values:
N = Disable E.A.S.
Y = Enable E.A.S.
Default value: N
r = number of retries Accepted values: 0 to 10
Default value: 0
Example This example enables the E.A.S. bit in the transponder. It will retry the command
five times if necessary.
^XA
^REy,5
^XZ
381
ZPL RFID Commands
^RF
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^RF
Read or Write RFID Format
Description Use this command to read or write to (encode) an RFID tag. When using this
command to read a tag, you may use a field variable to print the tag data on the label or to
return the data to the host.
Format ^RFo,f,b,n,m
This table identifies the parameters for this format.
Parameters Details
o = operation Specifies the action to be performed.
Accepted Values:
W = write to (encode) the tag
L = write with LOCK (if supported by tag type; Gen 2
tag type does not use this locking function)
R = read the tag
P = read password (Gen 2 tag type only)
Default Value: W
f = format Accepted Values:
A = ASCII
H = Hexadecimal
E = EPC (ensure proper setup with the ^RB command)
Default Value: H
b = starting block
number
For tag types other Gen 2:
Specifies the starting block number.
Accepted Values: 0 to n, where n is the maximum number of
blocks for the tag.
Default Value: 0
For Gen 2 tag type only:
What you specify for this parameter depends on what you
entered for the operation parameter.
When W, L, or R are specified for the operation parameter,
this parameter specifies a 16-bit word block number.
Accepted Values: 0 to n, where n is the maximum number
of blocks for the bank specified in the memory bank
parameter
Default Value: 0
When P is specified for the operation parameter, this
parameter specifies which password to read.
Accepted Values:
K = kill password
A = access password
ZPL RFID Commands
^RF
382
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
n = number of bytes to
read or write
Specifies the number of bytes to read or write.
For high-frequency (HF) printers:
Accepted Values: 1 to n, where n is the maximum number of
bytes for the tag.
Default Value: 1
For Gen 2 tag type only:
When E is specified for the memory bank parameter, this
value is not required.
Accepted Values: 1 to n, where n is the maximum number of
bytes for the tag.
Default Value: 1
For all other printers and tag types:
This parameter applies only when the starting block number
is 1.
Accepted Values: 1 to n, where n is the maximum number of
bytes for the tag. For UCODE EPC 1.19, n is 32.
Default Value: 1
m = memory bank
Note This parameter applies to Gen 2 tags only.
Specifies the Gen 2 memory bank. See the RFID
Programming Guide for more information about Gen 2
memory.
Accepted Values:
E = EPC 96-bit (command automatically performs
operation on Gen 2 bit address 20
h
and accesses
12 bytes of the EPC memory bank)
0 = Reserved
1 = EPC
2 = TID (Tag ID)
3 = User
Default Value: E
Example 1 This example encodes 96-bit data in ASCII format.
^XA
^RS4
^RFw,a^FD00 my data^FS
^XZ
Example 2 This example encodes 64-bit data in hexadecimal format.
^XA
^RS3
^RFW,H^FD1122334455667788^FS
^XZ
Parameters Details
383
ZPL RFID Commands
^RF
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example 3 This example encodes 96-bit EPC data, as specified by the ^RB command.
^XA
^RB96,8,3,3,20,24,38
^RFw,e^FD16,3,5,78742,146165,1234567891^FS
^XZ
Example 4 This example encodes 4 bytes of hexadecimal formatted data, starting in
block 3 of Gen 2 EPC bank 1.
^XA
^RS8
^RFW,H,3,4,1^FD11112222^FS
^XZ
Example 5 This example reads the extended Gen 2 tag ID (TID), which is not read by the
^RI command, and returns the results to the host computer. The results are labeled with the
header 8-byte Tag ID Data.
^XA
^RS8
^RFR,H,0,8,2^FN1^FS^HV1,,8-byte Tag ID Data:^FS
^XZ
ZPL RFID Commands
^RI
384
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^RI
Get RFID Tag ID
Description Use this command to get the unique serial number of the tag and return it in
hexadecimal format. The data can be sent back to the host via the ^HV command.
For Gen 2 tag types, this command will return the 32-bit tag ID (TID) for the tag. If your
Gen 2 tag supports TID data beyond 32 bits, see ^RF on page 381 to access the TID memory
bank.
Format ^RI#,s,r,m
This table identifies the parameters for this format.
Parameters Details
# = number to be
assigned to the field
Accepted values: 0 to 9999
Default value: 0
s = specify data order
Note This parameter applies only to the R110Xi HF
and R2844-Z printers.
Accepted values:
Accepted Values:
0 = Most significant byte first for Tag*It and PicoTag.
Least significant byte first for I*code and
ISO15693.
1 = Reverse the data order
Default value: 0
r = number of retries Accepted values: 0 to 10
Default value: 0
m = motion Accepted values:
0 = Feed label after writing
1 = No Feed after writing (other ZPL commands may
cause a feed)
Default value: 0
Example This example reads a tag ID, prints it on a label, and sends string
Tag ID:xxxxxxxx to the host. The data read will go into the ^FN0 location of the
format. The printer will retry the command five times, if necessary.
^XA
^FO20,120^A0N,60^FN0^FS
^RI0,,5^FS
^HV0,,Tag ID:^FS
^XZ
385
ZPL RFID Commands
^RM
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^RM
Enable RFID Motion
Description Use this command to enable or disable RFID motion. By default, labels
automatically print at the end of the format. This command allows you to inhibit the label from
actually moving when it reaches the program position, which is useful for debugging, setup,
and custom applications. This parameter is not persistent (carried over from label to label).
Format ^RMe
This table identifies the parameters for this format.
Important This command is not supported by all printers or firmware. See Printer and
Firmware Compatibility on page 371 for the list of printers and firmware with which you can
use this command.
Parameters Details
e = enable Accepted values:
Y = Yes, move the label
N = No, do not move the label
Default value: Y
ZPL RFID Commands
^RN
386
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^RN
Detect Multiple RFID Tags in Encoding Field
Description Use this command to enable or disable detection of multiple RFID tags in the
encoding field. By default, the printer checks for more than one tag in the field before
attempting to read or write. If more than one tag is found, the label over the antenna support is
voided, and the RFID ERR STATUS parameter on the control panel displays
MULTIPLE TAGS. To speed up printing and encoding by up to 200 ms, the check may be
disabled. This parameter is persistent (carried over from label to label).
Format ^RNe
The following table identifies the parameters for this format.
Important This command is not supported by all printers or firmware. See Printer and
Firmware Compatibility on page 371 for the list of printers and firmware with which you can
use this command.
Parameters Details
e = enable Accepted Values:
Y = Yes, check for multiple tags
N = No, do not check for multiple tags
Default Value: Y
387
ZPL RFID Commands
^RQ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^RQ
Quick Write EPC Data and Passwords
Description Use this command with an Alien Higgs RFID tag and appropriate firmware to
write the EPC data, access password, and kill password with one command. Doing so reduces
the encoding time.
Format ^RQf,c,o[data]
The following table identifies the parameters for this format.
Important This command is not supported by all RFID tags, printers, or firmware. See
Printer and Firmware Compatibility on page 371 for the list of printers and firmware with
which you can use this command.
Note The access password on the tag to be written to must be 00000000 prior to sending
this command.
Parameters Details
f = format Accepted Values:
A = ASCII
H = Hexadecimal
E = EPC
Default Value: H
c = chip type Accepted Values: 0 (Higgs IC tag)
Default Value: 0
o = option Accepted Values: 0 (write 96-bit EPC)
Default Value: 0
data = the EPC data,
access password, and
kill password
Use the ^FD command to specify the passwords in the
following format:
^FD[EPC],[access],[kill]
where:
EPC = the EPC data in the format specified by the f
parameter. The data should match what would be
programmed with the ^RF command.
access = an optional access password in hexadecimal
format. If this field is left blank, 0x00000000 is
written as the access password.
kill = an optional kill password in hexadecimal format.
If this field is left blank, 0x00000000 is written as
the kill password.
ZPL RFID Commands
^RQ
388
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example 1 This example writes the EPC data to the tag in hexadecimal format. The
unspecified access and kill passwords are written as zeroes (0x00000000).
^XA^RQ^FD112233445566778899001122^XZ
Example 2 This example writes the EPC data to the tag in hexadecimal format. The access
password is written as 0xAAAAAAAA, and the kill password is written as 0xBBBBBBBB.
^XA^RQ^FD112233445566778899001122,AAAAAAAA,BBBBBBBB^XZ
Example 3 This example writes the EPC data to the tag in EPC format. The unspecified
access and kill passwords are written as zeroes (0x00000000).
^XA^RB96,30,30,30,6^RQE^FD1234.5678.9012.12^XZ
Example 4 This example writes the EPC data to the tag in hexadecimal format. The access
password is written as 0xAAAAAAAA, and the unspecified kill password is written as
zeroes (0x00000000).
^XA^RB96,30,30,30,6^RQE^FD1234.5678.9012.12,AAAAAAAA^XZ
389
ZPL RFID Commands
^RR
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^RR
Specify RFID Retries for a Block
Description Use this command to change the number of times that the printer attempts to
read or write to a particular block of a single RFID tag. By default, the printer will attempt six
retries. This command is persistent and will be used in subsequent formats if not provided.
Format ^RRn
This table identifies the parameters for this format.
Important This command is not supported by all printers or firmware. See Printer and
Firmware Compatibility on page 371 for the list of printers and firmware with which you can
use this command.
Note This commands function is different than the number of labels parameter in the
^RS command.
Parameters Details
n = number of retries Accepted Values: 0 to 10
Default Value: 0
Examples
Set read block retries to 5
^XA
^FN1^RR5^RFR,H^FS
^HV1^FS
^XZ
Set write block retries to 2
^XA
^RR2^RFW,H^FD1234^FS
^XZ
ZPL RFID Commands
^RS
390
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^RS
Set Up RFID Parameters
Description Use this command to set up RFID parameters including tag type, read/write
position of the transponder, and error handling.
Format ^RSt,p,v,n,e,a,c,s
This table identifies the parameters for this format.
Important Use care when using this command in combination with ^RT or ^RF for
reading tag data. Problems can occur if the data read from the tag is going to be printed on the
label. Any data read from the transponder must be positioned to be printed above the
read/write position. Failure to do this will prevent read data from being printed on the label.
Parameters Details
t = tag type Tells the printer/print engine which tag type you are using. If
you specify a tag type that is not supported by your printer or
firmware, the printer uses the default value. For the supported
tag types and defaults, see Table 5 on page 393.
UHF Printers
0 = None
1 = EPC Class 0
2 = EPC Class 0 Plus
3 = EPC Class 1 64-bit
4 = EPC Class 1 96-bit
5 = UCODE EPC 1.19
6 = Impinj Class 0 Plus
7 = ISO 18000-06A
8 = EPC Class 1, Generation 2 (Gen 2)
9 = ISO 18000-06B
HF Printers
Note Only the R110Xi HF printer (firmware version
R65.X.X) supports the use of letters for this
parameter. All other printers use the numbers.
A or 0 = None
B or 1 = Auto detect (query tag to determine)
C or 2 = Tag*It (Texas Instruments Tagit tags)
D or 3 = I*code (Phillips Icode tags)
E or 4 = Pico Tag (Inside Technologys)
F or 5 = ISO 15693
G or 6 = EPC tag (13.56 MHz)
H or 7 = UID Tag
I or 8 = Mifare UltraLight
391
ZPL RFID Commands
^RS
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
p = read/write position of
the transponder
Sets the read/write position of the transponder in vertical
(Yaxis) dot rows from the top of the label. Set to 0 (no
movement) if the transponder is already in the effective area
without moving the media.
Important If a label format specifies a value for this
parameter, this value will be used for the programming
position for all labels until a new position is specified
or until the printer is turned off (O) and then back on
(I).
Accepted values: 0 to label length
Default value:
For the R110PAX4 and R2844-Z: 0
For all other supported printers: label length minus
1 mm (1/16 in.)
v = length of void
printout
Sets the length of the void printout in vertical (Yaxis) dot
rows.
Accepted values: 0 to label length
Default value: label length
n = number of labels The number of labels that will be attempted in case of
read/encode failure.
Accepted values: 1 to 10
Default value: 3
e = error handling If an error persists after the specified number of labels are
tried, perform this error handling action.
Accepted values:
N = No action (printer drops the label format causing the
error and moves to the next queued label)
P = Place printer in Pause mode (label format stays in
the queue until the user cancels)
E = Place printer in Error mode (label format stays in the
queue until the user cancels)
Default value: N
Note You can set the printer to send an error
message to the host for each failure. To enable or
disable this unsolicited error message, refer to the
^SX and ^SQ ZPL commands. Use V for the
condition type for an RFID error.
Parameters Details
ZPL RFID Commands
^RS
392
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
a = signals on applicator
Note This parameter does not apply to the R2844-Z.
For the R4Mplus, this parameter applies only to
printers with firmware version SP994X (R4Mplus
European version).
When the value for parameter p (read/write position of the
transponder) is nonzero, this parameter changes the number of
start and stop print signals required for printing.
In Single mode, one start print command is required. In
Double mode, two are required, so the printer will resume
printing only after the second start print command is received.
Accepted values:
S = single signal
D = double signal (For the R110PAX4, Double mode will
work only if the read/write position is changed
from the default of zero.)
Default value: S
c = certify tag with a
pre-read
Not applicable.
s = void print speed
Note This parameter does not apply to the R2844-Z.
For the R4Mplus, this parameter applies only to
printers with firmware version SP994X (R4Mplus
European version).
If a label is voided, the speed at which VOID will be
printed across the label.
Accepted values: any valid print speed
Default value: the printers maximum print speed
Parameters Details
393
ZPL RFID Commands
^RS
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Supported Tag Types Table 5 shows the tag types supported by different RFID
printers/print engines and firmware versions. Depending on your country or on the firmware
version that you are using, your printer may not support all of the tag types listed. If you
specify an unsupported tag type in the ^RS command, the printer uses the default value. If a
tag type is shown as supported but does not work with your printer, you may need to upgrade
the printers firmware (see http://www.zebra.com/firmware).
Table 5 Supported Tag Types and Default Values
Tag Type
UHF Printers HF Printers
R
6
0
.
1
3
.
X
R
6
2
.
1
3
.
X
R
6
3
.
1
3
.
X
S
P
9
2
0
X
S
P
9
9
4
X
,
S
P
9
9
9
X
,
S
P
1
0
2
7
X
S
P
1
0
5
6
X
R
1
1
0
X
i
H
F
R
2
8
4
4
-
Z
R
1
1
0
X
i
R
1
7
0
X
i
R
1
1
0
P
A
X
4
R
4
M
p
l
u
s
UHF Tag Types and Options
None (no tag type specified) * *
EPC Class 0 * *
EPC Class 0 Plus * *
EPC Class 1 64-bit * * * *
EPC Class 1 96-bit # # # *
UCODE EPC 1.19 * *
*. Requires R60.13.0.13ZD or later.
# # # *
Impinj Class 0 Plus * *
ISO 18000-06A * *
EPC Class 1, Generation 2 (Gen 2) * * * #
ISO 18000-06B * * *
HF Tag Types and Options
Auto-detect the tag type by querying the tag #
Tag*It (Texas Instruments Tagit tags) *
I*code (Phillips Icode tags) *
Pico Tag (Inside Technologys) *
ISO 15693 # *
EPC tag *
UID Tag
Mifare UltraLight *
# = Default value
* = Accepted value
ZPL RFID Commands
^RS
394
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example 1 This example sets the printer to move the media to 800 dots from the top of the
media [or label length minus 800 from the bottom (leading edge) of the media] and voids the
rest of the media in case of an error. The printer will try to print two labels and then will
pause if printing and encoding fail.
^XA
^RS,800,,2,P^FS
^XZ
Figure 1 shows the resulting voided label. Note where the void starts. The media has been
moved 800 dot rows from the top of the label (label length minus 800 dot rows from the
bottom (leading edge) of a label) to bring the transponder into the effective area to read/write
a tag. If the printer fails the operation, the rest of the media is voided.
Figure 1 Sample Void Label, Remainder of Label Voided
Top of label
Start of RFID
operation
800 dot rows
Bottom of label
Label length minus
800 dot rows
395
ZPL RFID Commands
^RS
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
Example 2 This example sets the printer to move the media to 800 dots from the top of the
media [or label length - 500 from the bottom (leading edge) of the media] and prints VOID
500 dots in vertical length (Y axis) in case of an error.
^XA
^RS,800,500,2,P^FS
^XZ
Figure 2 shows the resulting voided label. Note where the void starts. The media has been
moved 800 dot rows from the top of the label [label length minus 800 dot rows from the
bottom (leading edge) of a label] to bring the transponder into the effective area to read/write
a tag. If the printer fails the operation, an area that is 500 dot rows of the media is voided
instead of the entire rest of the media.
Figure 2 Sample Void Label, 500 Dot Row Area Voided
Top of label
Start of RFID
operation
800 dot rows
Bottom of label
Label length minus
800 dot rows
500 dot rows
ZPL RFID Commands
^RT
396
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^RT
Read RFID Tag
Description Use this command to tell the printer to read the current RFID tag data. The data
can be returned to the host via the ^HV command.
Format ^RT#,b,n,f,r,m,s
This table identifies the parameters for this format.
Note The ^RT command is provided only for backward-compatibility with label formats
that were developed for older Zebra RFID printers. See Printer and Firmware Compatibility
on page 371 for the list of printers and firmware with which you should not use this
command.
Parameters Details
# = number to be
assigned to the field
Accepted values: 0 to 9999
Default value: 0
b = starting block
number
Accepted values: 0 to n, where n is the maximum number of
blocks for the tag.
Default value: 0
n = number of
blocks/bytes to read
Note This parameter does NOT apply to R4Mplus
printers with firmware version SP920X (R4Mplus
U.S. version).
For R4Mplus printers with firmware version SP994X
(European version):
This parameter applies only when the starting block number
(parameter b) is 1.
Accepted values: 1 to n, where n is the maximum number of
bytes for the tag. For UCODE EPC 1.19, n is 32.
Default value: 1
For all other supported printers:
Accepted values: 1 to n, where n is the maximum number of
blocks for the tag type minus the starting block number. For
example, if the tag has 8 blocks (starting with block 0) and
you start with block 6, n can be 2. This would return block 6
and block 7 information.
Default value: 1
f = format Accepted values:
0 = ASCII
1 = Hexadecimal
Default value: 0
397
ZPL RFID Commands
^RT
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
r = number of retries Changes the number of times that the printer attempts to read
a particular block of a single RFID tag. (Same retry rules as
the ^RR command.)
Accepted values: 0 to 10
Default value: 0
m = motion Enables or disables RFID motion for the current field.
Accepted values:
0 = Feed label after writing.
1 = No feed after writing. Other ZPL may cause a feed.
Default value: 0
s = special mode
Note This parameter is used only for the printers
referenced here.
For R4Mplus printers with firmware version SP920X
(U.S. version):
Specify actions for mismatched checksums. For EPC Class 1
(Alien reader) only. Not applicable for EPC class 0.
Default value: 0
Accepted values:
0 = Do not read if mismatched checksum
1 = Read even if mismatched checksum
For R110Xi HF and R2844-Z printers:
Specify data order.
Default value: 0
Accepted values:
0 = least significant byte first
1 = most significant byte first
Example 1 This example reads a tag, prints the data on a label, and sends the string
Tag Data:xxxxxxxx back to the host. The data read will go into the ^FN1 location of
the format. The printer will retry the command five times, if necessary.
^XA
^FO20,120^A0N,60^FN1^FS
^RT1,,,,5^FS
^HV1,,Tag Data:^FS
^XZ
Parameters Details
ZPL RFID Commands
^RT
398
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example 2 This example reads from a tag twice and prints the results on a label.
^XA
^FO20,120^A0N,60^FN1^FS
^FO20,100^A0N,20^FN2^FS
^RT1,7,3,,5^FS
^RT2,3,2,,5^FS
^XZ
The first ^RT command starts at block 7 and reads three blocks of data in ASCII format. The
data read will go into the ^FN1 location of the format. The printer will retry the command
five times, if necessary.
The second ^RT command starts at block 2 and reads two blocks of data in ASCII format.
The data read will go into the ^FN2 location of the format. The printer will retry the
command five times, if necessary.
399
ZPL RFID Commands
~RV
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
~RV
Report RFID Encoding Results
Description Use this command to tell the printer to send RFID encoding success or failure
results to the host computer after each label format completes.
Format ~RVa
This table identifies the parameters for this format:
Important This command is not supported by all printers or firmware. See Printer and
Firmware Compatibility on page 371 for the list of printers and firmware with which you can
use this command.
Parameters Details
a = enable/disable Enables or disables the results reporting feature.
Accepted Values:
E = Enable
D = Disable
Default Value: D
Example 1 Assume that the following code is sent and that there is no RFID tag in the field.
~RVE
^XA
^RS8,0,,3
^RMY
^RFR,H
^XZ
The printer attempts to program a tag three times and then returns the following to the host:
_-,3_
The minus sign indicates that the programming attempt failed entirely and voided three
labels.
Example 2 Assume that the same code is sent and that the first two attempts at
programming a tag are unsuccessful. The third attempt succeeds.
~RVE
^XA
^RS8,0,,3
^RMY
^RFR,H
^XZ
The printer attempts to program a tag three times and then returns the following to the host:
_+,2_
The plus sign indicates that the programming attempt was successful and voided two labels.
ZPL RFID Commands
^RW
400
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^RW
Set RFID Read and Write Power Levels
Description Use this command to set the read and write power levels. This function is
useful when using different tag types or transponders that require different power levels to
obtain the best read and write abilities. If not enough power is applied, the transponder may
not have sufficient power for programming, and tag data will fail to encode. If too much power
is applied, the extra power may disable the tag may or cause data communication errors.
Format ^RWr,w
This table identifies the parameters for this format:
Important This command is not supported by all printers or firmware. See Printer and
Firmware Compatibility on page 371 for the list of printers and firmware with which you can
use this command.
Parameters Details
r = read power Sets the power level to match the desired output as calibrated
in the factory.
Accepted Values:
H = high
M = medium
L = low
Default Value: H
401
ZPL RFID Commands
^RW
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
w = write power
Note This parameter is ignored on the R110Xi HF
printer because read and write powers cannot be
specified separately. The printer uses the value that
you specified for read power for both the read and
write power settings.
Sets the power level to match the desired output as calibrated
in the factory.
Accepted Values:
H = high
M = medium
L = low
Default Value: H
a = RFID antenna
selection
Note This parameter applies only to the R110Xi HF
printer.
Selects the antenna port that provides the best results for
reading and writing.
Accepted Values:
1 = antenna port 1
2 = antenna port 2
Default Value: 1
Parameters Details
ZPL RFID Commands
^RZ
402
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^RZ
Set RFID Tag Password and Lock Tag
Description Use this command to define a password for a tag during writing.
With Gen 2 tags, you can lock a tags memory bank with an access password or define a kill
password that can be used to permanently disable the tag. If you do not set access or kill
passwords for a tag, the tag ignores any read or write commands that try to use these functions.
Format ^RZp,m,l
The following table identifies the parameters for this format.
Note The printer can set a kill password, but the printer cannot kill a tag.
Parameters Details
p = password Sets a password.
For tag types other than Gen 2:
The password is 8 bits. The memory bank and lock style
parameters are ignored. The password must be 2 hexadecimal
characters long.
Accepted Values: 00 to FF (hexadecimal)
Default Value: 00
For Gen 2 tag type only:
Gen 2 tags use a 32-bit password and specify the memory
bank and lock style. The password must be 8 hexadecimal
characters long. Use ^RF on page 381 to read the passwords.
Accepted Values: 00000000 to FFFFFFFF (hexadecimal)
Default Value: none
m = memory bank
Note This parameter applies to Gen 2 tags only.
Accepted Values:
K = kill password
A = access password
E = EPC
T = tag identifier (TID)
U = user
Default Value: none
403
ZPL RFID Commands
^RZ
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
l = lock style
Note This parameter applies to Gen 2 tags only.
Accepted Values:
U = unlocked
L = locked
O = permanently unlocked (open)
P = permanently locked (protected)
W = write value (used only for the kill password
memory bank)
Default Value: none
Example 1 On a tag that is not Gen 2, this example encodes 5A as the tag password.
^XA
^RZ5A^FS
^XZ
Example 2 On a Gen 2 tag, this example encodes EPC data
112233445566778899001122 to the tag in Hex format, write protects the tags EPC
data with password 1234ABCD, and leaves the tags access password unlocked.
^XA
^RFW,H^FD112233445566778899001122^FS
^RZ1234ABCD,E,L^FS
^XZ
Example 3 On a Gen 2 tag, this example encodes EPC data
112233445566778899001122 to the tag in Hex format, write protects the tags EPC
data with password 1234ABCD, and makes the tags access password unreadable.
^XA
^RFW,H^FD112233445566778899001122^FS
^RZ1234ABCD,E,L^FS
^RZ1234ABCD,A,L^FS
^XZ
The following code unprotects EPC data 112233445566778899001122 using the
password 1234ABCD, encodes EPC data newdata to the tag in ASCII format, and then
write protects the tags new EPC data. The access password and its lock state are not
changed, so the access password remains unreadable.
^XA
^RZ1234ABCD,E,U^FS
^RFW,A^FDnewdata^FS
^RZ1234ABCD,E,L^FS
^xz
Parameters Details
ZPL RFID Commands
^RZ
404
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example 4 On a Gen 2 tag, this example unlocks the locked access password from the
previous example.
^XA
^RZ1234ABCD,A,U^FS
^XZ
405
ZPL RFID Commands
^WF
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^WF
Encode AFI or DSFID Byte
Description Use this command to encode the AFI or DSFID byte to a tag. Error handling is
set by the ^RS command.
Format ^WFr,m,w,f,b
The following table identifies the parameters for this format.
Important This command is not supported by all printers or firmware. See Printer and
Firmware Compatibility on page 371 for the list of printers and firmware with which you can
use this command.
Parameters Details
r = number of retries Accepted values: 0 to 10
Default value: 0
m = motion Accepted values:
0 = Feed label after writing.
1 = No Feed after writing. Other ZPL may cause a feed.
Default value: 0
w = write protect Accepted values:
0 = Not write protected
1 = Write protect
Default value: 0
f = data format Accepted values:
0 = ASCII
1 = Hexadecimal
Default value: 0
b = type of byte to read Accepted values:
A = AFI byte
D = DSFID byte
Default value: A
Example 1 This example encodes data R (hex 52) as the AFI byte. The printer will try the
command up to five times, if necessary.
^XA
^WF5^FDR
^XZ
ZPL RFID Commands
^WF
406
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example 2 This example encodes data hex 66 as the AFI byte. The printer will try the
command up to three times, if necessary.
^XA
^WF3,,,1^FD66
^XZ
Example 3 This example encodes data hex 77 as the DSFID byte. The printer will try the
command up to four times, if necessary.
^XA
^WF4,,,1,D^FD77
^XZ
407
ZPL RFID Commands
^WT
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^WT
Write (Encode) Tag
Description Use this command to encode the current RFID tag. Check the amount of data
memory available for the tag that you will be using. If you send more data than the memory
can hold, the printer truncates the data.
Format ^WTb,r,m,w,f,v
This table identifies the parameters for this format.
Note The ^WT command is provided only for backward-compatibility with label formats
that were developed for older Zebra RFID printers. See Printer and Firmware Compatibility
on page 371 for the list of printers and firmware with which you should not use this
command.
Parameters Details
b = block number Specifies the block number to encode. This parameter is tag-
dependent.
For most tags, use block 0.
For EPC Class 0 Plus, block 0 is EPC data, and block 1 is
user data.
For the R4Mplus, this parameter does not apply to printers
with firmware version SP902X. With other versions of
firmware in this printer, you can encode 12 bytes (96 bits)
to block 0, but you can encode only the first byte of block
1.
Accepted values: 0 to n, where n is the maximum number of
blocks for the tag.
Default value: 0
r = number of retries Changes the number of times that the printer attempts to
encode a particular block of a single RFID tag. (Same
function as the ^RR command.)
Accepted values: 0 to 10
Default value: 0
m = motion Enables or disables RFID motion. (Same function as the ^RM
command.)
Accepted values:
0 = Feed label after writing
1 = No feed after writing (other ZPL may cause a feed)
Default value: 0
w = write protect Accepted values:
0 = Not write protected
1 = Write protected
Default value: 0
ZPL RFID Commands
^WT
408
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
f = data format Accepted values:
0 = ASCII
1 = Hexadecimal
Default value: 0
For the R110Xi HF:
v = reverse the data order
This parameter is not used in the R2844-Z.
For the R110Xi HF:
Reverses the data order.
Accepted values:
N = Do not reverse the data order (Most significant byte
first for Tag*It and PicoTag. Last significant byte
first for I*code and ISO 15693)
Y = Reverse the data order
Default value: N
For other supported
printers:
v = verify valid data
For other supported printers:
For reliability, some manufacturers encode tags with known
data (such as A5A5). This parameter flags whether the
preprogrammed data is verified. (Same function as the ^WV
command.)
Accepted values:
N = Do not verify
Y = Verify valid data before writing
Default value: N
Example This sample encodes data RFIDRFID and will try writing up to five times, if
necessary.
^XA
^WT,5^FDRFIDRFID^FS
^XZ
Parameters Details
409
ZPL RFID Commands
^WV
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^WV
Verify RFID Encoding Operation
Description Use this command to enable or disable the write verify function. When write
verify is enabled, this command verifies the RFID encoding operation to ensure that the tag
about to be programmed contains the hex data A5A5 in the first two bytes. This parameter is
not persistent (carried over from label to label).
Format ^WVe
This table identifies the parameters for this format.
Important This command is not supported by all printers or firmware. See Printer and
Firmware Compatibility on page 371 for the list of printers and firmware with which you can
use this command.
Parameters Details
e = enable Accepted values: Y or N
Default value: N
ZPL RFID Commands
^WV
410
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Notes ___________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
4
ZPL Wireless Commands
This section contains new or modified ZPL commands for the Wireless and Wireless Plus print
servers.
ZPL Wireless Commands
^KC
412
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^KC
Set Client Identifier (Option 61)
Description The ^KC command allows the print server to have its own client identifier
(CID).
Format ^KCa,b,c,d
The following table identifies the parameters for this format.
* This applies only to the Zebra ZM400/ZM600 printer when it is used with the external ZebraNet 10/100
print server using firmware v1.1.5.
Parameters Details
a = enable or disable Accepted Values:
0 = disable (default)
1 = enabled, use MAC address
2 = enabled, ASCII value
3 = enabled, HEX value
Default Value: 0
b = device Accepted Values:
0 = all devices
1 = wireless
2 = external wired *
3 = internal wired
Default Value: 1
c = prefix (optional) Accepted Values: 11 ASCII characters or 22 hexadecimal
values.
The prefix can be cleared by defaulting the network settings
on the printer.
d = identifier Accepted Values: 60 ASCII characters or 120 hexadecimal
values. Minimum field length is 2 bytes.
The suffix can be cleared by defaulting the network settings
on the printer.
413
ZPL Wireless Commands
^NB
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^NB
Search for Wired Print Server during Network Boot
Description Use this command to tell the printer whether to search for a wired print server
at bootup. This command is ignored on the Zebra ZM400/ZM600 printer.
Table 6 identifies which device becomes the active print server under different conditions.
Format ^NBa
The following table identifies the parameters for this format.
Note Only one print server can be installed in the S4M at one time, so this check does not
occur.
Table 6 Results of Check for Wired Print Server
If the Check
for Wired Print
Server is
set to:
Installed and Connected to
a Live Ethernet Network Then, the Active Print
Server will be:
Wired Wireless*
Skip
X X Wireless
X Wired
X Wireless
Check
X X Wired
X Wired
X Wireless
* NOTE: A wireless option board must have an active radio that can properly associate to an access point.
Parameters Details
a = check for wired print
server at boot time
Accepted Values: C (CHECK), S (SKIP CHECK)
Default Value: S
ZPL Wireless Commands
^NN
414
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^NN
Set SNMP
Description Use this command to set the Simple Network Management Protocol (SNMP)
parameters.
Format ^NNa,b,c,d,e,f
The following table identifies the parameters for this format.
Parameters Details
a = system name Same as printer name.
Accepted Values: Up to 17 alphanumeric characters
b = system contact Any contact information as desired (such as a name or phrase)
Accepted Values: Up to 50 alphanumeric characters
c = system location The printers model information.
Accepted Values: Up to 50 alphanumeric characters
d = get community name Accepted Values: Up to 19 alphanumeric characters
Default Value: public
e = set community name Accepted Values: Up to 19 alphanumeric characters
Default Value: public
f = trap community
name
Accepted Values: Up to 20 alphanumeric characters
Default Value: public
415
ZPL Wireless Commands
^NP
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^NP
Set Primary/Secondary Device
Description Use this command to specify whether to use the printers or the print servers
LAN/WLAN settings at boot time. The default is to use the printers settings.
When the printer is set as the primary device, you can set it up using ZPL commands or
the Wireless Setup Wizard utility, and any wired print server inserted into the printer will
use those settings.
Format ^NPa
The following table identifies the parameters for this format.
Parameters Details
a = device to use as
primary
Accepted Values:
P = PRINTER
M = MPS/PRINTSERVER
Default Value: P
ZPL Wireless Commands
^NT
416
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^NT
Set SMTP
Description Use this command to set the Simple Mail Transfer Protocol (SMTP)
parameters. This allows you to set the e-mail settings for alerts.
Format ^NTa,b
The following table identifies the parameters for this format.
Parameters Details
a = SMTP server address Accepted Values: Any properly formatted server address in
the xxx.xxx.xxx.xxx format
b = print server domain Accepted Values: Any properly formatted print server domain
name. A domain name is one or more labels separated by a
period (dot), and a label consists of letters, numbers, and
hyphens. An example of a domain name is zebra.com
417
ZPL Wireless Commands
^NW
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^NW
Set Web Authentication Timeout Value
Description Use this command to set the timeout value for the printer home page. The
printer will prompt for the printer password only the first time that certain screens are accessed
until 1) the web authentication timeout value is reached (default value is 5 minutes) or
2) the printer is reset. At that time, the printer will prompt for the password again.
Format ^NWa
The following table identifies the parameters for this format.
Parameters Details
a = timeout value The timeout value in minutes for an IP address to be
authenticated to the printer web pages.
Accepted Values: 0 (no secure pages can be accessed without
entering the printer password) to 255 minutes
Default Value: 5
ZPL Wireless Commands
^WA
418
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
^WA
Set Antenna Parameters
Description Use this command to set the values for the receive and transmit antenna.
Format ^WAa,b
The following table identifies the parameters for this format.
Parameters Details
a = receive antenna Accepted Values: D (Diversity), L (Left), R (Right)
Default Value: D
b = transmit antenna Accepted Values: D (Diversity), L (Left), R (Right)
Default Value: D
419
ZPL Wireless Commands
^WE
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^WE
Set WEP Mode
Description Use this command to command enable Wired Equivalent Privacy (WEP) mode
and set WEP values. WEP is a security protocol for wireless local area networks (WLANs).
Be careful to include the exact number of commas required for this command when setting
encryption keys (parameters e through h). A missing or extra comma will cause the keys to be
stored in the wrong slots and can prevent the printer from joining the wireless network.
Format ^WEa,b,c,d,e,f,g,h
The following table identifies the parameters for this format.
Note The ^WE command is provided only for backward-compatibility with printers using
firmware prior to V50.15.x, V53.15.x, or V60.15.x. For these firmware versions and later,
use ^WX on page 430 to set the security type and related parameters.
Parameters Details
a = encryption mode Accepted Values: OFF, 40 (40-bit encryption), 128 (128-bit
encryption)
Default Value: OFF
b = encryption index Tells the printer which encryption key to use.
Accepted Values: 1 (Key 1), 2 (Key 2), 3 (Key 3), 4 (Key 4)
Default Value: 1
c = authentication type Accepted Values: O (Open System), S (Shared Key)
Default Value: O
Note If you enable Shared Key authentication with
Encryption Mode set to OFF, this value resets to
Open.
d = encryption key
storage
Accepted Values: H (Hex key storage), S (string key storage)
Default Value: H
e, f, g, h =
encryption keys
1 through 4
Accepted Values: The actual value for the encryption key
The encryption mode affects what can be entered for the
encryption keys:
For 40-bit, encryption keys can be set to any 5 hex pairs or
any 10 alphanumeric characters.
For 128-bit, encryption keys can be set to any 13 hex pairs
or any 26 alphanumeric characters.
Note When using hex storage, do not add a leading
0x on the WEP key.
ZPL Wireless Commands
^WE
420
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
Example 1 This example sets encryption to 40-bit, activates encryption key 1, and sets
encryption key 1 to the string 12345.
^WE40,,,,12345
In this example, the Encryption Index, Authentication Type, and Encryption Key Storage
parameters are left blank with commas as placeholders for the fields. The printer uses the
default values for these parameters.
Example 2 This example sets encryption to 128-bit, activates encryption key 2, and sets
encryption keys 1 and 2 to hex values.
^WE128,2,,H,12345678901234567890123456,98765432109876543
210987654
The value for encryption key 1 is stored and can be activated in the future by the following
command:
^WE128,1
Example 3 This example sets encryption to 128-bit, activates encryption key 4, and sets
encryption key 4 to a hex value.
^WE128,4,,H,,,,98765432109876543210987654
Values are not required for encryption keys 1 through 3 when setting encryption key 4. In this
example, commas are used as placeholders for the fields for encryption keys 1 through 3.
Any previously stored values for these encryption keys do not change.
Important Make sure that you include the exact number of commas required to get
to the slot for encryption key 4 (parameter h).
421
ZPL Wireless Commands
^WI
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^WI
Change Wireless Network Settings
Description Use this command to change the wireless network settings. On Zebra
ZM400/ZM600 and S4M printers running V53.15.xZ or later, Zebra recommends using
^ND on page 302 for these settings.
Format ^WIa,b,c,d,e,f,g,h,i
The following table identifies the parameters for this format.
Parameters Details
a = IP resolution Accepted Values:
A = All
B = BOOTP
C = DHCP and BOOTP
D = DHCP
G = Gleaning only (Not recommended when the
Wireless Print Server or Wireless Plus Print Server
is installed.)
R = RARP
P = Permanent
Default Value: A
b = IP address Accepted Values: Any properly formatted IP address in the
xxx.xxx.xxx.xxx format.
Default Value: 000.000.000.000
c = subnet mask Accepted Values: Any properly formatted subnet mask in the
xxx.xxx.xxx.xxx format.
Default Value: 000.000.000.000
d = default gateway Accepted Values: Any properly formatted gateway in the
xxx.xxx.xxx.xxx format.
Default Value: 000.000.000.000
e = WINS server address Accepted Values: Any properly formatted WINS server in the
xxx.xxx.xxx.xxx format.
Default Value: 000.000.000.000
f = connection timeout
checking
Accepted Values:
Y = yes
N = no
Default Value: Y
g = timeout value Time, in seconds, before the connection times out.
Accepted Values: 0 through 9999
Default Value: 300
ZPL Wireless Commands
^WI
422
13979L-011 Rev. A ZPL II Programming Guide 9/4/08
h = ARP broadcast
interval
Time, in minutes, that the broadcast is sent to update the
devices ARP cache.
Accepted Values: 0 through 30
Default Value: 0 (no ARP sent)
i = base raw port number The port number that the printer should use for its RAW data.
Accepted Values: 1 through 65535
Default Value: 9100
Parameters Details
423
ZPL Wireless Commands
^WL
9/4/08 ZPL II Programming Guide 13979L-011 Rev. A
^WL
Set LEAP Parameters
Description Use this command to enable Cisco