ZPL Code Programming
ZPL Code Programming
for
2010 ZIH Corp. The copyrights in this manual and the software and/or firmware in the printer described
therein are owned by ZIH Corp. and Zebras licensors. 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, and ZebraLink programs; Element Energy Equalizer Circuit; E3; and Monotype Imaging fonts. Software ZIH Corp. All rights reserved worldwide. ZebraLink, Element Energy Equalizer, E3 and all product names and numbers are trademarks, and Zebra, the Zebra head graphic, ZPL and ZPL II 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 Corporation.
Liability Disclaimer Zebra Technologies Corporation takes steps to ensure that its published Engineering specifications and manuals are correct; however, errors do occur. Zebra Technologies Corporation reserves the right to correct any such errors and disclaims liability resulting therefrom. Limitation of Liability In no event shall Zebra Technologies Corporation 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 Corporation 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.
P1012728-004 Rev. A
6/8/10
Contents
Functional List of ZPL Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Alphabetical List of ZBI Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Alphabetical List of Set/Get/Do Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 About This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Who Should Use This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How This Document Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 33 33 34 35
ZPL Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Basic ZPL Exercises and Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Before you begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
^A Scalable/Bitmapped Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^A@ Use Font Name to Call Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^B0 Aztec Bar Code Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^B1 Code 11 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^B2 Interleaved 2 of 5 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^B3 Code 39 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^B4 Code 49 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^B5 Planet Code bar code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^B7 PDF417 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^B8 EAN-8 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^B9 UPC-E Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^BA Code 93 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^BB CODABLOCK Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6/8/10 Zebra Programming Guide
49 51 53 55 57 59 63 67 68 72 74 76 80
P1012728-004 Rev. A
Contents
^BC ^BD ^BE ^BF ^BI ^BJ ^BK ^BL ^BM ^BO ^BP ^BQ ^BR ^BS ^BT ^BU ^BX ^BY ^CC ^BZ ^CD ^CF ^CI ^CM ^CN ^CO ^CP ^CT ^CV ^CW ~DB ~DE ^DF ~DG ~DN ~DS ~DT ~DU ~DY ~EG
Code 128 Bar Code (Subsets A, B, and C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 UPS MaxiCode Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 EAN-13 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 MicroPDF417 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Industrial 2 of 5 Bar Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Standard 2 of 5 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 ANSI Codabar Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 LOGMARS Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 MSI Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Aztec Bar Code Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113 Plessey Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 QR Code Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117 GS1 Databar (formerly Reduced Space Symbology) . . . . . . . . . . . . . . . . . . . . . . 125 UPC/EAN Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 TLC39 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 UPC-A Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Data Matrix Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Bar Code Field Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Change International Font/Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Cut Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Cache On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Remove Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Code Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Download Bitmap Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Download Encoding Download Format Download Graphics
Download Intellifont (Scalable Font) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Download Bounded TrueType Font Download Unbounded TrueType Font Erase Download Graphics
P1012728-004 Rev. A
Contents
^FB ^FC ^FD ^FH ^FL ^FM ^FN ^FO ^FP ^FR ^FS ^FT ^FV ^FW ^FX ^GB ^GC ^GD ^GE ^GF ^GS ~HB ~HD ^HF ^HG ^HH ~HI ~HM ~HQ ~HS ^HT ~HU ^HV ^HW ^HY ^HZ ^ID ^IL ^IM
6/8/10
Field Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Field Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Field Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Field Hexadecimal Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Font Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Multiple Field Origin Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Field Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Field Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Field Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Field Reverse Print Field Typeset Field Variable
Field Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Graphic Box Graphic Circle Graphic Ellipse Graphic Field Graphic Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Battery Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Head Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Host Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211 Host Graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Configuration Label Return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Host Identification Host RAM Status
Host Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 ~HQ Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Host Status Return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Host Linked Fonts List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Return ZebraNet Alert Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Host Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Host Directory List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Upload Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Display Description Information Object Delete Image Load Image Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Zebra Programming Guide P1012728-004 Rev. A
Contents
^IS ~JA ^JB ~JB ~JC ~JD ~JE ~JF ~JG ^JH ^JI ~JI ^JJ ~JL ^JM ~JN ~JO ~JP ~JQ ~JR ^JS ~JS ^JT ^JU ^JW ~JX ^JZ ~KB ^KD ^KL ^KN ^KP ^KV ^LF ^LH ^LL ^LR ^LS ^LT ^MA
Image Save
Graphing Sensor Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Early Warning Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Start ZBI (Zebra BASIC Interpreter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Start ZBI (Zebra BASIC Interpreter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Set Auxiliary Port Set Label Length Head Test Fatal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Power On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Sensor Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Change Backfeed Sequence Head Test Interval Configuration Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Set Ribbon Tension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Cancel Current Partially Input Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Reprint After Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Kill Battery (Battery Discharge Mode) Define Language Define Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 . . . . . . . . . . . . . . . . . . . . . 274 Select Date and Time Format (for Real Time Clock)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Define Printer Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Kiosk Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 List Font Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Label Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Label Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Label Reverse Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Label Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Label Top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Set Maintenance Alerts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Zebra Programming Guide 6/8/10
P1012728-004 Rev. A
Contents
^MC ^MD ^MF ^MI ^ML ^MM ^MN ^MP ^MT ^MU ^MW ^NC ~NC ^ND ^NI ~NR ^NS ~NT ^PA ^PF ^PH ~PL ^PM ^PN ^PO ^PP ^PQ ^PR ~PR ~PS ^PW ~RO ^SC ~SD ^SE ^SF ^SI ^SL ^SN ^SO
6/8/10
Map Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Media Darkness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Media Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Set Maintenance Information Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Maximum Label Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Print Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Media Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Mode Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Media Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Set Units of Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Modify Head Cold Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Select the Primary Network Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Network Connect Network ID Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Change Network Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Set All Network Printers Transparent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Change Wired Networking Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Set Currently Connected Printer Transparent . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Advanced Text Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Slew Given Number of Dot Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Reset Advanced Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Set Serial Communications Set Darkness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Select Encoding Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Serialization Field (with a Standard ^FD String) . . . . . . . . . . . . . . . . . . . . . . . . . 332 Set Sensor Intensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Set Mode and Language (for Real-Time Clock) . . . . . . . . . . . . . . . . . . . . . . . . . 336 Serialization Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Set Offset (for Real-Time Clock) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Zebra Programming Guide P1012728-004 Rev. A
Contents
^SP ^SQ ^SR ^SS ^ST ^SX ^SZ ~TA ^TB ^TO ~WC ^WD ~WQ ^XA ^XB ^XF ^XG ^XS ^XZ ^ZZ
Start Print
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Halt ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Set Printhead Resistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Set Media Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Set Date and Time (for Real-Time Clock) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Set ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Set ZPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Tear-off Adjust Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Text Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Transfer Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Print Configuration Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Print Directory Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Write Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 ~WQ Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 Start Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 Suppress Backfeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 Recall Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Recall Graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Set Dynamic Media Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 End Format Printer Sleep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
^HL ^HR ^RA ^RB ^RE ^RF ^RI ^RM ^RN ^RQ ^RR ^RS ^RT ~RV ^RW
P1012728-004 Rev. A
6/8/10
Contents
Set RFID Tag Password and Lock Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Encode AFI or DSFID Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 Write (Encode) Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 Verify RFID Encoding Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
ZPL Wireless Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 ^KC ^NB ^NN ^NP ^NT ^NW ^WA ^WE ^WI ^WL ~WL ^WP ^WR ~WR ^WS ^WX
Set Client Identifier (Option 61) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 Search for Wired Print Server during Network Boot . . . . . . . . . . . . . . . . . . . . . . . 425 Set SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Set Primary/Secondary Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Set SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 Set Web Authentication Timeout Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Set Antenna Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 Set WEP Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 Change Wireless Network Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 Set LEAP Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Print Network Configuration Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Set Wireless Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Set Transmit Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 Reset Wireless Radio Card and Print Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Set Wireless Radio Card Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Configure Wireless Securities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Supporting Parameters for Different Security Types . . . . . . . . . . . . . . . . . . . . . . . . 446
6/8/10
P1012728-004 Rev. A
10
Contents
Base Types and Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Variable Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Variable Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 Numeric Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 String Concatenation (&) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Sub-strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Boolean Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 Combined Boolean Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 Control and Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Available Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Creating Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501 Reading and Writing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 Port Usage Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 Runtime Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 Comma Separated Values (CSV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 Accessing Comma Separated Value (CSV) and Text File Functions . . . . . . . . . . . . 533 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 Available Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 ZBI Key Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Applicator Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 String Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 Math Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 Array Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 Time and Date Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 Set/Get/Do Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602 Example Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605 Array Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605 CSV Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 DPI Conversion Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .611 Email Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 Extraction 1 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 Extraction 2 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 Front Panel Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 Recall Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623 Scale Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
P1012728-004 Rev. A
6/8/10
Contents
11
6/8/10
P1012728-004 Rev. A
12
Contents
media.cut_now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669 media.darkness_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670 media.media_low.external . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671 media.media_low.warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 media.present.cut_amount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673 media.present.eject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 media.present.length_addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 media.present.loop_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676 media.present.loop_length_max . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 media.present.cut_margin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 media.present.present_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 media.present.present_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680 media.printmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 media.speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683 odometer.headclean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684 odometer.headnew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685 odometer.label_dot_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686 odometer.media_marker_count1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687 odometer.media_marker_count2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688 odometer.retracts_count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689 odometer.rfid.valid_resettable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690 odometer.rfid.void_resettable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691 odometer.total_print_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692 print.tone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693 rfid.error.response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694 rfid.position.program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695 rfid.reader_1.antenna_port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697 rfid.reader_1.power.read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699 rfid.reader_1.power.single_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700 rfid.reader_1.power.write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701 rfid.tag.calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 rfid.tag.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704 rfid.tag.test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 rfid.tag.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 zbi.control.add_breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 zbi.control.break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710 zbi.control.clear_breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .711 zbi.control.delete_breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712 zbi.control.line_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713 zbi.control.restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714 zbi.control.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715 zbi.control.step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716 zbi.control.terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717 zbi.control.variable_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 zbi.control.variable_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
P1012728-004 Rev. A
6/8/10
Contents
13
6/8/10
P1012728-004 Rev. A
14
Contents
internal_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.ip.timeout.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
761 762 767 768 773 774 775 776 777 778 779 780
P1012728-004 Rev. A
6/8/10
Contents
15
ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .811 ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812 ip.dhcp.lease.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813 ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814 ip.dhcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815 ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816 ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817 ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818 ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820 ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821 ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822 ip.dhcp.requests_per_session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823 ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824 ip.dns.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825 ip.dns.servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826 ip.ftp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 ip.ftp.execute_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828 ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829 ip.http.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830 ip.lpd.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831 ip.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832 ip.mirror.auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 ip.mirror.error_retry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834 ip.mirror.feedback.auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835 ip.mirror.feedback.freq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836 ip.mirror.feedback.odometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 ip.mirror.feedback.path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 ip.mirror.fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 ip.mirror.freq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 ip.mirror.freq_hours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 ip.mirror.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 ip.mirror.last_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843 ip.mirror.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844 ip.mirror.path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845 ip.mirror.reset_delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846 ip.mirror.server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847 ip.mirror.success . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848 ip.mirror.success_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849 ip.mirror.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850 ip.mirror.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851 ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852 ip.pop3.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853 ip.pop3.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854 ip.pop3.poll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
6/8/10
P1012728-004 Rev. A
16
Contents
ip.pop3.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.pop3.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.primary_network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.smtp.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.smtp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.smtp.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.snmp.get_community_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.snmp.set_community_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.snmp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.telnet.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.tcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.udp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.adhocautomode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.adhocchannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.associated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.bssid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.channel_mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.current_tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.essid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.firmware_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.default_addr_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.lease.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.requests_per_session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900
P1012728-004 Rev. A
6/8/10
Contents
17
wlan.ip.timeout.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901 wlan.ip.timeout.value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902 wlan.keep_alive.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 wlan.keep_alive.timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904 wlan.kerberos.kdc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905 wlan.kerberos.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906 wlan.kerberos.realm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 wlan.kerberos.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908 wlan.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909 wlan.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910 wlan.operating_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .911 wlan.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912 wlan.preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913 wlan.private_key_password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914 wlan.roam.interchannel_delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915 wlan.roam.interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916 wlan.roam.max_chan_scan_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917 wlan.roam.signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918 wlan.security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919 Supporting SGD Commands for Different Security Types . . . . . . . . . . . . . . . . . . . . 920 wlan.signal_noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 wlan.signal_quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 wlan.signal_strength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929 wlan.station_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 wlan.tx_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 wlan.tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 wlan.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 wlan.wep.auth_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 wlan.wep.index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935 wlan.wep.key1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936 wlan.wep.key2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937 wlan.wep.key3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938 wlan.wep.key4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 wlan.wpa.psk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940 wlan.wep.key_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941
6/8/10
P1012728-004 Rev. A
18
Contents
ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957
ASCII Code Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958
Contents
19
Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
Mirror Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Professional Services for Mirror Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How Mirror Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mirror Process Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mirror Process Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050 1050 1051 1052 1054 1055 1055
6/8/10
P1012728-004 Rev. A
20
Contents
Creating ZPL Files for Use in the "<update-root>/files" Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . One Format per File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Character Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing the ^XA and ^XZ commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing the ^DF command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . File Naming Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Use Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mirror FTP Server Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mirror Printer Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Feedback.get File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example Feedback.get file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to Set Up and Use Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scenario One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scenario Two . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1057 1057 1058 1058 1059 1060 1060 1060 1061 1061 1061 1062 1063 1065 1065 1066 1067
P1012728-004 Rev. A
6/8/10
Abort Download Graphic . . . . . . . . . . . . . . . 168 Advanced Text Properties . . . . . . . . . . . . . . . 313 ANSI Codabar Bar Code . . . . . . . . . . . . . . . . 107 Applicator Reprint . . . . . . . . . . . . . . . . . . . . . 324 Aztec Bar Code Parameters . . . . . . . . . . . . . . 113 Aztec Bar Code Parameters . . . . . . . . . . . . . . . 53 Bar Code Field Default . . . . . . . . . . . . . . . . . 138 Battery Status . . . . . . . . . . . . . . . . . . . . . . . . 209 Cache On . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Calibrate RFID Transponder Position . . . . . . . 381 Cancel All . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Cancel Current Partially Input Format . . . . . . 271 Change Alphanumeric Default Font . . . . . . 144 Change Backfeed Sequence . . . . . . . . . . . . 266 Change Caret . . . . . . . . . . . . . . . . . . . . . . . . 140 Change Delimiter . . . . . . . . . . . . . . . . . . . . . 143 Change International Font/Encoding . . . . . . . 145 Change Memory Letter Designation . . . . . . 149 Change Network Settings . . . . . . . . . . . . . . . . 306 Change Tilde . . . . . . . . . . . . . . . . . . . . . . . . 155 Change Wired Networking Settings . . . . . . . . 310 Change Wireless Network Settings . . . . . . . . 433 CODABLOCK Bar Code . . . . . . . . . . . . . . . . . . 80 Code 11 Bar Code . . . . . . . . . . . . . . . . . . . . . 55 Code 128 Bar Code (Subsets A, B, and C) . . . 84 Code 39 Bar Code . . . . . . . . . . . . . . . . . . . . . . 59 Code 49 Bar Code . . . . . . . . . . . . . . . . . . . . . . 63 Code 93 Bar Code . . . . . . . . . . . . . . . . . . . . . . 76 Code Validation . . . . . . . . . . . . . . . . . . . . . . . 156 Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Configuration Label Return . . . . . . . . . . . . . . . 213 Configuration Update . . . . . . . . . . . . . . . . . . 269 Configure Wireless Securities . . . . . . . . . . . . 442 Cut Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Data Matrix Bar Code . . . . . . . . . . . . . . . . . . 134 Define EPC Data Structure . . . . . . . . . . . . . . . 389
6/8/10
Define Language . . . . . . . . . . . . . . . . . . . . . . 275 Define Password . . . . . . . . . . . . . . . . . . . . . . 277 Define Printer Name . . . . . . . . . . . . . . . . . . . 276 Detect Multiple RFID Tags in Encoding Field . 397 Disable Diagnostics . . . . . . . . . . . . . . . . . . . . 247 Display Description Information . . . . . . . . . . 234 Download Bitmap Font . . . . . . . . . . . . . . . . . 160 Download Bounded TrueType Font . . . . . . . 170 Download Encoding . . . . . . . . . . . . . . . . . . . 162 Download Files . . . . . . . . . . . . . . . . . . . . . . . . 634 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 . . . . . . . . . . . . . . . . . . . . . . . . 72 Early Warning Settings . . . . . . . . . . . . . . . . . . 250 Enable Communications Diagnostics . . . . . . 246 Enable RFID Motion . . . . . . . . . . . . . . . . . . . . 396 Enable/Disable E.A.S. Bit . . . . . . . . . . . . . . . . 391 Encode AFI or DSFID Byte . . . . . . . . . . . . . . . 418 End Format . . . . . . . . . . . . . . . . . . . . . . . . . . 372 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
P1012728-004 Rev. A
22
Font Identifier . . . . . . . . . . . . . . . . . . . . . . . . . 158 Font Linking . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Get RFID Tag ID . . . . . . . . . . . . . . . . . . . . . . . 395 Graphic Box . . . . . . . . . . . . . . . . . . . . . . . . . 201 Graphic Circle . . . . . . . . . . . . . . . . . . . . . . . . 203 Graphic Diagonal Line . . . . . . . . . . . . . . . . . 204 Graphic Ellipse . . . . . . . . . . . . . . . . . . . . . . 205 Graphic Field . . . . . . . . . . . . . . . . . . . . . . . . 206 Graphic Symbol . . . . . . . . . . . . . . . . . . . . . . 208 Graphing Sensor Calibration . . . . . . . . . . . . . 249 GS1 Databar (formerly Reduced Space Symbology) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Halt ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . 344 Head Diagnostic . . . . . . . . . . . . . . . . . . . . . . . 210 Head Test Fatal . . . . . . . . . . . . . . . . . . . . . . 260 Head Test Interval . . . . . . . . . . . . . . . . . . . . 268 Head Test Non-Fatal . . . . . . . . . . . . . . . . . . 261 Host Directory List . . . . . . . . . . . . . . . . . . . . 231 Host Format . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Host Graphic . . . . . . . . . . . . . . . . . . . . . . . . 212 Host Identification . . . . . . . . . . . . . . . . . . . . 214 Host Linked Fonts List . . . . . . . . . . . . . . . . . . 228 Host Query . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Host RAM Status . . . . . . . . . . . . . . . . . . . . . 215 Host Status Return . . . . . . . . . . . . . . . . . . . . 224 Host Verification . . . . . . . . . . . . . . . . . . . . . . . 230 Image Load . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Image Move . . . . . . . . . . . . . . . . . . . . . . . . . 239 Image Save . . . . . . . . . . . . . . . . . . . . . . . . . 240 Industrial 2 of 5 Bar Codes . . . . . . . . . . . . . . 103 Initialize Flash Memory . . . . . . . . . . . . . . . . . 243 Interleaved 2 of 5 Bar Code . . . . . . . . . . . . . . 57 Kill Battery (Battery Discharge Mode) . . . . . 273 Kiosk Values . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Label Home . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Label Length . . . . . . . . . . . . . . . . . . . . . . . . . 284 Label Reverse Print . . . . . . . . . . . . . . . . . . . . 285 Label Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Label Top . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 List Font Links . . . . . . . . . . . . . . . . . . . . . . . . 282 LOGMARS Bar Code . . . . . . . . . . . . . . . . . . . 109 Map Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Maximum Label Length . . . . . . . . . . . . . . . . 294 Media Darkness . . . . . . . . . . . . . . . . . . . . . . 291 Media Feed . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Media Tracking . . . . . . . . . . . . . . . . . . . . . . . 297 Media Type . . . . . . . . . . . . . . . . . . . . . . . . . . 300 MicroPDF417 Bar Code . . . . . . . . . . . . . . . . . 101 Mode Protection . . . . . . . . . . . . . . . . . . . . . . 298 Modify Head Cold Warning . . . . . . . . . . . . . . . 303 MSI Bar Code . . . . . . . . . . . . . . . . . . . . . . . . 111 Multiple Field Origin Locations . . . . . . . . . . . 187 Network Connect . . . . . . . . . . . . . . . . . . . . . 305 Network ID Number . . . . . . . . . . . . . . . . . . . 308
Object Delete . . . . . . . . . . . . . . . . . . . . . . . . 236 Pause and Cancel Format . . . . . . . . . . . . . 262 PDF417 Bar Code . . . . . . . . . . . . . . . . . . . . . . 68 Planet Code bar code . . . . . . . . . . . . . . . . . . . . 67 Plessey Bar Code . . . . . . . . . . . . . . . . . . . . . . 115 POSTAL Bar Code . . . . . . . . . . . . . . . . . . . . . 141 Power On Reset . . . . . . . . . . . . . . . . . . . . . . 264 Present Length Addition . . . . . . . . . . . . . . . . . 316 Present Now . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Print Configuration Label . . . . . . . . . . . . . . . . . 357 Print Directory Label . . . . . . . . . . . . . . . . . . . 358 Print Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Print Network Configuration Label . . . . . . . . . 436 Print Orientation . . . . . . . . . . . . . . . . . . . . . . . 319 Print Quantity . . . . . . . . . . . . . . . . . . . . . . . . 321 Print Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Print Start . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Print Width . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Printer Sleep . . . . . . . . . . . . . . . . . . . . . . . . . 373 Printing Mirror Image of Label . . . . . . . . . . . 317 Programmable Pause . . . . . . . . . . . . . . . . . . 320 QR Code Bar Code . . . . . . . . . . . . . . . . . . . . . 117 Quick Write EPC Data and Passwords . . . . . . 398 Read AFI or DSFID Byte . . . . . . . . . . . . . . . . . 387 Read or Write RFID Format . . . . . . . . . . . . . . 392 Read RFID Tag . . . . . . . . . . . . . . . . . . . . . . . . 410 Recall Format . . . . . . . . . . . . . . . . . . . . . . . . 369 Recall Graphic . . . . . . . . . . . . . . . . . . . . . . . . 370 Remove Label . . . . . . . . . . . . . . . . . . . . . . . . . 154 Report RFID Encoding Results . . . . . . . . . . . . 412 Reprint After Error . . . . . . . . . . . . . . . . . . . . . 272 Reset Advanced Counters . . . . . . . . . . . . . . . 327 Reset Optional Memory . . . . . . . . . . . . . . . . 244 Reset Wireless Radio Card and Print Server . 439 Return RFID Data Log to Host . . . . . . . . . . . . 380 Return ZebraNet Alert Configuration . . . . . . . . 229 Scalable/Bitmapped Font . . . . . . . . . . . . . . . . . 49 Search for Wired Print Server during Network Boot 425 Select Date and Time Format (for Real Time Clock) 274 Select Encoding Table . . . . . . . . . . . . . . . . . . 331 Select the Primary Network Device . . . . . . . . . 304 Sensor Select . . . . . . . . . . . . . . . . . . . . . . . . . 265 Serialization Data . . . . . . . . . . . . . . . . . . . . . . 338 Serialization Field (with a Standard ^FD String) . 332 Set All Network Printers Transparent . . . . . . 309 Set Antenna Parameters . . . . . . . . . . . . . . . . . 430 Set Auxiliary Port . . . . . . . . . . . . . . . . . . . . . . 256 Set Battery Condition . . . . . . . . . . . . . . . . . . 248 Set Client Identifier (Option 61) . . . . . . . . . . . . 424 Set Currently Connected Printer Transparent 312 Set Darkness . . . . . . . . . . . . . . . . . . . . . . . . . 330
P1012728-004 Rev. A
6/8/10
23
Set Date and Time (for Real-Time Clock) . . 349 Set Dots per Millimeter . . . . . . . . . . . . . . . . 259 Set Dynamic Media Calibration . . . . . . . . . . . 371 Set Label Length . . . . . . . . . . . . . . . . . . . . . 258 Set LEAP Parameters . . . . . . . . . . . . . . . . . . 435 Set Maintenance Alerts . . . . . . . . . . . . . . . . . 288 Set Maintenance Information Message . . . . . 293 Set Media Sensor Calibration . . . . . . . . . . . 245 Set Media Sensors . . . . . . . . . . . . . . . . . . . . 347 Set Mode and Language (for Real-Time Clock) . . . . . . . . . . . . . . . 336 Set Offset (for Real-Time Clock) . . . . . . . . . . 341 Set Primary/Secondary Device . . . . . . . . . . . . 427 Set Printhead Resistance . . . . . . . . . . . . . . . 346 Set RF Power Levels for Read and Write . . . . 413 Set RFID Tag Password and Lock Tag . . . . . 416 Set Ribbon Tension . . . . . . . . . . . . . . . . . . . . 270 Set Sensor Intensity . . . . . . . . . . . . . . . . . . . . 335 Set Serial Communications . . . . . . . . . . . . . 329 Set SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 Set SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Set Transmit Rate . . . . . . . . . . . . . . . . . . . . . . 438 Set Units of Measurement . . . . . . . . . . . . . . 301 Set Up RFID Parameters . . . . . . . . . . . . . . . . 402 Set Web Authentication Timeout Value . . . . . 429 Set WEP Mode . . . . . . . . . . . . . . . . . . . . . . . . 431 Set Wireless Password . . . . . . . . . . . . . . . . . . 437 Set Wireless Radio Card Values . . . . . . . . . . 440 Set ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . 350 Set ZPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Slew Given Number of Dot Rows . . . . . . . . . 314 Slew to Home Position . . . . . . . . . . . . . . . . . 315 Specify RFID Retries for a Block . . . . . . . . . . 400 Standard 2 of 5 Bar Code . . . . . . . . . . . . . . . . 105 Start Format . . . . . . . . . . . . . . . . . . . . . . . . . . 367 Start Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Start ZBI (Zebra BASIC Interpreter) . . . . . . . 253 Start ZBI (Zebra BASIC Interpreter) . . . . . . . . 255 Suppress Backfeed . . . . . . . . . . . . . . . . . . . . 368 Tear-off Adjust Position . . . . . . . . . . . . . . . . . 353 Terminate Zebra BASIC Interpreter . . . . . . . 263 Text Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 TLC39 Bar Code . . . . . . . . . . . . . . . . . . . . . . . 130 Transfer Object . . . . . . . . . . . . . . . . . . . . . . . 355 UPC/EAN Extensions . . . . . . . . . . . . . . . . . . 127 UPC-A Bar Code . . . . . . . . . . . . . . . . . . . . . . 132 UPC-E Bar Code . . . . . . . . . . . . . . . . . . . . . . . 74 Upload Graphics . . . . . . . . . . . . . . . . . . . . . . 233 UPS MaxiCode Bar Code . . . . . . . . . . . . . . . . 96 Use Font Name to Call Font . . . . . . . . . . . . . . 51 Verify RFID Encoding Operation . . . . . . . . . . 422 Write (Encode) Tag . . . . . . . . . . . . . . . . . . . . 420 Write Query . . . . . . . . . . . . . . . . . . . . . . . . . . 360
6/8/10
P1012728-004 Rev. A
24
Notes ___________________________________________________________________
P1012728-004 Rev. A
6/8/10
! (EXCLAMATION MARK) . . . . . . . . . . . . . . . ACCEPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADDBREAK . . . . . . . . . . . . . . . . . . . . . . . . . . AUTONUM . . . . . . . . . . . . . . . . . . . . . . . . . . . AUXPORT_GETPIN . . . . . . . . . . . . . . . . . . . . AUXPORT_RELEASEPIN . . . . . . . . . . . . . . . AUXPORT_SETPIN . . . . . . . . . . . . . . . . . . . . AUXPORT_STEALPIN . . . . . . . . . . . . . . . . . . BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLIENTSOCKET . . . . . . . . . . . . . . . . . . . . . . CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLRERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COLUMNSIZE . . . . . . . . . . . . . . . . . . . . . . . . CSVLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . CSVSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . CTRL-C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DATAREADY . . . . . . . . . . . . . . . . . . . . . . . . . DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DATE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DELBREAK . . . . . . . . . . . . . . . . . . . . . . . . . . DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DELROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . DIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DO Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EXTRACT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FOR Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . GETVAR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . GOTO/GOSUB . . . . . . . . . . . . . . . . . . . . . . . . HANDLEEVENT . . . . . . . . . . . . . . . . . . . . . . . HEXTOINT . . . . . . . . . . . . . . . . . . . . . . . . . . .
6/8/10
460 508 475 462 561 562 560 558 474 565 507 503 555 594 534 536 468 504 600 598 472 476 532 592 531 494 464 499 498 574 595 495 604 496 547 587
IF Statements . . . . . . . . . . . . . . . . . . . . . . . . . INBYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INSERTROW . . . . . . . . . . . . . . . . . . . . . . . . . INTTOHEX$ . . . . . . . . . . . . . . . . . . . . . . . . . . ISERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . ISWARNING . . . . . . . . . . . . . . . . . . . . . . . . . . LCASE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LTRIM$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MAXNUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . MIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ON ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OUTBYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . POS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . READ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REDIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REGISTEREVENT . . . . . . . . . . . . . . . . . . . . . REM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RENUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REPEAT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . RESTART . . . . . . . . . . . . . . . . . . . . . . . . . . . . ROWSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . RTRIM$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SEARCHTO$ . . . . . . . . . . . . . . . . . . . . . . . . . SERVERCLOSE . . . . . . . . . . . . . . . . . . . . . . .
493 514 510 591 586 551 552 564 578 484 461 530 566 581 583 582 584 458 556 502 576 513 577 512 515 589 544 459 463 567 469 593 568 467 517 506
P1012728-004 Rev. A
26
SERVERSOCKET . . . . . . . . . . . . . . . . . . . . . SETERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SETVAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SLEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SPLIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SPLITCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . STEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIME$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TRACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TRIGGEREVENT . . . . . . . . . . . . . . . . . . . . . . TXTLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . TXTSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . UCASE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UNREGISTEREVENT . . . . . . . . . . . . . . . . . . VAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ZPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
505 554 603 553 569 572 471 529 580 497 601 599 473 549 537 538 573 546 585 516 478
P1012728-004 Rev. A
6/8/10
appl.bootblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 appl.name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633 appl.option_board_version . . . . . . . . . . . . . . . . . . . . . . 631 bluetooth.address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786 bluetooth.afh_map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 bluetooth.afh_map_curr . . . . . . . . . . . . . . . . . . . . . . . . . 788 bluetooth.afh_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789 bluetooth.authentication . . . . . . . . . . . . . . . . . . . . . . . . . 790 bluetooth.bluetooth_pin . . . . . . . . . . . . . . . . . . . . . . . . . 791 bluetooth.date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792 bluetooth.discoverable . . . . . . . . . . . . . . . . . . . . . . . . . . 793 bluetooth.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794 bluetooth.friendly_name . . . . . . . . . . . . . . . . . . . . . . . . . 795 bluetooth.local_name . . . . . . . . . . . . . . . . . . . . . . . . . . . 796 bluetooth.radio_auto_baud . . . . . . . . . . . . . . . . . . . . . . 797 bluetooth.radio_version . . . . . . . . . . . . . . . . . . . . . . . . . 798 bluetooth.short_address . . . . . . . . . . . . . . . . . . . . . . . . 799 bluetooth.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800 card.inserted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802 card.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801 CISDFCRC16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634 comm.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 cutter.clean_cutter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636 device.download_connection_timeout . . . . . . . . . . . . . . 637 device.epl_legacy_mode . . . . . . . . . . . . . . . . . . . . . . . . 638 device.friendly_name . . . . . . . . . . . . . . . . . . . . . . . . . . . 640 device.frontpanel.key_press . . . . . . . . . . . . . . . . . . . . . 641 device.frontpanel.line1 . . . . . . . . . . . . . . . . . . . . . . . . . . 642 device.frontpanel.line2 . . . . . . . . . . . . . . . . . . . . . . . . . . 643 device.frontpanel.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . 644 device.jobs_print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 device.languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 device.orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647 device.pnp_option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648 device.reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649 device.restore_defaults . . . . . . . . . . . . . . . . . . . . . . . . . 650 device.unique_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651 device.uptime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 device.user_p1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 device.user_p2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654 device.xml.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
display.text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . external_wired.check . . . . . . . . . . . . . . . . . . . . . . . . . . external_wired.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . external_wired.ip.arp_interval . . . . . . . . . . . . . . . . . . . . external_wired.ip.default_addr_enable . . . . . . . . . . . . . external_wired.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . external_wired.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . external_wired.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . external_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . external_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . external_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . external_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . external_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . external_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . external_wired.ip.timeout.enable . . . . . . . . . . . . . . . . . external_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . . external_wired.ip.v6.addr . . . . . . . . . . . . . . . . . . . . . . . external_wired.ip.v6.gateway . . . . . . . . . . . . . . . . . . . . external_wired.ip.v6.prefix_length . . . . . . . . . . . . . . . . . external_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . . external_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . file.delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file.dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . head.latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . interface.network.active.gateway . . . . . . . . . . . . . . . . . interface.network.active.ip_addr . . . . . . . . . . . . . . . . . . interface.network.active.mac_addr . . . . . . . . . . . . . . . . interface.network.active.mac_raw . . . . . . . . . . . . . . . . . interface.network.active.netmask . . . . . . . . . . . . . . . . . interface.network.active.protocol . . . . . . . . . . . . . . . . . . internal_wired.auto_switchover . . . . . . . . . . . . . . . . . . internal_wired.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . internal_wired.ip.arp_interval . . . . . . . . . . . . . . . . . . . . internal_wired.ip.default_addr_enable . . . . . . . . . . . . . internal_wired.ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . internal_wired.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . internal_wired.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . internal_wired.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . internal_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . .
656 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 657 658 660 659 661 662 663 664 665 666 667 753 754 755 756 757 758 759 760 761
6/8/10
P1012728-004 Rev. A
28
internal_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . 762 internal_wired.ip.dhcp.lease.last_attempt . . . . . . . . . . . 763 internal_wired.ip.dhcp.lease.length . . . . . . . . . . . . . . . . 764 internal_wired.ip.dhcp.lease.server . . . . . . . . . . . . . . . . 765 internal_wired.ip.dhcp.lease.time_left . . . . . . . . . . . . . . 766 internal_wired.ip.dhcp.option12 . . . . . . . . . . . . . . . . . . 767 internal_wired.ip.dhcp.option12_format . . . . . . . . . . . . 768 internal_wired.ip.dhcp.option12_value . . . . . . . . . . . . . 769 internal_wired.ip.dhcp.request_timeout . . . . . . . . . . . . 770 internal_wired.ip.dhcp.requests_per_session . . . . . . . . 771 internal_wired.ip.dhcp.session_interval . . . . . . . . . . . . 772 internal_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . 773 internal_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . 774 internal_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . 775 internal_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . 776 internal_wired.ip.timeout.enable . . . . . . . . . . . . . . . . . . 777 internal_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . . 778 internal_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . 779 internal_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . 780 ip.active_network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804 ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805 ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806 ip.bootp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807 ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808 ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809 ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810 ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812 ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814 ip.dhcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815 ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . . . . . . 816 ip.dhcp.lease.length . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813 ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817 ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . . . . . . 818 ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . . . . . 820 ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . . . . . . 821 ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . . . . . . . 822 ip.dhcp.requests_per_session . . . . . . . . . . . . . . . . . . . . 823 ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . . . . . . . 824 ip.dns.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825 ip.dns.servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826 ip.ftp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 ip.ftp.execute_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828 ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829 ip.http.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830 ip.lpd.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831 ip.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832 ip.mirror.auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 ip.mirror.error_retry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834 ip.mirror.feedback.auto . . . . . . . . . . . . . . . . . . . . . . . . . 835 ip.mirror.feedback.freq . . . . . . . . . . . . . . . . . . . . . . . . . 836 ip.mirror.feedback.odometer . . . . . . . . . . . . . . . . . . . . . 837 ip.mirror.feedback.path . . . . . . . . . . . . . . . . . . . . . . . . . 838 ip.mirror.fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 ip.mirror.freq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 ip.mirror.freq_hours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 ip.mirror.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 ip.mirror.last_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843 ip.mirror.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844 ip.mirror.path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845 ip.mirror.reset_delay . . . . . . . . . . . . . . . . . . . . . . . . . . . 846
ip.mirror.server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.mirror.success . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.mirror.success_time . . . . . . . . . . . . . . . . . . . . . . . . . ip.mirror.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.mirror.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.pop3.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.pop3.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.pop3.poll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.pop3.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.pop3.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.primary_network . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.smtp.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.smtp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.smtp.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.snmp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.snmp.get_community_name . . . . . . . . . . . . . . . . . . . ip.snmp.set_community_name . . . . . . . . . . . . . . . . . . . ip.tcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.telnet.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ip.udp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . media.cartridge.part_number . . . . . . . . . . . . . . . . . . . . media.cut_now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . media.darkness_mode . . . . . . . . . . . . . . . . . . . . . . . . . media.media_low.external . . . . . . . . . . . . . . . . . . . . . . media.media_low.warning . . . . . . . . . . . . . . . . . . . . . . . media.present.cut_amount . . . . . . . . . . . . . . . . . . . . . . media.present.cut_margin . . . . . . . . . . . . . . . . . . . . . . . media.present.eject . . . . . . . . . . . . . . . . . . . . . . . . . . . . media.present.length_addition . . . . . . . . . . . . . . . . . . . media.present.loop_length . . . . . . . . . . . . . . . . . . . . . . media.present.loop_length_max . . . . . . . . . . . . . . . . . . media.present.present_timeout . . . . . . . . . . . . . . . . . . . media.present.present_type . . . . . . . . . . . . . . . . . . . . . media.printmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . media.speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . odometer.headclean . . . . . . . . . . . . . . . . . . . . . . . . . . odometer.headnew . . . . . . . . . . . . . . . . . . . . . . . . . . . odometer.label_dot_length . . . . . . . . . . . . . . . . . . . . . . odometer.media_marker_count1 . . . . . . . . . . . . . . . . . odometer.media_marker_count2 . . . . . . . . . . . . . . . . . odometer.retracts_count . . . . . . . . . . . . . . . . . . . . . . . . odometer.rfid.valid_resettable . . . . . . . . . . . . . . . . . . . . odometer.rfid.void_resettable . . . . . . . . . . . . . . . . . . . . odometer.total_print_length . . . . . . . . . . . . . . . . . . . . . print.tone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.error.response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.position.program . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.reader_1.antenna_port . . . . . . . . . . . . . . . . . . . . . . rfid.reader_1.power.read . . . . . . . . . . . . . . . . . . . . . . . . rfid.reader_1.power.single_power . . . . . . . . . . . . . . . . . rfid.reader_1.power.write . . . . . . . . . . . . . . . . . . . . . . . rfid.tag.calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.tag.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.tag.test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.tag.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.adhocautomode . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.adhocchannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.associated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.bssid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 865 863 864 867 866 868 668 669 670 671 672 673 678 674 675 676 677 679 680 681 683 684 685 686 687 688 689 690 691 692 693 694 695 697 699 700 701 703 704 705 706 869 870 871 872 873
P1012728-004 Rev. A
6/8/10
29
wlan.channel_mask . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874 wlan.current_tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . . 875 wlan.essid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876 wlan.firmware_version . . . . . . . . . . . . . . . . . . . . . . . . . . 877 wlan.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878 wlan.ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879 wlan.ip.default_addr_enable . . . . . . . . . . . . . . . . . . . . . 880 wlan.ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . . 881 wlan.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882 wlan.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . . 883 wlan.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . 884 wlan.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . 885 wlan.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . 886 wlan.ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . . 887 wlan.ip.dhcp.lease.length . . . . . . . . . . . . . . . . . . . . . . . . 888 wlan.ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . . 889 wlan.ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . . 890 wlan.ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . 891 wlan.ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . 892 wlan.ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . . 893 wlan.ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . . 894 wlan.ip.dhcp.requests_per_session . . . . . . . . . . . . . . . . 895 wlan.ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . . 896 wlan.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897 wlan.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898 wlan.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899 wlan.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900 wlan.ip.timeout.enable . . . . . . . . . . . . . . . . . . . . . . . . . . 901 wlan.ip.timeout.value . . . . . . . . . . . . . . . . . . . . . . . . . . . 902 wlan.keep_alive.enable . . . . . . . . . . . . . . . . . . . . . . . . . 903 wlan.keep_alive.timeout . . . . . . . . . . . . . . . . . . . . . . . . . 904 wlan.kerberos.kdc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905 wlan.kerberos.password . . . . . . . . . . . . . . . . . . . . . . . . 906 wlan.kerberos.realm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 wlan.kerberos.username . . . . . . . . . . . . . . . . . . . . . . . . 908 wlan.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909 wlan.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910 wlan.operating_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 911 wlan.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912 wlan.preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913 wlan.private_key_password . . . . . . . . . . . . . . . . . . . . . . 914 wlan.roam.interchannel_delay . . . . . . . . . . . . . . . . . . . . 915 wlan.roam.interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916 wlan.roam.max_chan_scan_time . . . . . . . . . . . . . . . . . 917 wlan.roam.signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918 wlan.security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919 wlan.signal_noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 wlan.signal_quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 wlan.signal_strength . . . . . . . . . . . . . . . . . . . . . . . . . . . 929 wlan.station_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 wlan.tx_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 wlan.tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 wlan.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 wlan.wep.auth_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 wlan.wep.index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935 wlan.wep.key_format . . . . . . . . . . . . . . . . . . . . . . . . . . . 941 wlan.wep.key1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936 wlan.wep.key2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937 wlan.wep.key3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938 wlan.wep.key4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 wlan.wpa.psk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940 zbi.control.add_breakpoint . . . . . . . . . . . . . . . . . . . . . . . 709
zbi.control.break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.control.clear_breakpoints . . . . . . . . . . . . . . . . . . . . zbi.control.delete_breakpoint . . . . . . . . . . . . . . . . . . . . zbi.control.line_number . . . . . . . . . . . . . . . . . . . . . . . . . zbi.control.restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.control.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.control.step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.control.terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.control.variable_name . . . . . . . . . . . . . . . . . . . . . . . zbi.control.variable_value . . . . . . . . . . . . . . . . . . . . . . . zbi.key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.reseller_key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.running_program_name . . . . . . . . . . . . . . . . . . . . . zbi.start_info.execute . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.start_info.file_name . . . . . . . . . . . . . . . . . . . . . . . . . zbi.start_info.memory_alloc . . . . . . . . . . . . . . . . . . . . . zbi.state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728
6/8/10
P1012728-004 Rev. A
30
Notes ____________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________
P1012728-004 Rev. A
6/8/10
1
About This Document
This section provides an overview of the entire document, contact information, and details on document structure and organization.
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Who Should Use This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How This Document Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 33 33 34 35
6/8/10
P1012728-004
32
Introduction
This guide is the unabridged, alphabetical reference of programming commands supported in the firmware. This includes all ZPL commands and SGD commands.
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.
Firmware You can get the printers firmware version by printing out a configuration label. For instructions to do so, see your printers user guide.
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.
Many text editors and word processors can recreate most examples in this guide in ASCII format. 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 1089.
P1012728-004
6/8/10
33
Provides a high-level overview about this guide and Zebra Programming Language (ZPL). Provides an alphabetical, detailed description of each ZPL command. Provides an alphabetical, detailed description of each ZPL RFID command, and some examples of how to use them. Provides new and modified ZPL commands for the wireless print server. Provides details about the Zebra Basic Interpreter, its commands, descriptions, formats, and parameters. Provides a high-level overview of printer setting Set / Get / Do (SGD) commands. Provides a high-level overview of the wired Set / Get / Do (SGD) commands. Provides a high-level overview of the wireless Set / Get / Do (SGD) commands. The appendixes include: Zebra Code Pages ASCII Fonts and Bar Codes Mod 10 and Mod 43 Check Digits Error Detection Protocol ZB64 Encoding and Compression Field Interactions Real Time Clock ZBI Character Set SGD Command Support Mirror Wireless Markup Language (WML) Firmware Features Glossary of terms.
SGD Printer Commands SGD Wired Commands SGD Wireless Commands Appendixes
Glossary
6/8/10
P1012728-004
34
Contacts
Technical Support via the Internet is available 24 hours per day, 365 days per year. Web Site: www.zebra.com E-mail Back Technical Library: E-mail address: emb@zebra.com Subject line: Emaillist Self Service Knowledge Base: www.zebra.com/knowledgebase Online Case Registration: www.zebra.com/techrequest
Which Department Do You Need? Regional Headquarters Europe, Middle East, and Africa Zebra Technologies Europe Limited Dukes Meadow Millboard Road Bourne End Buckinghamshire, SL8 5XF United Kingdom T: +44 (0) 1628 556000 F: +44 (0) 1628 556001 Technical Support For questions on the operation of Zebra equipment and software, please call your distributor. For additional assistance, contact us. Please have your model and serial numbers available. Repair Service Department For back-to-base service and repair. Technical Training Department For Zebra product training courses. Inquiry Department For product literature and distributor and dealer information. Customer Service Department (US) Internal Sales Department (UK) For printers, parts, media, and ribbon, please call your distributor or contact us. Key:
T: Telephone F: Facsimile E: E-mail
The Americas Zebra Technologies Corporation 475 Half Day Road, Suite 500 Lincolnshire, IL 60069 USA T: +1 847 634 6700 Toll-free +1 866 230 9494 F: +1 847 913 8766
Asia Pacific and India Zebra Technologies Asia Pacific Pte. Ltd. 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
T: +1 877 ASK ZEBRA (275 9327) F: +1 847 913 2578 Hardware: ts1@zebra.com Software: ts3@zebra.com Kiosk printers: T: +1 866 322 5202 E: kiosksupport@zebra.com
T: +1 877 ASK ZEBRA (275 9327) F: +1 847 821 1797 E: repair@zebra.com To request a repair in the U.S., go to www.zebra.com/repair. T: +1 847 793 6868 T: +1 847 793 6864 F: +1 847 913 2578 E: ttamerica@zebra.com T: +1 877 ASK ZEBRA (275 9327) E: inquiry4@zebra.com
T: +44 (0) 1772 693069 F: +44 (0) 1772 693046 New requests: ukrma@zebra.com Status updates: repairupdate@zebra.com T: +44 (0) 1628 556000 F: +44 (0) 1628 556001 E: Eurtraining@zebra.com
T: +65 6858 0722 F: +65 6885 0838 E: China: tschina@zebra.com All other areas: tsasiapacific@zebra.com T: + 65 6858 0722 F: +65 6885 0838 E: China: tschina@zebra.com All other areas: tsasiapacific@zebra.com E: China: GCmarketing@zebra.com All other areas: APACChannelmarketing@zebra.com
T: +65 6858 0722 F: +65 6885 0836 E: China: order-csr@zebra.com All other areas: csasiapacific@zebra.com
P1012728-004 Rev. A
6/8/10
35
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. Command Line Examples Command line examples appear in Courier New font. For example, type ZTools to get to the Post-Install scripts in the bin directory. Files and Directories File names and directories appear in Courier New font. For example, the Zebra<version number>.tar file and the /root directory. Icons Used Identifies features that are available in printers with firmware version Vx.17.x or later.
Identifies features that are available in printers with firmware version V60.16, V53.16, 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. Identifies features that are available in printers with firmware version V60.13.x, V50.13.x, or earlier.
Note Indicates neutral or positive information that emphasizes or supplements important points of the main text.
6/8/10
P1012728-004
36
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
1 2
1 2
P1012728-004
6/8/10
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:
6/8/10
P1012728-004
38
ZPL Commands
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.
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 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.
P1012728-004
6/8/10
39
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.
6/8/10
P1012728-004
40
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:
Important Your name goes where you see xxxxxxxxxxx in the second line of code.
1 2 3 4
^XA
^FO50,50^ADN,36,20^FDxxxxxxxxxxx ^FS
^XZ
5 1 2 3 4 5
Every format starts with the ^XA command ^FO (field origin) command ^FS (field separator) command Every format ends with the ^XZ command ^FD (field data) command
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.
Example 180,100 is the largest you can make the D font.
P1012728-004
25,18 would not be a valid size. The printer rounds to the next recognizable size.
Zebra Programming Guide 6/8/10
41
2. Check the font matrices tables for other fonts to try. See Fonts and Bar Codes
on page 959.
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.
^XA ^FO50,50^ADN,36,20^FDxxxxxxxxxxx^FS ^FO ^FO ^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 (fill in the rest) (fill in the rest)
6/8/10
P1012728-004
42
^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.
^GB195,203,195^FS
P1012728-004
6/8/10
43
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.
^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
6/8/10
P1012728-004
44
^B3o,e,h,f,g ^BY
Important For valid parameter choices, see ^B3 on page 59.
3. Insert the ^BY command just before the ^B3 to see how the narrow bar width can be
^PQ4 ^XZ
(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.
P1012728-004
6/8/10
45
^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: ^ ^ F S D F A % B % C % D % 1 d 0 d 0 d 0 d 1 2 3 E % 0 0 0 F % 0 0 0 G % 0 0 0 H % 0 0 0
And on through 1 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 332. 0 1 4 0 0 0 0
6/8/10
P1012728-004
46
Exercise 5 Saving a template to memory. ^IS and image save and image load.
Note This exercise helps you troubleshoot your code against the errors you see on your
labels.
^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.
P1012728-004
6/8/10
47
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
ZPL II CODE
^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
GENERATED LABEL
1 2
Download format code Recall format call that generates the generated label in Figure 2.
6/8/10
P1012728-004
48
Exercise 7 Asian and Unicode Encodings This exercise works in printers with firmware version V60.14, V50.14, or later.
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.
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:
ZPL II CODE GENERATED LABEL
ZPL II CODE
GENERATED LABEL
P1012728-004
6/8/10
ZPL Commands ^A
49
^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
Important Parameter f is required. If f is omitted it defaults to the last value of the ^CF
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). 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 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 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
o = field orientation
6/8/10
P1012728-004
50
ZPL Commands ^A
^XA ^FO50,50 ^A0,32,25 ^FDZEBRA^FS ^FO50,150 ^A0,32,25 ^FDPROGRAMMING^FS ^FO50,250 ^A0,32,25^FDLANGUAGE^FS ^XZ
^XA ^FO50,50 ^ADN,36,20 ^FDZEBRA^FS ^FO50,150 ^ADN,36,20 ^FDPROGRAMMING^FS ^FO50,250 ^ADN,36,20^FDLANGUAGE^FS ^XZ
For reference, see Standard Printer Fonts on page 960, Zebra Code Page 850 Latin Character Set on page 944, Fonts and Bar Codes on page 959, and ASCII on page 957. 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. 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 993.
P1012728-004
6/8/10
51
^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 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. 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. Accepted Values: R:, E:, B:, and A: Default Value: R: 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. Accepted Values: .FNT = font .TTF = TrueType Font
x = extension
P1012728-004
52
Example This example is followed by a table that identifies the called out lines of code: 1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
Starts the label format. 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. Sets the field origin at 100,100. Prints the field data, Zebra Printer Fonts on the label. Calls the font again and character size is decreased to 40 dots by 40 dots. Sets the new field origin at 100,150. Prints the field data, This uses the B:CYRI_UB.FNT on the label. Ends the label format.
For reference, see Zebra Code Page 850 Latin Character Set on page 944, Fonts and Bar Codes on page 959, and ASCII on page 957.
P1012728-004
6/8/10
53
^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.
Note The Aztec bar code works with firmware version V60.13.0.11A and V50.13.2 or later.
Format ^B0a,b,c,d,e,f,g
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 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 Accepted Values: Y = if data contains ECICs N = if data does not contain ECICs Default Value: N 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 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
b = magnification factor
f = number of symbols Accepted Values: 1 through 26 for structured append Default Value: 1
6/8/10
P1012728-004
54
Parameters
Details
ZPL II CODE
^XA ^B0R,7,N,0,N,1,0 ^FD 7. This is testing label 7^FS ^XZ
GENERATED LABEL
P1012728-004
6/8/10
55
^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
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 Accepted Values: Y = 1 digit N = 2 digits Default Value: N Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: Y = yes N = no Default Value: Y Accepted Values: Y = yes N = no Default Value: N
e = check digit
6/8/10
P1012728-004
56
Internal Start/Stop Character: When used as a stop character: is used with 1 check digit is used with 2 check digits
P1012728-004
6/8/10
57
^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
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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: Y = yes N = no Default Value: Y Accepted Values: Y = yes N = no Default Value: N Accepted Values: Y = yes N = no Default Value: N
6/8/10
P1012728-004
58
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 974.
P1012728-004
6/8/10
59
^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
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 Accepted Values: Y = yes N = no Default Value: N Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: Y = yes N = no Default Value: Y
6/8/10
P1012728-004
60
Parameters
Details
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.
Example 2 This example encodes a carriage return with line feed into a Code 39 bar code:
ZPL II CODE
^XA ^FO20,20 ^B3N,N,100,Y ^FDTEST+$$M$J-$^FS ^XZ
GENERATED LABELS
P1012728-004
6/8/10
61
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 %A %B %C %D %E
ASCII
SP ! # $ % & ( ) * ++ , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
Code 39
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
6/8/10
P1012728-004
62
ASCII
@ 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 [ \ ] ^ _
Code 39
%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
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 39
%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
P1012728-004
6/8/10
63
^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
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 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. 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.
6/8/10
P1012728-004
64
Parameters
Details
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
P1012728-004
6/8/10
65
6/8/10
P1012728-004
66
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. 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.
P1012728-004
6/8/10
67
^B5
Planet Code bar code
Description The ^B5 command is supported in all printers as a resident bar code.
Note Accepted bar code characters are 0 - 9.
Format ^B5o,h,f,g
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 Accepted Values: 1 to 9999 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: N Accepted Values: N = no Y = yes Default Value: N
GENERATED LABEL
6/8/10
P1012728-004
68
^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
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 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. 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. 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.
s = security level
P1012728-004
6/8/10
69
Parameters
Details
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. Accepted Values: N = no truncation Y = perform truncation Default Value: N
ZPL II 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
6/8/10
P1012728-004
70
Example 3 This example shows the ^B7 command used with field hex (^FH) characters:
ZPL II CODE ^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 GENERATED LABEL
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.
P1012728-004
6/8/10
71
6/8/10
P1012728-004
72
^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
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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: N
P1012728-004
6/8/10
73
6/8/10
P1012728-004
74
^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
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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: N
P1012728-004
6/8/10
75
Parameters
Details
6/8/10
P1012728-004
76
^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 128character ASCII set. ZPL II, however, does not support ASCII control codes or escape sequences. It uses the substitute characters shown below.
Control Code ZPL II Substitute
& ( )
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
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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: N
P1012728-004
6/8/10
77
Parameters
Details
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 Denotes an internal start/stop character that must precede and follow every bar code message.
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 78.
6/8/10
P1012728-004
78
ASCII
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
Code 93
U &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
SP ! # $ % & ( ) * ++ , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
Code 93
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
P1012728-004
6/8/10
79
ASCII
@ 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 [ \ ] ^ _
Code 93
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
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 93
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
6/8/10
P1012728-004
80
^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
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 Accepted Values: 2 to 32000 Default Value: 8 This number, multiplied by the module, equals the height of the individual row in dots. 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. 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.
h = bar code height for individual rows (in dots) s = security level
P1012728-004
6/8/10
81
Parameters
Details
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
6/8/10
P1012728-004
82
ZPL II 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
P1012728-004
6/8/10
83
6/8/10
P1012728-004
84
^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
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 Accepted Values: 1 to 32000 Default Value: value set by ^BY 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. Accepted Values: Y (yes) or N (no) Default Value: N 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
P1012728-004
6/8/10
85
Parameters
Details
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 1 This is an example of a Code 128 bar code:
6/8/10
P1012728-004
86
(Numeric Pairs give Alpha/Numerics) (Normal Alpha/Numeric) (All numeric (00 - 99)
P1012728-004
6/8/10
87
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
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
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)
6/8/10
P1012728-004
88
Example 2 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:
^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
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.
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.
P1012728-004
6/8/10
89
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 3 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 86. 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
6/8/10
P1012728-004
90
UCC/EAN-128 offers several advantages. It is one of the most complete, alphanumeric, onedimensional 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.
P1012728-004
6/8/10
91
>;>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
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.
6/8/10
P1012728-004
92
(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.
x.11.x or later:
ZPL II CODE ^XA ^FO50,200 ^A0N,40,30^BCN,150,Y,N,Y ^FD>;>80012345123451234512^FS ^XZ INTERPRETATION LINE
The font command (^A0N,40,30) can be added and changed to alter the font and size of the interpretation line.
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.
You have to make sure you enter the correct check digit in the text field.
Zebra Programming Guide 6/8/10
93
Creating a separate text field allows you to format the interpretation line with parentheses and spaces.
ZPL II CODE
^XA ^FO25,25 ^BCN,150,N,N,Y ^FD>;>80012345123451234512^FS ^FO100,190 ^A0N,50,40 ^FD(00) 1 2345123 451234512 0^FS ^XZ
Serial Shipping Container Code (SSCC) Shipping Container Code Batch Numbers Production Date (YYMMDD) Packaging Date (YYMMDD) Sell By Date (YYMMDD) Expiration Date (YYMMDD) Product Variant Serial Number HIBCC Quantity, Date, Batch and Link Lot Number Quantity Each
a. Plus one digit for length indication. b. Plus one digit for decimal point indication.
00 01 10 11 13 15 17 20 21 22 23
a
exactly 18 digits exactly 14 digits up to 20 alpha numerics exactly 6 digits exactly 6 digits exactly 6 digits exactly 6 digits exactly 2 digits up to 20 alpha numerics up to 29 alpha numerics up to 19 alpha numerics
30
6/8/10
P1012728-004
94
Net Weight (Kilograms) Length, Meters Width or Diameter (Meters) Depths (Meters) Area (Sq. Meters) Volume (Liters) Volume (Cubic Meters) Net Weight (Pounds) Customer PO Number Ship To (Deliver To) Location Code using EAN 13 or DUNS Number with leading zeros Bill To (Invoice To) Location Code using EAN 13 or DUNS Number with leading zeros Purchase from Ship To (Deliver To) Postal Code within single postal authority Ship To (Deliver To) Postal Code with 3-digit ISO Country Code Prefix Roll Products - width, length, core diameter, direction and splices Electronic Serial number for cellular mobile phone
a. Plus one digit for length indication. b. Plus one digit for decimal point indication.
exactly 6 digits exactly 6 digits exactly 6 digits exactly 6 digits exactly 6 digits exactly 6 digits exactly 6 digits exactly 6 digits up to 29 alpha numerics exactly 13 digits exactly 13 digits exactly 13 digits up to 9 alpha numerics 3 digits plus up to 9 alpha numerics exactly 14 digits up to 20 alpha numerics
316 b
b
Note Table 8 is a partial table showing the application identifiers. For more current and
complete information, search the Internet for UCC Application Identifier. For date fields that only need to indicate a year and month, the day field is set to 00.
P1012728-004
6/8/10
95
6/8/10
P1012728-004
96
^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
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 Accepted Values: 1 to 8 can be added in a structured document Default Value: 1 Accepted Values: 1 to 8, representing the total number of symbols in this sequence Default Value: 1
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
P1012728-004
6/8/10
97
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) 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)
6/8/10
P1012728-004
98
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 nonU.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 ( _ ).
P1012728-004
6/8/10
99
^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
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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: N
6/8/10
P1012728-004
100
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 974.
P1012728-004
6/8/10
101
^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
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 Accepted Values: 1 to 9999 Default Value: value set by ^BY or 10 (if no ^BY value exists). Accepted Values: 0 to 33 (see Table 9, MicroPDF417 Mode on page 102) Default Value: 0 (see Table 9)
Example This is an example of a MicroPDF417 bar code:
6/8/10
P1012728-004
102
data, or a combination).
2. Determine the maximum amount of data to be encoded within the bar code (for example,
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 Table 9, MicroPDF417 Mode on page 102 with the information gathered from the
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
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
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
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
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
P1012728-004
6/8/10
103
^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.
Format ^BIo,h,f,g
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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: N
6/8/10
P1012728-004
104
P1012728-004
6/8/10
105
^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.
Format ^BJo,h,f,g
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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: N
6/8/10
P1012728-004
106
P1012728-004
6/8/10
107
^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.
Format ^BKo,e,h,f,g,k,l
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 Fixed Value: N Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: N Accepted Values: A,B, C, D Default Value: A Accepted Values: A,B, C, D Default Value: A
e = check digit h = bar code height (in dots) f = print interpretation line
6/8/10
P1012728-004
108
P1012728-004
6/8/10
109
^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.
Format ^BLo,h,g
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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: N
h = bar code height (in dots) g = print interpretation line above code
6/8/10
P1012728-004
110
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 975.
P1012728-004
6/8/10
111
^BM
MSI Bar Code
Description The ^BM command is a pulse-width modulated, continuous, non-selfchecking 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.
Format ^BMo,e,h,f,g,e2
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 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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: N
6/8/10
P1012728-004
112
Parameters
Details
P1012728-004
6/8/10
113
^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.
Note The Aztec bar code works with firmware version V60.13.0.11A and V50.13.2 or later.
Format ^BOa,b,c,d,e,f,g
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 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 Accepted Values: Y = if data contains ECICs N = if data does not contain ECICs. Default Value: N 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 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
b = magnification factor
f = number of symbols Accepted Values: 1 through 26 for structured append Default Value: 1
6/8/10
P1012728-004
114
Parameters
Details
ZPL II CODE
^XA ^B0R,7,N,0,N,1,0 ^FD 7. This is testing label 7^FS ^XZ
GENERATED LABEL
P1012728-004
6/8/10
115
^BP
^BP
Plessey Bar Code
Description The ^BP command is a pulse-width modulated, continuous, non-selfchecking symbology. Each character in the Plessey bar code is composed of eight elements: four bars and four adjacent spaces.
Format ^BPo,e,h,f,g
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 Accepted Values: N = no Y = yes Default Value: N Accepted Values: N = no Y = yes Default Value: N Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: N
6/8/10
P1012728-004
116
P1012728-004
6/8/10
117
^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. Userspecified 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
Important If additional information about the QR Code bar code is required, go to www.aimglobal.org.
Parameters
Details
Fixed Value: normal (^FW has no effect on rotation) Accepted Values: 1 (original) and 2 (enhanced recommended) Default Value: 2 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 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
d = H,Q,M,L
6/8/10
P1012728-004
118
Parameters
Details
e = N,A,B.K
On the pages that follow are specific commands for formatting the ^BQ command with the ^FD statements that contain the information to be coded.
P1012728-004
6/8/10
119
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.
6/8/10
P1012728-004
120
2 1 2 3
P1012728-004
6/8/10
121
ZPL II CODE
^XA ^FO20,20^BQ,2,10 ^FDHM,N123456789012345^FS ^XZ
GENERATED LABEL
1 2 3 4
H = error correction level (ultra-high reliability level M, = input mode (manual input) N = character mode (numeric data) data character string
Example 3 QR Code, normal mode with standard reliability and manual data input:
GENERATED LABEL
1 1 2 3 4
2 3
M = error correction level (standard-high reliability level M, = manual input A = alphanumeric data AC-42 = data character string
6/8/10
P1012728-004
122
P1012728-004
6/8/10
123
ZPL II CODE
^XA ^FO,20,20^BQ,2,10 ^FDD03048F,LM,N0123456789,A12AABB,B0006qrcode^FS ^XZ
GENERATED LABEL
D M D M
L M
<character mode> <data character string> <character mode> B 0006 <data character string> (8-bit byte data) (number of bytes) qrcode A (alphanumeric data) 12AABB
6/8/10
P1012728-004
124
Example This is an example of QR Code, mixed mode with automatic data input:
<mixed mode identifier> <code No.> <No. of divisions> <parity data> <error correction level> <input mode> <data character string>
D M D M L A
(mixed) (code number) (divisions) (0x0C) (high-density level) (automatic input) 012345678912AABBqrcode
For proper functionality, when encoding Kanji characters in ^CI28-30 (Unicode) be sure the JIS.DAT table is loaded on the printer and specified.
Example This is a Unicode example:
ZPL II CODE
GENERATED LABEL
P1012728-004
6/8/10
125
^BR
GS1 Databar (formerly Reduced Space Symbology)
Description The ^BR command is bar code types for space-constrained identification from EAN International and the Uniform Code Council, Inc. Format ^BRa,b,c,d,e,f
Parameters Details
a = orientation
Accepted Values: N = Normal R = Rotated I = Inverted B = Bottom-up Default Value: R Accepted Values: 1 = GS1 DataBar Omnidirectional 2 = GS1 DataBar Truncated 3 = GS1 DataBar Stacked 4 = GS1 DataBar Stacked Omnidirectional 5 = GS1 DataBar Limited 6 = GS1 DataBar Expanded 7 = UPC-A 8 = UPC-E 9 = EAN-13 10 = EAN-8 11 = UCC/EAN-128 and CC-A/B 12 = UCC/EAN-128 and CC-C Default Value: 1 Accepted Values: 1 to 10 Default Value: 24 dot = 6, 12 dot is 3, 8 dot and lower is 2 12 dot = 6, > 8 dot is 3, 8 dot and less is 2 Accepted Values: 1 or 2 Default Value: 1 The bar code height only affects the linear portion of the bar code. Only UCC/EAN and CC-A/B/C. Accepted Values: 1 to 32000 dots Default Value: 25 Accepted Values: 2 to 22, even numbers only, in segments per line Default Value: 22
c = magnification factor
6/8/10
P1012728-004
126
ZPL II CODE
^XA ^FO10,10^BRN,7,5,2,100 ^FD12345678901|this is composite info^FS ^XZ
GENERATED LABEL
ZPL II CODE
^XA ^FO10,10^BRN,1,5,2,100 ^FD12345678901|this is composite info^FS ^XZ
GENERATED LABEL
P1012728-004
6/8/10
127
^BS
UPC/EAN Extensions
Description The ^BS command is the two-digit and five-digit add-on used primarily by publishers to create bar codes for ISBNs (International Standard Book Numbers). These extensions are handled as separate bar codes. The ^BS command is designed to be used with the UPC-A bar code (^BU) and the UPC-E bar code (^B9).
Format ^BSo,h,f,g
Important If additional information about the UPC/EAN 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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: Y
6/8/10
P1012728-004
128
Care should be taken in positioning the UPC/EAN extension with respect to the UPC-A or UPC-E code to ensure the resulting composite code is within the UPC specification.
P1012728-004
6/8/10
129
For UPC codes, with a module width of 2 (default), the field origin offsets for the extension are:
Example 3 This is an example of a UPC-A:
Supplement Origin X - Offset Normal Rotated 209 Dots 0 Adjustment Y - Offset 21 Dots 209 Dots
Additionally, the bar code height for the extension should be 27 dots (0.135 inches) shorter than that of the primary code. A primary UPC code height of 183 dots (0.900 inches) requires an extension height of 155 dots (0.765 inches).
Example 4 This example illustrates how to create a normal UPC-A bar code for the value 7000002198 with an extension equal to 04414:
ZPL II CODE ^XA ^FO100,100^BY3 ^BUN,137 ^FD07000002198^FS ^FO400,121 ^BSN,117 ^FD04414^FS ^XZ
6/8/10
P1012728-004
130
^BT
TLC39 Bar Code
Description The ^BT bar code is the standard for the TCIF can tag telecommunications equipment. The TCIF CLEI code, which is the MicroPDF417 bar code, is always four columns. The firmware must determine what mode to use based on the number of characters to be encoded. Format ^BTo,w1,r1,h1,w2,h2
Parameters Details
o = orientation
Accepted Values: N = normal R = rotated I = inverted B = bottom up Accepted Value (in dots): 1 to 10 Default Value (600 dpi printers): 4 Default Value (200- and 300 dpi printer): 2 Accepted Values: 2.0 to 3.0(increments of 0.1) Default Value: 2.0 Accepted Values (in dots): 1 to 9999 Default Value (600 dpi printer): 120 Default Value (300 dpi printer): 60 Default Value (200 dpi printer): 40 Accepted Values (in dots): 1 to 255 Default Value (600 dpi printer): 8 Default Value (200- and 300 dpi printers): 4 Accepted Values (in dots): 1 to 10 Default Value (600 dpi printer): 4 Default Value (200- and 300 dpi printers): 2
w1 = width of the Code 39 bar code r1 = wide to narrow bar width ratio the Code 39 bar code h1 = height of the Code 39 bar code
h2 = row height of the MicroPDF417 bar code w2 = narrow bar width of the MicroPDF417 bar code
P1012728-004
6/8/10
131
This is an example on how to print TLC39 bar code. The callouts identify the key components and are followed by a detailed description below: Use the command defaults to get results that are in compliance with TCIF industry standards; regardless of printhead density.
1 2
ECI Number. If the seventh character is not a comma, only Code 39 prints. This means if more than 6 digits are present, Code 39 prints for the first six digits (and no Micro-PDF symbol is printed). Must be 6 digits. Firmware generates invalid character error if the firmware sees anything but 6 digits. This number is not padded. Serial number. The serial number can contain up to 25 characters and is variable length. The serial number is stored in the Micro-PDF symbol. If a comma follows the serial number, then additional data is used below. If present, must be alphanumeric (letters and numbers, no punctuation). This value is used if a comma follows the ECI number. Additional data. If present, it is used for things such as a country code. Data cannot exceed 150 bytes. This includes serial number commas. Additional data is stored in the Micro-PDF symbol and appended after the serial number. A comma must exist between each maximum of 25 characters in the additional fields. Additional data fields can contain up to 25 alphanumeric characters per field. The result is:
ZPL II CODE ^XA^FO100, 100^BT^FD123456, ABCd12345678901234, 5551212, 88899 ^FS^XZ GENERATED LABEL
6/8/10
P1012728-004
132
^BU
UPC-A Bar Code
Description The ^BU command produces a fixed length, numeric symbology. It is primarily used in the retail industry for labeling packages. The UPC-A bar code has 11 data characters. The 6 dot/mm, 12 dot/mm, and 24 dot/mm printheads produce the UPC-A bar code (UPC/EAN symbologies) at 100 percent size. However, an 8 dot/mm printhead produces the UPC/EAN symbologies at a magnification factor of 77 percent.
Format ^BUo,h,f,g,e
Important If additional information about the UPC-A 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 Accepted Values: 1 to 9999 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: Y Accepted Values: N = no Y = yes Default Value: N Accepted Values: N = no Y = yes Default Value: Y
P1012728-004
6/8/10
133
The font style of the interpretation line depends on the modulus (width of narrow bar) selected in ^BY:
Note Zero is not allowed.
6 dot/mm printer: a modulus of 2 dots or greater prints with an OCR-B interpretation line; a modulus of 1 dot prints font A. 8 dot/mm printer: a modulus of 3 dots or greater prints with an OCR-B interpretation line; a modulus of 1 or 2 dots prints font A. 12 dot/mm printer: a modulus of 5 dots or greater prints with an OCR-B interpretation line; a modulus of 1, 2, 3, or 4 dots prints font A. 24 dot/mm printer: a modulus of 9 dots or greater prints with an OCR-B interpretation line; a modulus of 1 to 8 dots prints font A.
Example This is an example of a UPC-A bar code with extension:
ZPL II CODE ^XA ^FO100,100^BY3 ^BUN,137 ^FD07000002198^FS ^FO400,121 ^BSN,117 ^FD04414^FS ^XZ
Comments The UPC-A bar code uses the Mod 10 check digit scheme for error checking. For further information on Mod 10, see Mod 10 Check Digit on page 974.
6/8/10
P1012728-004
134
^BX
Data Matrix Bar Code
Description The ^BX command creates a two-dimensional matrix symbology made up of square modules arranged within a perimeter finder pattern. Format ^BXo,h,s,c,r,f,g,a
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 Accepted Values: 1 to the width of the label The individual elements are square this parameter specifies both module and row height. If this parameter is zero (or not given), the h parameter (bar height) in ^BY is used as the approximate symbol height. Accepted Values: 0, 50, 80, 100, 140, 200 Default Value: 0 Quality refers to the amount of data that is added to the symbol for error correction. The AIM specification refers to it as the ECC value. ECC 50, ECC 80, ECC 100, and ECC 140 use convolution encoding; ECC 200 uses Reed-Solomon encoding. For new applications, ECC 200 is recommended. ECC 000-140 should be used only in closed applications where a single party controls both the production and reading of the symbols and is responsible for overall system performance.
c = columns to encode
Accepted Values: 9 to 49 Odd values only for quality 0 to 140 (10 to 144); even values only for quality 200. Odd values only for quality 0 to 140 (10 to 144); even values only for quality 200. The number of rows and columns in the symbol is automatically determined. You might want to force the number of rows and columns to a larger value to achieve uniform symbol size. In the current implementation, quality 0 to 140 symbols are square, so the larger of the rows or columns supplied are used to force a symbol to that size. If you attempt to force the data into too small of a symbol, no symbol is printed. If a value greater than 49 is entered, the rows or columns value is set to zero and the size is determined normally. If an even value is entered, it generates INVALID-P (invalid parameter). If a value less than 9 but not 0, or if the data is too large for the forced size, no symbol prints; if ^CV is active, INVALID-L prints.
r = rows to encode
Accepted Values: 9 to 49
P1012728-004
6/8/10
135
Parameters
Details
Accepted Values: 1 = field data is numeric + space (0..9,) No \& 2 = field data is uppercase alphanumeric + space (A..Z,) No \& 3 = field data is uppercase alphanumeric + space, period, comma, dash, and slash (0..9,A..Z,.-/) 4 = field data is upper-case alphanumeric + space (0..9,A..Z,) no \& 5 = field data is full 128 ASCII 7-bit set 6 = field data is full 256 ISO 8-bit set Default Value: 6 Accepted Values: any character Default Value: ~ (tilde) This parameter is used only if quality 200 is specified. It is the escape character for embedding special control sequences within the field data. Important A value must always be specified when using the escape sequence control character. If no value is entered, the command is ignored. The g parmeter will continue to be underscore (_) for anyone with firmware version: V60.13.0.12, V60.13.0.12Z, V60.13.0.12B, V60.13.0.12ZB, or later.
a = aspect ratio
6/8/10
P1012728-004
136
ZPL II CODE
^XA ^FO100,100 ^BXN,10,200,,,,,2 ^FDZEBRA TECHNOLOGIES CORPORATION 333 CORPORATE WOODS PARKWAY ^FS ^XZ
a1
P1012728-004
6/8/10
137
Quality 200 If more than 3072 bytes are supplied as field data, it is truncated to 3072 bytes. This limits the maximum size of a numeric Data Matrix symbol to less than the 3116 numeric characters that the specification would allow. The maximum alphanumeric capacity is 2335 and the maximum 8-bit byte capacity is 1556. If ^FH is used, field hexadecimal processing takes place before the escape sequence processing described below. The underscore is the default escape sequence control character for quality 200 field data. A different escape sequence control character can be selected by using parameter g in the ^BX command. The information that follows applies to firmware version: V60.13.0.12, V60.13.0.12Z, V60.13.0.12B, V60.13.0.12ZB, or later. The input string escape sequences can be embedded in quality 200 field data using the ASCII 95 underscore character ( _ ) or the character entered in parameter g: _X is the shift character for control characters (e.g., _@=NUL,_G=BEL,_0 is PAD) _1 to _3 for FNC characters 1 to 3 (explicit FNC4, upper shift, is not allowed) FNC2 (Structured Append) must be followed by nine digits, composed of three-digit numbers with values between 1 and 254, that represent the symbol sequence and file identifier (for example, symbol 3 of 7 with file ID 1001 is represented by _2214001001) 5NNN is code page NNN where NNN is a three-digit code page value (for example, Code Page 9 is represented by _5009) _dNNN creates ASCII decimal value NNN for a code word (must be three digits) _ in data is encoded by __ (two underscores) The information that follows applies to all other versions of firmware. The input string escape sequences can be embedded in quality 200 field data using the ASCII 7E tilde character (~) or the character entered in parameter g: ~X is the shift character for control characters (e.g., ~@=NUL,~G=BEL,~0 is PAD) ~1 to ~3 for FNC characters 1 to 3 (explicit FNC4, upper shift, is not allowed) FNC2 (Structured Append) must be followed by nine digits, composed of three-digit numbers with values between 1 and 254, that represent the symbol sequence and file identifier (for example, symbol 3 of 7 with file ID 1001 is represented by ~2214001001) 5NNN is code page NNN where NNN is a three-digit code page value (for example, Code Page 9 is represented by ~5009) ~dNNN creates ASCII decimal value NNN for a code word (must be three digits) ~ in data is encoded by a ~ (tilde)
6/8/10
P1012728-004
138
^BY
Bar Code Field Default
Description The ^BY command is used to change the default values for the module width (in dots), the wide bar to narrow bar width ratio and the bar code height (in dots). It can be used as often as necessary within a label format. Format ^BYw,r,h
Parameters Details
w = module width (in dots) r = wide bar to narrow bar width ratio h = bar code height (in dots)
Accepted Values: 1 to 10 Initial Value at power-up: 2 Accepted Values: 2.0 to 3.0, in 0.1 increments This parameter has no effect on fixed-ratio bar codes. Default Value: 3.0 Initial Value at power-up: 10
For parameter r, the actual ratio generated is a function of the number of dots in parameter w, module width. See Table 11 on page 139.
Example Set module width (w) to 9 and the ratio (r) to 2.4. The width of the narrow bar is
9 dots wide and the wide bar is 9 by 2.4, or 21.6 dots. However, since the printer rounds out to the nearest dot, the wide bar is actually printed at 22 dots. This produces a bar code with a ratio of 2.44 (22 divided by 9). This ratio is as close to 2.4 as possible, since only full dots are printed.
P1012728-004
6/8/10
139
Module width and height (w and h) can be changed at anytime with the ^BY command, regardless of the symbology selected. Table 11 Shows Module Width Ratios in Dots
Ratio Selected (r) 1 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 3:1 2 2:1 2:1 2:1 2:1 2:1 2.5:1 2.5:1 2.5:1 2.5:1 2.5:1 3:1 3 2:1 2:1 2:1 2.3:1 2.3:1 2.3:1 2.3:1 2.6:1 2.6:1 2.6:1 3:1 4 2:1 2:1 2:1 2.25:1 2.25:1 2.5:1 2.5:1 2.5:1 2.75:1 2.75:1 3:1 5 2:1 2:1 2.2:1 2.2:1 2.4:1 2.4:1 2.6:1 2.6:1 2.8:1 2.8:1 3:1 6 2:1 2:1 2.16:1 2.16:1 2.3:1 2.5:1 2.5:1 2.6:1 2.6:1 2.8:1 3:1 7 2:1 2:1 2.1:1 2.28:1 2.28:1 2.4:1 2.57:1 2.57:1 2.7:1 2.85:1 3:1 8 2:1 2:1 2.12:1 2.25:1 2.37:1 2.5:1 2.5:1 2.65:1 2.75:1 2.87:1 3:1 9 2:1 2:1 2.1:1 2.2:1 2.3:1 2.4:1 2.5:1 2.6:1 2.7:1 2.8:1 3:1 10 2:1 2.1:1 2.2:1 2.3:1 2.4:1 2.5:1 2.6:1 2.7:1 2.8:1 2.9:1 3:1 Module Width in Dots (w)
Comments Once a ^BY command is entered into a label format, it stays in effect until another ^BY command is encountered.
6/8/10
P1012728-004
140
^CC ~CC
Change Caret
Description The ^CC command is used to change the format command prefix. The default prefix is the caret (^). Format ^CCx or ~CCx
Parameters Details
Accepted Values: any ASCII character Default Value: a parameter is required. If a parameter is not entered, the next character received is the new prefix character.
~CC/ /XA/JUS/XZ
P1012728-004
6/8/10
141
^BZ
POSTAL Bar Code
Description The POSTAL bar code is used to automate the handling of mail. POSTAL codes use a series of tall and short bars to represent the digits.
Format ^BZo,h,f,g,t
Important If additional information about the POSTAL and PLANET bar code is required, go to www.aimglobal.org, or contact the United States Postal Service http://pe.usps.gov. If
additional information about the INTELLIGENT MAIL bar code is required, see: http://ribbs.usps.gov/OneCodeSolution.
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 Accepted Values: 1 to 32000 Default Value: value set by ^BY Accepted Values: N = no Y = yes Default Value: N Accepted Values: N = no Y = yes Default Value: N Accepted Values: 0 = Postnet bar code 1 = Plant Bar Code 2 = Reserved 3 = USPS Intelligent Mail bar code Default Value: 0
6/8/10
P1012728-004
142
P1012728-004
6/8/10
143
^CD ~CD
Change Delimiter
Description The ^CD and ~CD commands are used to change the delimiter character. This character is used to separate parameter values associated with several ZPL II commands. The default delimiter is a comma (,). Format ^CDa or ~CDa
Parameters Details
Accepted Values: any ASCII character Default Value: a parameter is required. If a parameter is not entered, the next character received is the new prefix character.
Example This shows how to change the character delimiter to a semi-colon (;):
^XA ^FO10,10 ^GB10,10,3 ^XZ ^XA ^CD; ^FO10;10 ^GB10;10;3 ^XZ To save, the JUS command is required. Here is an example using JUS: ~CD; ^XA^JUS^XZ
6/8/10
P1012728-004
144
^CF
Change Alphanumeric Default Font
Description The ^CF command sets the default font used in your printer. You can use the ^CF command to simplify your programs. Format ^CFf,h,w
Parameters Details
f = specified default font h = individual character height (in dots) w = individual character width (in dots)
Accepted Values: A through Z and 0 to 9 Initial Value at power-up: A Accepted Values: 0 to 32000 Initial Value at power-up: 9 Accepted Values: 0 to 32000 Initial Value at power-up: 5 or last permanent saved value
Parameter f specifies the default font for every alphanumeric field. Parameter h is the default height for every alphanumeric field, and parameter w is the default width value for every alphanumeric field. The default alphanumeric font is A. If you do not change the alphanumeric default font and do not use any alphanumeric field command (^AF) or enter an invalid font value, any data you specify prints in font A. Defining only the height or width forces the magnification to be proportional to the parameter defined. If neither value is defined, the last ^CF values given or the default ^CF values for height and width are used.
Example This is an example of ^CF code and the result of the code:
ZPL II CODE ^XA ^CF0,89 ^FO20,50 ^FDA GUIDE TO^FS ^FO20,150 ^FDTHE ZPL II^FS ^FO20,250 ^FDPROGRAMMING^FS ^FO20,350 ^FDLANGUAGE^FS ^XZ
GENERATED LABEL
Comments Any font in the printer, including downloaded fonts, EPROM stored fonts, and fonts A through Z and 0 to 9, can also be selected with ^CW.
P1012728-004
6/8/10
145
^CI
Change International Font/Encoding
Description Zebra printers can print fonts using international character sets: U.S.A.1, U.S.A.2, UK, Holland, Denmark/Norway, Sweden/Finland, Germany, France 1, France 2, Italy, Spain, and several other sets, including the Unicode character set. The ^CI command enables you to call up the international character set you want to use for printing. You can mix character sets on a label. A character within a font can be remapped to a different numerical position. In x.14 version of firmware and later, this command allows character remapping when parameter a = 0-13. Format ^CIa,s1,d1,s2,d2,...
Parameters Details
Note These
Accepted values 0 - 12 are Zebra Code Page 850 with specific character replacements. For details, see International Character Sets on page 148 and/or Zebra Code Page 850 Latin Character Set on page 944. Accepted Values: 0 = Single Byte Encoding - U.S.A. 1 Character Set 1 = Single Byte Encoding - U.S.A. 2 Character Set 2 = Single Byte Encoding - U.K. Character Set 3 = Single Byte Encoding - Holland Character Set 4 = Single Byte Encoding - Denmark/Norway Character Set 5 = Single Byte Encoding - Sweden/Finland Character Set 6 = Single Byte Encoding - Germany Character Set 7 = Single Byte Encoding - France 1 Character Set 8 = Single Byte Encoding - France 2 Character Set 9 = Single Byte Encoding - Italy Character Set 10 = Single Byte Encoding - Spain Character Set (parameter details continued on next page)
a. The encoding is controlled by the conversion table (*.DAT). The correct table must be present for the conversion to function. The table generated by ZTools is the TrueType fonts internal encoding (Unicode). b. Shift-JIS encoding converts Shift-JIS to JIS and then looks up the JIS conversion in JIS.DAT. This table must be present for Shift-JIS to function. c. Supports ASCII transparency for Asian encodings. 7F and less are treated as single byte characters. 80 to FE is treated as the first byte of a 2 byte character 8000 to FEFF in the encoding table for Unicode. d. The ^CI17 command has been deprecated, along with the ^F8 and ^F16 commands that are required for the ^CI17 command to function. The recommended replacement is the ^CI28-30 commands.
6/8/10
P1012728-004
146
Parameters
Details
11 = Single Byte Encoding - Miscellaneous Character Set 12 = Single Byte Encoding - Japan (ASCII with Yen symbol) Character Set 13 = Zebra Code Page 850 (see page 944) 14 = Double Byte Asian Encodings a 15 = Shift-JIS b 16 = EUC-JP and EUC-CN a 17 = Deprecated - UCS-2 Big Endian d 18 to 23 = Reserved 24 = Single Byte Asian Encodings a 25 = Reserved 26 = Multibyte Asian Encodings with ASCII Transparency a and c 27 = Zebra Code Page 1252 (see page 948) 28 = Unicode (UTF-8 encoding) - Unicode Character Set 29 = Unicode (UTF-16 Big-Endian encoding) - Unicode Character Set 30 = Unicode (UTF-16 Little-Endian encoding) - Unicode Character Set 31 = Zebra Code Page 1250 (see page 946) is supported for scalable fonts, such as Font 0, or a downloaded TrueType font. Bitmapped fonts (including fonts A-H) do not fully support Zebra Code Page 1250. This value is supported only on Zebra G-Series printers. 33 = Code Page 1251 34 = Code page 1253 35 = Code Page 1254 36 = Code Page 1255 Initial Value at power-up: 0
Accepted Values: decimals 0 to 255 Accepted Values: decimals 0 to 255 Accepted Values: decimals 0 to 255 Accepted Values: decimals 0 to 255 Up to 256 source and destination pairs can be entered in this command.
s1 = source 1 (character output image) d1 = destination 1 (character input) s2 = source 2 (character output image) d2 = destination 2 (character input)
= continuation of pattern
a. The encoding is controlled by the conversion table (*.DAT). The correct table must be present for the conversion to function. The table generated by ZTools is the TrueType fonts internal encoding (Unicode). b. Shift-JIS encoding converts Shift-JIS to JIS and then looks up the JIS conversion in JIS.DAT. This table must be present for Shift-JIS to function. c. Supports ASCII transparency for Asian encodings. 7F and less are treated as single byte characters. 80 to FE is treated as the first byte of a 2 byte character 8000 to FEFF in the encoding table for Unicode. d. The ^CI17 command has been deprecated, along with the ^F8 and ^F16 commands that are required for the ^CI17 command to function. The recommended replacement is the ^CI28-30 commands.
P1012728-004
6/8/10
147
80 to FF could mean quad byte in GB18030. The ^CI26 command can also be used to support the GB 18030 and Big5 HKSCS encodings. The GB 18030 uses the GB18030.DAT encoding table and BIG5 HKSCS uses the BIG5HK.DAT encoding table. The ^CI17 command has been deprecated, along with the ^F8 and ^F16 commands that are required for the ^CI17 command to function. The recommended replacement is the ^CI28-30 commands. We recommend that a ^CI command (or Unicode BOM) is included at the beginning of each ZPL script. This is important when ZPL scripts with different encodings are being sent to a single printer. To assist in the interleaving of encoding schemes, the printer maintains two encoding states (^CI0 - 28 and ^CI29 - 30). It automatically acknowledges when it should switch encoding states, allowing it to distinguish between encodings, and maintains a ^CI for each, but endianess is shared.
Example This example remaps the Euro symbol (21) decimal to the dollar sign value (36)
decimal. When the dollar sign character is sent to the printer, the Euro symbol prints:
ZPL II CODE
^XA ^CI0,21,36 ^FO100,200^A0N50,50^FD$0123^FS ^XZ
GENERATED LABEL
The font selected determines the shape and resolution of the printed symbol.
6/8/10
P1012728-004
148
P1012728-004
6/8/10
149
^CM
Change Memory Letter Designation
Description The ^CM command allows you to reassign a letter designation to the printers memory devices. If a format already exists, you can reassign the memory device to the corresponding letter without forcing, altering, or recreating the format itself. Using this command affects every subsequent command that refers to specific memory locations. Format ^CMa,b,c,d
Parameters Details
a = memory alias for B: b = memory alias for E: c = memory alias for R: d = memory alias for A: e = multiple alias
Accepted Values: B:, E:,R:, A:, and NONE Default Value: B: Accepted Values: B:, E:,R:, A:, and NONE Default Value: E: Accepted Values: B:, E:,R:, A:, and NONE Default Value: R: Accepted Values: B:, E:,R:, A:, and NONE Default Value: A: Accepted Values: M, or no value Default Value: no value This parameter is supported on Xi4 and ZM400/ZM600 printers using firmware V53.17.7Z or later. This parameter is supported on G-Series printers using firmware versions v56.17.7Z and v61.17.7Z or later. This parameter is supported on printers using firmware V60.17.7Z or later.
Comments Unless the e (multiple alias) parameter is used, when two or more parameters specify the same letter designator, all letter designators are set to their default values. It is recommended that after entering the ^CM command, ^JUS is entered to save changes to EEPROM. Any duplicate parameters entered will reset the letter designations back to the default. If any of the parameters are out of specification, the command is ignored.
Example 1 This example designates letter E: to point to the B: memory device, and the letter B: to point to the E:memory device.
6/8/10
P1012728-004
150
Example 2 This example designates that content sent to, or read from the B: or E: memory
Note Examples 2, 3 and 4 are the only valid uses of the multiple alias parameter.
P1012728-004
6/8/10
151
^CN
Cut Now
Description The ^CN causes the printer to cycle the media cutter.
Important This command works only when the printer is in Print Mode Kiosk (^MMk). If the printer is not in Print Mode Kiosk, then using this command has no effect. See ^MM on page 295.
Accepted Values:
0 = Use the kiosk cut amount setting from ^KV 1 = Ignore kiosk cut amount from ^KV and do a full cut
Default Value: none The command is ignored if parameters are missing or invalid.
6/8/10
P1012728-004
152
^CO
Cache On
Note If you have firmware x.12 or greater this command is not required because the printer
firmware automatically expands the size of the character cache as needed. Description The ^CO command is used to change the size of the character cache. By definition, a character cache (referred to as cache) is a portion of the DRAM reserved for storing scalable characters. All printers have a default 40K cache that is always turned on. The maximum single character size that can be stored, without changing the size of the cache, is 450 dots by 450 dots. There are two types of fonts used in Zebra printers: bitmapped and scalable. Letters, numbers, and symbols in a bitmapped font have a fixed size (for example: 10 points, 12 points, 14 points). By comparison, scalable fonts are not fixed in size. Because their size is fixed, bitmapped fonts can be moved quickly to the label. In contrast, scalable fonts are much slower because each character is built on an as-needed basis before it is moved to the label. By storing scaled characters in a cache, they can be recalled at a much faster speed. The number of characters that can be stored in the cache depends on two factors: the size of the cache (memory) and the size of the character (in points) being saved. The larger the point size, the more space in the cache it uses. The default cache stores every scalable character that is requested for use on a label. If the same character, with the same rotation and size is used again, it is quickly retrieved from cache. It is possible that after a while the print cache could become full. Once the cache is full, space for new characters is obtained by eliminating an existing character from the print cache. Existing characters are eliminated by determining how often they have been used. This is done automatically. For example, a 28-point Q that was used only once would be a good candidate for elimination from the cache. Maximum size of a single print cache character is 1500 dots by 1500 dots. This would require a cache of 274K. When the cache is too small for the desired style, smaller characters might appear but larger characters do not. If possible, increase the size of the cache.
P1012728-004
6/8/10
153
Format ^COa,b,c
Parameters Details
a = cache on
Accepted Values: N = no Y = yes Default Value: Y Accepted Values: 1 to 9999 Default Value: 40 Accepted Values: 0 = cache buffer (normal fonts) 1 = internal buffer (recommended for Asian fonts) Default Value: 0
Example To resize the print cache to 62K, assuming a 22K existing cache:
^COY,40 To resize the print cache to 100K, assuming a 22K existing cache: ^COY,78
6/8/10
P1012728-004
154
^CP
Remove Label
Description The ^CP command causes the printer to move a printed label out of the presenter area in one of several ways. Supported Devices KR403 Format ^CPa
Parameters Details
Accepted Values:
0 = Eject presented page 1 = Retracts presented page 2 = Takes the action defined by c parameter of ^KV command.
Default Value: none The command is ignored if parameters are missing or invalid.
P1012728-004
6/8/10
155
^CT ~CT
Change Tilde
Description The ^CT and ~CT commands are used to change the control command prefix. The default prefix is the tilde (~). Format ^CTa or ~CTa
Parameters Details
Accepted Values: any ASCII character Default Value: a parameter is required. If a parameter is not entered, the next character received is the new control command character.
Example This is an example of how to change the control command prefix from a ^ to a +:
6/8/10
P1012728-004
156
^CV
Code Validation
Description The ^CV command acts as a switch to turn the code validation function on and off. When this command is turned on, all bar code data is checked for these error conditions: character not in character set check-digit incorrect data field too long (too many characters) data field too short (too few characters) parameter string contains incorrect data or missing parameter When invalid data is detected, an error message and code is printed in reverse image in place of the bar code. The message reads INVALID - X where X is one of these error codes:
C = character not in character set E = check-digit incorrect L = data field too long S = data field too short P = parameter string contains incorrect data
(occurs only on select bar codes) Once turned on, the ^CV command remains active from format to format until turned off by another ^CV command or the printer is turned off. The command is not permanently saved. Format ^CVa
Parameters Details
a = code validation
P1012728-004
6/8/10
157
Example The examples below show the error labels ^CVY generates when incorrect field data is entered. Compare the letter following INVALID to the listing on the previous page.
ZPL II CODE ^XA ^CVY ^FO50,50 ^BEN,100,Y,N ^FD97823456 890^FS ^XZ ^XA ^CVY ^FO50,50 ^BEN,100,Y,N ^FD9782345678907^FS ^XZ ^XA ^CVY ^FO50,50 ^BEN,100,Y,N ^FD97823456789081^FS ^XZ ^XA ^CVY ^FO50,50 ^BEN,100,Y,N ^FD97823456789^FS ^XZ ^XA ^CVY ^FO50,50 ^BQN2,3 ^FDHM,BQRCODE-22^FS ^XZ GENERATED LABEL
Comments If more than one error exists, the first error detected is the one displayed. The ^CV command tests the integrity of the data encoded into the bar code. It is not used for (or to be confused with) testing the scan-integrity of an image or bar code.
6/8/10
P1012728-004
158
^CW
Font Identifier
Description All built-in fonts are referenced using a one-character identifier. The ^CW command assigns a single alphanumeric character to a font stored in DRAM, memory card, EPROM, or Flash. If the assigned character is the same as that of a built-in font, the downloaded font is used in place of the built-in font. The new font is printed on the label wherever the format calls for the built-in font. If used in place of a built-in font, the change is in effect only until power is turned off. If the assigned character is different, the downloaded font is used as an additional font. The assignment remains in effect until a new command is issued or the printer is turned off. Format ^CWa,d:o.x
Parameters Details
a = letter of existing font to be substituted, or new font to be added d = device to store font in (optional) o = name of the downloaded font to be substituted for the built-in, or as an additional font x = extension
Accepted Values: A through Z and 0 to 9 Default Value: a one-character entry is required Accepted Values: R:, E:, B:, and A: Default Value: R: Accepted Values: any name up to 8 characters Default Value: if a name is not specified, UNKNOWN is used
P1012728-004
6/8/10
159
6/8/10
P1012728-004
160
~DB
Download Bitmap Font
Description The ~DB command sets the printer to receive a downloaded bitmap font and defines native cell size, baseline, space size, and copyright. This command consists of two portions, a ZPL II command defining the font and a structured data segment that defines each character of the font. Format ~DBd:o.x,a,h,w,base,space,#char,,data
Parameters Details
d = drive to store font o = name of font x = extension a = orientation of native font h = maximum height of cell (in dots) w = maximum width of cell (in dots) base = dots from top of cell to character baseline space = width of space or non-existent characters #char = number of characters in font = copyright holder
Accepted Values: R:, E:, B:, and A: Default Value: R: Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used Format: .FNT Fixed Value: normal Accepted Values: 1 to 32000 Default Value: a value must be specified Accepted Values: 1 to 32000 Default Value: a value must be specified Accepted Values: 1 to 32000 Default Value: a value must be specified Accepted Values: 1 to 32000 Default Value: a value must be specified
Accepted Values: 1 to 256 (must match the characters being downloaded) Default Value: a value must be specified Accepted Values: 1 to 63 alphanumeric characters Default Value: a value must be specified
P1012728-004
6/8/10
161
Parameters
Details
data = structured ASCII data that defines each character in the font
The # symbol signifies character code parameters, which are separated with periods. The character code is from 1 to 4 characters to allow for large international character sets to be downloaded to the printer. The data structure is: #xxxx.h.w.x.y.i.data #xxxx = character code h = bitmap height (in dot rows) w = bitmap width (in dot rows) x = x-offset (in dots) y = y-offset (in dots) i = typesetting motion displacement (width, including inter character gap of a particular character in the font) data = hexadecimal bitmap description
Example This is an example of how to use the ~DB command. It shows the first two
characters of a font being downloaded to DRAM. ~DBR:TIMES.FNT,N,5,24,3,10,2,ZEBRA 1992, #0025.5.16.2.5.18. OOFF OOFF FFOO FFOO FFFF #0037.4.24.3.6.26. OOFFOO OFOOFO OFOOFO OOFFOO
6/8/10
P1012728-004
162
~DE
Download Encoding
Description The standard encoding for TrueType Windows fonts is always Unicode. The ZPL II field data must be converted from some other encoding to Unicode that the Zebra printer understands. The required translation tables are provided with font packs. Some tables can be downloaded from www.zebra.com. Format ~DEd:o.x,s,data
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: R: Accepted Values: any valid name, up to 8 characters Default Value: if a name is not specified, UNKNOWN is used Format: .DAT Accepted Values: the number of memory bytes required to hold the Zebra downloadable format of the font Default Value: if an incorrect value or no value is entered, the command is ignored Accepted Values: a string of ASCII hexadecimal values Default Value: if no data is entered, the command is ignored
~DER:JIS.DAT,27848,300021213001... (27848 two-digit hexadecimal values) Comments For more information on ZTools or ZebraNet Bridge, see the program documentation included with the software. For assistance with editing or adding mappings to .DAT tables, ZebraNet Bridge includes a .DAT table editor in the font wizard. Encoding scheme for the data sent to the printer is the second four character and the encoding scheme for the font is the first four characters throughout the .DAT file. The data must be ordered by the second four characters (the encoding table).
P1012728-004
6/8/10
163
Example This is an example of a .DAT table. The table below the example identifies the
1 2 3 4
Input stream with 0041 will be mapped to 0031. The printer prints "1". Input stream with 0042 will be mapped to 0032. The printer prints "2". Input stream with 0043 will be mapped to 0033. The printer prints "3". Input stream with 0044 will be mapped to 0034. The printer prints "4".
Data must have 0041, 0042, 0043, and 0044 in order. Multiple pairs can be on the same line.
6/8/10
P1012728-004
164
^DF
Download Format
Description The ^DF command saves ZPL II format commands as text strings to be later merged using ^XF with variable data. The format to be stored might contain field number (^FN) commands to be referenced when recalled. While use of stored formats reduces transmission time, no formatting time is savedthis command saves ZPL II as text strings formatted at print time. Enter the ^DF stored format command immediately after the ^XA command, then enter the format commands to be saved. Format ^DFd:o.x
Parameters Details
d = device to store image Accepted Values: R:, E:, B:, and A: Default Value: R: o = image name x = extension
Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used Format: .ZPL For a complete example of the ^DF and ^XF command, see ^DF and ^XF Download format and recall format on page 47.
Example This example is generated using the ^XF command to recall this format:
ZPL II CODE
^XA ^DFR:STOREFMT.ZPL^FS ^FO25,25 ^AD,36,20^FN1^FS ^FO165,25 ^AD,36,20^FN2^FS ^FO25,75 ^AB,22,14^FDBUILT BY^FS ^FO25,125 ^AE,28,15^FN1 ^XZ ^XA ^XFR:STOREFMT.ZPL^FS ^FN1^FDZEBRA^FS ^XZ
GENERATED LABEL
P1012728-004
6/8/10
165
~DG
Download Graphics
Description The ~DG command downloads an ASCII Hex representation of a graphic image. If .GRF is not the specified file extension, .GRF is automatically appended. For more saving and loading options when downloading files, see ~DY on page 172. Format ~DGd:o.x,t,w,data
Parameters Details
d = device to store image Accepted Values: R:, E:, B:, and A: Default Value: R: o = image name x = extension
t = total number of bytes in graphic Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used Format: .GRF See the formula in the examples below. See the formula in the examples below. The data string defines the image and is an ASCII hexadecimal representation of the image. Each character represents a horizontal nibble of four dots.
w = number of bytes per row data = ASCII hexadecimal string defining image
This is the key for the examples that follow: x = width of the graphic in millimeters y = height of the graphic in millimeters z = dots/mm = print density of the printer being programmed 8 = bits/byte
6/8/10
P1012728-004
166
xz ----- yz = totalbytes 8
To determine the correct t parameter for a graphic 8 mm wide, 16 mm high, and a print density of 8 dots/mm, use this formula:
88 ----------- = 8bytes 8 w = 8
Raise any portion of a byte to the next whole byte. Parameter w is the first value in the t calculation. The data parameter is a string of hexadecimal numbers sent as a representation of the graphic image. Each hexadecimal character represents a horizontal nibble of four dots. For example, if the first four dots of the graphic image are white and the next four black, the dot-by-dot binary code is 00001111. The hexadecimal representation of this binary value is 0F. The entire graphic image is coded in this way, and the complete graphic image is sent as one continuous string of hexadecimal values.
P1012728-004
6/8/10
167
This is an example of using the ~DG command to load a checkerboard pattern into DRAM. The name used to store the graphic is SAMPLE.GRF:
ZPL II CODE ~DGR:SAMPLE.GRF,00080,010, FFFFFFFFFFFFFFFFFFFF 8000FFFF0000FFFF0001 8000FFFF0000FFFF0001 8000FFFF0000FFFF0001 FFFF0000FFFF0000FFFF FFFF0000FFFF0000FFFF FFFF0000FFFF0000FFFF FFFFFFFFFFFFFFFFFFFF ^XA ^F020,20^XGR:SAMPLE.GRF,1,1^FS ^XZ GENERATED LABEL
Comments Do not use spaces or periods when naming your graphics. Always use different names for different graphics. If two graphics with the same name are sent to the printer, the first graphic is erased and replaced by the second graphic.
6/8/10
P1012728-004
168
~DN
Abort Download Graphic
Description After decoding and printing the number of bytes in parameter t of the ~DG command, the printer returns to normal Print Mode. Graphics Mode can be aborted and normal printer operation resumed by using the ~DN command. Format ~DN Comments If you need to stop a graphic from downloading, you should abort the transmission from the host device. To clear the ~DG command, however, you must send a ~DN command.
P1012728-004
6/8/10
169
~DS
Download Intellifont (Scalable Font)
Description The ~DS command is used to set the printer to receive a downloadable scalable font and defines the size of the font in bytes. The ~DS command, and its associated parameters, is the result of converting a vendorsupplied font for use on a Zebra printer. To convert this font use the ZTools utility. Format ~DSd:o.x,s,data
Parameters Details
d = device to store image Accepted Values: R:, E:, B:, and A: Default Value: R: o = image name x = extension s = size of font in bytes data = ASCII hexadecimal string that defines font
Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used Fixed Value: .FNT Fixed Value: this number is generated by ZTools and should not be changed Fixed Value: this number is generated by ZTools and should not be changed
Example This example shows the first three lines of a scalable font that was converted using the ZTools program and is ready to be downloaded to the printer. If necessary, the destination and object name can be changed.
~DSB:CGTIMES.FNT,37080, OOFFOOFFOOFFOOFF FFOAECB28FFFOOFF Comments Downloaded scalable fonts are not checked for integrity. If they are corrupt, they cause unpredictable results at the printer. If you are using a TrueType font use these commands: ~DT, ~DU, and ~DY. To determine when to use the noted commands, see ~DT on page 170, ~DU on page 171, and ~DY on page 172.
6/8/10
P1012728-004
170
~DT
Download Bounded TrueType Font
Description Use ZTools to convert a TrueType font to a Zebra-downloadable format. that has less than 256 characters in it. To convert a font that has more than 256 characters, see ~DU on page 171. ZTools creates a downloadable file that includes a ~DT command. For information on converting and downloading Intellifont information, see ~DS on page 169. Format ~DTd:o.x,s,data
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: R: Accepted Values: any valid TrueType name, up to 8 characters Default Value: if a name is not specified, UNKNOWN is used Fixed Value: .DAT Accepted Values: the number of memory bytes required to hold the Zebradownloadable format of the font Default Value: if an incorrect value or no value is entered, the command is ignored Accepted Values: a string of ASCII hexadecimal values (two hexadecimal digits/byte). The total number of two-digit values must match parameter s. Default Value: if no data is entered, the command is ignored
P1012728-004
6/8/10
171
~DU
Download Unbounded TrueType Font
Description Some international fonts, such as Asian fonts, have more than 256 printable characters. These fonts are supported as large TrueType fonts and are downloaded to the printer with the ~DU command. Use ZTools to convert the large TrueType fonts to a Zebra-downloadable format. The Field Block (^FB) command cannot support the large TrueType fonts. Format ~DUd:o.x,s,data
Parameters Details
Accepted Values: R:, E:, B:, and A: Default: R: Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used Format: .FNT Accepted Values: the number of memory bytes required to hold the Zebradownloadable format of the font Default Value: if no data is entered, the command is ignored Accepted Values: a string of ASCII hexadecimal values (two hexadecimal digits/byte). The total number of two-digit values must match parameter s. Default Value: if no data is entered, the command is ignored
~DUR:KANJI,86753,60CA017B0CE7... (86753 two-digit hexadecimal values) For similar commands, see ~DS on page 169, ~DT on page 170, and ~DY on page 172.
6/8/10
P1012728-004
172
~DY
Download Objects
Description The ~DY command downloads to the printer graphic objects or fonts in any supported format. This command can be used in place of ~DG for more saving and loading options. ~DY is the preferred command to download TrueType fonts on printers with firmware later than X.13. It is faster than ~DU. The ~DY command also supports downloading wireless certificate files.
Note When using certificate files, your printer supports:
Using Privacy Enhanced Mail (PEM) formatted certificate files. Using the client certificate and private key as two files, each downloaded separately. Using exportable PAC files for EAP-FAST.
Zebra recommends using Linear style memory devices for storing larger objects.
Format ~DYd:f,b,x,t,w,data
Parameters Details
d = file location
.NRD and .PAC files reside on E: in firmware versions V60.15.x, V50.15.x, or later.
Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used Accepted Values: A = uncompressed (ZB64, ASCII) B = uncompressed (.TTE, .TTF, binary) C = AR-compressed (used only by Zebras BAR-ONE v5) P = portable network graphic (.PNG) - ZB64 encoded Default Value: a value must be specified
.TTE and .TTF are only supported in firmware versions V60.14.x, V50.14.x, or later.
P1012728-004
6/8/10
173
Parameters
Details
.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. t = total number of bytes in file
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 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.
6/8/10
P1012728-004
174
Parameters
Details
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,,
P1012728-004
6/8/10
175
that when the ^IM command is used with the ^FO command, the ^IM command (see ^IM on page 239) 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 (see ^IL on page 238) 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 Comments For more information on ZB64 encoding and compression, see ZB64 Encoding and Compression on page 987. 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.
6/8/10
P1012728-004
176
~EG
Erase Download Graphics
See ^ID on page 236.
P1012728-004
6/8/10
177
^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
Parameters Details
a = width of text block line (in dots) b = maximum number of lines in text block
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. 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. 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. Accepted Values: L = left C = center R = right J = justified Default Value: L If J is used the last line is left-justified. Accepted Values: 0 to 9999 Default Value: 0
6/8/10
P1012728-004
178
Example These are examples of how the ^FB command affects field data.
ZPL II CODE
^XA ^CF0,30,30^FO25,50 ^FB250,4,, ^FDFD command that IS\& preceded by an FB \&command. ^FS ^XZ
GENERATED LABEL
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.
P1012728-004
6/8/10
179
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.
6/8/10
P1012728-004
180
^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
Parameters Details
Accepted Values: any ASCII character Default Value: % Accepted Values: any ASCII character Default Value: nonethis value cannot be the same as a or c 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.
ZPL II CODE ^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 GENERATED LABEL
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 999.
P1012728-004
6/8/10
181
^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
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
Comments The ^ and ~ characters can be printed by changing the prefix characterssee ^CD ~CD on page 143 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.
6/8/10
P1012728-004
182
^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
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.
P1012728-004
6/8/10
183
Examples These are examples of how ^FH works with UTF-8 and UTF-16BE: UTF-8
ZPL II CODE
^XA ^CI28 ^LL500 ^FO100,100 ^AA,20,20 ^FH^FDU+00A1 in UTF8 = _C2_A1^FS ^XZ
GENERATED LABEL
UTF-16BE
ZPL II CODE
^XA ^CI29 ^LL500 ^FO100,100 ^AA,20,20 ^FH^FDU+00A1 in UTF16BE = _00_A1^FS ^XZ
GENERATED LABEL
6/8/10
P1012728-004
184
^FL
Font Linking
This command is available only for printers with firmware versions V60.14.x, V50.14.x, or later. 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.
Note For assistance in setting up the font links, please use the font wizard in
<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 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. 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 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.
<base>
<link>
P1012728-004
6/8/10
185
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.
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
6/8/10
P1012728-004
186
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.
ZPL II CODE
GENERATED LABEL
P1012728-004
6/8/10
187
^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,...
Parameters Details
Accepted Values: 0 to 32000 e = exclude this bar code from printing Default Value: a value must be specified Accepted Values: 0 to 32000 e = exclude this bar code from printing Default Value: a value must be specified Accepted Values: 0 to 32000 e = exclude this bar code from printing Default Value: a value must be specified Accepted Values: 0 to 32000 e = exclude this bar code from printing Default Value: a value must be specified Maximum number of pairs: 60
6/8/10
P1012728-004
188
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:
ZPL II CODE
^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
GENERATED LABEL
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.
P1012728-004
6/8/10
189
Example This example assumes a maximum of three bar codes, with bar code 2 of 3
omitted:
ZPL II CODE
^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
GENERATED LABEL
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.
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.
6/8/10
P1012728-004
190
^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.
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.
Format ^FN#"a"
Parameters Details
Accepted Values: 0 to 9999 Default Value: 0 Accepted Values: 255 alphanumeric characters maximum (a-z,A-Z,1-9 and space) Default Value: optional parameter
* 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 47. 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).
Example The ^FN1Name would result in Name being used as the prompt
P1012728-004
6/8/10
191
^FO
Field Origin
Description The ^FO command sets a field origin, relative to the label home (^LH) position. ^FO sets the upper-left corner of the field area by defining points along the x-axis and y-axis independent of the rotation. Format ^FOx,y,z
Parameters Details
Accepted Values: 0 to 32000 Default Value: 0 Accepted Values: 0 to 32000 Default Value: 0 Accepted Values: 0 = left justification 1 = right justification 2 = auto justification (script dependent) Default Value: last accepted ^FW value or ^FW default
Comments If the value entered for the x or y parameter is too high, it could position the field origin completely off the label. 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 993. 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.
6/8/10
P1012728-004
192
^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
.
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 Accepted Values: 0 to 9999 Default Value: 0 if no value is entered
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 993.
P1012728-004
6/8/10
193
^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
Example In this example, the ^GB command creates areas of black allowing the printing to
appear white:
ZPL II CODE ^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 GENERATED LABEL
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.
6/8/10
P1012728-004
194
^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
P1012728-004
6/8/10
195
^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.
Note The ^FT command is capable of concantination of fields.
Format ^FTx,y,z
Parameters Details
Accepted Values: 0 to 32000 Default Value: position after last formatted text field Accepted Values: 0 to 32000 Default Value: position after last formatted text field 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. Table 12 Typeset Justification Text For examples, see Field Interactions on page 993. Origin is base of bar code, at left edge Origin is bottom-left corner of the box Origin is bottom-left corner of the image area For examples, see Field Interactions on page 993. Origin is base of bar code, at right edge Origin is bottom-right corner of the box Origin is bottom-right corner of the image area
Bar Codes Graphic Boxes Images Text Bar Codes Graphic Boxes Images
P1012728-004
196
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 993
P1012728-004
6/8/10
197
^FV
Field Variable
Description ^FV replaces the ^FD (field data) command in a label format when the field is variable. Format ^FVa
Parameters Details
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:
ZPL II CODE ^XA ^FO40,40 ^GB300,203,8^FS ^FO55,60^CF0,25 ^FVVARIABLE DATA #1^FS ^FO80,150 ^FDFIXED DATA^FS ^MCN ^XZ
GENERATED LABEL
Comments ^FV fields are always cleared after the label is printed. ^FD fields are not cleared.
6/8/10
P1012728-004
198
^FW
Field Orientation
Description The ^FW command sets the default orientation for all command fields that have an orientation (rotation) parameter (and in x.14 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. In x.14, 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
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 Accepted Values: 0 = left justification 1 = right justification 2 = auto justification (script dependent) Default Value: auto for ^TB and left for all other commands
z = justification
The z parameter is available only with printers with firmware version V60.14.x, V50.14.x, or later.
P1012728-004
6/8/10
199
Example This example shows how ^FW rotation works in conjunction with ^FO. In this
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).
ZPL II CODE GENERATED LABEL
^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
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. ^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 .
6/8/10
P1012728-004
200
^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
Parameters Details
ZPL II CODE ^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
GENERATED LABEL
Comments Correct usage of the ^FX command includes following it with the ^FS command.
P1012728-004
6/8/10
201
^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
Parameters Details
w = box width (in dots) h = box height (in dots) t = border thickness (in dots) c = line color
Accepted Values: value of t to 32000 Default Value: value used for thickness (t) or 1 Accepted Values: value of t to 32000 Default Value: value used for thickness (t) or 1 Accepted Values: 1 to 32000 Default Value: 1 Accepted Values:
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).
6/8/10
P1012728-004
202
Width: 1.5 inch; Height: 1 inch; Thickness: 10; Color: default; Rounding: default
ZPL II CODE ^XA ^FO50,50 ^GB300,200,10^FS ^XZ GENERATED LABEL
Width: 0 inch; Height: 1 inch; Thickness: 20; Color: default; Rounding: default:
ZPL II CODE ^XA ^FO50,50 ^GB0,203,20^FS ^XZ GENERATED LABEL
Width: 1 inch; Height: 0 inch; Thickness: 30; Color: default; Rounding: default
ZPL II CODE ^XA ^FO50,50 ^GB203,0,20^FS ^XZ GENERATED LABEL
Width: 1.5 inch; Height: 1 inch; Thickness: 10; Color: default; Rounding: 5
ZPL II CODE ^XA ^FO50,50 ^GB300,200,10,,5^FS ^XZ GENERATED LABEL
P1012728-004
6/8/10
203
^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
Parameters Details
d = circle diameter (in dots) t = border thickness (in dots) c = line color
Accepted Values: 3 to 4095 (larger values are replaced with 4095) Default Value: 3 Accepted Values: 2 to 4095 Default Value: 1 Accepted Values:
GENERATED LABEL
6/8/10
P1012728-004
204
^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
Parameters Details
w = box width (in dots) h = box height (in dots) t = border thickness (in dots) c = line color
Accepted Values: 3 to 32000 Default Value: value of t (thickness) or 3 Accepted Values: 3 to 32000 Default Value: value of t (thickness) or 3 Accepted Values: 1 to 32000 Default Value: 1 Accepted Values: B = black W = white Default Value: B
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
P1012728-004
6/8/10
205
^GE
Graphic Ellipse
Description The ^GE command produces an ellipse in the label format. Format ^GEw,h,t,c
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) t = border thickness (in dots) c = line color
Accepted Values: 3 to 4095 Default Value: value used for thickness (t) or 1 Accepted Values: 2 to 4095 Default Value: 1 Accepted Values: B = black W = white Default Value: B
Example This is an example of how to create a ellipse on a printed label:
GENERATED LABEL
6/8/10
P1012728-004
206
^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
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 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 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 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
P1012728-004
6/8/10
207
Parameters
Details
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
6/8/10
P1012728-004
208
^GS
Graphic Symbol
Description The ^GS command enables you to generate the registered trademark, copyright symbol, and other symbols. Format ^GSo,h,w
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 Accepted Values: 0 to 32000 Default Value: last ^CF value Accepted Values: 0 to 32000 Default Value: last ^CF value
h = character height proportional to width (in dots) w = character width proportional to height (in dots)
Example Use the ^GS command followed by ^FD and the appropriate character (A
P1012728-004
6/8/10
209
~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> <STX> bb.bb hh.hh bt <ETX> <CR> <LF> = = = = = = = ASCII start-of-text character current battery voltage reading to the nearest 1/4 volt current head voltage reading to the nearest 1/4 volt battery temperature in Celsius ASCII end-of-text character ASCII carriage return ASCII line feed character
Comments This command is used for the power-supply battery of the printer and should not be confused with the battery backed-up RAM.
6/8/10
P1012728-004
210
~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:
P1012728-004
6/8/10
211
^HF
Host Format
Description The ^HF command sends stored formats to the host. Format ^HFd,o,x
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: R: Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used Fixed Value: .ZPL
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:
6/8/10
P1012728-004
212
^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
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: search priority Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used Fixed Value: .GRF
Comments For more information on uploading graphics, see ^HY on page 233.
P1012728-004
6/8/10
213
^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:
6/8/10
P1012728-004
214
~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.)
P1012728-004
6/8/10
215
~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
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:
2 1
1024,0780,0780
1 2 3
The total amount of RAM (in kilobytes) installed in the printer. In this example, the printer has 1024K RAM installed. The maximum amount of RAM (in kilobytes) available to the user. In this example, the printer has a maximum of 780K RAM available. 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.
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.
6/8/10
P1012728-004
216
~HQ
Host Query
Description The ~HQ command group causes the printer to send information back to the host. Supported Devices Xi4, RXi4 ZM400/ZM600 with v53.17.1Z or later, RZ400/RZ600 S4M with v53.17.1Z or later G-Series with v56.16.5 or later or G-Series with v61.16.5 or later Format ~HQquery-type
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 217 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 Comments The response to the ~HQ command starts with STX, a CR LF is inserted between each line, and the response ends with ETX.
P1012728-004
6/8/10
217
Group 1
0 1 1 1 1 1 1 1 1 1 1 1
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0 X X X X X X X X X X X X X X X X X X X
0 X X X X X X X X X X X X X X X X X X X
0 X X X X X X X X X X X X X X X X X X X
0 X X X X X X X X X X X X X X X 8 4 2 1
0 X X X X X X X X X X X 8 4 2 1
0 X 2 1 X X X X X X X X X X X X X X X X
0 X X X 8 4 2 1 X X X X X X X X X X X X
0 X X X X X X X 8 4 2 1 X X X X X X X X
1 1
a a a a a a a a
a a a a
a a a
1 1 1
a a
a a a a
X X X X
1 1 1
6/8/10
P1012728-004
218
Group 1
0 1
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0 X X X X X X X X X X X X X
0 X X X X X X X X X X X X X
0 X X X X X X X X X X X X X
0 X X X X X X X X X X X X X
0 X X X X X X X X X X X X X
0 X X X X X X X X X 1 2 4 8
0 X X X X X 1 2 4 8
0 X 8
1 1 1
4 2 1 X X X X X X X X
1 1
b b b b b b b b
b b b b
b b
1 1 1
b b
b b b b
X X X X
1 1 1
P1012728-004
6/8/10
219
~HQ Examples
This section provides detail examples of all the available parameters.
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). This illustration identifies the printer status definitions:
1 3 5
6/8/10
P1012728-004
220
Example 2 This example shows how the printer responds when the printer receives the
~HQES command:
a. To see how the printer responds, type ~HQES
print server.
a. To get the hardware address of the internal wired print server, type ~HQHA
Example 4 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 268. a. To request a summary of the printers printhead test, type ~HQJT The printer responds with data similar to this:
P1012728-004
6/8/10
221
0,A,0000,0000,0000
1 2 1 2 3 4 5
Element failure Manual (M) or automatic (A) range First test element Last test element Failure count
Example 5 This is an example of how to use the maintenance alert query for the ~HQ
command.
a. To get the current settings, type ~HQMA
The printer responds with data similar to this: ~HQMA MAINTENANCE ALERT SETTINGS HEAD REPLACEMENT INTERVAL: HEAD REPLACEMENT FREQUENCY: HEAD CLEANING INTERVAL: HEAD CLEANING FREQUENCY: PRINT REPLACEMENT ALERT: PRINT CLEANING ALERT: UNITS:
1 km 0 M 0 M 0 M NO NO C
Example 6 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.
a. To get the current settings, type ~HQMI
2 MAINTENANCE ALERT MESSAGES CLEAN: PLEASE CLEAN PRINT HEAD REPLACE: PLEASE REPLACE PRINT HEAD
6/8/10
P1012728-004
222
Example 7 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.
a. To get the current settings, type ~HQOD
The printer responds with data similar to this: PRINT METERS TOTAL NONRESETTABLE: USER RESETTABLE CNTR1: USER RESETTABLE CNTR2: 8560 " 9 " 8560 "
The units of measure are set to inches. b. To change the units of measure to centimeters, type: ^XA^MA,,,,C ^XZ The units of measure are set to centimeters. c. To check the settings, type ~HQOD The printer responds with data similar to this: PRINT METERS TOTAL NONRESETTABLE: USER RESETTABLE CNTR1: USER RESETTABLE CNTR2: 21744 cm 24 cm 21744 cm
Example 8 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.
a. To get the current settings, type ~HQPH
The printer responds with data similar to this: LAST CLEANED: 257 " HEAD LIFE HISTORY # DISTANCE 1: 257 " 2: 1489 " 3: 7070 "
1 2
The current life of the print head. Line items 2 through 10 (the example only shows 2 through 3) tracks the measurement for each time the print head is changed.
P1012728-004
6/8/10
223
Example 9 This is an example of how to request the printers Plug and Play string.
a. To request the printers Plug and Play string, type ~HQPP
PLUG AND PLAY MESSAGES MFG: Zebra Technologies CMD: ZPL MDL: GX420t
Example 10 This is an example of how to retrieve the printers serial number.
a. To get the printers serial number, type ~HQSN
Example 11 This is an example of how to retrieve the printers USB product ID and BCD
release version.
a. To get the printers USB product ID and BCD release version, type ~HQUI
6/8/10
P1012728-004
224
~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.
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
String 1 <STX>aaa,b,c,dddd,eee,f,g,h,iii,j,k,l<ETX><CR><LF> aaa b c dddd eee f g h iii j k l = = = = = = = = = = = = communication (interface) settings paper out flag (1 = paper out) pause flag (1 = pause active) label length (value in number of dots) number of formats in receive buffer buffer full flag (1 = receive buffer full) communications diagnostic mode flag (1 = diagnostic mode active) partial format flag (1 = partial format in progress) unused (always 000) corrupt RAM flag (1 = configuration data lost) temperature range (1 = under temperature) temperature range (1 = over temperature)
c. 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.
P1012728-004
6/8/10
225
a 8 a 2 a 1 a 0 = Baud 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 (available only on certain printer models) 1 001 = 38400 (available only on certain printer models) 1 010 = 57600 (available only on certain printer models) 1 011 = 14400
6/8/10
P1012728-004
226
String 2 <STX>mmm,n,o,p,q,r,s,t,uuuuuuuu,v,www<ETX><CR><LF> mmm n o p q r = = = = = = function settings d unused head up flag (1 = head in up position) ribbon out flag (1 = ribbon out) thermal transfer mode flag (1 = Thermal Transfer Mode selected) Print Mode 0 = Rewind 1 = Peel-Off 2 = Tear-Off 3 = Cutter 4 = Applicator 5 = Delayed cut 6 = Reserved e 7 = Reserved e 8 = Reserved e 9 = RFID print width mode label waiting flag (1 = label waiting in Peel-off Mode) labels remaining in batch format while printing flag (always 1) number of graphic images stored in memory
Values 4 to 5 are only supported in firmware version V60.14.x, V50.14.x, V53. 15.x, or later.
s t uuuuuuuu v www
= = = = =
d. 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. e. These values are only supported on the Xi4, RXi4, ZM400/ZM600, and RZ400/RZ600 printers.
P1012728-004
6/8/10
227
String 3 <STX>xxxx,y<ETX><CR><LF> xxxx y = = password 0 (static RAM not installed) 1 (static RAM installed)
6/8/10
P1012728-004
228
^HT
Host Linked Fonts List
This command is available only for printers with firmware version V60.14.x, V50.14.x, or later. Description The ^HT command receives the complete list of font links over a communication port.
Example The SWISS.721.TTF is the base font, ANMDJ.TTF is the first linked font, and MSGOTHIC.TTF is the second linked font:
ZPL II CODE
^XA ^HT ^XZ
DATA RETURNED
LIST OF FONT LINKS E:SWISS721.TTF E:ANMDJ.TTF E:MSGOTHIC.TTF
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
P1012728-004
6/8/10
229
~HU
Return ZebraNet Alert Configuration
Description This command returns the table of configured ZebraNet Alert settings to the host. Format ~HU
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 350 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. 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.
6/8/10
P1012728-004
230
^HV
Host Verification
Description Use this command to return data from specified fields, along with an optional ASCII header, to the host computer. You can use this command with any field that has been assigned a number with the ^RT command or with the ^FN and ^RF commands. Format ^HV#,n,h,t,a This table identifies the parameters for this format:
Parameters Details
# = field number specified with another command n = number of bytes to be returned h = header to be returned with the data
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 Accepted Values: 1 to 256 Default Value: 64 Delimiter characters terminate the string. This field is Field Hex (^FH) capable. Accepted Values: 0 to 3072 bytes Default Value: no header This field is Field Hex (^FH) capable. Accepted Values: 0 to 3072 characters When ^PQ is greater than 1, send one response for a label format or one for every label printed. Accepted Values: F = Format L = Label Default Value: F
= termination
a = command applies to
EPC[12345678] EPC[55554444]
P1012728-004
6/8/10
231
^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
Parameters Details
Accepted Values: R:, E:, B:, A:and Z: Default Value: R: Accepted Values: 1 to 8 alphanumeric characters Default Value: asterisk (*). A question mark (?) can also be used. Accepted Values: any extension conforming to Zebra conventions Default Value: asterisk (*). A question mark (?) can also be used.
6/8/10
P1012728-004
232
Parameters
Details
f = format
The f parameter is only supported in firmware version V60.16.0Z and V53.16.0Z or later.
Example Listed is an example of the ^HW command to retrieve from information R:
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
P1012728-004
6/8/10
233
^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
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: search priority Accepted Values: 1 to 8 alphanumeric characters Default Value: an object name must be specified Accepted Values: G = .GRF (raw bitmap format) P = .PNG (compressed bitmap format) Default Value: format of stored image
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.
6/8/10
P1012728-004
234
^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
Parameters Details
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
P1012728-004
6/8/10
235
Format ^HZO,d:o.x,l
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: R: 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. 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 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
x = extension
Example This example shows the object data information for the object SAMPLE.GRF located on R:.
6/8/10
P1012728-004
236
^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
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: R: Accepted Values: any 1 to 8 character name Default Value: if a name is not specified, UNKNOWN is used Accepted Values: any extension conforming to Zebra conventions Default Value: .GRF
P1012728-004
6/8/10
237
Example 4 In this the * is a wild card, indicating that all objects with the .GRF extension
are deleted: ^XA ^IDR:*.GRF^FS ^XZ 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 initialization 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.
6/8/10
P1012728-004
238
^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.
Important See ^IS on page 240.
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
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: R: Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used Fixed Value: .GRF, .PNG
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.
ZPL II CODE
^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
GENERATED LABEL
P1012728-004
6/8/10
239
^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
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: search priority Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used 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 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.
6/8/10
P1012728-004
240
^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
Parameters Details
d = location of stored object o = object name x = extension p = print image after storing
Accepted Values: R:, E:, B:, and A: Default Value: R: Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used Accepted Values: .GRF or .PNG Default Value: .GRF Accepted Values: N = no Y = yes Default Value: Y
P1012728-004
6/8/10
241
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.
ZPL II CODE ^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^CFD,18,10^FS ^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
GENERATED LABEL
6/8/10
P1012728-004
242
~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
P1012728-004
6/8/10
243
^JB
Initialize Flash Memory
Description The ^JB command is used to initialize various types of Flash memory available in the Zebra printers. Format ^JBa
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
^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
6/8/10
P1012728-004
244
~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.
P1012728-004
6/8/10
245
~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.
6/8/10
P1012728-004
246
~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
P1012728-004
6/8/10
247
~JE
Disable Diagnostics
Description The ~JE command cancels Diagnostic Mode and returns the printer to normal label printing. Format ~JE
6/8/10
P1012728-004
248
~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
Parameters Details
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
P1012728-004
6/8/10
249
~JG
Graphing Sensor Calibration
Description The ~JG command prints a graph (media sensor profile) of the sensor values. Format ~JG
Example Sending the ~JG command to a printer configured for thermal transfer produces
Comments The HC100 printer does not perform a calibration, but does print a sensor profile label.
6/8/10
P1012728-004
250
^JH
Early Warning Settings
Description The ^JH command configures the early warning messages that appear on the LCD. Supported Devices XiIII, XiIIIPlus, Xi4, RXi4 PAX3, PAX4 ZM400, ZM600, RZ400, RZ600 S4M G-Series (f parameter only) Format ^JHa,b,c,d,e,f,g,h,i,j
Parameter Details
a = early warning media a = supplies warning (Xi4 and RXi4 printers only) b = labels per roll
This parameter is for XiIIIPlus, Xi4, RXi4, PAX3, and PAX4 printers only. Accepted Values: E = enable D = disable Default Value: D This parameter is for XiIIIPlus, PAX3, and PAX4 printers only. Accepted Values: 100 to 9999 Default Value: 900 This parameter is for XiIIIPlus, PAX3, and PAX4 printers only. Accepted Values: Y = yes N = no Default Value: N
c = media replaced
P1012728-004
6/8/10
251
Parameter
Details
d = ribbon length
This parameter is for XiIIIPlus, PAX3, and PAX4 printers only. The accepted values for the XiIII series printers are 100M through 450M. PAX series 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 This parameter is for XiIIIPlus, PAX3, and PAX4 printers only. Accepted Values: Y = yes N = no Default Value: N This parameter is for Xi4, RXi4, PAX4, ZM400, ZM600, RZ400, RZ600, and S4M printers only. Accepted Values: E = enabled D = disabled Default Value: D Important On G-Series printers, this parameter must be enabled for the ^MA driven system to work.
e = ribbon replaced
6/8/10
P1012728-004
252
Parameter
Details
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, RZ400/RZ600, 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 Accepted Values: N = No Y = Yes Default Value: N Accepted Values: 0 0 in or off 100-3500000 in Default Value: 1000000 Accepted Values: N = no Y = yes Default Value: N
h = head clean
j = head replaced
Comments To permanently save the changes to the ^JH command, send ^XA^JUS^XZ.
P1012728-004
6/8/10
253
^JI
Start ZBI (Zebra BASIC Interpreter)
Identifies features that are available in printers with firmware version V60.16.2Z, V53.16.2Z, or later. 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
Parameters Details
d = location of Acceptable Values: R:, E:, B:, and A: program to run Default Value: location must be specified after initialization o = name of program to run after initialization
Accepted Values: any valid program name Default Value: name must be specified
Fixed Value: .BAS, .BAE x = extension of program to run .BAE is only supported in firmware version after initialization V60.16.0Z or later
b = console control
Accepted Values:
Y = echo on N = echo off Default Value: Y d = memory allocation Accepted Values: 20K to 1024K for ZBI * Default Value: 50K
* This parameter is only available on printers with firmware V60.12.0.x or earlier. 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.
6/8/10 Zebra Programming Guide P1012728-004
254
The interpreter is deactivated by entering one of two commands: ZPL at the ZBI prompt ~JQ at an active ZPL port
P1012728-004
6/8/10
255
~JI
Start ZBI (Zebra BASIC Interpreter)
Identifies features that are available in printers with firmware version V60.16.2Z, V53.16.2Z, or later. 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
6/8/10
P1012728-004
256
^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
Parameters Details
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 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 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
b = application mode
P1012728-004
6/8/10
257
Parameters
Details
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 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 Accepted Values: e = enabled printer warning issued when ribbon low. d = disabled printer warning not issued when ribbon low. Default Value: e
e = reprint mode
6/8/10
P1012728-004
258
~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
P1012728-004
6/8/10
259
^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
Parameters Details
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:
GENERATED LABEL
Comments If ^JMB is used, the UPS MaxiCode bar code becomes out of specification.
6/8/10
P1012728-004
260
~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.
P1012728-004
6/8/10
261
~JO
Head Test Non-Fatal
Description The ~JO command configures the printer to run the head test with error reporting enabled. When ~JO is used an error will be displayed and printing will stop if the head test fails. The user can push the PAUSE button on the printer to bypass the error. This command differs from the ~JN (Head Test Fatal) command in that a power cycle is not required in the event of a head test failure.
~JO is the default print head test condition. This setting is changed when the printer receives a ~JN (Head Test Fatal) command.
Format ~JO
6/8/10
P1012728-004
262
~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
P1012728-004
6/8/10
263
~JQ
Terminate Zebra BASIC Interpreter
Identifies features that are available in printers with firmware version V60.16.2Z, V53.16.2Z, or later. 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.
6/8/10
P1012728-004
264
~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
P1012728-004
6/8/10
265
^JS
Sensor Select
Format ^JSa
Note This command is ignored on Zebra ZM400/ZM600 and RZ400/RZ600 printers. This
command is only for use with the S4M and Z Series printers (with the exception of the ZM400/ZM600/RZ400/RZ600).
Parameters
Details
a = sensor selection
Accepted Values: A = auto select R = reflective sensor T = transmissive sensor Default Value: Z series = A S4M = R
6/8/10
P1012728-004
266
~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
Parameters Details
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
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.
P1012728-004
6/8/10
267
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.
6/8/10
P1012728-004
268
^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
Parameters Details
#### = four-digit number of labels printed between head tests a = manually select range of elements to test
Accepted Values: 0000 to 9999 If a value greater than 9999 is entered, it is ignored. Default Value: 0000 (off) Accepted Values: N = no Y = yes Initial Value at Power-up: N Accepted Values: 0 to 9999 Initial Value at Power-up: 0 Accepted Values: 0 to 9999 Initial Value at Power-up: 9999
b = first element to check when parameter a is Y c = last element to check when parameter a is Y
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).
P1012728-004
6/8/10
269
^JU
Configuration Update
Description The ^JU command sets the active configuration for the printer. Format ^JUa
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
6/8/10
P1012728-004
270
^JW
Set Ribbon Tension
Description ^JW sets the ribbon tension for the printer it is sent to. Format ^JWt
Parameters Details
t = tension
Accepted Values: L = low M = medium H = high Default Value: a value must be specified Comments ^JW is used only for PAX series printers.
P1012728-004
6/8/10
271
~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
6/8/10
P1012728-004
272
^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
Parameters Details
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.
P1012728-004
6/8/10
273
~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.
6/8/10
P1012728-004
274
^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
Parameters Details
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
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 999.
P1012728-004
6/8/10
275
^KL
Define Language
Description The ^KL command selects the language displayed on the control panel. Format ^KLa
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 f 15 = Simplified Chinese f 16 = Traditional Chinese f 17 = Russian f 18 = Polish f Default Value: 1
f. These values are only supported on the Xi4, RXi4, ZM400/ ZM600, and RZ400/RZ600 printers.
6/8/10
P1012728-004
276
^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
Parameters Details
a = printer name
Accepted Values: up to 16 alphanumeric characters Default Value: if a value is not entered, the current stored value is erased If more than 16 characters are entered, only the first 16 are used. Accepted Values: up to 35 alphanumeric characters Default Value: if a value is not entered, the current stored value is erased If more than 35 characters are entered, only the first 35 are used. Note The value of this parameter will be displayed on the printers web page in parentheses.
b = printer description
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
P1012728-004
6/8/10
277
^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
Parameters Details
Accepted Values: any four-digit numeric sequence Default Value: 1234 Accepted Values: 1, 2, 3, 4 Default Value: 3 Note The b parameter applies only to the S4M printers.
Example 1 This example shows how to set a new control panel password:
specific password level (level 2) (applicable to the S4M printer only): ^XA ^KP5678,2 ^XZ 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.
6/8/10
P1012728-004
278
^KV
Kiosk Values
Description The ^KV command sets several parameters that affect the printers operation when ^MM is set to K - Kiosk mode Supported Devices KR403 Format ^KVa,b,c,d,e
Parameters Details
Accepted Values: 0 = normal cut 10-60 = partial cut, value = mm of media left uncut Default Value: 0 This parameter is ignored if it is missing or invalid. The current value of the parameter remains unchanged. Accepted Values: 2 - 9 = mm of distance Default Value: 9 = mm of distance This parameter is ignored if it is missing or invalid. The current value of the parameter remains unchanged. Accepted Values: 0 = Eject page when new page is printed 1 = Retract page when new page is printed 2 = Do nothing when new page is printed Default Value: 0 This parameter is ignored if it is missing or invalid. The current value of the parameter remains unchanged.
d = kiosk present timeout Accepted Values: 0300 = If label is not taken, retract label when timeout expires. Timeout is in seconds. Zero (0) indicates that there is no timeout. The label will stay presented until removed manually or a new label is printed. Default Value: 0 This parameter is ignored if it is missing or invalid. The current value of the parameter remains unchanged.
P1012728-004
6/8/10
279
Parameters
Details
Accepted Values: 0 = paper is fed straight through the presenter 3-1023 = loop length in mm. Default Value: 400 400= gives a loop of approximately 400mm This parameter is ignored if it is missing or invalid. The current value of the parameter remains unchanged. . If this is greater than loop_length_max (see SGD media.present.loop_length_max) then it will be set equal to loop_length_max.
Cut - Full Cut Cut Margin - 9 mm Present Type - Eject page when the next page is printed Present Timeout - 6 seconds after printing, if the document is not taken, it will be retracted Presenter Loop Length - No loop
6/8/10
P1012728-004
280
Example 2 This example contains only one change from the Example 1 - the Presenter
Loop Length is now 100mm, and two documents will be printed instead of one.
Example 3 In this example, two documents will be printed, each one will be ejected from
the printer.
Example 4 In this example, two documents, with partial cuts, will be printed, and a third document, with a full cut, will be printed.
^XA ^MMK ^KV50,9,0,0,0 ^FO50,50^A0N,50,50^FDPartial Cut^FS ^CN0^PN0 ^PQ2 ^XZ ^XA ^MMK ^KV0,9,2,6,0 ^FO50,50^A0N,50,50^FDFull Cut^FS ^CN1^CP0 ^XZ
P1012728-004
6/8/10
281
Example 5 In this example, four documents will be printed three with a partial cut and
the fourth with a full cut. Additionally, the document length is set to 406 dots and the Media Tracking mode is set to "Continuous Media, Variable Length". The third document contains fields that are positioned outside of the 406 dot length however, because the printer is set to Continuous Media, Variable Length" Media Tracking mode, the printer will automatically adjust the document length to compensate.
^XA ^MMK ^LL406 ^KV20,9,0,0,0 ^FO50,50^A0N,50,50^FDPartial Cut^FS ^CN0^PN0 ^PQ2 ^XZ ^XA ^MMK ^MNV ^KV20,9,0,0,0 ^FO50,50^A0N,50,50^FDPartial Cut^FS ^FO50,150^A0N,50,50^FDPrinting Line 1^FS ^FO50,250^A0N,50,50^FDPrinting Line 2^FS ^FO50,350^A0N,50,50^FDPrinting Line 3^FS ^FO50,450^A0N,50,50^FDPrinting Line 4^FS ^FO50,550^A0N,50,50^FDPrinting Line 5^FS ^FO50,650^A0N,50,50^FDPrinting Line 6^FS ^FO50,750^A0N,50,50^FDPrinting Line 7^FS ^FO50,850^A0N,50,50^FDPrinting Line 8^FS ^FO50,950^A0N,50,50^FDPrinting Line 9^FS ^FO50,1050^A0N,50,50^FDPrinting Line 10^FS ^FO50,1150^A0N,50,50^FDPrinting Line 11^FS ^FO50,1250^A0N,50,50^FDPrinting Line 12^FS ^FO50,1350^A0N,50,50^FDPrinting Line 13^FS ^FO50,1450^A0N,50,50^FDPrinting Line 14^FS ^FO50,1550^A0N,50,50^FDPrinting Line 15^FS ^CN0^PN0 ^XZ ^XA ^MMK ^KV0,9,0,0,0 ^FO50,50^A0N,50,50^FDFull Cut^FS ^CN0^PN1^CP0 ^PQ1 ^XZ
6/8/10
P1012728-004
282
^LF
List Font Links
This command is available only for printers with firmware version V60.14.x, V50.14.x, or later. Description The ^LF command prints out a list of the linked fonts.
Example This example shows that SWISS721.TTF is the based font. ANMDJ.TTF is the
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
P1012728-004
6/8/10
283
^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
Parameters Details
Accepted Values: 0 to 32000 Initial Value at Power-up: 0 or last permanently saved value Accepted Values: 0 to 32000 Initial Value at Power-up: 0 or last permanently saved value
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.
6/8/10
P1012728-004
284
^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
Parameters Details
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.
Comments These formulas can be used to determine the value of y: For 6 dot/mm printheads... For 8 dot/mm printheads... For 12 dot/mm printheads... For 24 dot/mm printheads... Label length in inches x 152.4 (dots/inch) = y Label length in inches x 203.2 (dots/inch) = y Label length in inches x 304.8 (dots/inch) = y Label length in inches x 609.6 (dots/inch) = 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.
P1012728-004
6/8/10
285
^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
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.
ZPL II CODE ^XA^LRY ^FO100,50 ^GB195,203,195^FS ^FO180,110^CFG ^FDLABEL^FS ^FO130,170 ^FDREVERSE^FS ^XZ
GENERATED LABEL
Comments The ^LR setting remains active unless turned off by ^LRN or the printer is turned off.
Note ^GB needs to be used together with ^LR.
6/8/10
P1012728-004
286
^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
Important The ability to save the ^LS command depends on the version of firmware.
Parameters
Details
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.
P1012728-004
6/8/10
287
^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.
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.
Format ^LTx
Parameters Details
Accepted Values: HC100: 0 to 120 XiIIIPlus 600dpi: -240 to 240 All other Zebra printers: -120 to 120 Default Value: a value must be specified or the command is ignored
Comments The Accepted Value range for x might be smaller depending on the printer platform. The Label Top value shown on the front panel of the printer is double the value used in the ZPL format. The ^LT command does not change the media rest position.
6/8/10
P1012728-004
288
^MA
Set Maintenance Alerts
This command is available only for printers with firmware version V60.15.x, V50.15.x, or later. 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. Supported Devices Xi4, RXi4 ZM400/ZM600, RZ400/RZ600 S4M with v53.15.5Z or later G-Series
Important ^MA settings do not impact or effect the functionality of the Xi4 Supplies Warning system.
Format ^MAtype,print,printlabel_threshold,frequency,units
Parameters Details
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. Accepted Values: Y = print a label N = do not print label Default Value: N 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).
print = determines if the alert prints a label printlabel threshold= distance where the first alert occurs
P1012728-004
6/8/10
289
Parameters
Details
frequency = distance before reissuing the alert units = odometer and printhead maintenance commands
The unit of measurement is in meters. The range is 0 to 2000. The range for GSeries 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). 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:
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.
6/8/10
P1012728-004
290
^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
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 Comments The ^MC command retains the image of the current label after formatting. It appears in the background of the next label printed.
P1012728-004
6/8/10
291
^MD
Media Darkness
Description The ^MD command adjusts the darkness relative to the current darkness setting. Format ^MDa
Parameters Details
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 1 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.
Note On Zebra G-Series printers the value set with the ^MD command is persistent
increments of 0.1. The firmware is setup so that the ^MD and ~SD commands (ZPL darkness commands) accepts that range of settings.
Example 2 These are examples of the XiIIIPlus, Xi4, and RXi4 Darkness Setting:
^MD8.3 ~SD8.3
Example 3 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. Comments The ~SD command value, if applicable, is added to the ^MD command.
6/8/10
P1012728-004
292
^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
Parameters Details
Accepted Values: F = feed to the first web after sensor C = (see ~JC on page 245 definition) L = (see ~JL on page 258 definition) N = no media feed S = short calibration g Default Value: C Accepted Values: F = feed to the first web after sensor C = (see ~JC on page 245 definition) L = (see ~JL on page 258 definition) N = no media feed S = short calibration g Default Value: C
g. These values are supported only on Xi4, RXi4, XiIIIPlus, PAX, ZM400/ZM600, RZ400/RZ600, 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.
P1012728-004
6/8/10
293
^MI
Set Maintenance Information Message
This command is available only for printers with firmware version V60.15.x, V50.15.x, or later. 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. Supported Devices Xi4, RXi4 ZM400/ZM600m RZ400/RZ600 S4M with v53.15.5Z or later G-Series Format ^MItype,message
Parameters Details
Accepted Values: R = head replacement C = head cleaning Default Value: R 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
message = message that prints on the label when a maintenance alert occurs
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:
6/8/10
P1012728-004
294
^ML
Maximum Label Length
Description The ^ML command lets you adjust the maximum label length. Format ^MLa
Parameters Details
Accepted Values: 0 to maximum length of label Default Value: last permanently saved value
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.
P1012728-004
6/8/10
295
^MM
Print Mode
Description The ^MM command determines the action the printer takes after a label or group of labels has printed.
Note Refer to the User Guide for your printer to determine which print modes are
a = desired mode
Accepted Values: T = Tear-off h P = Peel-off (not available on S-300) h R = Rewind (depends on printer model) A = Applicator (depends on printer model) h C = Cutter (depends on printer model) D = Delayed cutter h F = RFID h L = Reserved h, i U = Reserved h, i K = Kiosk j 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 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.
b = prepeel select
h. This value is not supported on the KR403 printer. i. This value is supported only on the ZM400/ZM600 and RZ400/RZ600 printers. j. This value is supported only the KR403 printer.
6/8/10
P1012728-004
296
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. 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 liner 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. This applies only to printers that have applicator ports and that are being used in a print-and-apply system. 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.
Note Send ~JK in a separate file - it cannot be sent at the end of a set of commands.
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. Kiosk after printing, the media is moved in a presentation position, most applications maintain a loop of media in the printer. 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.
P1012728-004
6/8/10
297
^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. Continuous Media, variable length same as Continuous Media, but if portions of the printed label fall outside of the defined label length, the label size will automatically be extended to contain them. This label length extension applies only to the current label. Note that ^MNV still requires the use of the ^LL command to define the initial desired label length. Non-continuous Media this media has some type of physical characteristic (such as web, notch, perforation, black mark) to separate the labels. Format ^MNa,b
Parameters Details
Accepted Values: N = continuous media Y = non-continuous media web sensing k, l W = non-continuous media web sensing k, l M = non-continuous media mark sensing A = auto-detects the type of media during calibration k, m V = continuous media, variable length n Default Value: a value must be entered or the command is ignored This sets the expected location of the media mark relative to the point of separation between documents. If set to 0, the media mark is expected to be found at the point of separation. (i.e., the perforation, cut point, etc.) All values are listed in dots. This parameter is ignored unless the a parameter is set to M. If this parameter is missing, the default value is used. Accepted Values: -80 to 283 for direct-thermal only printers -240 to 566 for 600 dpi printers -120 to 283 for all other printers Default Value: 0
k. Provides the same result. l. This value is not supported on the KR403 printer. m. This parameter is supported only on G-series printers. n. This parameter is supported only on the KR403 printer.
6/8/10
P1012728-004
298
^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
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
P1012728-004
6/8/10
299
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:
Before
After
6/8/10
P1012728-004
300
^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
Parameters Details
Accepted Values: T = thermal transfer media D = direct thermal media Default Value: a value must be entered or the command is ignored
P1012728-004
6/8/10
301
^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
Parameters Details
a = units
Accepted Values: D = dots I = inches M = millimeters Default Value: D Accepted Values: 150, 200, 300 Default Value: a value must be entered or the command is ignored Accepted Values: 300, 600 Default Value: a value must be entered or the command is ignored
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
6/8/10
P1012728-004
302
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 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.
P1012728-004
6/8/10
303
^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
Parameters Details
Accepted Values: Y = enable head cold warning N = disable head cold warning
6/8/10
P1012728-004
304
^NC
Select the Primary Network Device
Description The ^NC command selects the wired or wireless print server as the primary network device. Supported Devices Xi4, RXi4 ZM400/ZM600, RZ400/RZ600 The Xi4, RXi4, ZM400/ZM600, and RZ400/RZ600 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 15 outlines priorities and identifies which device becomes the active print server when multiple print servers are installed. Table 15 Effect of Primary Network Setting on Active Print Server
If the Primary Network is set to: Installed and Connected to a Live Ethernet Network Internal External Wireless o Then, the Active Print Server will be:
X Wired
X X
X X X X
X Wireless X
X X X
o. A wireless option board must have an active radio that can properly associate to an access point.
Format ^NCa
Parameters Details
Accepted Values: 1 = wired primary 2 = wireless primary Default Value: 1 must be an accepted value or it is ignored
P1012728-004
6/8/10
305
~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###
Parameters Details
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.
6/8/10
P1012728-004
306
^ND
Change Network Settings
Description The ^ND command changes the network settings on supported printers. 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. Supported Devices Xi4 with firmware V53.17.1Z or later RXi4 RZ400/RZ600 with firmware R53.15.xZ or later ZM400/ZM600 with firmware V53.15.xZ or later G-Series Format ^NDa,b,c,d,e,f,g,h,i,j
Parameters Details
Accepted Values: 1 = external wired 2 = internal wired 3 = wireless 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 Accepted Values: Any properly formatted IP address in the xxx.xxx.xxx.xxx format. Accepted Values: Any properly formatted subnet mask in the xxx.xxx.xxx.xxx format. Accepted Values: Any properly formatted gateway in the xxx.xxx.xxx.xxx format. Accepted Values: Any properly formatted WINS server in the xxx.xxx.xxx.xxx format.
b = IP resolution
P1012728-004
6/8/10
307
Parameters
Details
g = connection Accepted Values: timeout checking 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 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) The port number that the printer should use for its RAW data. Accepted Values: 1 through 65535 Default Value: 9100
6/8/10
P1012728-004
308
^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###
Parameters Details
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.
P1012728-004
6/8/10
309
~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.
6/8/10
P1012728-004
310
^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
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. Accepted Values: Any properly formatted IP address in the xxx.xxx.xxx.xxx format. Accepted Values: Any properly formatted subnet mask in the xxx.xxx.xxx.xxx format. Accepted Values: Any properly formatted gateway in the xxx.xxx.xxx.xxx format. Accepted Values: Any properly formatted WINS server in the xxx.xxx.xxx.xxx format. Accepted Values: Y = Yes N = No Default Value: Y Time, in seconds, before the connection times out. Accepted Values: 0 through 9999 Default Value: 300 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)
b = IP address c = subnet mask d = default gateway e = WINS server address f = connection timeout checking
g = timeout value
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
P1012728-004
6/8/10
311
Comments For the Xi4, RXI4, ZM400/ZM600, and RZ400/RZ600 printers, Zebra recommends that you use the ^ND command instead of the ^NS command.
Example ^XA ^NSa,192.168.0.1,255.255.255.0,192.168.0.2 ^XZ
6/8/10
P1012728-004
312
~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 printers, the ~NT command functions the same as the ~NR command. All Z Series printers on a network receive the transmission. The commands ~NC, ^NI, ~NR, and ~NT are used only with RS-485 printer communications.
P1012728-004
6/8/10
313
^PA
Advanced Text Properties
This command is available only for printers with firmware version V60.14.x, V50.14.x, or later. Description The ^PA command is used to configure advanced text layout features. Format ^PAa,b,c,d
Parameters Details
a = default glyph
This determines whether the default glyph is a space character or the default glyph of the base font, which is typically a hollow box. Accepted Values: 0 = off (space as default glyph) 1 = on (default glyph of font is used, often a hollow box, but depends on the font.) Default Value: 0
This determines whether the bidirectional text layout is turned on or off. Accepted Values: 0 = off 1 = on Default Value: 0
c = character shaping
This determines whether character shaping is turned on or off. Accepted Values: 0 = off 1 = on Default Value: 0
This determines whether the OpenType support is turned on or off. Accepted Values: 0 = off 1 = on Default Value: 0
6/8/10
P1012728-004
314
^PF
Slew Given Number of Dot Rows
Description The ^PF command causes the printer to slew labels (move labels at a high speed without printing) a specified number of dot rows from the bottom of the label. This allows faster printing when the bottom portion of a label is blank. Format ^PF#
Parameters Details
Accepted Values: 0 to 32000 Default Value: a value must be entered or the command is ignored
P1012728-004
6/8/10
315
^PH ~PH
Slew to Home Position
Description The ^PH or ~PH command causes the printer to feed one blank label. The ~PH command feeds one label after the format currently being printed is done or when the printer is placed in pause. The ^PH command feeds one blank label after the current format prints. Format ^PH or ~PH
6/8/10
P1012728-004
316
~PL
Present Length Addition
Description The ~PL command adds an additional amount to how far the paper is ejected during a present cycle. A standard amount of 50mm is always added to clear the kiosk wall. This amount is added to that 50mm. The total amount of media ejected when a ^PN is executed, then, is 50mm + ~PL value + ^PN value. Supported Devices KR403 Format ^PLa
Parameters Details
Accepted Values: 000-255 = additional mm of media to eject Default Value: 000 The command is ignored if parameters are missing or invalid.
P1012728-004
6/8/10
317
^PM
Printing Mirror Image of Label
Description The ^PM command prints the entire printable area of the label as a mirror image. This command flips the image from left to right. Format ^PMa
Parameters Details
GENERATED LABEL
Comments If the parameter is missing or invalid, the command is ignored. Once entered, the ^PM command remains active until ^PMN is received or the printer is turned off.
6/8/10
P1012728-004
318
^PN
Present Now
Description The ^PN command causes the printer to run a Presenter cycle. The parameter defines the amount of media ejected. The total amount of media ejected when a ^PN is executed, then, is 50mm + ~PL value + ^PN value. (See ~PL on page 316). Supported Devices KR403 Format ^PNa
Parameters Details
Accepted Values: 0-255 = additional mm of media to eject Default Value: none The command is ignored if parameters are missing or invalid.
P1012728-004
6/8/10
319
^PO
Print Orientation
Description The ^PO command inverts the label format 180 degrees. The label appears to be printed upside down. If the original label contains commands such as ^LL, ^LS, ^LT and ^PF, the inverted label output is affected differently. Format ^POa
Parameters Details
Accepted Values:
ZPL II CODE ^XA^CFD ^POI ^LH330,10 ^FO50,50 ^FDZEBRA TECHNOLOGIES^FS ^FO50,75 ^FDVernon Hills, IL^FS ^XZ
GENERATED LABEL
The ^POI command inverts the x, y coordinates. All image placement is relative to these inverted coordinates. Therefore, a different ^LH (Label Home) can be used to move the print back onto the label. Comments If multiple ^PO commands are issued in the same label format, only the last command sent to the printer is used. Once the ^PO command is sent, the setting is retained until another ^PO command is received or the printer is turned off. The N value for the a parameter is not supported on the HC100 printer.
6/8/10
P1012728-004
320
^PP ~PP
Programmable Pause
Description The ~PP command stops printing after the current label is complete (if one is printing) and places the printer in Pause Mode. The ^PP command is not immediate. Therefore, several labels might print before a pause is performed. This command pauses the printer after the current format prints. The operation is identical to pressing PAUSE on the control panel of the printer. The printer remains paused until PAUSE is pressed or a ~PS (Print Start) command is sent to the printer. Format ^PP or ~PP
P1012728-004
6/8/10
321
^PQ
Print Quantity
Description The ^PQ command gives control over several printing operations. It controls the number of labels to print, the number of labels printed before printer pauses, and the number of replications of each serial number. Format ^PQq,p,r,o
Parameters Details
q = total quantity of labels to print p = pause and cut value (labels between pauses) r = replicates of each serial number o = override pause count
Accepted Value: 1 to 99,999,999 Default Value: 1 Accepted Value: 1 to 99,999,999 Default Value: 0 (no pause) Accepted Value: 0 to 99,999,999 replicates Default Value: 0 (no replicates) Accepted Values: N = no Y = yes Default Value: N
If the o parameter is set to Y, the printer cuts but does not pause, and the printer does not pause after every group count of labels has been printed. With the o parameter set to N (default), the printer pauses after every group count of labels has been printed.
Example This example shows the control over print operations:
^PQ50,10,1,Y: This example prints a total of 50 labels with one replicate of each serial number. It prints the total quantity in groups of 10, but does not pause after every group. ^PQ50,10,1,N: This example prints a total of 50 labels with one replicate of each serial number. It prints the total quantity in groups of 10, pausing after every group.
6/8/10
P1012728-004
322
^PR
Print Rate
Description The ^PR command determines the media and slew speed (feeding a blank label) during printing. The printer operates with the selected speeds until the setting is reissued or the printer is turned off. The print speed is application-specific. Because print quality is affected by media, ribbon, printing speeds, and printer operating modes, it is very important to run tests for your applications.
Important Some models go to default print speed when power is turned off.
Format ^PRp,s,b
Parameters Details
p = print speed
Accepted Values: 1 = 25.4 mm/sec. (1 inch/sec.) a A or 2 = 50.8 mm/sec. (2 inches/sec.) B or 3 = 76.2 mm/sec. (3 inches/sec.) C or 4 = 101.6 mm/sec. (4 inches/sec.) 5 = 127 mm/sec.(5 inches/sec.) D or 6 = 152.4 mm/sec. (6 inches/sec.) E or 8 = 203.2 mm/sec. (8 inches/sec.) 9 = 220.5 mm/sec. 9 inches/sec.) 10 = 245 mm/sec.(10 inches/sec.) 11 = 269.5 mm/sec.(11 inches/sec.) 12 = 304.8 mm/sec. 12 inches/sec.) 13 = 13 in/sec b 14 = 14 in/sec b Default Value: A
a. This value is supported only on the 110Xi4-600dpi, 110XiIIIPlus-600dpi , and RXi printers. b. This value is supported only on the Xi4 and RXi4 printers.
P1012728-004
6/8/10
323
Parameters
Details
s = slew speed
Accepted Values: A or 2 = 50.8 mm/sec. (2 inches/sec.) B or 3 = 76.2 mm/sec. (3 inches/sec.) C or 4 = 101.6 mm/sec. (4 inches/sec.) 5 = 127 mm/sec. 5 inches/sec.) D or 6 = 152.4 mm/sec. (6 inches/sec.) E or 8 = 203.2 mm/sec. (8 inches/sec.) 9 = 220.5 mm/sec. (9 inches/sec.) 10 = 245 mm/sec. (10 inches/sec.) 11 = 269.5 mm/sec. 11 inches/sec.) 12 = 304.8 mm/sec. 12 inches/sec.) 13 = 13 in/sec b 14 = 14 in/sec b Default Value: D
b = backfeed speed
Accepted Values: A or 2 = 50.8 mm/sec. (2 inches/sec.) B or 3 = 76.2 mm/sec. (3 inches/sec.) C or 4 = 101.6 mm/sec. (4 inches/sec.) 5 = 127 mm/sec.(5 inches/sec.) D or 6 = 152.4 mm/sec. (6 inches/sec.) E or 8 = 203.2 mm/sec. (8 inches/sec.) 9 = 220.5 mm/sec. 9 inches/sec.) 10 = 245 mm/sec. 10 inches/sec.) 11 = 269.5 mm/sec. 11 inches/sec.) 12 = 304.8 mm/sec. 12 inches/sec.) 13 = 13 in/sec b 14 = 14 in/sec b Default Value: A
a. This value is supported only on the 110Xi4-600dpi, 110XiIIIPlus-600dpi , and RXi printers. b. This value is supported only on the Xi4 and RXi4 printers.
Comments The speed setting for p, s, and b is dependent on the limitations of the printer. If a particular printer is limited to a rate of 6 ips (inches per second), a value of 12 can be entered but the printer performs only at a 6 ips rate. See your printers User Guide for specifics on performance. This command is ignored on the HC100 printer.
6/8/10
P1012728-004
324
~PR
Applicator Reprint
Description If the ~PR command is enabled (see ^JJ on page 256), the last label printed reprints, similar to the applicator asserting the Reprint signal on the applicator port. Supported Devices XiIIIPlus Xi4 with firmware V53.17.1Z or later PAX2, PAX4 S4M ZM400/ZM600 Format ~PR Comments Pressing PREVIOUS on the control panel also causes the last label to reprint.
P1012728-004
6/8/10
325
~PS
Print Start
Description The ~PS command causes a printer in Pause Mode to resume printing. The operation is identical to pressing PAUSE on the control panel of the printer when the printer is already in Pause Mode. Format ~PS
6/8/10
P1012728-004
326
^PW
Print Width
Description The ^PW command allows you to set the print width. Format ^PWa
Parameters Details
Accepted Values: 2, to the width of the label If the value exceeds the width of the label, the width is set to the labels maximum size. Default Value: last permanently saved value
P1012728-004
6/8/10
327
~RO
Reset Advanced Counters
Description The ~RO command resets the advanced counters used by the printer to monitor label generation in inches, centimeters, and number of labels. Format ~ROc
Parameters Details
c = counter number
Accepted Values: 1 = reset counter 1 2 = reset counter 2 3 = reset valid RFID label counter 4 = reset voided RFID label counter C = reset head cleaned counter p R = reset head replaced counter p (R resets the head cleaned counter and the head replaced counter) Default Value: a value must be specified or the command is ignored
p. These values are supported only on Xi4, RXi4, ZM400/ZM600, RZ400/RZ600, S4M, and G-Series printers.
Example 1 This example shows how the counter portion of the printer configuration labels looks when counter 1 is reset by sending ~RO1. Before
After
6/8/10
P1012728-004 A
328
Example 2 This example shows how the counter portion of the printer configuration labels
looks when the RFID counters are reset by sending ~RO3 and ~RO4.
Before
After
P1012728-004 A
6/8/10
329
^SC
Set Serial Communications
Description The ^SC command allows you to change the serial communications parameters you are using. Format ^SCa,b,c,d,e,f
Parameters Details
a = baud rate
Accepted Values: 110 q; 300; 600; 1200; 2400; 4800; 9600; 14400; 19200; 28800; 38400; or 57600; 115200 Default Value: must be specified or the parameter is ignored Accepted Values: 7 or 8 Default Value: must be specified Accepted Values: N (none), E (even), or O (odd) Default Value: must be specified Accepted Values: 1 or 2 Default Value: must be specified Accepted Values: X = XON/XOFF D = DTR/DSR R = RTS M = DTR/DSR XON/XOFF r Default Value: must be specified Accepted Values: A = ACK/NAK N = none Z = Zebra Default Value: must be specified
b = word length (in data bits) c = parity d = stop bits e = protocol mode
f = Zebra protocol
q. This value is not supported on Xi4, RXi4, ZM400/ZM600, RZ400/RZ600, and S4M printers. r. This parameter is supported only on G-Series printers. Using the DTR/DSR XON/XOFF mode will cause the printer to respond to either DTR/DSR or XON/XOFF, depending on which method is first received from the host device.
Comments If any of the parameters are missing, out of specification, not supported by a particular printer, or have a ZPL-override DIP switch set, the command is ignored. A ^JUS command causes the changes in Communications Mode to persist through power-up and software resets.
6/8/10
P1012728-004
330
~SD
Set Darkness
Description The ~SD command allows you to set the darkness of printing. ~SD is the equivalent of the darkness setting parameter on the control panel display. Format ~SD##
Parameters Details
Important The darkness setting range for the XiIIIPlus, Xi4, and RXi4 is 0 to 30 in increments of 0.1. The firmware is setup so that the ^MD and ~SD commands (ZPL darkness commands) accept that range of settings. Example These are examples of the XiIIIPlus, Xi4, and RXi4 Darkness Setting:
^MD8.3 ~SD8.3 Comments The ^MD command value, if applicable, is added to the ~SD command.
P1012728-004
6/8/10
331
^SE
Select Encoding Table
Description The ^SE command is used to select the desired ZPL or ZPL II encoding table. Format ^SEd:o.x
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: R: Accepted Value: 1 to 8 alphanumeric characters Default Value: a value must be specified Fixed Value: .DAT
The encoding tables are provided with the font card or downloaded in flash with the font. The table appears as XXXXXXX.DAT in a directory label printed by the ZPL commands. The most active encoding table is indicated by the * on the directory label.
Example
^XA^WD*:*.*^XZ
6/8/10
P1012728-004
332
^SF
Serialization Field (with a Standard ^FD String)
Description The ^SF command allows you to serialize a standard ^FD string. The maximum size of the mask and increment string is 3K combined. In firmware version x.14 and later, strings are serialized from the last character in the backing store with regard to the alignment of the mask and increment strings. For combining semantic clusters that do not get incremented, the mask character % needs to be added to the increment string. Format ^SFa,b
Parameters Details
a = mask string
The mask string sets the serialization scheme. The length of the string mask defines the number of characters (or in firmware version x.14 and later, combining semantic clusters) in the current ^FD string to be serialized. The mask is aligned to the characters (or in firmware version x.14 and later, combining semantic clusters) in the ^FD string starting with the right-most (or in firmware x.14 and later, last) in the backing store position. Mask String placeholders:
D or d Decimal numeric 09 H or h Hexadecimal 09 plus a-f or A-F O or o Octal 07 A or a Alphabetic AZ or az N or n Alphanumeric 09 plus AZ or az % Ignore character or skip b = increment string
The increment string is the value to be added to the field on each label. The default value is equivalent to a decimal value of one. The string is composed of any characters (or in firmware version x.14 and later, combining semantic clusters) defined in the serial string. Invalid characters (or in firmware version x.14 and later, combining semantic clusters) are assumed to be equal to a value of zero in that characters (or in firmware version x.14 and later, combining semantic clusters) position. The increment value for alphabetic strings start with A or a as the zero placeholder. This means to increment an alphabetic character (or in firmware version x.14 and later, combining semantic cluster) by one, a value of B or b must be in the increment string.
For characters that do not get incremented, the % character needs to be added to the increment string.
P1012728-004
6/8/10
333
Example 1 This is an example of serializing a ^FD string. The ZPL II code generates three
This mask has the first characters (or in firmware version x.14 and later, the first combining semantic clusters) as alphanumeric (nn = 12) and the last digit as uppercase alphabetic (A). The decimal value of the increment number is equivalent to 5 (F). The number of labels generated depends on the number specified by the ^PQ command. In a similar instance, the ^FD string could be replaced with either of the ^FD strings below to generate a series of label, determined by ^PQ. Using this ZPL code: ^FDBL0000^SFAAdddd,1 The print sequence on this series of labels is: BL0000, BL0001,...BL0009, BL0010,... BL0099, BL0100,...BL9999, BM0000... Using this ZPL code: ^FDBL00-0^SFAAdd%d,1%1 The print sequence on this series of labels is: BL00-0, BL01-1, BL02-2,...BL09-9, BL11-0, BL12-1... Important notes about masking for firmware version V60.14.x, V50.14.x, or later: A single % masks an entire combining semantic cluster rather than a single code point. The mask string and increment string should be aligned at the last code point in their respective backing stores. Control and bidirectional characters do not require a mask and are ignored for serialization purposes.
The following examples show the importance of capitalization and location within the mask.
6/8/10
P1012728-004
334
Example 2 In this example, the printer cycles with every two printed labels and alternates between H (position 18), and then Z (position 36). With n or N, the serial number increments from 0 - 9 and az or AZ (36 positions overall). With each completed cycle, the second cluster (nn) increments one position (from 00, 01, 02 ) per cycle:
ZPL II CODE
^XA ^FO100,50^A0N,50,50^FDzzZ^SFnnN,I^FS ^PQ10 ^XZ
GENERATED LABELS
Example 3 In this example, lower case i increments with a mask string of nnN. Nothing
changes because the first cluster (Z) never triggers the second cluster (zz) to change.
ZPL II CODE
^XA ^FO100,50^A0N,50,50^FDzzZ^SFnnN,i^FS ^PQ10 ^XZ
GENERATED LABELS
P1012728-004
6/8/10
335
^SI
Set Sensor Intensity
This command is available only for printers with firmware versions V53.15.x or later.
Description The ^SI command is used to change the values for the media sensors, which are also set during the media calibration process. The media calibration process is described in your specific printers users guide. Supported Devices Xi4 with firmware V53.17.1Z or later RXi4 with firmware V53.17.7Z or later ZM400/ZM600 with firmware V53.15.xZ or later RZ400/RZ600 wtih firmware R53.15.xZ or later Format ^SIa,b
Parameters Details
Accepted Values: 1 = transmissive sensor brightness setting 2 = transmissive sensor baseline setting Default Value: must be an accepted value or the entire command is ignored The ranges for this parameter are the same for the accepted values in parameter a. Accepted Values: 0 to 196 Default Value: must be an accepted value or the entire command is ignored
6/8/10
P1012728-004
336
^SL
Set Mode and Language (for Real-Time Clock)
Description The ^SL command is used to specify the Real-Time Clocks mode of operation and language for printing information.
Important
Time is read when the image is created. If the image stays in the queue longer than the specified time the image will be recreated with a new time. There are incidents when the same time or a larger space of time may be printed on labels. This is due to the format complexity and print speed.
Format ^SLa,b
Parameters Details
a = mode
Accepted Values: S = Start Time Mode. This is the time that is read from the Real-Time Clock when label formatting begins (when ^XA is received). The first label has the same time placed on it as the last label. T = Time Now Mode. This is the time that is read from the Real-Time Clock when the label to be printed is placed in print queue. Time Now is similar to a serialized time or date field. Numeric Value = With the Enhanced Real Time Clock (V60.13.0.10 or later) a time accuracy tolerance can be specified. Range = 1 to 999 seconds, 0 = one second tolerance Example: SL30,1 = Accuracy tolerance of 30 seconds and use English. Default Value: S
s. These values are only supported on the Xi4, RXi4, ZM400/ZM600, and RZ400/RZ600 printers.
P1012728-004
6/8/10
337
Parameters
Details
b = language
Accepted Values: 1 = English 2 = Spanish 3 = French 4 = German 5 = Italian 6 = Norwegian 7 = Portuguese 8 = Swedish 9 = Danish 10 = Spanish 2 11 = Dutch 12 = Finnish 13 = Japanese 14 = Korean s 15 = Simplified Chinese s 16 = Traditional Chinese s 17 = Russian s 18 = Polish s Default Value: the language selected with ^KL or the control panel
s. These values are only supported on the Xi4, RXi4, ZM400/ZM600, and RZ400/RZ600 printers.
Comments These are some comments to be aware of: The ^SL command must be placed before the first ^FO command. As of V60.13.0.10 all supported printers have Enhanced Real Time Clock capabilities the RTC will not print time fields that are more than sixty seconds old, rather it will update the time prior to printing (^SLT or ^SL60). To control time with increments other than sixty seconds the ^SL command can be used with a numeric value (^SL30). ^SLS can keep times longer than sixty seconds. For more details on set mode and language with the Real-Time Clock, see Real Time Clock on page 999.
6/8/10
P1012728-004
338
^SN
Serialization Data
Description The ^SN command allows the printer to index data fields by a selected increment or decrement value, making the data fields increase or decrease by a specified value each time a label is printed. This can be performed on 100 to 150 fields in a given format and can be performed on both alphanumeric and bar code fields. A maximum of 12 of the rightmost integers are subject to indexing. In x.13 and earlier, the first integer found when scanning from right to left starts the indexing portion of the data field. In x.14 and later, the first integer found when scanning from end of the backing store towards the beginning starts the indexing portion of the data field. In x.13 and earlier, if the alphanumeric field to be indexed ends with an alpha character, the data is scanned, character by character, from right to left until a numeric character is encountered. Serialization takes place using the value of the first number found. In x.14 and later, if the backing store of the alphanumeric field to be indexed ends with an alpha character, the data is scanned, character by character, from the end of the backing store until a numeric character is encountered. Serialization takes place using the value of the first number found. Format ^SNv,n,z
Parameters Details
v = starting value n = increment or decrement value z = add leading zeros (if needed)
Accepted Values: 12-digits maximum for the portion to be indexed Default Value: 1 Accepted Values: 12-digit maximum Default Value: 1 To indicate a decrement value, precede the value with a minus () sign. Accepted Values: N = no Y = yes Default Value: N
P1012728-004
6/8/10
339
GENERATED LABELS
Note: The ZPL II code above will generate three separate labels, seen to the right.
Comments Incrementing and decrementing takes place for each serial-numbered field when all replicates for each serial number have been printed, as specified in parameter r of the ^PQ (print quality) command. If, during the course of printing serialized labels, the printer runs out of either paper or ribbon, the first label printed (after the media or ribbon has been replaced and calibration completed) has the same serial number as the partial label printed before the out condition occurred. This is done in case the last label before the out condition did not fully print. This is controlled by the ^JZ command.
6/8/10
P1012728-004
340
P1012728-004
6/8/10
341
^SO
Set Offset (for Real-Time Clock)
Description The ^SO command is used to set the secondary and the tertiary offset from the primary Real-Time Clock.
Note For each label only one SO2 command can be used. If more than one offset is
a = clock set
Accepted Values: 2 = secondary 3 = third Default Value: value must be specified Accepted Values: 32000 to 32000 Default Value: 0 Accepted Values: 32000 to 32000 Default Value: 0 Accepted Values: 32000 to 32000 Default Value: 0 Accepted Values: 32000 to 32000 Default Value: 0 Accepted Values: 32000 to 32000 Default Value: 0 Accepted Values: 32000 to 32000 Default Value: 0
b = months offset c = days offset d = years offset e = hours offset f = minutes offset g = seconds offset
For more detail on set offset, see Real Time Clock on page 999.
6/8/10
P1012728-004
342
^SP
Start Print
Description The ^SP command allows a label to start printing at a specified point before the entire label has been completely formatted. On extremely complex labels, this command can increase the overall throughput of the print. The command works as follows: Specify the dot row at which the ^SP command is to begin. This creates a label segment. Once the ^SP command is processed, all information in that segment prints. During the printing process, all of the commands after the ^SP continue to be received and processed by the printer. If the segment after the ^SP command (or the remainder of the label) is ready for printing, media motion does not stop. If the next segment is not ready, the printer stops mid-label and wait for the next segment to be completed. Precise positioning of the ^SP command requires a trial-and-error process, as it depends primarily on print speed and label complexity. The ^SP command can be effectively used to determine the worst possible print quality. You can determine whether using the ^SP command is appropriate for the particular application by using this procedure. If you send the label format up to the first ^SP command and then wait for printing to stop before sending the next segment, the printed label is a sample of the worst possible print quality. It drops any field that is out of order. If the procedure above is used, the end of the label format must be: ^SP#^FS Comments ^SPa
Parameters Details
P1012728-004
6/8/10
343
Example In this example, a label 800 dot rows in length uses ^SP500. Segment 1 prints while commands in Segment 2 are being received and formatted.
Dot position 0
Label Segment 2
Label Segment 1
Dot position 800
6/8/10
P1012728-004
344
^SQ
Halt ZebraNet Alert
Description The ^SQ command is used to stop the ZebraNet Alert option. Format ^SQa,b,c
Parameters Details
a = condition type
Accepted Values: A = paper out B = ribbon out C = printhead over-temp D = printhead under-temp E = head open F = power supply over-temp G = ribbon-in warning (Direct Thermal Mode) H = rewind full I = cut error J = printer paused K = PQ job completed L = label ready M = head element out N = ZBI (Zebra BASIC Interpreter) runtime error O = ZBI (Zebra BASIC Interpreter) forced error Q = clean printhead R = media low S = ribbon low T = replace head U = battery low V = RFID error (in RFID printers only) W = all errors (in RFID printers only) * = all errors (in non-RFID printers) Accepted Values: A = serial port B = parallel port C = e-mail address D = TCP/IP E = UDP/IP F = SNMP trap * = wild card to stop alerts for all destinations
b = destination
P1012728-004
6/8/10
345
Parameters
Details
c = halt messages
6/8/10
P1012728-004
346
^SR
Set Printhead Resistance
Description The ^SR command allows you to set the printhead resistance. Format ^SR####
Parameters Details
Accepted Value: 0488 to 1175 Default Value: last permanently saved value
Comments To avoid damaging the printhead, this value should be less than or equal to the value shown on the printhead being used. Setting a higher value could damage the printhead.
Note New printer models automatically set head resistance.
P1012728-004
6/8/10
347
^SS
Set Media Sensors
Description The ^SS command is used to change the values for media, web, ribbon, and label length set during the media calibration process. The media calibration process is described in your specific printers users guide. Format ^SSw,m,r,l,m2,r2,a,b,c
Parameters Details
w = web (three-digit value) m = media (three-digit value) r = ribbon (three-digit value) l = label length (in dots, four-digit value) m2 = intensity of media LED (three-digit value) r2 = intensity of ribbon LED (three-digit value) a = mark sensing (threedigit value) b = mark media sensing (three-digit value) c = mark LED sensing (three-digit value)
Accepted Values: 000 to 100 Default Value: value shown on the media sensor profile or configuration label Accepted Values: 000 to 100 Default Value: value shown on the media sensor profile or configuration label Accepted Values: 000 to 100 Default Value: value shown on the media sensor profile or configuration label Accepted Values: 0001 to 32000 Default Value: value calculated in the calibration process Accepted Values: 000 to 255 Default Value: value calculated in the calibration process Accepted Values: 000 to 255 Default Value: value calculated in the calibration process Accepted Values: 000 to 100 Default Value: value calculated in the calibration process Accepted Values: 000 to 100 Default Value: value calculated in the calibration process Accepted Values: 000 to 255 Default Value: value calculated in the calibration process
6/8/10
P1012728-004
348
Example Below is an example of a media sensor profile. Notice the numbers from 000 to
100 and where the words WEB, MEDIA, and RIBBON appear in relation to those numbers. Also notice the black vertical spike. This represents where the printer sensed the transition from media-to-web-to-media.
The media and sensor profiles produced vary in appearance from printer to printer. Comments The m2 and r2 parameters have no effect in Stripe S-300 and S-500 printers. This command is ignored on the HC100 printer. Maximum values for parameters depend on which printer platform is being used.
P1012728-004
6/8/10
349
^ST
Set Date and Time (for Real-Time Clock)
Description The ^ST command sets the date and time of the Real-Time Clock. Format ^STa,b,c,d,e,f,g
Parameters Details
Accepted Values: 01 to 12 Default Value: current month Accepted Values: 01 to 31 Default Value: current day Accepted Values: 1998 to 2097 Default Value: current year Accepted Values: 00 to 23 Default Value: current hour Accepted Values: 00 to 59 Default Value: current minute Accepted Values: 00 to 59 Default Value: current second Accepted Values: A = a.m. P = p.m. M = 24-hour military Default Value: M For more details on set date and time, see Real Time Clock on page 999.
6/8/10
P1012728-004
350
^SX
Set ZebraNet Alert
Description The ^SX command is used to configure the ZebraNet Alert System. Format ^SXa,b,c,d,e,f
Note The values in this table apply to firmware version V48.12.4 or later.
Parameters
Details
a = condition type
Accepted Values: A = paper out B = ribbon out C = printhead over-temp D = printhead under-temp E = head open F = power supply over-temp G = ribbon-in warning (Direct Thermal Mode) H = rewind full I = cut error J = printer paused K = PQ job completed L = label ready M = head element out N = ZBI (Zebra BASIC Interpreter) runtime error O = ZBI (Zebra BASIC Interpreter) forced error P = power on Q = clean printhead R = media low S = ribbon low T = replace head U = battery low V = RFID error (in RFID printers only) * = all errors Default Value: if the parameter is missing or invalid, the command is ignored
P1012728-004
6/8/10
351
Parameters
Details
Accepted Values: A = serial port B* = parallel port C = e-mail address D = TCP/IP E = UDP/IP F = SNMP trap Default Value: if this parameter is missing or invalid, the command is ignored * Requires bidirectional communication. Accepted Values: N = no Y = yes Default Value: Y or previously configured value Accepted Values: N = no Y = yes Default Value: N or previously configured value Parameters e and f are sub-options based on destination. If the sub-options are missing or invalid, these parameters are ignored. Accepted Values: Internet e-mail address (e.g. user@company.com) IP address (for example, 10.1.2.123) SNMP trap IP or IPX addresses Accepted Values: TCP port # (0 to 65535) UPD port # (0 to 65535)
e = destination setting
f = port number
Example This is an example of the different (b) destinations that you can send for the
condition type (a): Serial: ^SXA,A,Y,Y Parallel: ^SXA,B,Y,Y E-Mail: ^SXA,C,Y,Y,admin@company.com TCP: ^SXA,D,Y,Y,123.45.67.89,1234 UDP: ^SXA,E,Y,Y,123.45.67.89,1234 SNMP Trap: ^SXA,F,Y,Y,255.255.255.255 Comments In the example above for SNMP Trap, entering 255.255.255.255 broadcasts the notification to every SNMP manager on the network. To route the device to a single SNMP manager, enter a specific address (123.45.67.89).
6/8/10
P1012728-004
352
^SZ
Set ZPL
Description The ^SZ command is used to select the programming language used by the printer. This command gives you the ability to print labels formatted in both ZPL and ZPL II. This command remains active until another ^SZ command is sent to the printer or the printer is turned off. Format ^SZa
Parameters Details
a = ZPL version
P1012728-004
6/8/10
353
~TA
Tear-off Adjust Position
Description The ~TA command lets you adjust the rest position of the media after a label is printed, which changes the position at which the label is torn or cut. Format ~TA###
Important These are some important facts about this command:
For 600 dpi printers, the step size doubles. If the number of characters is less than 3, the command is ignored.
Parameters
Details
### = change in media rest position (3-digit value in dot rows must be used.)
Accepted Values:
120 to 120
0 to 120 (on the HC100) Default Value: last permanent value saved
6/8/10
P1012728-004
354
^TB
Text Blocks
This command is available only for printers with firmware version V60.14.x, V50.14.x, or later. Description The ^TB command prints a text block with defined width and height. The text block has an automatic word-wrap function. If the text exceeds the block height, the text is truncated. This command supports complex text layout features.
Note ^TB is the preferred command for printing fields or blocks of text, instead of ^FB.
Format ^TBa,b,c
Parameters Details
a = block rotation
Accepted Values: N = normal R = rotate 90 degrees clockwise I = invert 180 degrees B = read from bottom up-270 degrees Default Value: whatever was specified by the last ^A (which has the default of ^FW) Accepted Values: 1 to the width of the label in dots Default Value: 1 dot
Accepted Values: 1 to the length of the label in dots Default Value: 1 dot
Comments Facts about the ^TB command: Justification of ^TB command comes from ^FO, ^FT, or ^FN command. If no justification is determined then the default is auto justification. Data between < and > is processed as an escape sequence. This is a list of defined escape sequences: <<> prints <. The ^TB command has an automatic word-wrap function. Soft hyphens do not print and are not used as a line break position.
P1012728-004
6/8/10
355
^TO
Transfer Object
Description The ^TO command is used to copy an object or group of objects from one storage device to another. It is similar to the copy function used in PCs. Source and destination devices must be supplied and must be different and valid for the action specified. Invalid parameters cause the command to be ignored. The asterisk (*) can be used as a wild card for object names and extensions. For instance, ZEBRA.* or *.GRF are acceptable forms for use with the ^TO command. At least one source parameter (d, o, or x) and one destination parameter (s, o, or x) must be specified. If only ^TO is entered, the command is ignored. Format ^TOs:o.x,d:o.x
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: if a drive is not specified, all objects are transferred to the drive set in parameter s Accepted Values: any existing object conforming to Zebra conventions Default Value: if a name is not specified, * is used all objects are selected Accepted Values: any extension conforming to Zebra conventions Default Value: if an extension is not specified, * is used all extensions are selected Accepted Values: R:, E:, B:, and A: Default Value: a destination must be specified Accepted Values: up to 8 alphanumeric characters Default Value: if a name is not specified, the name of the existing object is used Accepted Values: any extension conforming to Zebra conventions Default Value: if an extension is not specified, the extension of the existing object is used
d = destination device of the stored object o = name of the object at destination x = extension
Comments Parameters o, x, and s support the use of the wild card (*). If the destination device does not have enough free space to store the object being copied, the command is canceled. Zebra files (Z:*.*) cannot be transferred. These files are copyrighted by Zebra Technologies.
6/8/10
P1012728-004
356
Transferring Objects
These are some examples of using the ^TO command.
Example 1 To copy the object ZLOGO.GRF from DRAM to an optional Memory Card and rename it ZLOGO1.GRF, write the following format:
P1012728-004
6/8/10
357
~WC
Print Configuration Label
Description The ~WC command is used to generate a printer configuration label. The printer configuration label contains information about the printer setup, such as sensor type, network ID, ZPL mode, firmware version, and descriptive data on the R:, E:, B:, and A: devices. Format ~WC Comments This command works only when the printer is idle.
6/8/10
P1012728-004
358
^WD
Print Directory Label
Description The ^WD command is used to print a label listing bar codes, objects stored in DRAM, or fonts. For bar codes, the list shows the name of the bar code. For fonts, the list shows the name of the font, the number to use with ^A command, and size. For objects stored in DRAM, the list shows the name of the object, extension, size, and option flags. All lists are enclosed in a double-line box. Format ^WDd:o.x
Parameters
Details
Accepted Values: R:, E:, B:, A: and Z: Default Value: R: Accepted Values: 1 to 8 alphanumeric characters Default Value: * The use of a ? (question mark) is also allowed.
x = extension optional Accepted Values: any extension conforming to Zebra conventions .FNT = font .BAR = bar code .ZPL = stored ZPL format .GRF = GRF graphic .CO = memory cache .DAT = font encoding .BAS = ZBI encrypted program .TTF and .TTE are only .BAE = ZBI encrypted program supported in firmware .STO = data storage version V60.14.x, .PNG = PNG graphic V50.14.x, or later. * = all objects .TTF = TrueType Font .TTE = True Type Extension Default Value: * The use of a ? (question mark) is also allowed.
Example 1 To print a label listing all objects in DRAM, enter:
P1012728-004
6/8/10
359
6/8/10
P1012728-004
360
~WQ
Write Query
Description The ~WQ command triggers the printer to print a label with odometer, maintenance or alert, and printhead history information. Supported Devices Xi4 with firmware V53.17.1Z or later RXi4 with firmware V53.17.7Z or later ZM400/ZM600 with firmware V53.15.xZ or later RZ400/RZ600 with firmware R53.15.xZ or later S4M with firmware V53.15.4Z or later G-Series Format ~WQquery-type
Parameter Details
query-type
For detailed examples of these parameters, see ~WQ Examples on page 362. Accepted Values: ES = requests the printers status. For details see, Table 16 on page 360 and Table 17 on page 361. 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 = printers USB product ID and BCD release version Default Value: must be an accepted value or the command is ignored
a3a
Group 1
0 1 1 1 1 1
0 X X X X X
0 X X X X X
0 X X X X X
0 X X X X X
0 X X X X X
0 X 2 1 X X
0 X X X 8 4
0 X X X X X
P1012728-004
6/8/10
361
Group 1
1 1 1 1 1 1
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X X X X X
X X X X X X X X X X 8 4 2 1
X X X X X X 8 4 2 1
X X X X X X X X X X X X X X
2 1 X X X X X X X X X X X X
X X 8 4 2 1 X X X X X X X X
1 1
a a a a a a a a
a a a a
a a a
1 1 1
a a
a a a a
X X X X
1 1 1
Group 1
0 1
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0 X X X X X X X X X X X X X
0 X X X X X X X X X X X X X
0 X X X X X X X X X X X X X
0 X X X X X X X X X X X X X
0 X X X X X X X X X X X X X
0 X X X X X X X X X
0 X X X X X
0 X 8
1 1 1
4 2 1 X X X X X X X X
b 1 b 1 b 1
1
b 1 b 2 b 4
8
b 1 b 1 b 1
1
b 1 b 2 b 4
8
X X X X
6/8/10
P1012728-004
362
~WQ Examples
This section provides detailed examples of all the available parameters.
Example 1 This example shows how to request the printers status.
1. To request the printers status, type ~WQES
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). This illustration identifies the printer status definitions:
2 4 6
1 1 2 3 4 5 6
In the example shown above, 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).
Zebra Programming Guide 6/8/10
P1012728-004
363
Example 3 This is an example of how to print the hardware address of the internal wired
print server.
1. To print the hardware address of the internal wired print server, type ~WQHA
Example 4 This is an example of how to print 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 268. 1. To request a summary of the printers printhead test, type ~WQJT A label similar to this prints out:
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 ~WQJT A label similar to this prints out:
6/8/10
P1012728-004
364
1 2 1 2 3 4 5
Element failure Manual (M) or automatic (A) range First test element Last test element Failure count
Example 5 This is an example of how to print the maintenance alert query for the ~WQ
command.
1. To get the current settings, type ~WQMA
P1012728-004
6/8/10
365
Example 6 This is an example of how to use the odometer query for the ~WQ 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 ~WQOD
The units of measure are set to inches. 1. To change the units of measure to centimeters, type: ^XA^MA,,,,C ^XZ The units of measure are set to centimeters. 2. To check the settings, type ~WQOD. A label similar to this prints out:
Example 7 This is an example of how to print the maintenance information query for the
~WQ command. Note that the message is controlled by the ^MI command.
1. To get the current settings, type ~WQMI
6/8/10
P1012728-004
366
Example 8 This is an example of how to print the printhead life query for the ~WQ command. Note that the units of measure are controlled by the ^MA command.
1. To get the current settings, type ~WQPH
1 2
1 2
The current life of the print head. Line items 2 through 10 (the example only shows 2 through 3) tracks the measurement for each time the print head is changed.
Example 9 This is an example of how to print the printers Plug and Play string.
1. To print the printers Plug and Play string, type ~WQPP
Example 11 This is an example of how to print the printers USB product ID and BCD
release version.
1. To print the printers USB product ID and BCD release version, type ~WQUI
P1012728-004
6/8/10
367
^XA
Start Format
Description The ^XA command is used at the beginning of ZPL II code. It is the opening bracket and indicates the start of a new label format. This command is substituted with a single ASCII control character STX (control-B, hexadecimal 02). Format ^XA Comments Valid ZPL II format requires that label formats should start with the ^XA command and end with the ^XZ command.
6/8/10
P1012728-004
368
^XB
Suppress Backfeed
Description The ^XB command suppresses forward feed of media to tear-off position depending on the current printer mode. Because no forward feed occurs, a backfeed before printing of the next label is not necessary; this improves throughput. When printing a batch of labels, the last label should not contain this command. Format ^XB
P1012728-004
6/8/10
369
^XF
Recall Format
Description The ^XF command recalls a stored format to be merged with variable data. There can be multiple ^XF commands in one format, and they can be located anywhere within the code. When recalling a stored format and merging data using the ^FN (Field Number) function, the calling format must contain the ^FN command to merge the data properly. While using stored formats reduces transmission time, no formatting time is saved. The ZPL II format being recalled is saved as text strings that need to be formatted at print time. Format ^XFd:o.x
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: search priority (R:, E:, B:, and A:)
o = name of stored image Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used x = extension l
Fixed Value: .ZPL
For a complete example of the ^DF and ^XF command, see ^DF and ^XF Download format and recall format on page 47.
6/8/10
P1012728-004
370
^XG
Recall Graphic
Description The ^XG command is used to recall one or more graphic images for printing. This command is used in a label format to merge graphics, such as company logos and piece parts, with text data to form a complete label. An image can be recalled and resized as many times as needed in each format. Other images and data might be added to the format. Format ^XGd:o.x,mx,my
Parameters Details
Accepted Values: R:, E:, B:, and A: Default Value: search priority (R:, E:, B:, and A:)
o = name of stored image Accepted Values: 1 to 8 alphanumeric characters Default Value: if a name is not specified, UNKNOWN is used x = extension l mx = magnification factor on the x-axis my = magnification factor on the y-axis
Fixed Value: .GRF Accepted Values: 1 to 10 Default Value: 1 Accepted Values: 1 to 10 Default Value: 1
Example This is an example of using the ^XG command to recall the image
SAMPLE.GRF from DRAM and print it in five different sizes in five different locations on the same label:
^XA ^FO100,100^XGR:SAMPLE.GRF,1,1^FS ^FO100,200^XGR:SAMPLE.GRF,2,2^FS ^FO100,300^XGR:SAMPLE.GRF,3,3^FS ^FO100,400^XGR:SAMPLE.GRF,4,4^FS ^FO100,500^XGR:SAMPLE.GRF,5,5^FS ^XZ
P1012728-004
6/8/10
371
^XS
Set Dynamic Media Calibration
Description The ^XS command controls whether dynamic media calibration is performed to compensate for variations in label length, position, transmissivity, and/or reflectance after a printer is powered-up or the printer has been opened (for example to change or check the media). Supported Devices G-Series Format ^XSlength,threshold
Parameters Details
Accepted Values: Y = enable N = disable Default Value: Y Accepted Values: Y = enable N = disable Default Value: Y Accepted Values: Y = enable N = disable Default Value: Y
threshold = dynamic threshold calibration gain = dynamic gain calibration (to be in a future implementation)
6/8/10
P1012728-004
372
^XZ
End Format
Description The ^XZ command is the ending (closing) bracket. It indicates the end of a label format. When this command is received, a label prints. This command can also be issued as a single ASCII control character ETX (Control-C, hexadecimal 03). Format ^XZ Comments Label formats must start with the ^XA command and end with the ^XZ command to be in valid ZPL II format.
P1012728-004
6/8/10
373
^ZZ
Printer Sleep
Description The ^ZZ command places the printer in an idle or shutdown mode. Format ^ZZt,b
Parameters Details
Accepted Values: 0 to 999999 setting 0 disables automatic shutdown Default Value: last permanently saved value or 0 Accepted Values: Y = indicates to shutdown when labels are still queued N = indicates all labels must be printed before shutting down Default Value: N
Comments The ^ZZ command is only valid on the PA400 and PT400 battery-powered printers.
6/8/10
P1012728-004
374
Notes ___________________________________________________________________
P1012728-004
6/8/10
3
ZPL RFID Commands
This section contains the ZPL II commands for RFID-specific applications. For additional information, refer to the RFID Programming Guide for your printer. A copy is available on the User CD provided with your printer and online at http://www.zebra.com/manuals.
6/8/10
P1012728-004
376
P1012728-004 Rev. A
6/8/10
377
^HL or ~HL on page 380 ^HR on page 381 ^RA on page 387 ^RB on page 389 ^RE on page 391 ^RF on page 392 ^RI on page 395
Return RFID Data Log to Host Calibrate RFID Transponder Position Read AFI or DSFID Byte Define EPC Data Structure Enable/Disable E.A.S. Bit Read or Write RFID Format Get RFID Tag ID
* * * *
* *
* *
^RR on page 400 ^RS on page 402 ^RT on page 410 ~RV on page 412 ^RW on page 413 ^RZ on page 416 ^WF on page 418 ^WT on page 420 ^WV on page 422
* a. b.
Specify RFID Retries for a Block Set Up RFID Parameters Read RFID Tag Report RFID Encoding Results Set RF Power Levels for Read and Write Set RFID Tag Password and Lock Tag Encode AFI or DSFID Byte Write (Encode) Tag Verify RFID Encoding Operation
* * * * *
= Supported = Not supported Use the ^RF, ^RM, and ^RR commands rather than the ^RT command. Use the ^RF, ^RM, ^RR, and ^WV commands rather than the ^WT command.
6/8/10
P1012728-004 Rev. A
378
Command
Function
^HL or ~HL on page 380 ^HR on page 381 ^RA on page 387 ^RB on page 389 ^RE on page 391 ^RF on page 392 ^RI on page 395
Return RFID Data Log to Host Calibrate RFID Transponder Position Read AFI or DSFID Byte Define EPC Data Structure Enable/Disable E.A.S. Bit Read or Write RFID Format Get RFID Tag ID
* * * *
^RM on page 396 ^RN on page 397 ~RO on page 327 ^RQ on page 398 ^RR on page 400 ^RS on page 402 ^RT on page 410 ~RV on page 412 ^RW on page 413 ^RZ on page 416 ^WF on page 418 ^WT on page 420 ^WV on page 422
* a. b.
Enable RFID Motion Detect Multiple RFID Tags in Encoding Field Reset Advanced Counters Quick Write EPC Data and Passwords Specify RFID Retries for a Block Set Up RFID Parameters Read RFID Tag Report RFID Encoding Results Set RF Power Levels for Read and Write Set RFID Tag Password and Lock Tag Encode AFI or DSFID Byte Write (Encode) Tag Verify RFID Encoding Operation
* * * * * * *a * * * *b *
= Supported = Not supported Use the ^RF, ^RM, and ^RR commands rather than the ^RT command. Use the ^RF, ^RM, ^RR, and ^WV commands rather than the ^WT command.
P1012728-004 Rev. A
6/8/10
379
Table 20 R4Mplus, RP4T, and R2844-Z Printer Command and Firmware Compatibility
R4Mplus R2844-Z * * * * * all RP4T Firmware SP1027X SP1082X SP1056X SP994X SP999X * * * * * * * * * * * *a * * * * * * * * * *a * * * * * * * * * *a * * * * * * * * * *c *a * * * *b * * * *b * * * *b * *b * all * * * *
Command
Function
^HL or ~HL on page 380 ^HR on page 381 ^RA on page 387 ^RB on page 389 ^RE on page 391 ^RF on page 392 ^RI on page 395 ^RM on page 396 ^RN on page 397 ~RO on page 327 ^RQ on page 398 ^RR on page 400 ^RS on page 402 ^RT on page 410 ~RV on page 412
Return RFID Data Log to Host Calibrate RFID Transponder Position Read AFI or DSFID Byte Define EPC Data Structure Enable/Disable E.A.S. Bit Read or Write RFID Format Get RFID Tag ID Enable RFID Motion Detect Multiple RFID Tags in Encoding Field Reset Advanced Counters Quick Write EPC Data and Passwords Specify RFID Retries for a Block Set Up RFID Parameters Read RFID Tag Report RFID Encoding Results
* * * * * * * * *a * (SP994J or later) * * *b *
* * * * * * * * *a * (SP999C or later) * * *b *
^RW on page 413 ^RZ on page 416 ^WF on page 418 ^WT on page 420 ^WV on page 422
* a. b. c.
Set RF Power Levels for Read and Write Set RFID Tag Password and Lock Tag Encode AFI or DSFID Byte Write (Encode) Tag Verify RFID Encoding Operation
= Supported = Not supported Use the ^RF, ^RM, and ^RR commands rather than the ^RT command. Use the ^RF, ^RM, ^RR, and ^WV commands rather than the ^WT command. For parameter e, the only accepted value is N for No Action.
6/8/10
P1012728-004 Rev. A
380
^HL or ~HL
Return RFID Data Log to Host
Description The printer continually logs RFID data and stores it in the printers RAM. This command requests that the RFID data log be returned to the host computer, to clear the current data log, and to restart data recording. In the log, RFID data displays in this format: C,EEEE,DDDDDDDDDDDDDDDDDDDDDDDD where C = the RFID operation (R = read, W = write, L = lock, S = RFID settings, E = log file reset) EEEE = the RFID error code or the RFID setting (RPWR = read power, WPWR = write power, ANT = antenna, PPOS = program position, FFFF = indicates that the log file was reset) DDDDDDDDDDDDDDDDDDDDDDDD = data read or written Format ^HL or ~HL Comments Data is shown in the format specified by the ^RFW command (ASCII, Hex, or EPC). 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: E,FFFF,Logfile automatically reset If the printer loses power, the log is lost. If the log results are important to you, retrieve the information frequently.
P1012728-004
6/8/10
381
^HR
Calibrate RFID Transponder Position
Important Consider the following before using this command:
For the R110Xi4 printer, remove all transponders from the first 1.25 in. (32 mm) of media. Allow this portion of the media to extend out the front of the printer to allow for backfeed during the transponder calibration procedure. This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command. Do not perform transponder calibration for RFID media that meets the transponder placement specifications for your printer. Doing so will slow the printers throughput unnecessarily. To order media that is designed for use with your RFID printer, contact your authorized Zebra reseller, or go to http://www.zebra.com/transponders for more information.
Description Use this command to initiate transponder calibration for RFID media that does not meet the transponder placement specifications for the printer. During the process, the printer moves the media, calibrates the RFID transponder position, and determines the optimal programming position for the RFID media being used. For the R110Xi4 printer, this command also selects the best antenna element and read/write power level for the media. Results of the transponder calibration are returned to the host computer. The RUN option in the RFID TAG CALIB control panel parameter and the "RUN" option in the rfid.tag.calibrate SGD command perform the same calibration but do not create a results table. To return to the printers default programming position at any time, use one of the following: the RESTORE option in the RFID TAG CALIB control panel parameter the "RESTORE" option in the rfid.tag.calibrate SGD command (see rfid.tag.calibrate on page 703) Format ^HRa,b,c,d,e
Parameters Details
a = start string
This parameter specifies the user text to appear before the results table. Accepted values: any string less than 65 characters Default value: start This parameter specifies the user text to appear after the results table. Accepted values: any string less than 65 characters Default value: end
b = end string
6/8/10
P1012728-004
382
Parameters
Details
c = start position
This parameter specifies the start position of the calibration range. All numeric values are in millimeters. Forward or backward designations assume that the label's initial position is with the leading edge at the print line. Accepted Values: Forward: F0 to Fxxx (where xxx is the label length in millimeters or 999, whichever is less) The printer feeds the label forward for the specified distance and then begins transponder calibration. Backward: B0 to B30 The printer backfeeds the label for the specified distance and then begins transponder calibration. Allow at least 1.25 in. (32 mm) of empty media liner to extend out of the front of the printer. Default value: For the R110Xi4: B20 The printer backfeeds 20 mm before starting transponder calibration. For all other supported printers: F0 The printer moves the media to the start position relative to the leading edge of the label and then performs the RFID tag calibration. This parameter specifies the end position of the calibration range (last program position to check). All numeric values are in millimeters. Forward or backward designations assume that the label's initial position is with the leading edge at the print line. Accepted Values: Forward: F0 to Fxxx (where xxx is the label length in millimeters or 999, whichever is less) The printer performs transponder calibration until it reaches the specified end position and then ends the process. Backward: B0 to B30 The printer performs transponder calibration until it reaches the specified end position and then ends the process. Valid only with a backward start position that is greater than the end position. A = Automatic (valid only on the R110Xi4 printer) The printer automatically ends the transponder calibration process after successfully reading and encoding a consecutive range of 5 mm on the label. Default value: For the R110Xi4: A For all other supported printers: Label length as shown on the printer configuration label
d = end position
P1012728-004
6/8/10
383
Parameters
Details
This parameter selects the option to select the antenna and read/write power level automatically. Accepted Values: A = Automatic. The printer automatically scans through the antennas and read/write power during calibration. M = Manual. The printer uses the current antenna and read/write power level settings. Default value: A
6/8/10
P1012728-004
384
Example 1 When the printer is using Absolute mode and 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
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) 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.
P1012728-004
6/8/10
385
Example 2 When the printer is using Relative mode and the following command is sent to
the printer:
^HRstart,end,B20,F42,M
the printer starts the transponder calibration and returns a results table such as the following:
start position=F0 MM leading edge B20, , B19, , B18, , B17, , B8, , B7, , B6, , B5, , B4,R,W B3,R,W B2,R,W B1,R,W F0,R,W<---**** F0 MM F1,R,W F2,R,W F3,R,W F4, , F5, , F6, , F7, , F8, , F9, , F10, , F38, , F39, , F40, , F41, , F42, , trailing edge end
Each line in the results table appears as: Row, Read Result, Write Result where Row = the position from the leading edge of the label where calibration occurred Read Result = results of calibration (R = read, = unable to read) Write Result = results of calibration (W = write, = unable to write) The optimal programming position is F0 (program with the leading edge of the label at the print line). This is identified at the top of the table (position=F0 MM) and with an the arrow (<---****) in the table.
6/8/10
P1012728-004
386
Example 3 When an R110Xi4 printer is using Relative mode and the following command
^HRstart,end,B20,A,A
the printer starts the transponder calibration and returns a results table such as the following:
start position=F0 MM,A3,29,27 leading edge B20,R,W,B3,15,17 B19,R,W,B3,11,13 B18,R,W,B3,9,11 B17,R,W,B3,7,9 B16,R,W,B3,5,9 B15,R,W,B3,5,9 B14,R,W,A3,27,29 B13,R,W,A3,27,29 B12,R,W,A3,27,27 B11,R,W,A3,25,25 B10,R,W,A3,15,19 B9,R,W,A3,11,15 B8,R,W,A3,9,13 B7,R,W,A3,7,11 B6,R,W,A3,7,9 B5,R,W,A3,7,9 B4,R,W,A3,7,9 B3,R,W,A3,7,9 B2,R,W,A3,7,11 B1,R,W,A3,11,13 F0,R,W,A3,13,17<---**** F0 MM,A3,29,27 F1,R,W,A3,19,19 F2,R,W,A3,27,25 trailing edge end
Each line in the results table appears as: Row, Read Result, Write Result, Antenna Element, Read Power, Write Power where Row = the position from the leading edge of the label where calibration occurred Read Result = results of calibration (R = read, = unable to read) Write Result = results of calibration (W = write, = unable to write) Antenna Element = results of calibration (A1, A2, A3, A4, B1, B2, B3, B4, C1, C2, C3, C4, D2, D3, D4, E2, E3, E4, F2, F3, or F4) Read Power = results of calibration (0 30) Write Power = results of calibration (0 30) The results are identified at the top of the table (position=F0 MM,A3,29,27) and with an the arrow (<---****) in the table. These results indicate that the optimal programming position is F0 (program with the leading edge of the label at the print line). The optimal antenna element is A3. The optimal read power is 29, and the optimal write power is 27.
P1012728-004
6/8/10
387
^RA
Read AFI or DSFID Byte
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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
Parameters Details
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 Accepted values: 0 = ASCII 1 = Hexadecimal Default value: 0 Accepted values: 0 to 10 Default value: 0 Accepted values: 0 = Feed label after writing. 1 = No Feed after writing. Other ZPL may cause a feed. Default value: 0 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.
6/8/10
P1012728-004
388
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
P1012728-004
6/8/10
389
^RB
Define EPC Data Structure
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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
Parameters Details
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 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.
6/8/10
P1012728-004
390
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-96 standard, which defines 96-bit structure in
* Capacity of Item Reference field varies with the length of the company prefix.
The ZPL code to encode a tag with this format would look like this:
P1012728-004
6/8/10
391
^RE
Enable/Disable E.A.S. Bit
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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
Parameters Details
Accepted values: N = Disable E.A.S. Y = Enable E.A.S. Default value: N Accepted values: 0 to 10 Default value: 0
r = number of retries
Example This example enables the E.A.S. bit in the transponder. It will retry the command
6/8/10
P1012728-004
392
^RF
Read or Write RFID Format
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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. For more information on how memory is stored on a Gen 2 tag or for examples that use a field variable, refer to the RFID Programming Guide for your printer. A copy of the manual is located on the User CD that came with your printer, or you can download a copy from http://www.zebra.com/manuals. Format ^RFo,f,b,n,m
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 Accepted Values: A = ASCII H = Hexadecimal E = EPC (ensure proper setup with the ^RB command) Default Value: H
f = format
P1012728-004
6/8/10
393
Parameters
Details
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 Default Value: K 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
Note This parameter applies to Gen 2 tags only.
m = memory bank
Specifies the Gen 2 memory bank. For more information about Gen 2 memory, refer to the RFID Programming Guide for your printer. Accepted Values: E = EPC 96-bit (command automatically performs operation on Gen 2 bit address 20h and accesses 12 bytes of the EPC memory bank) 0 = Reserved 1 = EPC 2 = TID (Tag ID) 3 = User Default Value: E
6/8/10
P1012728-004
394
^RI command, and returns the results to the host computer. The results are labeled with the header 8-byte Tag ID Data.
P1012728-004
6/8/10
395
^RI
Get RFID Tag ID
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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 returns the 32-bit tag ID (TID) for the tag. If your Gen 2 tag supports TID data beyond 32 bits, see ^RF on page 392 to access the TID memory bank. Format ^RIa,b,c,d
Parameters Details
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
Accepted values: 0 to 10 Default value: 0 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
6/8/10
P1012728-004
396
^RM
Enable RFID Motion
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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
Parameters Details
e = enable
Accepted values: Y = Yes, move the label N = No, do not move the label Default value: Y
P1012728-004
6/8/10
397
^RN
Detect Multiple RFID Tags in Encoding Field
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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
Parameters Details
e = enable
Accepted Values: Y = Yes, check for multiple tags N = No, do not check for multiple tags Default Value: Y
6/8/10
P1012728-004
398
^RQ
Quick Write EPC Data and Passwords
Important This command is not supported by all RFID tags, printers, or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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.
Note The access password on the tag to be written to must be 00000000 prior to sending
f = format
Accepted Values: A = ASCII H = Hexadecimal E = EPC Default Value: H Accepted Values: 0 (Higgs IC tag) Default Value: 0 Accepted Values: 0 (write 96-bit EPC) Default Value: 0 Use the ^FD command to specify the passwords in the following format:
c = chip type
o = option data = the EPC data, access password, and kill password
^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.
Example 1 This example writes the EPC data to the tag in hexadecimal format. The
^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
P1012728-004
6/8/10
399
Example 3 This example writes the EPC data to the tag in EPC format. The unspecified
^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
6/8/10
P1012728-004
400
^RR
Specify RFID Retries for a Block
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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. This command is persistent and will be used in subsequent formats if not provided.
Note This commands function is different than the number of labels parameter in the
^RS command.
Format ^RRn,a
Parameters Details
n = number of retries
a = adaptive antenna element selection
that is 2 in. (51 mm) or longer. After the printer has exhausted the number of retries specified by parameter n, the printer may try other antenna elements. This parameter enables this ability. If the printer is unsuccessful communicating with the RFID tag after trying the neighboring antenna elements, the printer voids the label. Note Activating this parameter may slow throughput on damaged or weak RFID tags. Accepted Values: 0 or 1 0 = None. The printer uses only the current antenna element selection. 1 = Neighbors. The printer attempts to read the tag using the antenna elements to the left/right and above/below the current antenna element. The antenna element that is successful is used for all subsequent RFID commands until the next unsuccessful attempt, until the printhead is opened, or until the printer is power cycled. Default Value: 0
P1012728-004
6/8/10
401
printer to try neighboring antennas in the event that the current antenna cannot write to the RFID tag.
6/8/10
P1012728-004
402
^RS
Set Up RFID Parameters
Use this command to set up RFID parameters including tag type, read/write position of the transponder, and error handling. 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. Format ^RSt,p,v,n,e,a,c,s
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 its default value. For the supported tag types and defaults, see Table 7 on page 87. Accepted Values: 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 Default Value: varies by printer (see Table 7 on page 87)
P1012728-004
6/8/10
403
Parameters
Details
This parameter sets the read/write position of the transponder in one of two ways: absolute mode (available in all RFID firmware versions) or relative mode (available in firmware versions V53.17.7Z and later). For more information on these modes, refer to the RFID Programming Guide 2. A copy is available at http://www.zebra.com/manuals. Important If a label format specifies a value for the programming position, this value will be used for the programming position for all labels until a new position is specified or until the transponder calibration procedure is run. Accepted Values: Absolute Mode: xxxx = 0 to label length (in dot rows). Move the media to the specified position xxxx on the label, measured in dot rows from the label top, before encoding. Set to 0 (no movement) if the transponder is already in the effective area without moving the media. Relative Mode Forward: Fxxx = F0 to Fxxx (where xxx is the label length in millimeters or 999, whichever is less). Move media forward, printing bitmap, for xxx millimeters before reading or encoding. Relative Mode Backward: Byy = B0 to B30 (in millimeters, 30 mm maximum). Move media backward for yy millimeters before reading or encoding. (Does not apply to the RP4T printer.)
Note When using a backward program position, allow enough media
or liner to ensure that the printer can back up the media without the leading edge disappearing under the printhead mechanism. Default value: For the R2844-Z and RPAX: 0 (no movement) For printers using V53.17.7Z and later: F0 (which moves the leading edge of the label to the print line) For all other printers or firmware: label length minus 1 mm (1/16 in.)
Sets the length of the void printout in vertical (Y axis) dot rows. Accepted values: 0 to label length Default value: label length The number of labels that will be attempted in case of read/encode failure. Accepted values: 1 to 10 Default value: 3
6/8/10
P1012728-004
404
Parameters
Details
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.
Note This parameter does not apply to the R2844-Z. For the
a = signals on applicator
R4Mplus, this parameter applies only to printers with firmware version SP994X (R4Mplus European version).
Single Signal Mode
In this mode, one start print signal starts printing. Then, at the program position (parameter p), the printer automatically stops and encodes the tag. Printing continues, and a single end print signal signifies the completion of the label.
Double Signal Mode
With RFID, when there is a non-zero program position, the label is logically split into two parts. The first part is printed, the tag encodes, and then the second part prints. If this parameter is set to D, then the label is split into two and requires both portions of the label to be controlled by the applicator. This means that a start print signal triggers the first portion of the label, and then when the printer reaches the RFID program position (and the motor stops), an end print signal is provided. In this mode, a second start print signal is required to print the rest of the label. When the label is complete, a final end print signal is provided. Note If parameter p is zero, then single signal mode is used (parameter ignored). If p is F0 (or B0) with backfeed-after, then single signal mode is used (parameter ignored). 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 = reserved
Not applicable.
P1012728-004
6/8/10
405
Parameters
Details
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 Supported Tag Types Table 21 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, 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 21 Supported Tag Types and Default Values
UHF Printers RZ400/ RZ600 HF Printers
R110Xi HF
R110PAX4
R4Mplus
Firmware Version
R60.13.X
R62.13.X
R63.13.X
R65.13.X
Tag Type 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 Impinj Class 0 Plus ISO 18000-06A EPC Class 1, Generation 2 (Gen 2) ISO 18000-06B # = Default value * = Accepted value # * * * * # *a * * * * * * * * * * # * * * * * # * * * * * * * * * * * # * # * * * # * * # * * * * * * # * # * * * # * #
= Not supported
6/8/10
P1012728-004
all
R2844-Z
406
R110Xi HF
R110PAX4
R4Mplus
Firmware Version
R60.13.X
R62.13.X
R63.13.X
R65.13.X
Tag Type 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 # * # * * * * *
= Not supported
Example 1 The following are examples of Absolute Mode and Relative Mode for the
P1012728-004
all
R2844-Z
407
Example 2 The following shows the difference between absolute and relative
programming positions for the transponder position parameter (parameter p) with a 6-inch (152-mm, 1216-dot) label length. The end results are that the tag is programmed with the label in the same position.
print direction
1 2
^RS,496, Absolute Mode, 496 dots from the top of the label ^RS,F90, Relative Mode, 90 mm from the leading edge of the label
6/8/10
P1012728-004
408
Example 3 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.
Bottom of label
P1012728-004
6/8/10
409
Example 4 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.
Bottom of label
6/8/10
P1012728-004
410
^RT
Read RFID Tag
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 376 for the list of printers and firmware with which you should not use this command.
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
Parameters Details
# = number to be assigned to the field b = starting block number n = number of blocks/bytes to read
Accepted values: 0 to 9999 Default value: 0 Accepted values: 0 to n, where n is the maximum number of blocks for the tag. Default value: 0 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 Accepted values: 0 = ASCII 1 = Hexadecimal Default value: 0 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 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
f = format
r = number of retries
m = motion
P1012728-004
6/8/10
411
Parameters
Details
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
Example 2 This example reads from a tag twice and prints the results on a label.
6/8/10
P1012728-004
412
~RV
Report RFID Encoding Results
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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
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.
_-,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
_+,2_
The plus sign indicates that the programming attempt was successful and voided two labels.
P1012728-004
6/8/10
413
^RW
Set RF Power Levels for Read and Write
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
Description Use this command to set the RFID 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 cause data communication errors.
Note The R110Xi4 printer automatically selects the best antenna element and read/write power levels for the media during RFID transponder calibration. It may also set the levels during an adaptive antenna sweep. Use the ~HL command (see ^HL or ~HL on page 380) to view the antenna element and power settings being used.
Format ^RWr,w,a
Parameters Details
r = read power
This parameter sets the power level to match the desired output as calibrated in the factory. R53.16.3, V53.17.7Z, and later: Values: 0 to 30 Default Value: 16 R60.16.4, R62.16.4, R63.16.4, SP994Q, SP999G, SP1027G, SP1056F, SP1082G, and later: Values: 0 to 30, H (high), M (medium), L (low) Default Value: L R65.X and older versions of other firmware: Accepted Values: H = high M = medium L = low Default Value: L
6/8/10
P1012728-004
414
Parameters
Details
w = write power
version R65.X) 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. This parameter sets the power level to match the desired output as calibrated in the factory. R53.16.3, V53.17.7Z, and later: Values: 0 to 30 Default Value: 16 R60.16.4, R62.16.4, R63.16.4, SP994Q, SP999G, SP1027G, SP1056F, SP1082G, and later: Values: 0 to 30, H (high), M (medium), L (low) Default Value: L Older versions of firmware: Accepted Values: H = high M = medium L = low Default Value: L
P1012728-004
6/8/10
415
Parameters
Details
Note This parameter applies only to the R110Xi HF and the R110Xi4 printers.
R110Xi HF (R65.X): This parameter 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 R110Xi4 (V53.17.7Z and later): This parameter selects an antenna element from the printers antenna array. Accepted Values: A1, A2, A3, A4, B1, B2, B3, B4, C1, C2, C3, C4, D2, D3, D4, E2, E3, E4, F2, F3, F4 (combinations D1, E1, and F1 are invalid)
Default Value: A4
Example 1 The following command selects the antenna at row D, column 3 on an R110Xi4
printer:
^RW,,D3
Example 2 The following command sets the read/write power level to Medium and selects antenna 2 on an R110Xi HF printer:
^RWM,,2
Example 3 The following command sets the read and write power levels to High on an
R110PAX4 printer:
^RWH,H
6/8/10
P1012728-004
416
^RZ
Set RFID Tag Password and Lock Tag
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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.
Note The printer can set a kill password, but the printer cannot kill a tag.
Format ^RZp,m,l
Parameters Details
p = password
This parameter sets a password for the RFID tag. 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 392 to read the passwords. Accepted Values: 00000000 to FFFFFFFF (hexadecimal) Default Value: none
Note This parameter applies to Gen 2 tags only.
m = memory bank
This parameter specifies the type of RFID tag password. Accepted Values: K = kill password A = access password E = EPC T = tag identifier (TID) U = user Default Value: none
P1012728-004
6/8/10
417
Parameters
Details
l = lock style
This parameter specifies the RFID tag password status. 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.
112233445566778899001122 to the tag in Hex format, write protects the tags EPC data with password 1234ABCD, and leaves the tags access password unlocked.
112233445566778899001122 to the tag in Hex format, write protects the tags EPC data with password 1234ABCD, and makes the tags access password unreadable.
418
^WF
Encode AFI or DSFID Byte
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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
Parameters Details
Accepted values: 0 to 10 Default value: 0 Accepted values: 0 = Feed label after writing. 1 = No Feed after writing. Other ZPL may cause a feed. Default value: 0 Accepted values: 0 = Not write protected 1 = Write protect Default value: 0 Accepted values: 0 = ASCII 1 = Hexadecimal Default value: 0 Accepted values: A = AFI byte D = DSFID byte Default value: A
w = write protect
f = data format
Example 1 This example encodes data R (hex 52) as the AFI byte. The printer will try
P1012728-004
6/8/10
419
Example 3 This example encodes data hex 77 as the DSFID byte. The printer will try the command up to four times, if necessary.
6/8/10
P1012728-004
420
^WT
Write (Encode) Tag
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 376 for the list of printers and firmware with which you should not use this command.
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
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 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 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 Accepted Values: 0 = Not write protected 1 = Write protected Default Value: 0 Accepted Values: 0 = ASCII 1 = Hexadecimal Default Value: 0
r = number of retries
m = motion
w = write protect
f = data format
P1012728-004
6/8/10
421
Parameters
Details
This parameter is not used in the R2844-Z. For the R110Xi HF: For the R110Xi HF: v = reverse the data order 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.
6/8/10
P1012728-004
422
^WV
Verify RFID Encoding Operation
Important This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 376 for the list of printers and firmware with which you can use this command.
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
Parameters Details
e = enable
P1012728-004
6/8/10
4
ZPL Wireless Commands
This section contains ZPL commands for the Wireless and Wireless Plus print servers.
6/8/10
P1012728-004
424
^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
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 Accepted Values: 0 = all devices 1 = wireless 2 = external wired e 3 = internal wired Default Value: 1 Accepted Values: 11 ASCII characters or 22 hexadecimal values. The prefix can be cleared by defaulting the network settings on the printer. 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.
b = device
e. This applies only to the Xi4, RXi4, ZM400, ZM600, RZ400, or RZ600 printers when it is used with the external ZebraNet 10/100 print server using firmware v1.1.5 or later.
P1012728-004
6/8/10
425
^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 Xi4, RXi4, ZM400, ZM600, RZ400, and RZ600 printers.
Note Only one print server can be installed in the S4M at one time, so this check does not
occur. Table 22 identifies which device becomes the active print server under different conditions. Table 22 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 Wired Wireless f Then, the Active Print Server will be:
X Skip X
X X
X Check X
X X
f. A wireless option board must have an active radio that can properly associate to an access point.
Format ^NBa
Parameters Details
6/8/10
P1012728-004
426
^NN
Set SNMP
Description Use this command to set the Simple Network Management Protocol (SNMP) parameters. Format ^NNa,b,c,d,e,f
Parameters Details
a = system name b = system contact c = system location d = get community name e = set community name f = trap community name
Same as printer name. Accepted Values: Up to 17 alphanumeric characters Any contact information as desired (such as a name or phrase) Accepted Values: Up to 50 alphanumeric characters The printers model information. Accepted Values: Up to 50 alphanumeric characters Accepted Values: Up to 19 alphanumeric characters Default Value: public Accepted Values: Up to 19 alphanumeric characters Default Value: public Accepted Values: Up to 20 alphanumeric characters Default Value: public
P1012728-004
6/8/10
427
^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.The drawbacks to using the printer as primary are: Any wired print server inserted into the printer will lose its original settings if the printer is set to check for the wired print server and the Primary Device is set to PRINTER (see ^NB on page 425). Format ^NPa
Parameters Details
6/8/10
P1012728-004
428
^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
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
P1012728-004
6/8/10
429
^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
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
6/8/10
P1012728-004
430
^WA
Set Antenna Parameters
Description Use this command to set the values for the receive and transmit antenna. Format ^WAa,b
Parameters Details
Accepted Values: D (Diversity), L (Left), R (Right) Default Value: D Accepted Values: D (Diversity), L (Left), R (Right) Default Value: D
P1012728-004
6/8/10
431
^WE
Set WEP Mode
Note The ^WE command is provided only for backward-compatibility with printers using firmware prior to V50.15.x, V53.15.x, or X60.15.x. For these firmware versions and later, use ^WX on page 442 to set the security type and related parameters.
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
Parameters Details
Accepted Values: OFF, 40 (40-bit encryption), 128 (128-bit encryption) Default Value: OFF 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 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. Accepted Values: H (Hex key storage), S (string key storage) Default Value: H 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.
c = authentication type
Example 1 This example sets encryption to 40-bit, activates encryption key 1, and sets
^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.
6/8/10
P1012728-004
432
Example 2 This example sets encryption to 128-bit, activates encryption key 2, and sets
^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
^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).
P1012728-004
6/8/10
433
^WI
Change Wireless Network Settings
Description Use this command to change the wireless network settings. Zebra recommends using ^ND on page 306 for these settings if you have any of the following printers: Xi4 printers with firmware V53.17.1Z or later RXi4 printers with firmware V53.17.7Z or later ZM400, ZM600, or S4M printers with firmware V53.15.xZ or later RZ400/RZ600 printers with firmware R53.16.x or later Format ^WIa,b,c,d,e,f,g,h,i
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 Accepted Values: Any properly formatted IP address in the xxx.xxx.xxx.xxx format. Default Value: 000.000.000.000 Accepted Values: Any properly formatted subnet mask in the xxx.xxx.xxx.xxx format. Default Value: 000.000.000.000 Accepted Values: Any properly formatted gateway in the xxx.xxx.xxx.xxx format. Default Value: 000.000.000.000 Accepted Values: Any properly formatted WINS server in the xxx.xxx.xxx.xxx format. Default Value: 000.000.000.000 Accepted Values: Y = yes N = no Default Value: Y
b = IP address
c = subnet mask
d = default gateway
6/8/10
P1012728-004
434
Parameters
Details
g = timeout value
Time, in seconds, before the connection times out. Accepted Values: 0 through 9999 Default Value: 300 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
P1012728-004
6/8/10
435
^WL
Set LEAP Parameters
Note The ^WL command is provided only for backward-compatibility with printers using firmware prior to V50.15.x or X60.15.x. For these firmware versions and later, use ^WX on page 442 to set the security type and related parameters.
Description Use this command to enable Cisco Lightweight Extensible Authentication Protocol (LEAP) mode and set parameters. LEAP is user authentication method that is available with some wireless radio cards. Format ^WLa,b,c
Parameters Details
Accepted Values: OFF, ON Default Value: OFF Accepted Values: Any 1 to 32 alphanumeric including special characters Default Value: user Accepted Values: Any 1 to 32 alphanumeric including special characters Default Value: password
6/8/10
P1012728-004
436
~WL
Print Network Configuration Label
Description Use this command to generate a network configuration label (Figure 5). Format ~WL Figure 5 Network Configuration Label
Wireless Print Server Wireless Plus Print Server and Internal Wireless Plus Print Server Xi4, R110Xi4, ZM400, ZM600, RZ400, RZ600 Other Printers/ Print Engines
P1012728-004
6/8/10
437
^WP
Set Wireless Password
Note This command does not apply to the S4M.
Description Use this command to set the four-digit wireless password (not the same as the general printer password). If the wireless password is 0000, the Wireless and Wireless Plus print servers run in an unprotected mode, which means that you do not need to enter the wireless password through the control panel to view or modify wireless settings. If a wireless password is set, the values for the following parameters will not appear through the control panel until the wireless password is entered: MAC Address ESSID WLAN Security WEP Type WEP Index Reset Network Format ^WPa,b
Parameters Details
Accepted Values: 0000 through 9999 Default Value: 0000 Accepted Values: 0000 through 9999 Default Value: 0000
6/8/10
P1012728-004
438
^WR
Set Transmit Rate
Description Use this command to change the transmission parameters. Format ^WRa,b,c,d,e
Parameters Details
Sets the 1 Mb/s transmit rate. Accepted Values: Y (On), N (Off) Sets the 2 Mb/s transmit rate. Accepted Values: Y (On), N (Off) Sets the 5.5 Mb/s transmit rate. Accepted Values: Y (On), N (Off) Sets the 11 Mb/s transmit rate. Accepted Values: Y (On), N (Off) Accepted Values: 1, 5, 20, 30, 50, 100
P1012728-004
6/8/10
439
~WR
Reset Wireless Radio Card and Print Server
Description Use this command to reinitialize the wireless radio card and the print server (wired or wireless) when the Wireless or Wireless Plus print server is running. The command also causes any wireless radio card in the printer to reassociate to the wireless network. Format ~WR
6/8/10
P1012728-004
440
^WS
Set Wireless Radio Card Values
Description Use this command to set the wireless radio card values for ESSID, Operating Mode, and Card Preamble. Format ^WSe,o,p,h,i,j,k
Parameters Details
e = ESSID value
Accepted Values: Any value up to 32 characters, including all ASCII and Extended ASCII characters, including the space character. When this parameter is left blank, the ESSID is not changed. Default Value: 125 Accepted Values: I (Infrastructure), A (Adhoc) Default Value: I Accepted Values: L = long S = short Default Value: L
h = wireless pulse
Adds a pulse to the network traffic generated by the printer. This pulse is necessary with some network configurations to keep the printer online. Accepted Values: 0 = disabled 1 = enabled Default Value: 1
This parameter is supported in firmware version V60.15.x, V50.15.x, R6x.15.x, R53.15.x, ZSPx, or later. i = wireless pulse interval
Sets the interval at which the wireless pulse is sent when the wireless pulse feature is enabled. Accepted Values: 5 to 300 seconds Default Value: 15
This parameter is supported in firmware version V60.15.x, V50.15.x, R6x.15.x, R53.15.x, ZSPx, or later. j = channel mask For commonly used channel masks, see Table 23. Accepted Values: 4 Hexadecimal digits preceded by 0x (0x0000 to 0xFFFF) Default Value: 0x7FF
P1012728-004
6/8/10
441
Parameters
Details
k = international mode
This parameter is supported in firmware version X60.15.x, V50.15.x, or later. Table 23 Channel Mask Settings
Region
Channel Mask
United States, Canada, Latin America Europe, Middle East, Africa, other Japan
6/8/10
P1012728-004
442
^WX
Configure Wireless Securities
Description Use this command to configure the wireless security settings for your printer. Values entered for this command must match what is configured on your WLAN and must be supported by the wireless radio card that you are using. This command applies to printers with firmware version X60.15.x, V53.15.x, V50.15.x, or later.
Note When using certificate files, your printer supports:
Using Privacy Enhanced Mail (PEM) formatted certificate files. Using the client certificate and private key as two files, each downloaded separately. Using exportable PAC files for EAP-FAST.
The ^WX command replaces individual ZPL commands for different security types.
P1012728-004
6/8/10
443
select. See Supporting Parameters for Different Security Types on page 446 for instructions for each security type.
Parameters
Details
a = security type
Enter the two-digit code for the security type that your WLAN uses. For which supporting parameters (b through n) to use with the different security types, see Supporting Parameters for Different Security Types on page 446. Note Configuring the printer for WPA also allows the printer to be used in WPA2 environments. Accepted Values: 01 to 15 01 = No wireless security is active 02 = WEP 40-bit 03 = WEP 128-bit 04 = EAP-TLS 05 = EAP-TTLS 06 = EAP-FAST 07 = PEAP 08 = LEAP 09 = WPA PSK (R6x15.x, R53.15.x, ZSPx, and later.) 10 = WPA EAP-TLS 11 = WPA EAP-TTLS 12 = WPA EAP-FAST 13 = WPA PEAP 14 = WPA LEAP 15 = Kerberos Default Value: 01
Specifies which encryption key to use for WEP encryption. A value must be specified if using WEP 40-bit or WEP 128-bit. Accepted Values: 1, 2, 3, 4 Default Value: 1 Enables the WEP key authentication type. A value must be specified if using WEP 40-bit or WEP 128-bit. Accepted Values: O or S O = open system S = shared key Default Value: O
6/8/10
P1012728-004
444
Parameters
Details
Specifies the format of the WEP key. A value must be specified if using WEP 40-bit or WEP 128-bit. Accepted Values: H or S H = hex key storage S = string key storage Default Value: S Specifies the actual values of any WEP encryption keys to be used. A value must be specified for at least one WEP encryption key if you specify 40-bit or 128-bit WEP encryption for the security type. Important 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.
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.
Accepted Values: The actual value for the encryption key Default Value: None i = user ID* Specifies a user ID for security types that require one. A value must be specified if using the following security types: EAP-TTLS LEAP WPA LEAP PEAP WPA PEAP WPA EAP-TTLS Kerberos Accepted Values: The actual value for the user ID. Default Value: user
P1012728-004
6/8/10
445
Parameters
Details
= password*
Specifies a password for security types that require one. A value must be specified if using the following security types: EAP-TTLS LEAP WPA LEAP PEAP WPA PEAP WPA EAP-TTLS Kerberos Accepted Values: The actual value for the password. Default Value: password Specifies an optional private key password for security types that require one. A value must be specified if using the following security types: EAP-TLS EAP-FAST WPA EAP-TLS WPA EAP-FAST Accepted Values: The actual value for the optional private key. Default Value: None
= realm*
Specifies the realm for security types that require it. A value must be specified if using Kerberos.
Accepted Values: The actual value for the realm. Default Value: kerberos
Specifies the KDC for security types that require it. A value must be specified if using Kerberos. Accepted Values: The actual value for the KDC. Default Value: krbtgt" Enter the PSK value. This value is calculated and must be the same for each device on the WLAN. Use ZebraNet Bridge to generate the PSK value. A value must be specified if using WPA PSK. Important Do not enter a pass phrase for this field in this command. To use a pass phrase, use the ZebraNet Bridge Enterprise Wireless Setup Wizard. Accepted Values: a minimum of 64 hexadecimal digits Default Value: None
6/8/10
P1012728-004
446
P1012728-004
6/8/10
447
6/8/10
P1012728-004
448
P1012728-004
6/8/10
449
including a user ID with a value of user and a password with a value of password.
6/8/10
P1012728-004
450
P1012728-004
6/8/10
5
ZBI Commands
This section explains the Zebra Basic Interpreter, its commands, descriptions, formats, and parameters.
6/8/10
P1012728-004
452
Command/Function NAME
Description This heading has a description of how the command is used, its capabilities, and its characteristics. Format The Format section explains how the command is arranged and its parameters. For example, the AUTONUM command starts the auto-numbering option. The format for the command is AUTONUM <A>,<B>. The <A> and <B> are parameters of this command and are replaced with values determined by the user. For functions, parameters are enclosed within parentheses and separated by commas, such as EXTRACT$(A$,START$,STOP$). Numeric parameters are written as a name, while string parameters are written as a name followed by a dollar sign. Parameters If a command has parameters that make a command or function more specific, they are listed under this heading. Still using the AUTONUM example, the <A> parameter is defined as:
P1012728-004
6/8/10
453
Function Rules
Functions built into this interpreter can be used in expressions only. The function names are not case sensitive. If input parameters exist, they are enclosed in parentheses. If no parameters exist, no parentheses are used. Variables referenced in the functions could be substituted by functions or expressions of the same type. If the function name ends with a $, it returns a string value. Otherwise, it returns a numeric value.
6/8/10
P1012728-004
454
On-printer debugging is not supported for ZBI versions 1.0 through 1.5. ZBI versions 2.0 and higher: Printers with firmware versions X.16 or later (for example, V60.16.x and V53.16.x) can support ZBI version 2.0 and later. The following printers support the ZBI 2.x firmware: XiIII Plus Z4Mplus/Z6Mplus 105SL S4M PAX4 ZM400/ZM600, RZ400/RZ600 G-Series HC100 Xi4, RXi4 LP/TLP2824+ KR403
P1012728-004
6/8/10
455
These printers can be either ZBI-Ready or ZBI-Enabled, depending on whether or not a ZBI Key file has been loaded on the printer. ZBI Keys can be loaded onto printers during manufacturing or later purchased at www.zebrasoftware.com. A Downloader Utility/ZBI Key Manager software utility is available to assist in the task of sending ZBI Keys to printers. The ZBI.nrd file is required to be present on the printer for ZBI 2.0 to be enabled. The ZBI Key is stored on the printers E: memory location with the name ZBI.nrd. The file is persistent. It cannot be deleted even if the printers memory is initialized. For example, if the ^JB command is used to initialize the location, the ZBI Key file will not be deleted. When a printer is ZBI-Ready but not ZBI-Enabled, the firmware version will display a "Z" at the end of the version string (for example, V60.16.0Z). Additionally, the printers configuration label will show that the printer is not ZBI-Enabled. When a printer is ZBI-Enabled, the firmware version will not display a "Z" at the end of the version string (for example, V60.16.0Z). Additionally, the printers configuration label will show that the printer is ZBI-Enabled.
Note Each single ZBI Key can only be used once. When multiple printers are to be ZBI-
Enabled multiple Keys will be needed. The ZBI Key cannot retrieved from printer to a host system.
6/8/10
P1012728-004
456
Section Organization
The sections in this guide are arranged based on programming topics. A brief description of the sections is listed below. Editing Commands This section describes the commands which are used to manipulate the interpreter and enter programs. Running and Debugging Outlines the control commands used to run and debug programs. Base Types and Expressions Fundamental structure for manipulating strings and computing numeric and boolean values. Control and Flow Commands to conditionally execute code and control the flow of the program Input and Output Outlines how to communicate with the physical ports, internal ports, and network. File System Shows how programs and formats can be saved and recalled Comma Separated Values Identifies how to load and store comma separated data Events Explains how to capture and trigger internal events in the printer Systems Contains miscellaneous systems interface functions String Functions Handles string manipulation Math Functions Handles mathematical calculations Array Functions Describes how to search, resize, and query arrays Time and Date Functions Functions to access the real time clock option Set/Get/Do Interface Functions to directly interface with the Set/Get/Do system Example Programs More examples to give a head start in creating your applications
P1012728-004
6/8/10
457
Editing Commands
This section details the Editing Commands. This section describes the commands which are used to manipulate the interpreter and enter programs. These commands are used while controlling the ZBI environment from a console connection. Here is a quick list of these commands: NEW Clears out the program and variables currently in memory REM and ! Comment commands LIST Lists the program currently in memory AUTONUM Automatically generates the next line number RENUM Renumbers the program currently in memory ECHO Controls whether characters received on the console are echoed back If you are using ZBI-Developer, the commands that will be most useful are AUTONUM and REM/!. The following example shows the use of Editing commands from within a console connection. Preview:
NEW
Entered automatically when AUTONUM is used
AUTONUM 10,5 10 REM "Hello World" Application 15 PRINT "Hello World" ! comment... 20 LIST
A blank line stops AUTONUM
AUTONUM 10,5 REM "Hello World" Application PRINT "Hello World" ! comment...
6/8/10
P1012728-004
458
NEW
Description This command clears the interpreters memory, including the line buffer and variables, but not any open ports. Use this command when creating code to restart the coding process or before resending a program from a file to the interpreter. Format NEW Parameters N/A
Example This is an example of how to use the NEW command:
10 PRINT "Hello World" RUN Hello World LIST 10 PRINT "Hello World" NEW LIST
Comments This is an interactive command that takes effect as soon as it is received by the printer.
P1012728-004
6/8/10
459
REM
Description A numbered remark line starts with REM and includes text in any form after it. This line is ignored by the interpreter. Format REM <comment> Parameters The comment string can contain any character and is terminated by a carriage return.
Example This is an example of how to use the REM command:
1 REM MYPROGRAM COPYRIGHT ME Inc. 2008 1 REM While debugging a port may be left open 5 CLOSE ALL 1 REM Open the ports this program will use 10 OPEN #0: NAME: "SER" ! Restart the console
6/8/10
P1012728-004
460
! (EXCLAMATION MARK)
Description The exclamation mark is the marker for adding comments to the end of numbered programming lines. Any text following the ! is ignored when the line or command is processed. Format !<comment> Parameters The comment string can contain any character and is terminated by the carriage return.
Example This is an example of how to use the ! (comments) command:
P1012728-004
6/8/10
461
LIST
Description This command lists the program lines currently in memory. Format LIST LIST <A> LIST <A>-<B> Parameters
1 REM MYPROGRAM COPYRIGHT ME Inc. 2008 1 REM While debugging a port may be left open 5 CLOSE ALL 1 rem Open the ports this program will use 10 OPEN #0: NAME: "SER" ! Restart the console 20 PRINT #0: "Hello World" LIST 1 REM Open the ports this program will use 5 CLOSE ALL 10 OPEN #0: NAME: "SER" ! Restart the console 20 PRINT #0: "Hello World" LIST 1 1 REM Open the ports this program will use LIST 5-10 5 CLOSE ALL 10 OPEN #0: NAME: "SER" ! Restart the console
Comments The output of the LIST command may not match exactly what was entered. It is based on how the program lines are stored in memory. Notice that the last comment line the REM is entered in lower case characters. When it is listed, the REM is displayed in uppercase. This is an interactive command that takes effect as soon as it is received by the printer.
6/8/10
P1012728-004
462
AUTONUM
Description This command automatically generates sequential program line numbers. Format AUTONUM <A>,<B> Parameters
A = the number used to start the auto-numbering sequence B = the automatic increment between the new line numbers
Example This example shows specifying the starting line number in the increment between
AUTONUM 10,5 SUB START PRINT "HELLO WORLD" GOTO START LIST
Will produce:
P1012728-004
6/8/10
463
RENUM
Description This command renumbers the lines of the program being edited. RENUM can reorganize code when line numbers become over- or under-spaced. The line references following GOTO and GOSUB statements are renumbered if they are constant numeric values. Renumbering does not occur if the line numbers are outside of the range limits of 1 to 10000. Format RENUM <A>,<B> Parameters
<A> = the number to start the renumbering sequence <B> = the automatic increment between the new line numbers
Example This is an example of how to use the RENUM command:
LIST 13 LET A=6 15 LET B=10 17 GOTO 13 RENUM 10,5 LIST 10 LET A=6 15 LET B=10 20 GOTO 10
Note The target of the GOTO command changes from 13 to 10 to reflect the renumbering.
Comments This is an interactive command that takes effect as soon as it is received by the printer.
6/8/10
P1012728-004
464
ECHO
Description When Console Mode is enabled, this command controls whether the printer echoes the characters back to the communications port. If ECHO ON is entered, keystroke results return to the screen. If ECHO OFF is entered, keystroke results do not return to the screen. Format ECHO ON ECHO OFF Parameters <ON/OFF> = toggles the ECHO command on or off Example N/A Comments This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number.
P1012728-004
6/8/10
465
6/8/10
P1012728-004
466
This example shows many of the Running and Debug Commands in practice.
Example Preview:
10 PRINT "TEN"
ZBI Program
20 PRINT "TWENTY" 30 PRINT "THIRTY" RUN TEN TWENTY THIRTY STEP TEN RESTART TWENTY THIRTY ADDBREAK 20 RUN TEN <Program Break> on line: 20
Adds a breakpoint on line 20 Completes running the program where STEP left off Runs one line Runs the whole program
Turn Trace On
P1012728-004
6/8/10
467
RUN
Description This command executes the current program, starting with the lowest line number. The interpreter will continue to execute the program lines in order unless a control statement directs the flow to a different point. When a higher line number does not exist or the END command is processed, the RUN command will stop. Format RUN Parameters N/A
Example This is an example of how to use the RUN command:
10 PRINT "ZBI" 20 PRINT "Programming" RUN ZBI Programming 15 END RUN ZBI
Comments Ports that are open when the application is activated will remain open after the application has terminated. Variables also remain after the application has terminated. To execute programs when the printer is powered on, use the ^JI command in the Autoexec.zpl file. This is an interactive command that takes effect as soon as it is received by the printer.
6/8/10
P1012728-004
468
CTRL-C
Description Sending an end-of-transmission character, ETX (3 in hex), to the console (port 0) terminates the ZBI program currently running. Format N/A Parameters N/A Example N/A Comments In most terminal programs, you terminate the program using the Ctrl-C key sequence. Another method is to store an ETX character in a file and have the terminal program send the file to the console port.
Note It is not recommended to use RESTART after using a CTRL-C because a command
may have been prematurely interrupted. Restarting will have an undefined result.
P1012728-004
6/8/10
469
RESTART
Description If a program was halted by a break point or the BREAK command, the RESTART command can be used to reactivate the program at the point it stopped. RESTART functions similar to RUN, except the program attempts to restart from the point where it was last terminated. It also works in conjunction with the STEP command, picking up where the STEP command ended. Format RESTART Parameters N/A
Example An example of the RESTART command:
10 PRINT "TEN" 20 PRINT "TWENTY" 30 PRINT "THIRTY" RUN TEN TWENTY THIRTY STEP TEN RESTART TWENTY THIRTY ADDBREAK 20 RUN TEN <Program Break> on line: 20 DEBUG ON TRACE ON RESTART <TRACE> 20 TWENTY <TRACE> 30 THIRTY
6/8/10
P1012728-004
470
Comments If the program has not been run or has finished, RESTART runs the program from the beginning. This is an interactive command that takes effect as soon as it is received by the printer.
P1012728-004
6/8/10
471
STEP
Description If a program was stopped by a BREAK command, STEP attempts to execute the program one line from where it last ended. If the program has not been run or has been completed, this executes the lowest numbered line. Format STEP Parameters N/A
Example This is an example of how to use the STEP command:
10 PRINT "Hello World" 20 Print "TWENTY" STEP Hello World STEP TWENTY
Comments This is an interactive command that takes effect as soon as it is received by the printer.
6/8/10
P1012728-004
472
DEBUG
Description DEBUG enables and disables the TRACE and BREAK commands. Format DEBUG ON DEBUG OFF Parameters ON = turns the debug mode on enabling the TRACE and BREAK commands to be processed. OFF = turns the debug mode off. This disables the TRACE mode and causes BREAK commands to be ignored.
Example See TRACE on page 473 and BREAK on page 474.
Comments This command has no effect on the processing of break points in ZBIDeveloper. It is recommended that you avoid using the DEBUG command when writing programs in the ZBI-Developer environment, instead use the Debug capabilities of ZBIDeveloper.
P1012728-004
6/8/10
473
TRACE
Description This command enables you to debug an application by outputting the executed line numbers and changed variables to the console. Format TRACE ON TRACE OFF Parameters
10 LET A=5 20 GOTO 40 30 PRINT "Error" 40 PRINT A DEBUG ON TRACE ON RUN <TRACE> 10 <TRACE> A=5 <TRACE> 20 <TRACE> 40 5
Comments This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number. It is recommended that you avoid using the TRACE command when writing programs in the ZBI-Developer environment, instead use the Debug capabilities of ZBI-Developer.
6/8/10
P1012728-004
474
BREAK
Description This command allows you to stop the program when the program reaches this line. Format BREAK Parameters N/A
Example An example of BREAK command in use:
10 LET A=5 20 BREAK 30 PRINT A DEBUG ON TRACE ON RUN <TRACE> 10 <TRACE> A=5 <TRACE> 20 <USER BREAK>
Comments This command is available only when the DEBUG function has been activated. When DEBUG is on, BREAK halts processing. RUN starts the program from the beginning. RESTART allows the program to continue from where it left off. When using ZBI-Developer, this command will interfere with the debugging operations built into the application. This is a program command that must be preceded by a line number.
P1012728-004
6/8/10
475
ADDBREAK
Description This command allows you to stop the program when the program reaches a specified line. Format ADDBREAK <A> Parameters A = the line number to break on. If the number specified is not in the program, the program will not break.
Example An example of the ADDBREAK command.
6/8/10
P1012728-004
476
DELBREAK
Description This command allows you to remove existing breakpoints.
Format DELBREAK <A> Parameters A = the line number from which to remove the break. If 0 is specified, all break points will be removed. If the number specified is not a breakpoint, the command will have no effect.
Example An example of the DELBREAK command:
10 LET A=5 20 PRINT A ADDBREAK 20 DEBUG ON TRACE ON RUN <TRACE> 10 <TRACE> A=5 <PROGRAM BREAK> ON LINE:20 RESTART <TRACE> 20 5 DELBREAK 20 RUN <TRACE> 10 <TRACE> A=5 <TRACE> 20 5
P1012728-004
6/8/10
477
Comments This command is available only when the DEBUG function has been activated. When DEBUG is on, BREAK halts processing, RUN starts the program from the beginning, and RESTART allows the program to continue where it left off. This is the command used internally by ZBI-Developer when the user right-clicks over a program line and removes a Breakpoint via the "Toggle Breakpoint" selection. A maximum of 16 breakpoints can be set in an application. This is an interactive command that takes effect as soon as it is received by the printer.
6/8/10
P1012728-004
478
ZPL
Description This command terminates and exits the ZBI environment. Format ZPL Parameters N/A
Example An example of the ZPL command.
P1012728-004
6/8/10
479
This section is organized as follows: Variable Names Variable Declarations Constants Arrays Assignment Numeric Expressions String Concatenation (&) Sub-strings Boolean Expressions Combined Boolean Expressions
6/8/10
P1012728-004
480
Variable Names
To distinguish strings from integers, string variable names must end in a $. Variable names must start with a letter and can include any sequence of letters, digits, and underscores. Function and command names must not be used as a variable name. Variable names are not case sensitive and are converted to uppercase by the interpreter. A common mistake is to use a command or function name as a variable. To avoid using these reserved words, ZBI-Developer can be a useful resource. Reserved words are highlighted making it easier to spot this occurrence and thus, saving debugging time.
Valid variable names:
STR$ = Reserved word ORD = Reserved word VAL = Reserved word W# = Invalid character (# ) 9THSTR = Variable can not start with a number
P1012728-004
6/8/10
481
Variable Declarations
ZBI will allow storage of up to 255 variables. If more variables are needed, consider using arrays to store data. The base array will take up one of the 255 variable slots, but it can be declared to allow for many indices. Variables can be declared explicitly or implicitly. If a variable has not been used before, it will be declared when used. The default value for an integer will be zero and the default value of a string will be an empty string. Explicit: DECLARE NUMERIC <variable_name> DECLARE STRING <variable_name$> If the variable existed before the DECLARE statement, it will be defaulted. Implicit: LET <variable_name> = NUMERIC EXPRESSION LET <variable_name$> = STRING EXPRESSION The Interpreter is limited to 255 variables. If more variables are required, consider using arrays.
Constants
Integers are represented simply by numbers, such as 5, -10, 10000. Do not use commas in integer constants. Strings are enclosed by quotes. If a quote is required in the string, use double quotes, such as Look here-><- would result in the string Look here-><-.
Arrays
An array is a collection of string or integer values used by a program. Array indices are accessed through parentheses. Array indices start at 1 and end at the length of an array (for example, MyArray(3) returns the value in the third location of the variable array). One- and two-dimensional arrays are allowed. Two-dimensional arrays are referenced with two indices in parentheses, separated by a comma. Arrays must be allocated through the use of the DECLARE command. Arrays can be redimensioned by using DECLARE, however, this will replace the original array. Array size is limited only by the size of the memory available. Format DECLARE STRING <ARRAYNAME$>(<SIZE>) DECLARE STRING <ARRAYNAME$>(<ROWS>,<COLUMNS>) DECLARE NUMERIC <ARRAYNAME>(<SIZE>) DECLARE NUMERIC <ARRAYNAME>(<ROWS>,<COLUMNS>)
6/8/10
P1012728-004
482
Parameters
<SIZE> = number of entries in a single dimension array <ROWS> = number of rows in a two dimensional array <COLUMNS> = number of columns in a two dimensional array
Example An example of ARRAY code is:
10 DECLARE STRING INARRAY$(3) 20 FOR I = 1 TO 3 30 PRINT "Name "; I; ": "; 40 INPUT INARRAY$(I) 50 NEXT I 60 PRINT INARRAY$(1); ", "; INARRAY$(2); ", and "; INARRAY$(3); 70 PRINT " went to the park" RUN Name 1: Jim Name 2: Jose Name 3: Jack Jim, Jose, and Jack went to the park
Comments If you attempt to access an array outside of its allocated bounds, an error will occur.
P1012728-004
6/8/10
483
Assignment
All lines must start with a command. In order to assign a value to a variable, use the LET command. Multiple variables can be placed before the =. The variable types must match the expression type. The right side of the assignment is always calculated completely before the assignment is made. This allows a variable to be the target and source of the assignment. When a value is assigned to a string variable with a sub-string qualifier, it replaces the value of the sub-string qualifier. The length of the value of the string variable may change as a result of this replacement.
Example An ASSIGNMENT example:
6/8/10
P1012728-004
484
LET
Description The LET command is used to assign value to a specific variable. The expression is evaluated and assigned to each variable in the variable list. See Assignment on page 483. Format LET <variable> [,<variable>]* = <expression> The variable types must match the expression type or an error message will be displayed. Error: Poorly formed expression. When a value is assigned to a string variable with a sub-string qualifier, it replaces the value of the sub-string qualifier. The length of the value of the string variable may change as a result of this replacement. Parameters N/A
Example This is an example of how to use the LET command:
10 LET A$= "1234" 15 LET A$(2:3)= "55" ! A$ NOW = 1554 20 LET A$(2:3)= "" ! A$ NOW = 14 10 LET A$= "1234" 15 LET A$(2:3)= A$(1:2) ! A$ NOW = 1124 10 LET A$= "1234" 15 LET A$(2:1)= "5" ! A$ NOW = 15234
Comments This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number.
P1012728-004
6/8/10
485
Numeric Expressions
A base numerical expression can be either a constant, variable, or another numerical expression enclosed in parentheses. The five types used (addition, subtraction, multiplication, division, and exponentiation) are listed below. When evaluating an expression exceeding the maximum or minimum values at any point creates an undefined result. (maximum value: 2,147,487,647; minimum value: -2,147,483,648) Floating point is not supported. When using division, the number is always rounded down. For example, 5/2=2. Use MOD to determine the remainder. Format
1. + (addition) Addition expressions use this format:
6/8/10
P1012728-004
486
Order of Precedence
In mathematics, the order of precedence describes the sequence that items in an expression are processed. All expressions have a predefined order of precedence. The order of precedence is listed below: Functions Parenthetical Expressions () ^ * and / + and The * and / have the same precedence, and the + and - have the same precedence. Items with the same order of precedence are processed from left to right. For example, this expression 5+(8+2)/5 is processed as 8+2=10, followed by 10/5=2, then 5+2 to give a result of 7. Functions and parenthetical expressions always have the highest order of precedence, meaning that they are processed first.
P1012728-004
6/8/10
487
command:
10 LET A$= "ZBI-" 20 LET B$= "Programming" 30 LET C$= A$ & B$ 40 PRINT C$ RUN ZBI-Programming
Sub-strings
Description Using a sub-string operator on a string allows a specific portion of the string to be accessed. This portion may be the target of an assignment operation or a reference to a portion of the string. To determine the coordinates of the string portion to be used, count the characters from the beginning to the end of the string, including spaces. Format LET <STRVAR$>(<A>:<B>)=<C$> LET <C$> = <STRVAR$>(<A>:<B>) Parameters <A> = the position of the first character in the desired string <B> = the position of the last character in the desired string. <STRVAR$> = base string variable If the A parameter is less than 1, it is automatically assigned a value of 1. Because the string is calculated starting with 1, the A parameter cannot be less than 1. If B is greater than the length of the string, it is replaced with the length of the string. If A is greater than B, a NULL string (""), which points to the location of the smaller of A or the end of the string, is returned. This is used when adding a string in the middle of another string without removing a character.
6/8/10
P1012728-004
488
LET A$= "1234" LET A$(2:3)= "55" ! A$ NOW = 1554 LET A$(2:3)= "" ! A$ NOW = 14 LET A$= "1234" LET A$(2:3)= A$(1:2) ! A$ NOW = 1124 LET A$= "1234" LET A$(2:1)= "5" ! A$ NOW = 15234
The best way to think of assignment to a sub-string is as follows: an assignment is like selecting a word, and pasting over the selection with the new string.
P1012728-004
6/8/10
489
Boolean Expressions
Description A Boolean expression holds 0 (zero) as false and non-zero as true. Formats <STRING EXPRESSION> <BOOLEAN COMPARE> <STRING EXPRESSION> <NUMERIC EXPRESSION> <BOOLEAN COMPARE> <NUMERIC EXPRESSION> NOT(<BOOLEAN EXPRESSION>) Parameters <STRING EXPRESSION> = a string variable, string constant or any combination with concatenation <NUMERIC EXPRESSION> = any mathematical operation Comments A numeric expression cannot be compared to a string expression. Numeric expressions can substitute a Boolean expression where a value of 0 (zero) represents false and a non-zero value represents true. Base Boolean expressions:
1. < (less than)
Expression
Result
Expression
Result
Expression
Result
6/8/10
P1012728-004
490
Expression
Result
Expression
Result
Expression
Result
P1012728-004
6/8/10
491
Expression
Result
true false
Expression
Result
1=2 AND 1=2 2=2 AND 1=2 1=2 AND 2=2 2=2 AND 2=2
Expression
Result
Order of Precedence
The order of precedence is listed below: Expressions and Functions Parenthetical expressions () <, <=, <>, =, =>, > NOT, AND, OR
6/8/10
P1012728-004
492
P1012728-004
6/8/10
493
IF Statements
Description If the value of the <Boolean expression> in an IF statement is true and a program line follows the keyword THEN, this program line is executed. If the value of the Boolean expression is false and a program line follows the keyword ELSE, this program line is executed. If ELSE is not present, then execution continues in sequence, with the line following the END IF statement. Nesting of blocks is permitted, subject to the same nesting constraints as DO-LOOPs (no overlapping blocks).
ELSE IF statements are treated as an ELSE line followed by an IF line, with the exception that the ELSE IF shares the END IF line of the original IF statement.
Format IF <Boolean expression> THEN ~~BODY~~ [ELSE IF <Boolean expression> THEN ~~BODY~~]* [ELSE ~~BODY~~] END IF Parameters N/A
Example This is an example of how to use the IF statement command:
10 IF A$="0" THEN 20 PRINT "ZBI IS FUN" 30 ELSE IF A$="1" THEN 40 PRINT "ZBI IS EASY" 50 ELSE IF TIME=1 THEN 60 PRINT "It is one second past midnight" 70 ELSE 80 PRINT "X=0" 90 END IF
6/8/10
P1012728-004
494
DO Loops
Description Processing of the loop is controlled by a <WHILE/UNTIL> expression located on the DO or LOOP line. Processing a WHILE statement is the same on either the DO or LOOP lines. The Boolean expression is evaluated and if the statement is true, the LOOP continues at the line after the DO statement. Otherwise, the line after the corresponding LOOP is the next line to be processed. Processing an UNTIL statement is the same on either the DO or LOOP lines. The Boolean expression is evaluated and if the statement is false, the LOOP continues at the line after the DO statement. Otherwise, the line after the corresponding LOOP is the next to be processed. If <WHILE/UNTIL> is on the LOOP line, the BODY of the loop is executed before the Boolean expression is evaluated. If neither the DO or LOOP line has a <WHILE/UNTIL> statement, the loop continues indefinitely. Some notes about DO-LOOPs: can be nested cannot overlap have two formats Format DO [<WHILE/UNTIL> <Boolean expression>] ~~BODY~~ LOOP [<WHILE/UNTIL> <Boolean expression>]
Example This is an example of how to use the DO-LOOP command with the conditional
on the DO line:
Example This is an example of how to use the DO UNTIL LOOP command with
P1012728-004
6/8/10
495
FOR Loops
Description FOR loops are an easy way to iterate through a range of values and run a body of code for each value iterated. Format FOR <I> = <A> TO <B> [STEP <C>] ~~BODY~~ NEXT <I> Parameters
<I> = indicates a numeric variable is used. <I> increments each time through the FOR-LOOP. <A> = the value assigned to <I> the first time through the loop
<B> = the last value through the loop <C> = (Optional) the amount <I> increments each time through the loop Values of I for the following situations:
Statement
Result
FOR I=1 TO 10 FOR I=10 TO 1 FOR I=1 TO 10 STEP 2 FOR I=10 TO 1 STEP 2 FOR I=10 TO 1 STEP 2
6/8/10
P1012728-004
496
GOTO/GOSUB
Description GOSUB is followed by a line number. The program will attempt to process the line the GOSUB command points to rather than the next line of the program. Upon executing the GOSUB statement, the interpreter continues running at the line number specified following GOSUB. If the line number referenced does not exist, an error will occur. Before executing the next line, the GOSUB command stores the line number of the GOSUB line. When the RETURN statement is called, the program moves back to the next line following the GOSUB. Executing a RETURN statement without a corresponding GOSUB statement causes an error.
GOSUB statements can be nested. GOTO works the same way as GOSUB except that no return address will be stored.
Format GOSUB <A> RETURN GOTO <A> Parameters <A> = the program location executed immediately after the GOTO or GOSUB.
Example This is an example of how to use the GOSUB command:
10 PRINT "Call Subroutine" 20 GOSUB 1000 30 PRINT "Returned from Subroutine" 40 END 1000 PRINT "In Subroutine" 1010 RETURN
Example This is an example of how to use the GOTO command:
10 PRINT "Prepare to Jump!" 20 GOTO 1000 30 PRINT "Jump Missed..." 1000 PRINT "Jump Successful" 1010 END
Comments These are program commands and must be preceded by line numbers.
P1012728-004
6/8/10
497
SUB
Description This command allows you to use names instead of actual line numbers as the target of GOSUBs and GOTOs. AUTONUM can be used at the beginning of a file and there is no need to compute the line number where the jump will go. Format 10 SUB <A> Parameters <A> = the integer variable to use as a target for the GOTO/GOSUB
Example This is an example of how to use the SUB command:
AUTONUM 1,1 GOSUB INITCOMM DO GOSUB GETINPUT GOSUB PROCESSINPUT LOOP SUB INITCOMM OPEN #1:NAME "SER" RETURN SUB GETINPUT INPUT #1: A$ RETURN SUB PROCESSINPUT PRINT A$ RETURN
Comments <A> is a numeric variable. If this variable is changed in the program, any GOSUB/GOTO to this variable may fail.
6/8/10
P1012728-004
498
EXIT
Description This command is used to exit the DO and FOR loops. Format EXIT DO EXIT FOR Parameters The specified loop type is exited. For the DO command, the program will continue execution on the line following the next LOOP. Likewise for the FOR command, the program will continue on the line after the next NEXT command. Example N/A Comments This is a program command that is preceded by a line number. To be explicit and reduce errors, it is recommended to use GOTO instead of EXIT.
P1012728-004
6/8/10
499
END
Description The END command terminates any program currently running. When the END command is received, the interpreter returns to interpreting commands (>). Format END Parameters N/A
Example This is an example of how to use the END command:
10 PRINT "THIS PROGRAM WILL TERMINATE" 20 PRINT "WHEN THE END COMMAND IS RECEIVED" 30 END 40 PRINT "THIS SHOULD NOT PRINT" RUN THIS PROGRAM WILL TERMINATE WHEN THE END COMMAND IS RECEIVED
Comments This is a program command and is preceded by a line number.
6/8/10
P1012728-004
500
Available Ports
Port/Connection ZBI Name Preferred Access Commands/Functions
Serial Parallel USB ZPL parser TCP Server TCP Client UDP Server UDP Client Email Sender Bluetooth
"SER" "PAR" "USB" "ZPL" "TCP", "TCPX" "TCP" "UDP" "UDP" "EML" "BLU"
OPEN, CLOSE OPEN, CLOSE OPEN, CLOSE OPEN, CLOSE SERVERSOCKET, SERVERCLOSE, ACCEPT, CLOSE CLIENTSOCKET, CLOSE SERVERSOCKET, SERVERCLOSE, ACCEPT, CLOSE CLIENTSOCKET, CLOSE OPEN, CLOSE OPEN, CLOSE
P1012728-004
6/8/10
501
Creating Connections
Here is a quick list of the commands in this section: OPEN Opens a port for transmitting and receiving data. CLOSE Closes specific ports that are in use. DATAREADY Determines if there is data received on a specified port. SERVERSOCKET Opens a listening socket for incoming UDP packets or TCP connections. SERVERCLOSE Closes a listening server socket. CLIENTSOCKET Creates an outgoing TCP connection or sets up UDP transmissions. ACCEPT Accepts incoming TCP or UDP connections and assigns a channel for the connection.
6/8/10
P1012728-004
502
OPEN
Description This command is used to open a port for transmitting and receiving data. Format OPEN #<CHANNEL>: NAME <PORT$> Parameters <CHANNEL> = a number to use as a handle to the port for all future communications Accepted Values: 0 to 9 Default Value: a port must be specified <PORT$> = port name to open. See Available Ports on page 500.
Example This is an example of how to use the OPEN command:
P1012728-004
6/8/10
503
CLOSE
Description This command is implemented to close specific ports that are in use. If a port is open on a channel and the CLOSE command is entered, the port closes and returns to communicating with the ZPL buffer. Format CLOSE #<A> CLOSE ALL Parameters <A> = Numeric value of port to close Accepted Values: 0 through 9 All = closes all open ports and network connections
Note CLOSE ALL will close the console. Example This example shows the closing of channel 1:
10 CLOSE #1
Comments This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number.
6/8/10
P1012728-004
504
DATAREADY
Description This function is used to determine if there is data received on a specified port. Format DATAREADY (A) Parameters A = the port to check Returns 1 if there is data, 0 if there is no data.
Example This is an example of how to check if there is a data on a port:
0
Comments If this command follows the INPUT command, it may return 1 if the line received was ended with a CRLF. In this case, INBYTE can be used to take the LF out of the buffer.
P1012728-004
6/8/10
505
SERVERSOCKET
Description This function opens a listening socket for incoming UDP packets or TCP connections. It must be used in conjunction with the ACCEPT function. Format SERVERSOCKET (TYPE$,PORT) Parameters TYPE$ = listens for any of the following communication protocols: "TCP" = TCP PORT parameter is ignored. The current port will be used. "TCPX" = TCP any open port "UDP" = UDP any open port Returns NUMERIC = returns the handle of the server upon success.
Example See the examples for TCP Server on page 522 and UDP Server on page 524.
Comments When using TCPX, care needs to be taken not to use a port that is already open on the printer. No error message will be returned until the ACCEPT function is called.
6/8/10
P1012728-004
506
SERVERCLOSE
Description This function closes a listening server socket created by SERVERSOCKET.
Format SERVERCLOSE(SOCKET) Parameters SOCKET = the socket handle returned from a successful SERVERSOCKET invocation. Returns Returns a 0 if the socket was already closed or a 1 if the socket was closed successfully.
Example This example shows how to close a listening server socket.
P1012728-004
6/8/10
507
CLIENTSOCKET
Description This function creates an outgoing TCP connection or sets up UDP transmissions. Once set up for UDP, packets can be sent by printing to the socket. Packets are sent when the size limit is met or a EOT character is written. Format CLIENTSOCKET (TYPE$, IPADDR$, PORT) Parameters TYPE$ = set to "UDP" or "TCP". IPADDR$ = connects to this address. PORT = connects to this IP port. Returns The port number assigned to the connection.
Example See the examples for TCP Server on page 522 and UDP Server on page 524.
Comments Multiple communications connections can be made up to the maximum of 10. Each protocol may have a different limit based on the support of the print server used. Test the worst case situation based on your applications needs or use ONERROR to recover from failed connection attempts.
6/8/10
P1012728-004
508
ACCEPT
Description This function will accept incoming TCP or UDP connections and assign a channel for the connection. SERVERSOCKET must be used to set up the listening socket before ACCEPT can be used. Format ACCEPT (SERVER, CLIENT_INFO$) Parameters SERVER = the handle returned by the SERVERSOCKET call. CLIENT_INFO$ = string variable will have the connecting clients IP address and port separated by a space when using UDP. Returns The channel number to use to communicate with the client.
Example See the examples for TCP Server on page 522 and UDP Server on page 524.
Comments It is best to poll this function at regular intervals. When there is no connection waiting, this function will trigger an error. Follow this function with the ON ERROR command to divert to a section of code that handles an unsuccessful connection. ACCEPT can be called before closing a previous connection. This allows for processing multiple incoming streams of data. There are limits on the number of simultaneous incoming connections based on the print server model on the printer. Connection closure can be detected when any input or output command to the port triggers an error. These commands should be followed by an ON ERROR statement to send the program into a recovery state and to shutdown the connection cleanly.
P1012728-004
6/8/10
509
6/8/10
P1012728-004
510
INPUT
Description If the variable is numeric and the value entered cannot be converted to a number, it writes as 0. This operation scans the data from left to right, shifting any number into the variable. It ignores any non-numeric character except the return character, which terminates the input, or Ctrl-C (^C) which terminates the program. The variable can be in string or numeric form. Format INPUT [<CHANNEL>:] <A$> [,<B$>]* INPUT [<CHANNEL>:] <A>[,<B>]* If the [<channel>:] is omitted, the default port, 0, will be used. Parameters <CHANNEL> = read data from this port. Default = 0. <A,B,...,N> = variables to write. When using multiple variables as targets, a corresponding number of lines are read. String and numeric variables can be intermixed.
Example This is an example of how to use the INPUT command:
10 OPEN #1: NAME "ZPL" 20 PRINT #1: "~HS" 30 FOR I = 1 TO 3 40 INPUT #1: A$ 50 PRINT A$ 60 NEXT I
In this example, a host status prints to the console after submitting the host status request ~HS to the ZPL port. The Input/Output command of the ZBI interpreter is limited to the communications ports. File I/O is not supported. INPUT ends processing a line with a CR or LF. This leads to a tricky situation. There are many ways different systems end a line: CR, CRLF, LF. If the ZBI program only uses INPUT, the next execution of the INPUT command will remove the extra LF or CR, in case of LFCR. However, if the program instead uses INBYTE, DATAREADY or the other commands, the extra LF will show up on the port. Heres a simple workaround to explicitly look for the CRLF that is in use: SEARCHTO(<PORT>,CHR$(13)&CHR$(10),<INSTRING$>)
Note The INPUT command does not accept control characters or the delete character. If these characters need to be processed, please use the READ command.
Comments This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number.
P1012728-004 Zebra Programming Guide 6/8/10
511
10 INPUT A$,B,C,D$,E$
Five lines would be read in: 3 strings and 2 numbers.
6/8/10
P1012728-004
512
PRINT
Description This command sends data to the printer to be printed. Format PRINT [CHANNEL:] <expression> [,or; <expression>]* [;] Parameters <CHANNEL> = write data to this port <expression> = the value to write The expression can be either a string or a numeric expression. Using a , to separate expressions adds a space between them. Using a ; to separate expressions does not put a space between them. Using a ; at the end of a line ends the print statement without adding a new line (CR/LF).
Example This is an example of how to use the PRINT command:
10 LET A$ = "This is an example" 20 LET B$ = "of the PRINT Command." 30 PRINT A$, B$ ! adds a space between expressions 40 PRINT A$; B$ ! no space added RUN
This is an example of the PRINT Command. This is an exampleof the PRINT Command.
Comments This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number.
P1012728-004
6/8/10
513
OUTBYTE
Description This command outputs a byte to a port. Format OUTBYTE [<CHANNEL>:] <A> OUTBYTE [<CHANNEL>:] <A$> Parameters <CHANNEL> = sends the byte to this port. Default = 0.
<A$> = This is the string expression. The first character is used. In the case of a NULL string, 0 is sent.
Example This is an example of how to use the OUTBYTE command:
OUTBYTE 4
This would print the control character EOT to the console. See an ASCII table for a list of the control characters. Comments This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number.
6/8/10
P1012728-004
514
INBYTE
Description This command forces the interpreter to pause until data is available. Use the DATAREADY function to determine if there is data on the port. Format INBYTE [<CHANNEL>:] <A> INBYTE [<CHANNEL>:] <A$> Parameters <CHANNEL> = reads from this port. Default = 0.
<A> = integer value is set to the byte received. <A$> = A single byte string is created with the byte received.The first character is used. In the case of a NULL string, 0 is sent.
Example This is an example of how to use the INBYTE to create an echo program:
10 INBYTE A$ !Takes one byte (char) from port #0 20 PRINT A$ !Prints the character to the console 30 GOTO 10
In this example, the interpreter pauses until the data is entered, then continues processing. This command enters all bytes in a string or integer, including control codes. Comments INBYTE will block until a byte is received on the specified port. This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number.
P1012728-004
6/8/10
515
READ
Description This is a non-blocking input function. It will read in all of the bytes available on the specified port. Format READ (<CHANNEL>, <A>, <MAXBYTES>) Parameters <CHANNEL> = reads from this port. Default = 0.
<A$> = the string where the data will be placed <MAXBYTES> = the maximum number of bytes to read
Returns The number of bytes read.
Example This is an example of the READ command:
1 CLOSE ALL 2 LET INPORT = CLIENTSOCKET("TCP","192.168.0.1",9100) 3 ON ERROR GOTO RECOVERY 4 LET WATERMARK = 5000 5 DO WHILE 1 6 IF LEN(DATA$) < WATERMARK THEN 7 LET BYTESREAD = READ(INPORT,DATA$,500) 8 ON ERROR GOTO RECOVERY 9 END IF 10 IF (LEN(DATA$) > 0) THEN 11 LET BYTES_WRITTEN = WRITE(INPORT,DATA$,LEN(DATA$)) 12 ON ERROR GOTO RECOVERY 13 LET DATA$(1,BYTES_WRITTEN) = "" 14 END IF 15 IF BYTESREAD = 0 AND BYTESWRITTEN = 0 THEN 16 SLEEP 1 ! DON'T BOMBARD IF IDLE 17 END IF 18 LOOP 19 SUB RECOVERY 20 CLOSE #INPORT
6/8/10
P1012728-004
516
WRITE
Description This is a non-blocking output function. It will write as many bytes as the output buffer can hold. Format WRITE (<CHANNEL>, <A>, <BYTES>) Parameters <CHANNEL> = reads from this port. Default = 0.
<A$> = the string to write out. <MAXBYTES> = The number of bytes to write
Returns The number of bytes written.
Example This is an example of WRITE command:
1 CLOSE ALL 2 LET INPORT = CLIENTSOCKET("TCP","192.168.0.1",9100) 3 ON ERROR GOTO RECOVERY 4 LET WATERMARK = 5000 5 DO WHILE 1 6 IF LEN(DATA$) < WATERMARK THEN 7 LET BYTESREAD = READ(INPORT,DATA$,500) 8 ON ERROR GOTO RECOVERY 9 END IF 10 IF (LEN(DATA$) > 0) THEN 11 LET BYTES_WRITTEN = WRITE(INPORT,DATA$,LEN(DATA$)) 12 ON ERROR GOTO RECOVERY 13 LET DATA$(1,BYTES_WRITTEN) = "" 14 END IF 15 IF BYTESREAD = 0 AND BYTESWRITTEN = 0 THEN 16 SLEEP 1 ! DON'T BOMBARD IF IDLE 17 END IF 18 LOOP 19 SUB RECOVERY 20 CLOSE #INPORT
P1012728-004
6/8/10
517
SEARCHTO$
Description This function performs a search until a specified string is found. The string the search yields is displayed. Format SEARCHTO$(A,B$) SEARCHTO$(A,B$,C) SEARCHTO$(A$,B$) SEARCHTO$(A$,B$,C$) Parameters A = port number (0 to 9) to which requested data is sent
A$ = string to search for B$ B$ = string variable or string array. If B$ is an array, this command searches for all non-null strings in the B$ array.
C = a port in which the input is directed until B$ is found C$ = a string in which the characters in A$ are directed until B$ is found Returns The string found.
Example This example shows how to use SEARCHTO to find a string on a port:
10 OPEN #1: NAME "SER" 20 DECLARE STRING FIND$(3) 30 LET FIND$(1) = "ONE" 40 LET FIND$(2) = "TWO" 50 LET FIND$(3) = "THREE" 60 LET A$ = SEARCHTO$(1,FIND$) 70 PRINT "FOUND:", A$
6/8/10
P1012728-004
518
10 OPEN #1: NAME "PAR" 20 OPEN #2: NAME "SER" 30 DECLARE STRING FIND$(3) 40 LET FIND$(1) = "ONE" 50 LET FIND$(2) = "TWO" 60 LET FIND$(3) = "THREE" 70 LET A$ = SEARCHTO$(1,FIND$,2) 80 PRINT "FOUND:", A$
Example This example shows how to use SEARCHTO to find a string within a string and
Comments SEARCHTO will block (wait) until the search string is found. If you want to be able to run other code while doing something similar, consider using READ with POS. When using SEARCHTO with ports, it will block (wait) until the search string is found. If you want to be able to run other code while doing something similar, consider using READ to place data into a string. That string can be passed to SEARCHTO for processing.
P1012728-004
6/8/10
519
10 CLOSE ALL 20 LET INPORT = 1 30 OPEN #INPORT: NAME "SER" 40 PRINT #INPORT: "Enter your name:"; 50 INPUT #INPORT: YOURNAME$ 60 PRINT #INPORT: "You entered: "; YOURNAME$ 70 CLOSE #INPORT
6/8/10
P1012728-004
520
ZPL Parser
To make a ZBI program print, it is necessary to create a connection from the program to the ZPL parser on the printer. The connection will function in the same way as a connection to a physical port, except that the connection will not automatically terminate. The ZPL parser in the printer can handle many incoming connections simultaneously. For example, a ZBI program could take control of the serial port and send label formats to the ZPL parser, while the parallel port (unopened by ZBI) could also be used to send label formats directly into the parser.
Note The ZPL parser will lock onto one port once a format is started (via the ^XA
command). So, in some cases, is it desirable to start and stop your communications to ZPL in one continuous sequence. Another use of ZBI is to check printer status, while another application prints to another port.
Example Here is how that can be done:
10 OPEN #1: NAME "ZPL" 20 PRINT #1: "~HS" 30 FOR I = 1 TO 3 40 INPUT #1: A$ 50 PRINT A$ 60 NEXT I
P1012728-004
6/8/10
521
TCP Client
There are two methods for making a TCP connection to another server. The first method uses the OPEN command while the second method uses the CLIENTSOCKET method. CLIENTSOCKET is the preferred method.
Example The following example demonstrates this method:
10 CLOSE ALL 20 LET INPORT = CLIENTSOCKET("TCP","192.168.0.1",9100) 40 LET OUTSTR$ = "REQUESTING SERVER NAME"; 50 DO WHILE (LEN(OUTSTR$) > 0) 60 LET BYTES_WRITTEN = WRITE(INPORT,OUTSTR$,LEN(OUTSTR$)) 70 ON ERROR GOTO RECOVERY 80 LET OUTSTR$ = OUTSTR$(1+BYTES_WRITTEN:LEN(OUTSTR$)) 90 LOOP 100 INPUT #INPORT: YOURNAME$ 110 PRINT #INPORT: "Server returned: "; YOURNAME$ 120 CLOSE #INPORT 130 SUB RECOVERY 140 END
6/8/10
P1012728-004
522
TCP Server
Setting up a listening server in the printer can be accomplished with the SERVERSOCKET function. To connect to incoming TCP sessions, use the ACCEPT function. When starting the application, call SERVERSOCKET. This function will create a handle for this listening server. Check for incoming connections at regular intervals with the ACCEPT function. If there are no pending sessions, the ACCEPT function will return with an error. Handle the error using the ON ERROR command and continue looking for other sessions later. Depending on how the program is set up, it is possible to handle one or more sessions at a time. If the program is configured to allow only one session, the other connections will remain pending until they are shut down by the requesting client or the ZBI program connects them.
Example Here is an example of the SERVERSOCKET and ACCEPT commands:
10 CLOSE ALL 20 LET SERVER_HANDLE = SERVERSOCKET("TCPX",19100) 30 REM There are no connections yet we are just listening for them 40 REM Lets loop until we get a connection 50 SLEEP 1 60 LET INPORT = ACCEPT(SERVER_HANDLE,CLIENT_INFO$) 70 ON ERROR GOTO 50 80 PRINT #INPORT: "You have successfully connected!" 90 PRINT #INPORT: "Login:"; 100 INPUT #INPORT: LOGIN$ 110 PRINT #INPORT: "Password:"; 120 INPUT #INPORT: PASSWORD$ 130 REM We will not be nice and reject the connection 130 PRINT #INPORT: "Login failed" 140 CLOSE #INPORT 150 GOTO 60 ! Go look for the next connection 160 END
P1012728-004
6/8/10
523
UDP Client
There are also two methods for making a UDP connection to another server. The first method uses the OPEN command, while the second method uses the CLIENTSOCKET method. UDP is a one way communication medium, thus, you can only use output commands. Because UDP is connectionless, the output will be queued up until an EOT character is written or the maximum packet size is exceeded. Once the EOT character is written, the packet is formatted and sent. With UDP, it is important to be careful about understanding what the network being used will support. In many cases, there will be a limit to the size of the packet that can be used, typically between 1000 and 1500 bytes, but some networks cut this down into the 500 to 600 byte range. To be safe, keep your packets less than 500 bytes. UDP does not guarantee transmission. See UDP specifications for more details.
Example Since CLIENTSOCKET is the preferred method, an example is shown below.
10 CLOSE ALL 20 LET INPORT = CLIENTSOCKET("UDP","192.168.0.1",22222) 30 LET EOT$ = CHR$(4) 40 PRINT #INPORT: "Packet #"; I; EOT$; 50 LET I = I + 1 60 SLEEP 1 70 GOTO 40
6/8/10
P1012728-004
524
UDP Server
Setting up a listening server in the printer can be accomplished with the SERVERSOCKET function. Then, to connect to incoming UDP packets, use the function ACCEPT. When starting your application, call SERVERSOCKET. This function will create a handle for this listening server. Check for incoming packets at a regular interval with the ACCEPT function. If there are no pending sessions, the ACCEPT function will return with an error. Just handle the error using the ON ERROR command and continue looking for other sessions later. You will need to call ACCEPT for each incoming packet. When the accept is successful, all of the data will be available. Call READ with a MAX string size of 2000 and you will have the whole packet in your string. Close the port and wait for the next packet. You can only read in data using a UDP server.
Example Here is an example of how to set up to receive UDP messages: 10 CLOSE ALL 20 LET ZPLPORT = 1 35 OPEN #ZPLPORT: NAME "ZPL" 40 LET SERVER_HANDLE = SERVERSOCKET("UDP",33333) 50 REM There are no connections yet: listening 60 REM Lets loop until we get a connection 70 SLEEP 1 80 LET INPORT = ACCEPT(SERVER_HANDLE,CLIENT_INFO$) 90 ON ERROR GOTO 70 100 LET PACKET_SIZE = READ(INPORT,PACKET$,2000) 110 PRINT #ZPLPORT: "^XA^FO100,100^A0N,40,40^FDPACKET FROM:"; 115 PRINT #ZPLPORT: CLIENT_INFO$; "^FS" 120 PRINT #ZPLPORT: "^FO100,150^A0N,40,40^FDPACKET SIZE:"; 125 PRINT #ZPLPORT: PACKET_SIZE; "^FS" 130 PRINT #ZPLPORT: "^FO100,200^A0N,40,40^FDPACKET DATA:"; 135 PRINT #ZPLPORT: PACKET$; "^FS^XZ" 140 CLOSE #INPORT 150 GOTO 60 ! go look for the next connection 160 END
P1012728-004
6/8/10
525
E-mail
ZBI can be used to enhance the printers ability to send status via e-mail messages. The process is simple: open the email port "EML", send the recipient list, send the header, and send the body of the message. The printer can only process a limited number of outgoing email messages at one time. For this reason, error handling should be used when opening the connection to wait for the printer to be ready to send the message. The EOT character is important for delimiting sections of the email message. If it is left out, the message will not be sent properly. Before the following code will work, the email settings for the print server must be set up. Consult the print server manual to learn how to configure the unit.
Example Here is an example of how to send e-mails:
1 REM EOT$ this is used to denote end of transmission 5 LET EOT$ = CHR$(4) 1 REM Open a connection to the e-mail port and if it errors 1 REM try again until complete 10 OPEN #1: NAME "EML" 15 ON ERROR GOTO 10 1 REM Specify address to send message to then end signal end 1 REM of recipients with EOT$ 1 REM To send to multiple addressees separate addressees by 1 REM space 20 PRINT #1: "youraddress@yourdomain.com";EOT$; 1 REM Fill in the message information 30 PRINT #1: "From: HAL" 40 PRINT #1: "To: Dave" 50 PRINT #1: "Subject: A message from HAL" 60 PRINT #1: "" 70 PRINT #1: "Dave, I am sorry I can not let you do that." 80 PRINT #1: i 1 REM Terminate message 90 PRINT #1: "";EOT$ 1 REM You must close the port, each open port is only good 1 REM for sending one message 100 CLOSE #1
6/8/10
P1012728-004
526
File System
This section shows how programs and formats can be saved and recalled. Heres a quick list of these commands: STORE Saves the program currently in memory as the specified file name. LOAD Transfers a program file previously stored in the printers memory and opens it in the ZBI Program Memory. DIR With no filter included, prompts the printer to list all of the ZBI programs residing in all printer memory locations. DELETE Removes a specified file from the printers memory.
P1012728-004
6/8/10
527
Runtime Access
The following example is a method to store runtime data in the printer memory. The file system in the printer is limited to writing one file at a time. Since only one component of the printer can have write access to the file system, the ZPL parser is the component with this access. For ZBI to use the ZPL parser as a gateway into printer memory, the ZPL comment command (^FX) is used.
Example Here is an example:
AUTONUM 1,1 REM ******* TEST FOR SUBROUTINES ********************** LET ZPLPORT = 1 OPEN #ZPLPORT: NAME "ZPL" LET SIZE = 5 LET FILENAME$ = "R:TESTSYS.ZPL" DECLARE STRING DATAIN$(SIZE) LET DATAIN$(1) = "ONE" LET DATAIN$(2) = "TWO" LET DATAIN$(3) = "THREE" LET DATAIN$(4) = "FOUR" LET DATAIN$(5) = "FIVE" GOSUB STOREDATA GOSUB GETDATA FOR I = 1 TO SIZE IF DATAIN$(I) <> DATAOUT$(I) THEN PRINT #ZPLPORT: "^XA^FO100,100^A0N,50,50^FDERROR:"; PRINT #ZPLPORT: DATAOUT$(I);"^XZ" END IF NEXT I END REM **** SUBROUTINE STOREDATA ************************** REM INPUT: ZPLPORT, DATAIN$, SIZE, FILENAME$ *********** SUB STOREDATA PRINT #ZPLPORT: "^XA^DF" & FILENAME$ & "^FS" PRINT #ZPLPORT: "^FX"; SIZE; "^FS" FOR I = 1 TO SIZE
6/8/10
P1012728-004
528
PRINT #ZPLPORT: "^FX" & DATAIN$(I) & "^FS" NEXT I PRINT #ZPLPORT: "^XZ" RETURN REM **** SUBROUTINE GETDATA - ************************** REM INPUT: ZPLPORT, FILENAME$ ************************** REM ** OUTPUT: DECLARES AND FILLS DATAOUT$ AND FILLS SIZE SUB GETDATA PRINT #ZPLPORT: "^XA^HF" & FILENAME$ & "^XZ" SLEEP 1 LET RESULT$ = "" FOR J = 1 TO 25 LET A = READ(ZPLPORT,TEMP$,5000) LET RESULT$ = RESULT$ & TEMP$ IF POS(RESULT$,"^XZ") <> 0 THEN EXIT FOR END IF SLEEP 1 NEXT J LET RESULT$(1:POS(RESULT$,"^FX")+2) = "" LET SIZE = VAL(EXTRACT$(RESULT$,"","^")) DECLARE STRING DATAOUT$(SIZE) FOR I = 1 TO SIZE LET RESULT$(1:POS(RESULT$,"^FX")+2) = "" LET DATAOUT$(I) = EXTRACT$(RESULT$,"","^") NEXT I LET RESULT$ = "" LET TEMP$ = "" RETURN
P1012728-004
6/8/10
529
STORE
Description This command saves the program currently in memory as the specified file name. The format listed below is used. Format STORE <filename$> Parameters <filename$> = the name of the file to be stored. Drive location and file name must be in quotation marks.
Example This is an example of how to use the STORE command:
STORE "E:PROGRAM1.BAS"
Comments For a file name to be valid, it must conform to the 8.3 Rule: each file must have no more than eight characters in the file name and have a three-character extension. Here the extension is always .BAS (for example, MAXIMUM8.BAS). This is an interactive command that takes effect as soon as it is received by the printer. The ZBI-Developer IDE will take care of this for you with the SEND TO option on your program.
6/8/10
P1012728-004
530
LOAD
Description This command transfers a program file previously stored in the printers memory and opens it in the ZBI Program Memory. If the program file does not exist, the ZBI Program Memory is cleared and no program is opened. Format LOAD <filename$> Parameters <filename$> = the file name to be loaded into memory. Drive location and file name must be in quotation marks. If the drive location is not specified, all drives will be searched.
Example Here are examples of how to use the LOAD command:
P1012728-004
6/8/10
531
DIR
Description This command, with no filter included, prompts the printer to list all of the ZBI programs residing in all printer memory locations. Including a filter signals the printer to limit the search; including a drive location signals the printer to search in only one location. Asterisks (*) are used as wild cards. A wild card (*) finds every incidence of a particular request. The example here, DIR "B:*.BAS", signals the printer to search for every file with a .BAS extension in B: memory. Format DIR [<filter$>] Parameters [<filter$>] = the name of the file to be accessed (optional). Drive location and file name must be in quotation marks. Default = "*:*.bas"
Important Quotes must be around what you are doing. This shows you how to use the wildcard (*) to search for all .BAS files in B: memory: Quotes surrounding action
DIR "B:*.BAS"
memory wildcard
file type
Example N/A Comments This is an interactive command that takes effect as soon as it is received by the printer.
6/8/10
P1012728-004
532
DELETE
Description This command removes a specified file from the printers memory. Format DELETE <filename$> Parameters <filename$> = the name of the file to be deleted. Drive location and filename must be in quotation marks.
Example This is an example of deleting a specified file from printer memory:
DELETE "E:PROGRAM1.BAS"
Comments This is an interactive command that takes effect as soon as it is received by the printer.
P1012728-004
6/8/10
533
6/8/10
P1012728-004
534
CSVLOAD
Description This function will load the delimited values from a CSV file, defined by FILENAME$, and store them in the two-dimensional array, DEST$. Format CSVLOAD(DEST$, FILENAME$) CSVLOAD(DEST$, FILENAME$, DELIM$) Parameters DEST$ = two dimensional array that will hold the rows and columns from the CSV file specified by the FILENAME$ variable. If there is not enough room in DEST$, or if it has the wrong size, it will be changed to fit the data from the file. The data originally in DEST$ will be overwritten. FILENAME$ = name of the file to load. Drive location and file name must be in quotation marks. The file extension must be either ".CSV" or ".TXT". DELIM$ = optional delimiter that is used in the CSV file instead of a comma. If DELIM$ is not provided a comma will be used by default. The delimiter must be a single character that is not a quote, carriage return, or newline. Returns The number of elements in each row of the CSV file. The function will return 0 if errors were detected in the CSV file, or if the file could not be read.
Example This example shows how to print the values in a CSV file with a comma
delimiter.
DECLARE STRING CSVDB$(1,2) LET FILENAME$ = "E:RECORDS.CSV" LET NUMOFCOLS = CSVLOAD(CSVDB$, FILENAME$) LET NUMOFROWS = ROWSIZE(CSVDB$) FOR J = 1 TO NUMOFCOLS STEP 1 PRINT CSVDB$(I, J), " "; NEXT J PRINT ""
300 NEXT I
P1012728-004
6/8/10
535
Example This example shows how to print the values in a CSV file that uses a '|' as a
delimiter.
DECLARE STRING CSVDB$(1,2) LET FILENAME$ = "E:EMPLOYEE.CSV" LET NUMOFCOLS = CSVLOAD(CSVDB$, FILENAME$, "|") LET NUMOFROWS = ROWSIZE(CSVDB$) FOR J = 1 TO NUMOFCOLS STEP 1 PRINT CSVDB$(I, J), " "; NEXT J PRINT ""
300 NEXT I
Comments The maximum CSV file size supported will vary based upon available RAM within the printer.
CSV File Information
The file format should follow the rules in IETF RFC 4180: http://tools.ietf.org/html/rfc4180 The maximum number of columns per row in a CSV file is 256. Each row must be 2048 characters or less including the delimiter. The carriage return/line feed (CRLF) does not count toward the limit. Each row in the CSV file must have the same number of elements. If there are any missing elements in the CSV file (indicated by two adjacent commas or a comma at the end of a row), they will be represented as empty strings. If an element in the CSV file contains a quote, it should be represented as two quotes. Additionally, if an element contains a quote, a new line, a carriage return, or the delimiter character, the element must be within quotes. For example, a value that is used to store a measurement in feet and inches (4' 5") must be formatted as "4' 5""" within the CSV file.
6/8/10
P1012728-004
536
CSVSTORE
Description This function will store the values of a two dimensional array into a CSV file on the file system. Each element within the array is treated as a single value within the CSV file. Format CSVSTORE(SRC$, FILENAME$) CSVSTORE(SRC$, FILENAME$, DELIM$) Parameters SRC$ = two dimensional array of strings to be written to a CSV file. FILENAME$ = name of the file to store the array contents. Drive location and file name must be in quotation marks. The file extension must be either ".CSV" or ".TXT". DELIM$ = optional delimiter that is used in the CSV file instead of a comma. If DELIM$ is not provided a comma will be used by default. The delimiter must be a single character that is not a quote, carriage return, or newline. Returns A 0 if there were no errors. A 1 is returned if SRC$ is not a string array, if the file could not be written, or if SRC$ contains errors that prevent the file from being stored.
Example This example shows how to convert a comma delimited CSV file into a "^"
DECLARE STRING CSVDB$(1,2) LET NUMOFCOLS = CSVLOAD(CSVDB$, "E:RECORDS.CSV") LET CSVERROR = CSVSTORE(CSVDB$, "E:NEWREC.TXT", "^") LET NUMOFCOLS = CSVLOAD(CSVDB$, "E:NEWREC.TXT", "^") LET NUMOFROWS = ROWSIZE(CSVDB$) FOR J = 1 TO NUMOFCOLS STEP 1 PRINT CSVDB$(I, J), " "; NEXT J PRINT ""
300 NEXT I
Comments The elements of the array should follow the rules in IETF RFC 4180: http://tools.ietf.org/html/rfc4180 There is no limit on the number of columns per row when storing to a CSV file. However, a file stored with rows that exceed the column limit imposed by CSVLOAD will not be loaded by the CSVLOAD function. There is no limit on the size of a row when stored to a CSV file. However, a file stored with rows that exceed the size limit imposed by CSVLOAD will not be loaded by the CSVLOAD function.
P1012728-004 Zebra Programming Guide 6/8/10
537
TXTLOAD
Description This function will read the contents of an ASCII text file into a ZBI string variable. Format TXTLOAD(DEST$, FILENAME$) Parameters DEST$ = string to store the contents of FILENAME$. FILENAME$ = name of the file to read. Drive location and file name must be in quotation marks. The file extension must be either ".CSV" or ".TXT". Returns The number of bytes read from the file. The function will return 0 if the file could not be read.
Example This example shows how to print out the contents of a file.
6/8/10
P1012728-004
538
TXTSTORE
Description This function will store the contents of a ZBI string in an ASCII text file.
Format TXTSTORE(SRC$, FILENAME$) Parameters SRC$ = string to store to FILENAME$. FILENAME$ = name of the file to store. Drive location and file name must be in quotation marks. The file extension must be either ".CSV" or ".TXT". Returns Returns a 0 if there were no errors, otherwise a 1 is returned.
Example This example shows how to append a text file.
10 LET TXTSIZE = TXTLOAD(TXTDATA$, "E:MYDATA.TXT") 11 REM Append a date/time stamp to the file 20 LET TXTDATA$ = TXTDATA$ & " " & DATE$ & " " & TIME$ 30 LET TXTSIZE = TXTSTORE(TXTDATA$, "E:MYDATA.TXT") 40 PRINT TXTDATA$
P1012728-004
6/8/10
539
Events
This section explains how to capture and trigger internal events in the printer. Heres a quick list of these commands: Available Events A table that correlates a ZBI event with an identification number. ZBI Key Names Details the names of each printers front panel buttons, ZBI names, and ZBI event ID. REGISTEREVENT Sets up the HANDLEEVENT function to receive notification when the specified event has occurred. UNREGISTEREVENT Allows events that are currently set to be captured by the program to no longer be captured. HANDLEEVENT Once events have been registered, this function is used to see what events have occurred. TRIGGEREVENT Allows for front panel buttons to be triggered programatically. There are certain events in the printer that a ZBI 2.0 program can receive. To do this, the program first registers for the event. On a regular basis, call a function to handle events. When an event occurs that the program is registered for, the function will return the events identification number.
6/8/10
P1012728-004
540
Available Events
ZBI Event ID ZBI Event
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
menu key pause key feed key cancel key up arrow key plus key minus key enter key setup exit key select key cancel all event config label timer1 timer2 timer3 timer4 timer5 spare unused previous key next save key calibrate key paper out set paper out clear ribbon out set ribbon out clear head too hot set head too hot clear head cold set head cold clear head open set head open clear supply too hot set supply too hot clear ribbon in set ribbon in clear rewind full set rewind full clear cutter jammed set cutter jammed clear
P1012728-004
6/8/10
541
ZBI Event ID
ZBI Event
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
paused set paused clear pq completed set pq completed clear label ready set label ready clear head element bad set head element bad clear basic runtime set basic runtime clear basic forced set basic forced clear power on set power on clear clean printhead set clean printhead clear media low set media low clear ribbon low set ribbon low clear replace head set replace head clear battery low set battery low clear rfid error set rfid error clear any messages set any messages clear auto baud factory default networking default networking factory print width darkness adjust calibrate scroll key
6/8/10
P1012728-004
542
Xi4/RXi4/XiIIIPlus/PAX4/105SL
XiIIIPlus/PAX4/Xi4/RXi4 Front Panel Key 105SL Front Panel Key ZBI Event ID
ZBI Name
Right Oval Left Oval Previous Next/Save Setup/Exit Pause Feed Cancel Calibrate
6 7 19 20 9 2 3 4 21
plus key minus key previous key next save key setup exit key pause key feed key cancel key calibrate key
HC100
ZBI Event ID
ZBI Name
ZM400/ZM600/RZ400/RZ600/Z4Mplus/Z6Mplus
ZBI Event ID
ZBI Name
3 2 4 9 10 6 7
feed key pause key cancel key setup exit key select key plus key minus key
P1012728-004
6/8/10
543
S4M
ZBI Event ID
ZBI Name
Menu Enter Cancel Feed Pause Left Arrow Right Arrow Up Arrow Down Arrow
1 8 4 3 2 4 3 5 2
menu key enter key cancel key feed key pause key cancel key feed key up arrow key pause key
G-Series
ZBI Event ID
ZBI Name
3 10 75
ZBI Name
Feed key
Feed key
KR403
ZBI Event ID
ZBI Name
Feed key
Feed key
6/8/10
P1012728-004
544
REGISTEREVENT
Description This function will set up the HANDLEEVENT function to receive notification when the specified event has occurred. Events can be registered for one time or until the program is exited.
Important If an event occurs twice or more before the HANDLEEVENT function is called,
only one event will be received. Format REGISTEREVENT(X) REGISTEREVENT(X,Y) REGISTEREVENT(X,Y,Z) Parameters (X) = This is the ID of the event being registered for. (Y) = If Y=1: the event happens once; If Y=0: the event stays registered for the duration of the program, or until it is unregistered. (Z) = For System Events: if Z=0, the event will still be handled by the printer. If Z=1, then only ZBI will receive the event. For Timer Events: this is the timer interval in mSec. If the interval is less than 0 or greater than 1,000,000,000, it is set to 1000. Returns The ID of the successfully registered event. If an event was not successfully registered, a -1 is returned.
P1012728-004
6/8/10
545
Comments None
6/8/10
P1012728-004
546
UNREGISTEREVENT
Description This function allows events that are currently set to be captured by the program to no longer be captured. Once called events will return to the normal method of processing if the REGISTEREVENT function Z parameter was set to 1. Format UNREGISTEREVENT(X) Parameters (X) = the ID of the event to stop Returns 0 if the event is a valid event to unregister. A -1 if the event does not exist.
Example Here is an example of how to use the UNREGISTEREVENT command:
AUTONUM 1,1 LET OUTSTR$ = "Processing" LET LOOPCTR = 200 LET TIMER5 = 17 LET TMP = REGISTEREVENT(TIMER5, 0, 1000) DO WHILE LOOPCTR > 0 LET EVT = HANDLEEVENT() IF EVT = TIMER5 THEN LET A = SETVAR("device.frontpanel.line2",OUTSTR$) LET OUTSTR$ = OUTSTR$ & "." IF LEN(OUTSTR$) >16 THEN LET OUTSTR$ = "Processing" END IF END IF LET LOOPCTR = LOOPCTR - 1 SLEEP 1 LOOP LET TMP = UNREGISTEREVENT(TIMER5) LET A = SETVAR("device.frontpanel.line2","") END Comments None
P1012728-004
6/8/10
547
HANDLEEVENT
Description Once events have been registered, this function is used to see what events have occurred. Format HANDLEEVENT() Parameters N/A Returns The ID of the event that occurred. One event at a time will be returned through this function. The order of the events are based on priority. The priority is based on the ID number of the event, with the exception of the timer events, which have the highest priority.
Example Here are examples of how to use the HANDLEEVENT command:
1 REM This example shows how to override the feed key functionality 1 REM using the event system. Why waste a label when you could put 1 REM valuable information there AUTONUM 1,1 CLOSE ALL LET ZPLPORT = 1 OPEN #ZPLPORT: NAME "ZPL" LET FEEDKEY = 3 LET TMP = REGISTEREVENT(FEEDKEY, 0, 1) DO WHILE 1 = 1 LET EVT = HANDLEEVENT() IF EVT = FEEDKEY THEN GOSUB PRINTINFO END IF SLEEP 1 LOOP REM ******** SUBROUTINE PRINTINFO *** REM *** expects ZPLPORT ************* SUB PRINTINFO PRINT #ZPLPORT: "^XA" PRINT #ZPLPORT: "^FO30,30^A0N,50,50"; PRINT #ZPLPORT: "^FDZebra Technologies^FS"
6/8/10
P1012728-004
548
PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT
#ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT: #ZPLPORT:
"^FO30,85^A0N,35,35"; "^FDwww.zebra.com^FS" "^FO30,125^A0N,35,35"; "^FDsupport.zebra.com^FS" "^FO30,165^A0N,35,35"; "^FDFW Version: "; GETVAR$("appl.name") & "^FS" "^FO30,205^A0N,35,35"; "^FDPrinter Unique ID:"; GETVAR$("device.unique_id") & "^FS" "^FO30,245^A0N,35,35"; "^FDActive Network: "; GETVAR$("ip.active_network") & "^FS" "^FO30,285^A0N,35,35"; "^FDZBI Memory Usage: "; GETVAR$("zbi.start_info.memory_alloc") & "^FS" "^FO30,325^A0N,35,35"; "^FDOdometer: "; GETVAR$("odometer.total_print_length") & "^FS" "^XZ"
Comments None
P1012728-004
6/8/10
549
TRIGGEREVENT
Description This function allows for front panel buttons to be triggered programatically.
Format TRIGGEREVENT(X) Parameters X = the ID of the event from the possible event list to TRIGGER. See the following printer tables for events that can be triggered by this command: Xi4/RXi4/XiIIIPlus/PAX4/105SL on page 542 105SL Front Panel Key on page 542 ZM400/ZM600/RZ400/RZ600/Z4Mplus/Z6Mplus on page 542 S4M on page 543
1 REM THIS IS AN EXAMPLE OF HOW TO TRIGGER AN EVENT AUTONUM 1,1 LET PAUSEKEY = 2 DO WHILE 1 = 1 LET A = TRIGGEREVENT(PAUSEKEY) LET A = SETVAR("device.frontpanel.line2",str$(A)) SLEEP 2 LOOP
Comments None
6/8/10
P1012728-004
550
Systems
This section contain miscellaneous systems interface functions. Heres a quick list of these commands: ISERROR Returns a non-zero value if there is an internal error set in the printer. ISWARNING Returns a non-zero value if there is an internal warning set in the printer. SLEEP Specifies the time that the interpreter pauses. SETERR Sends a message to the printer to set the error flag. CLRERR Sends a message to the printer to clear the error flag. ON ERROR Prevents a program from halting in the event of an error.
P1012728-004
6/8/10
551
ISERROR
Description This function returns a non-zero value if there is an internal error set in the printer. Otherwise, the numeral returned will 0. Format ISERROR Parameters N/A Returns 0 for no errors; 1 if there is an error.
Example Here is an example of the ISERROR command.
6/8/10
P1012728-004
552
ISWARNING
Description This function returns a non-zero value if there is an internal warning set in the printer. Otherwise, the numeral returned will 0. Format ISWARNING Parameters N/A Returns 0 for no errors; 1 if there is an error.
Example Here is an example of the ISWARNING command.
P1012728-004
6/8/10
553
SLEEP
Description This command specifies the time that the interpreter pauses. This command could be sent to the printer after sending a label format to be printed. The interpreter pauses in its processing for the amount of time specified. Format SLEEP <A> Parameters <A> = the time in seconds (0 to 500) the interpreter pauses.
Example This is an example of how to use the SLEEP command:
10 SLEEP 450
Comments If a timer is needed, use the Event system. The timer will allow for processing other items, where SLEEP will stop execution of any ZBI commands for the specified SLEEP period. This is a program command and must be preceded by a line number. Calling SLEEP with <A> set to zero will force the ZBI task to yield to the rest of the system and allow any pending tasks to run (e.g., pending ZPL commands). If there are no pending tasks, ZBI will sleep for a minimum of 8 milliseconds.
6/8/10
P1012728-004
554
SETERR
Description This command sends a message to the printer to set the error flag. A logical interpreter flag is triggered in the printer. This error is referenced as a BASIC Forced Error. Format SETERR Parameters N/A
Example An example of the SETERR and CLRERR commands.
AUTONUM 1,1 OPEN #1:NAME "ZPL" PRINT #1: "^XA^SXO,A,Y,Y^XZ" CLOSE #1 FOR I=1 TO 10 SLEEP 5 IF MOD(I,2)=1 THEN SETERR ELSE CLRERR ENDIF NEXT I
Comments This is a program command and must be preceded by a line number.
P1012728-004
6/8/10
555
CLRERR
Description This command sends a message to the printer to clear the error flag. A logical interpreter flag is cleared in the printer. This error is referenced as a BASIC Forced Error. Format 10 CLRERR Parameters N/A
Example See SETERR on page 554.
6/8/10
P1012728-004
556
ON ERROR
Description The ON ERROR command can be used to prevent a program from halting in the event of an error. If an error occurs in a previous line during program execution, the ON ERROR statement calls the GOTO or GOSUB statement and allows the program to continue. Format ON ERROR GOTO <A> ON ERROR GOSUB <A> Parameters <A> = the destination location in the program should an error be triggered on the previous line.
Example This is an example of how to use the ON ERROR command:
30 LET A = B/C 40 ON ERROR GOTO 100 ... 100 PRINT "DIVIDE BY ZERO OCCURRED" 110 LET A = 0 120 GOTO 50 ...
Example See TCP Server on page 522 or UDP Server on page 524.
Comments If there is no error, this line is ignored. This is a program command that is preceded by a line number.
P1012728-004
6/8/10
557
Applicator Functions
The printer applicator port option can be controlled in part or completely by ZBI 2. When ZBI takes control of a pin, the printers built-in applicator functionality will not have access to that pin. This function will allow the printer to perform some of the functionality that a programmable logic controller (PLC) could. AUXPORT_STEALPIN Takes control of a pin and allows ZBI to perform other actions on the pin. AUXPORT_SETPIN Sets the output level on an applicator pin. AUXPORT_GETPIN Retrieves the state of the applicator pin. AUXPORT_RELEASEPIN Returns a pin controlled by ZBI to normal printer operation.
6/8/10
P1012728-004
558
AUXPORT_STEALPIN
Description This function will take control of a pin and allow ZBI to perform other actions on the pin. Format AUXPORT_STEALPIN(X) Parameters X = perform action on this applicator port pin. Returns This function returns -1 upon failure and 0 upon success.
P1012728-004
6/8/10
559
1 REM Demo applicator to show control of applicator pins 1 REM on the printer 1 REM The application is to create a light pole with an 1 REM external feed button AUTONUM 1,1 LET RED = 9 LET YELLOW = 10 LET GREEN = 11 LET BUTTON = 4 LET FEED_KEY = 3 LET TMP = AUXPORT_STEALPIN(RED) LET TMP = AUXPORT_STEALPIN(YELLOW) LET TMP = AUXPORT_STEALPIN(GREEN) LET TMP = AUXPORT_STEALPIN(BUTTON) DO WHILE 1 = 1 SLEEP 1 IF ISERROR = 1 THEN LET TMP = AUXPORT_SETPIN(RED,1) LET TMP = AUXPORT_SETPIN(YELLOW,0) LET TMP = AUXPORT_SETPIN(GREEN,0) ELSE IF ISWARNING = 1 THEN LET TMP = AUXPORT_SETPIN(RED,0) LET TMP = AUXPORT_SETPIN(YELLOW,1) LET TMP = AUXPORT_SETPIN(GREEN,0) ELSE LET TMP = AUXPORT_SETPIN(RED,0) LET TMP = AUXPORT_SETPIN(YELLOW,0) LET TMP = AUXPORT_SETPIN(GREEN,1) END IF IF AUXPORT_GETPIN(BUTTON) = 1 THEN LET A = TRIGGEREVENT(FEED_KEY) END IF LOOP
Comments If this pin is not controlled via ZBI (power pin), this function will return -1.
6/8/10
P1012728-004
560
AUXPORT_SETPIN
Description This function sets the output level on an applicator pin.
Format AUXPORT_SETPIN(X,Y) Parameters X = perform action on this applicator port pin. Y = The value to set on the pin (1 = high, 0 = low). Returns This function returns -1 upon failure and 0 upon success.
Example See AUXPORT_STEALPIN on page 558.
Comments If this pin is not controlled via ZBI (power pin), this function will return -1. See AUXPORT_STEALPIN on page 558.
P1012728-004
6/8/10
561
AUXPORT_GETPIN
Description This function will retrieve the state of the applicator pin.
Format AUXPORT_GETPIN(X) Parameters X = perform action on this applicator port pin. Returns This function returns 1 if pin is in high state, 0 in low state, and -1 upon failure.
Example See AUXPORT_STEALPIN on page 558.
Comments If this pin is not controlled via ZBI (power pin), this function will return -1. See AUXPORT_STEALPIN on page 558.
6/8/10
P1012728-004
562
AUXPORT_RELEASEPIN
Description This function returns a pin controlled by ZBI to normal printer operation.
Format AUXPORT_RELEASEPIN(X) Parameters X = perform action on this applicator port pin. Returns This function returns -1 upon failure and 0 upon success.
Example This is an example of the AUXPORT_RELEASEPIN command:
P1012728-004
6/8/10
563
String Functions
This section identifies how to handle string manipulation. Here is a quick list of these commands: LCASE$ Converts a string to all lowercase characters. CHR$ Takes a value between 0 and 255 and puts that value into a string. LTRIM$ Removes leading spaces from a string. REPEAT$ Creates multiple copies of a string combined into a new string. RTRIM$ Returns a string with trailing spaces removed SPLIT Splits a string into sub-strings SPLITCOUNT Returns the number of sub-strings that would be returned by the SPLIT function. UCASE$ Converts a string to all uppercase characters EXTRACT$ Searches for a string based on a starting and ending string. ORD Returns the ASCII value of the first character of string A$. POS Returns the location of the first occurrence of a search string in the target string. LEN Returns the length of a string.
6/8/10
P1012728-004
564
LCASE$
Description This function will convert a string to all lowercase characters. Format LCASE$ (A$) Parameters (A$) = the string that will be converted Returns The characters in A$ converted to lowercase.
Example This is an example of how to use the LCASE$ command.
P1012728-004
6/8/10
565
CHR$
Description This function takes a value between 0 and 255 and puts that value into a string. Format CHR$(VAL) Parameters (VAL)= The numeric value of the string character. Returns A single character string containing the value entered.
Example This is an example of how to use the CHR$ command to easily put control characters into strings:
6/8/10
P1012728-004
566
LTRIM$
Description This function removes leading spaces from a string. Format LTRIM$(A$) Parameters (A$) = the string to convert. Returns The string in A$ with no spaces.
Example This is an example of how to use the LTRIM$(A$)command:
P1012728-004
6/8/10
567
REPEAT$
Description This function creates multiple copies of a string combined into a new string. Format REPEAT$(A$,M) Parameters A$ = the base string to duplicate M = the number of times to duplicate A$ Returns A string containing M copies of A$. Note: When M=0, an empty string is returned.
Example This is an example of how to use the REPEAT$(A$,M)command:
6/8/10
P1012728-004
568
RTRIM$
Description This function returns a string with trailing spaces removed. Format RTRIM$(A$) Parameters (A$) = the base string Returns A$ with trailing spaces removed.
Example This is an example of how to use the RTRIM$(A$)command:
10 LET A$="Hello " 20 LET B$="World" 30 PRINT A$ & B$ 40 PRINT RTRIM$(A$)& B$ RUN Hello World HelloWorld
Comments None
P1012728-004
6/8/10
569
SPLIT
Description This function allows a string to be split into sub-strings
negative value will return every sub-string created by the split. A value of zero will return empty strings in the array. If not specified, the limit will be the maximum size of the array. Returns The number of sub-strings placed into the DEST$ array. If the number of substrings is less than the size of DEST$, the remaining elements of the array will be set to empty strings.
Example This is an example of how to use the SPLIT command:
1 REM Example - This example show how the SPLIT and SPLITCOUNT 1 REM commands can be 1 REM used to merge a comma separated variable string(CSV) 1 REM into a stored format AUTONUM 1,1 SLEEP 10 DECLARE STRING TESTDATA$(5) REM data format = <Format Name>,<VAR 1>,<VAR 2>,...,<VAR N> LET TESTDATA$(1) = "E:PRICETAG.ZPL,FRED'S OATS,$1.25,C:126789:325,123456789" LET TESTDATA$(2) = "E:PRICETAG.ZPL,FRED'S OATS,$2.25,C:126789:325,123456789" LET TESTDATA$(3) = "E:PRICETAG.ZPL,FRED'S OATS,$3.25,C:126789:325,123456789" LET TESTDATA$(4) = "E:PRICETAG.ZPL,FRED'S OATS,$4.25,C:123489:325,123456789" LET TESTDATA$(5) = "E:PRICETAG.ZPL,FRED'S OATS,$5.25,C:123459:325,123456789" LET ZPLPORT = 2 OPEN #ZPLPORT: NAME "ZPL" FOR T = 1 TO 5 LET DATA$ = TESTDATA$(T) GOSUB CSVPRINTER NEXT T END
6/8/10
P1012728-004
570
REM ******* Subroutine CSVPRINTER, expects DATA$ and ZPLPORT **************** SUB CSVPRINTER LET CNT = SPLITCOUNT(DATA$, ",") DECLARE STRING SPLITSTRING$(CNT) ON ERROR GOTO RECOVERY LET CNT = SPLIT(SPLITSTRING$,DATA$,",") PRINT #ZPLPORT: "^XA^XF";SPLITSTRING$(1);"^FS" IF CNT >= 2 THEN FOR I = 2 TO CNT PRINT #ZPLPORT: "^FN";I-1;"^FD";SPLITSTRING$(I);"^FS" NEXT I END IF PRINT #ZPLPORT: "^XZ" SUB RECOVERY RETURN
P1012728-004
6/8/10
571
Comments If the delimiter is an empty string, or does not appear in the SOURCE$ string, the first entry of the array will be the source string and all other elements will be empty strings. When the SPLIT function encounters a delimiter at the beginning or end of the source string, or two delimiters in a row, it populates the corresponding array element with an empty string. If MAXCOUNT is larger than the number of returned sub-strings (N), the last MAXCOUNT - N array elements will be empty strings. If MAXCOUNT is larger than the destination array or is negative, the size of the array will be used as the MAXCOUNT. Therefore, the smallest value among the value of MAXCOUNT, the size of the return array, or the number of sub-strings found determines the maximum number of sub-strings that will be returned. If MAXCOUNT is less than the number of delimiters in a string the last string in the array will hold the end of the string starting from where the last delimiter was found. For example, if SOURCE$ = "one,two,three,four,five", DELIMITER$ = ",", and MAXCOUNT = 2, the output would be two strings: "one" and "two,three,four,five". If a two dimensional array is provided for DEST$, the array will be filled linearly. For example, an array that is 2 x 3 (for example, DELCARE STRING MYARRAY$(2,3)) will be filled from (0,0), then (0,1) up to (2,3).
6/8/10
P1012728-004
572
SPLITCOUNT
Description This function returns the number of sub-strings that would be returned by the SPLIT function. Format SPLITCOUNT(SOURCE$, DELIMITER$) Parameters
SOURCE$ = the string that will be searched for the provided delimiter. DELIMITER$ =5
Returns The number of sub-strings that would be returned by the SPLITCOUNT function.
Example This function shows how to determine the number of sub-strings that the SPLITCOUNT command would produce
10 LET CNT = SPLITCOUNT("ONE,,,FOUR,FIVE,,SEVEN,", ",") 20 PRINT "Number of sub-strings returned is", STR$(CNT) RUN Number of sub-strings returned is 8
Comments None
P1012728-004
6/8/10
573
UCASE$
Description This function converts a string to all uppercase characters. Format UCASE$(A$) Parameters A$ = the base string to convert Returns A$ converted to uppercase.
Example This is an example of how to use the UCASE$(A$)command:
10 LET A$="The Cow jUmped Over THE Moon." 20 LET A$=LCASE$(A$) 30 LET A$(1:1)=UCASE$(A$(1:1)) 40 PRINT A$ RUN The cow jumped over the moon.
Comments This will only convert non-accented Latin characters, a-z.
6/8/10
P1012728-004
574
EXTRACT$
Description This function searches for a string based on a starting and ending string. When these two strings are found, the string between them is returned.
Important If the EXTRACT$ command encounters a carriage return line feed before encountering the beginning character or the ending character, it returns null.
Format EXTRACT$ (CHANNEL, START$, STOP$) EXTRACT$ (A$, START$, STOP$) Parameters CHANNEL = extracts data from this channel A$ = the source string START$ = Once this string is found, the extract pulls characters immediately following. STOP$ = the extraction stops when this string is found
Example This example shows how to extract the word Technologies from this string:
Zebra,Technologies,Corporation.
This is what the program looks like to accomplish this:
Example This example shows how the EXTRACT$ command works from an open port:
Example This example shows how the start and stop points are variable; a variable name is used instead of the literal:
10 LET B$ = "," 20 LET A$ = "Zebra,Technologies,Corporation" 30 LET DATA$ = EXTRACT$(A$,B$,B$) 40 PRINT DATA$ RUN Technologies
P1012728-004
6/8/10
575
Example This example shows how an empty string can be used to extract from the start of
10 LET IN$ = "BLAH BLAH <END>" 20 LET B$ = EXTRACT$(IN$, "", "<END>") 30 PRINT B$ RUN BLAH BLAH
Example This example will use an empty string to extract to the end of a line:
10 LET IN$ = "BLAH <START> THE DATA" 20 LET B$ = EXTRACT$(IN$, "<START>", "") 30 PRINT B$ RUN THE DATA
Comments EXTRACT$ reads in and discards data until the start criteria is met. Then, all data is returned up to the stop criteria.
6/8/10
P1012728-004
576
ORD
Description This function returns the ASCII value of the first character of string A$. Format ORD(A$) Parameters A$ = Input string: only the first character will be used. Returns The ASCII value of the first character.
Example This is an example of how to use the ORD(A$)command:
P1012728-004
6/8/10
577
POS
Description This function returns the location of the first occurrence of a search string in the target string. It can be assigned an index. Format POS(A$,B$) POS(A$,B$,M) Parameters A$ = the target string to search B$ = the search string to find in A$ M = The index to start looking for B$. If omitted, the search will start at the beginning of the string. M must be greater than zero. Returns The location of the string. If the string is not found, this will return 0.
Example This is an example of how to use the POS command:
10 LET A$="Hello World" 20 LET B$="o" 30 PRINT POS(A$,B$) 40 PRINT POS(A$,B$,1) 50 PRINT POS(A$,B$,6) RUN 5 5 8
Comments None
6/8/10
P1012728-004
578
LEN
Description This function returns the length of a string. Format LEN(A$) Parameters A$ = the target string from which to determine the length. Returns The length of the string.
Example This example identifies the length of a string. Hello World is 11 characters, as
follows:
P1012728-004
6/8/10
579
Math Functions
This section identifies how to handle mathematical calculations. Here is a quick list of these commands: STR$ Converts a number to a string. MAX Returns the greater value between two numbers. MIN Returns the smaller value of two numbers. MAXNUM returns the largest number permitted by this machine. MOD Computes the remainder from division. VAL Evaluates the number represented by a string. INTTOHEX$ Takes a numeric value and converts it into a hexadecimal string. HEXTOINT Converts hexadecimal strings to integers.
6/8/10
P1012728-004
580
STR$
Description This function converts a number to a string. Format STR$(X) Parameters X = the number to convert to a string Returns A string representing X.
Example This is an example of how to use the STR$(X)command:
P1012728-004
6/8/10
581
MAX
Description This function returns the greater value between two numbers. Format MAX(X,Y) Parameters X = the first number to compare Y = the second number to compare Returns The greater of X or Y.
Example This is an example of how to use the MAX(X,Y)command:
6/8/10
P1012728-004
582
MIN
Description This function returns the smaller value of two numbers. Format MIN(X,Y) Parameters X = the first number to compare Y = the second number to compare Returns The smaller of X or Y.
Example This is an example of how to use the MIN(X,Y)command:
P1012728-004
6/8/10
583
MAXNUM
Description This function returns the largest number permitted by this machine: 2,147,483,647. Format MAXNUM Parameters N/A Returns The largest number that the NUMERIC type can handle (2,147,483,647).
Example This is an example of how to use the MAXNUM command:
6/8/10
P1012728-004
584
MOD
Description This function computes the remainder from division. (This is known as the modulus.) Format MOD(X,Y) Parameters X = the value to be modulated (numerator). Y = the base number or divisor (denominator). Returns The remainder of the division (X/Y).
Example This is an example of how to use the MOD(X,Y)command:
10 PRINT MOD(25,10) 20 PRINT MOD(2,1) 30 PRINT MOD(3,2) 40 PRINT MOD(9,2) 50 PRINT MOD(-2,9) 60 PRINT MOD(2,0) RUN 5 0 1 1 -2 ERROR OCCURRED ON LINE 60:DIVIDE BY ZERO
Comments None
P1012728-004
6/8/10
585
VAL
Description This function evaluates the number represented by a string. Format VAL(A$) Parameters A$ = This is the input string to pull the number from. Non-numbers are ignored. Returns The numeric representation of the string.
Example This is an example of how to use the VAL(A$)command:
10 LET A$="123" 20 LET C=VAL(A$) 30 PRINT C RUN 123 PRINT VAL("321A123") 321123
Comments None
6/8/10
P1012728-004
586
INTTOHEX$
Description This function will take a numeric value and convert it into a hexadecimal string. The range of values for integers is: -2,147,483,648 to +2,147,483,647 Format INTTOHEX$(A) Parameters A = The numeric value to convert. Returns A string representing the integer in hex.
Example These print statements show the output of the INTTOHEX$ function given
different values.
PRINT INTTOHEX$(1) 1 PRINT INTTOHEX$(10) A PRINT INTTOHEX$(16) 10 PRINT INTTOHEX$(20) 14 PRINT INTTOHEX$(30) 1E PRINT INTTOHEX$(100) 64 PRINT INTTOHEX$(123124) 1EOF4 PRINT INTTOHEX$(-5) 0 PRINT INTTOHEX$(-99) 0
Comments Negative values will be returned as 0.
P1012728-004
6/8/10
587
HEXTOINT
Description This function will convert hexadecimal strings to integers.
Format HEXTOINT(A$) Parameters A$ = The hex string to convert. Returns A integer string computed from the hexadecimal string.
Example These print statements show the output of the INTTOHEX function given
different values.
PRINT HEXTOINT("0") 0 PRINT HEXTOINT("A") 10 PRINT HEXTOINT("a") 10 PRINT HEXTOINT("1A") 26 PRINT HEXTOINT("10") 16 PRINT HEXTOINT("AaAa") 43690 PRINT HEXTOINT("AAAA") 43690 PRINT HEXTOINT("-1") 0 PRINT HEXTOINT("-A") 0
Comments Negative values will be returned as 0.
6/8/10
P1012728-004
588
Array Functions
This section describes the functions to search, resize, and query arrays. REDIM Changes the size of an array. INSERTROW Inserts a new row into an existing array. DELROW Deletes a new row from an existing array ROWSIZE Returns the number of rows in an array. COLUMNSIZE Returns the number of columns in an array. FIND Searches a string array for an occurrence of a sub-string.
P1012728-004
6/8/10
589
REDIM
Description This command will change the dimensions of an array.
Format
<SIZE> = new number of entries in a single dimension array. <ROWS> = new number of rows in a two dimensional array. <COLUMNS> = new number of columns in a two dimensional array.
Example This example shows how to change a one dimensional numeric array.
10 20 30 40 50
DECLARE NUMERIC SCORES(3) LET SCORES(1) = 85 LET SCORES(2) = 92 LET SCORES(3) = 98 REDIM SCORES(2) ! Discard the last one
Example This example shows how to change a two dimensional string array.
10 20 30 40 50 60 70 80
DECLARE STRING NAMEAGES$(3,2) LET NAMEAGES$(1,1) = "Abraham" LET NAMEAGES$(1,2) = "Lincoln" LET NAMEAGES$(2,1) = "Dwight" LET NAMEAGES$(2,2) = "Eisenhower" LET NAMEAGES$(3,1) = "Theodore" LET NAMEAGES$(3,2) = "Roosevelt" REDIM NAMEAGES$(5,2) ! Make room for more
Comments The REDIM must have the same number of dimensions as the original declaration of the array. If the array has two dimensions, the second array bound cannot change. It must have the same value as the original declaration. If REDIM makes an array smaller, elements (or rows, for a two dimensional array) at the end of the array are discarded.
6/8/10
P1012728-004
590
If REDIM makes an array larger, elements (or rows) are added at the end of the array, and initialized as they would be with a DECLARE. This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number.
P1012728-004
6/8/10
591
INSERTROW
Description This command will insert a new row into an existing array.
Format INSERTROW (<ARRAYNAME>, <INDEX>) Parameters <ARRAYNAME> = array where the row will be inserted <INDEX> = index of the row in the array that the new row will be inserted before
Example This example shows how to insert a row into the middle of an array.
10 20 30 40 50 60
DECLARE NUMERIC SCORES(3) LET SCORES(1) = 85 LET SCORES(2) = 92 LET SCORES(3) = 98 INSERTROW(SCORES, 2) LET SCORES(2) = 100
Example This example shows how to add a row into the end of an array.
10 20 30 40 50 60
DECLARE NUMERIC SCORES(3) LET SCORES(1) = 85 LET SCORES(2) = 92 LET SCORES(3) = 98 INSERTROW(SCORES, 4) LET SCORES(4) = 100
Comments Inserting a row increases the size of the array by one row, and moves all the rows from INDEX to the end of the array up one row, leaving an empty row at position INDEX. INDEX cannot be any larger the number of rows in the array plus one. If the number of rows plus one is provided, the new row will be added to the end of the array. This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number.
6/8/10
P1012728-004
592
DELROW
Description This command will delete a row from an existing array.
Format DELROW (<ARRAYNAME>, <INDEX>) Parameters <ARRAYNAME> = the array where the row will be deleted <INDEX> = index of the row to delete from the array
Example This example shows how to delete a row from the middle of an array.
10 20 30 40 50 60 70
DECLARE NUMERIC SCORES(5) LET SCORES(1) = 85 LET SCORES(2) = 92 LET SCORES(3) = 98 LET SCORES(4) = 45 LET SCORES(5) = 100 DELROW(SCORES, 4) ! Remove the low score
Comments This decreases the size of A by one row, and moves all the rows from INDEX to the end of the array down by one, overwriting the row at position INDEX. INDEX cannot be any larger the number of rows in the array. If the array only has one row, that row may not be deleted. This can be an interactive command that takes effect as soon as it is received by the printer, or a program command that is preceded by a line number.
P1012728-004
6/8/10
593
ROWSIZE
Description This function will return the number of rows in an array.
Format
ROWSIZE(A) ROWSIZE(A$)
Parameters
A = integer array to query for the number of rows. A$ = string array to query for the number of rows.
Returns Returns a 0 if the variable is not an array. Returns the number of elements in the array if the array has only one dimension. Returns the size of the first dimension if the array has two dimensions.
Example This example shows how to determine the number of elements in a one
10 DECLARE STRING NAMES$(3) 20 LET NAMES$(1) = "Fred" 30 LET NAMES$(2) = "Wilma" 40 LET NAMES$(3) = "Barney" 50 REDIM NAMES$(4) ! Make room for Betty 60 LET NAMES$(4) = "Betty" 70 LET NUMOFNAMES = ROWSIZE(NAMES$) 80 PRINT NUMOFNAMES
Example This example shows how to determine the number of rows in a two dimensional
numeric array.
10 DECLARE NUMERIC SQROFTWOLOOKUP(3,2) 20 LET SQROFTWOLOOKUP (1,1) = 1 30 LET SQROFTWOLOOKUP (1,2) = 2 40 LET SQROFTWOLOOKUP (2,1) = 2 50 LET SQROFTWOLOOKUP (2,2) = 4 60 LET SQROFTWOLOOKUP (3,1) = 3 70 LET SQROFTWOLOOKUP (3,2) = 8 80 LET NUMOFSQRS = ROWSIZE(SQROFTWOLOOKUP) 90 PRINT NUMOFSQRS
6/8/10
P1012728-004
594
COLUMNSIZE
Description This function will return the number of columns in an array.
Format
COLUMNSIZE(A) COLUMNSIZE(A$)
Parameters
A = integer array to query for the number of columns. A$ = string array to query for the number of columns.
Returns A 0 if the variable is not an array. Returns 1 if the array has only one dimension. Returns the size of the second dimension if the array has two dimensions.
Example This example shows how to determine the number of elements in a one
10 DECLARE STRING NAMES$(3) 20 LET NAMES$(1) = "Fred" 30 LET NAMES$(2) = "Wilma" 40 LET NAMES$(3) = "Barney" 50 REDIM NAMES$(4) ! Make room for Betty 60 LET NAMES$(4) = "Betty" 70 LET NUMOFCOLS = COLUMNSIZE(NAMES$) 80 PRINT NUMOFCOLS
Example This example shows how to determine the number of columns in a two
10 DECLARE NUMERIC SQROFTWOLOOKUP(3,2) 20 LET SQROFTWOLOOKUP (1,1) = 1 30 LET SQROFTWOLOOKUP (1,2) = 2 40 LET SQROFTWOLOOKUP (2,1) = 2 50 LET SQROFTWOLOOKUP (2,2) = 4 60 LET SQROFTWOLOOKUP (3,1) = 3 70 LET SQROFTWOLOOKUP (3,2) = 8 80 LET COLCNT = COLUMNSIZE(SQROFTWOLOOKUP) 90 PRINT COLCNT
P1012728-004
6/8/10
595
FIND
Description This function will find an element of a string array that contains an identified search string. Format
FIND(A$, B$) FIND(A$, B$, START) FIND(A$, COLUMN, B$) FIND(A$, COLUMN, B$, START)
Parameters
A$ = string array to search for B$. B$ = string to search for within A$. START = index within a single dimensional array, or row for a two dimensional array, to start the search. COLUMN = column to isolate search to in a two dimensional array. This must be supplied if A$ is a two dimensional array.
Returns Returns a 0 if B$ is not found or if there was an error. Otherwise, returns the index that contains the first occurrence of the string B$ (the element index for one dimensional arrays, the row for two dimensional arrays).
Example This example shows how to find a string in a one dimensional array.
10 DECLARE STRING NAMES$(4) 20 LET NAMES$(1) = "Fred" 30 LET NAMES$(2) = "Wilma" 40 LET NAMES$(3) = "Barney" 50 LET NAMES$(4) = "Betty" 60 LET BARNEYIX = FIND(NAMES$, "Bar") 70 PRINT "Found Barney in element "; STR$(BARNEYIX)
6/8/10
P1012728-004
596
Example This example shows how to find a string that occurs more than once in a two dimensional array.
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 DECLARE STRING CLOTHING$(5,2) LET TYPECOL = 1 LET MATERIALCOL = 2 LET CLOTHING$(1,1) = "Gloves" LET CLOTHING$(1,2) = "Knit" LET CLOTHING$(2,1) = "Pants" LET CLOTHING$(2,2) = "Cotton" LET CLOTHING$(3,1) = "Gloves" LET CLOTHING$(3,2) = "Leather" LET CLOTHING$(4,2) = "Shirts" LET CLOTHING$(4,2) = "Polyester" LET CLOTHING$(5,2) = "Pants" LET CLOTHING$(5,2) = "Denim" LET GLOVEIX = 1 DO LET GLOVEIX = FIND(CLOTHING$, TYPECOL, "Gloves", GLOVEIX) IF NOT GLOVEIX = 0 THEN PRINT CLOTHING$(GLOVEIX, MATERIALCOL), "gloves are available" LET GLOVEIX = GLOVEIX + 1 END IF LOOP WHILE NOT GLOVEIX = 0
Comments COLUMN must be greater than 0. If START is given, it must be greater than 0. FIND will match the first occurrence of B$, even if it is a substring of a string within the A$ array. For example, Coat will be found in both locations 1 and 4.
5 DECLARE STRING A$(5) 10 LET A$(1) = Over Coat 20 LET A$(2) = Hat 30 LET A$(3) = Jacket 40 LET A$(4) = Coat 50 LET A$(5) = Boots
If an exact match is needed, FIND should be called until 0 is returned or the item is found and confirmed. To confirm, check the item against the expected item, it should match exactly. See CSV Program on page 607 for an example showing how to do this.
P1012728-004
6/8/10
597
6/8/10
P1012728-004
598
DATE$
Description This function returns the date as a string. Format DATE$ Parameters N/A Returns The current date in string form YYYYMMDD. If the Real-Time Clock is not installed, an empty string is returned.
Example This is an example of how to use the DATE$ command:
20030101
Example This is another example of the DATE$ command used with the sub-string operator to get the day of the month:
10 LET A$=DATE$(7:8) 20 IF A$ <> DATE$(7:8) 30 LET A$=DATE$(7:8) 40 IF A$="01" 50 PRINT "IT IS THE FIRST OF THE MONTH" 60 END IF 70 END IF 80 SLEEP 100 90 GOTO 20
Comments None
P1012728-004
6/8/10
599
TIME$
Description This function returns the current time in a string. Format TIME$ Parameters N/A Returns This function returns the time of day in format HH:MM:SS (hours:minutes:seconds). If the Real-Time Clock is not installed, an empty string is returned.
Example This is an example of how to use the TIME$command:
6/8/10
P1012728-004
600
DATE
Description This function gets the current date as a number. Format DATE Parameters N/A Returns This function returns the current date in YYYYDDD format, where YYYY is the year and DDD is the number of days since the beginning of the year. If the Real-Time Clock is not installed, 0 is returned.
Example This example assumes the current date is January 1, 2003:
P1012728-004
6/8/10
601
TIME
Description This function gets the current time as a number. Format TIME Parameters N/A Returns This function returns the time past midnight (2400h) in seconds. If the Real-Time Clock is not installed, 0 is returned. This is an example of how to use the TIME command [assuming the time is one minute past midnight]:
Example
6/8/10
P1012728-004
602
Set/Get/Do Interactions
The printers Set/Get/Do data can be directly accessed via ZBI. For a complete listing of what can be accessed, see SGD Printer Commands on page 627, or type the following: ! U1 getvar "allcv" Heres a quick list of these commands: SETVAR Allows the direct setting of printer parameters. GETVAR$ Retrieves printer parameters.
P1012728-004
6/8/10
603
SETVAR
Description SETVAR allows the direct setting of printer parameters.
Format SETVAR (PARAM$, VALUE$) Parameters PARAM$ = The printer parameter to set. VALUE$ = the value to set Returns Parameter dependent.
Example This is an example of the SETVAR command:
AUTONUM 1,1 LET OUTSTR$ = "Processing" LET LOOPCTR = 200 LET TIMER5 = 17 LET TMP = REGISTEREVENT(TIMER5, 0, 1000) DO WHILE LOOPCTR > 0 LET EVT = HANDLEEVENT() IF EVT = TIMER5 THEN LET A = SETVAR("device.frontpanel.line2",OUTSTR$) LET OUTSTR$ = OUTSTR$ & "." IF LEN(OUTSTR$) >16 THEN LET OUTSTR$ = "Processing" END IF END IF LET LOOPCTR = LOOPCTR - 1 SLEEP 1 LOOP LET TMP = UNREGISTEREVENT(TIMER5) LET A = SETVAR("device.frontpanel.line2","") END
Comments None
6/8/10
P1012728-004
604
GETVAR$
Description This function retrieves printer parameters.
Format GETVAR$ (PARAM$) Parameters PARAM$ = the printer parameter to get. Returns The value of the parameter. Refer to SGD Printer Commands on page 627 for specific parameters.
Example This is an example of the GETVAR$ command:
AUTONUM 1,1 LET SGDCOUNT = 7 DECLARE STRING SGDQUERY$(2,SGDCOUNT) LET SGDQUERY$(1,1) = "appl.name" LET SGDQUERY$(1,2) = "device.printhead.serialnum" LET SGDQUERY$(1,3) = "internal_wired.ip.addr" LET SGDQUERY$(1,4) = "internal_wired.ip.netmask" LET SGDQUERY$(1,5) = "internal_wired.ip.gateway" LET SGDQUERY$(1,6) = "internal_wired.ip.port" LET SGDQUERY$(1,7) = "internal_wired.mac_addr" FOR I = 1 TO SGDCOUNT LET SGDQUERY$(2,I) = GETVAR$(SGDQUERY$(1,I)) NEXT I OPEN #1: NAME "ZPL" PRINT #1: "^XA" FOR I = 1 TO SGDCOUNT PRINT #1: "^FO50,";50*I;"^A0N,25,25^FD";SGDQUERY$(1,I);"="; PRINT #1: SGDQUERY$(2,I);"^FS" NEXT I PRINT #1: "^XZ"
Comments None
P1012728-004
6/8/10
605
Example Programs
The next section provides example programs of common tasks using ZBI commands. These programs are also available for download at: http://www.zebra.com/zbi
Array Program
This program prompts a user to enter first a name; when it is entered, it is added to an array of all names entered. The user is them prompted to enter an address, which is then added to an array of all addresses entered. After the user enters a total or five names and addresses, the program uses the arrays to print the entered data on five labels.
Example This is an example of Array
1 rem ******************************************************** 1 rem Zebra Technologies ZBI Sample Program 1 rem 1 rem Professional programming services are available. Please contact 1 rem ZBI-Experts@zebra.com for more information. 1 rem 1 rem This is an example of using arrays to store and use data within 1 rem ZBI. 1 rem ******************************************************** 1 rem close all ports except for the console 1 rem********************************************************* 10 for i = 1 to 9 step 1 20 close #i 30 next i 1 rem ******************************************************** 1 rem open a port to the print engine 1 rem ****************************************************** 40 open #1: name "ZPL" 1 rem ******************************************************** 1 rem create string arrays five elements in size to hold names and 1 rem addresses 1 rem ******************************************************** 50 declare string name$(5) 60 declare string address$(5) 1 rem ******************************************************** 1 rem infinite loop to put name and address data from console into 1 rem arrays 1 rem ********************************************************
6/8/10
P1012728-004
606
70 do 80 for i = 1 to 5 step 1 90 print "PLEASE ENTER THE NAME" 1 rem ******************************************************** 1 rem get data from console; input command looks for CRLF 1 rem ******************************************************** 100 input name$(i) 1 rem ******************************************************** 1 rem if the user inputs end or END, the program will end 1 rem ******************************************************** 110 if name$(i) = "END" or name$(i) = "end" then 120 end 130 end if 140 print "PLEASE ENTER THE ADDRESS" 150 input address$(i) 160 if address$(i) = "END" or address$(i) = "end" then 170 end 180 end if 190 next i 200 for index = 1 to 5 step 1 ! For loop To Print data no label 1 rem ******************************************************** 1 rem semicolon at the end prints with no CRLF 1 rem ******************************************************** 210 print #1: "^XA^FO30,30^A0N,30,30^FD"&NAME$(INDEX)&"^FS"; 1 rem ******************************************************** 1 rem ampersand used to concatenate data into strings 1 rem ******************************************************** 220 print #1: "^FO30,70^A0N,30,30^FD"&ADDRESS$(INDEX)&"^FS^XZ" 230 next index 240 loop ! loops back To Line 60 250 end
P1012728-004
6/8/10
607
CSV Program
The following program will initialize and then execute continuously, repeating the same series of operations; process events, read input from the serial port, write any processed data out to the ZPL port, and then process the data read from the serial port. The program first loads the CSV database E:PRODUCTS.CSV (in PROGRAMINIT subroutine). Then, data read from the serial port is compared against the first column in the database. If an entry is found in the first column of a row (in FINDITEM subroutine), the data for the respective row is inserted into the ZPL format E:PRICELBL.ZPL and printed on a label.
Example This is an example of a CSV program.
1 REM SUBROUTINES BELOW.... 2 REM 3 REM ************************************************************************ 4 REM MAIN LOOP - DO NOT MODIFY 5 REM ************************************************************************ 6 REM 7 GOSUB PROGRAMINIT 8 DO WHILE 1 = 1 9 GOSUB PROCESSEVENTS 10 GOSUB GETINPUT 11 GOSUB WRITEOUTPUT 12 GOSUB PROCESSDATA 13 LOOP 14 REM SUBROUTINES BELOW.... 15 REM 16 REM ************************************************************************ 17 REM Program Init 18 REM ************************************************************************ 19 REM 20 SUB PROGRAMINIT 21 LET INPORT = 1 22 LET OUTPORT = 2 23 LET ENDLINE$ = CHR$ ( 13 ) & CHR$ ( 10 ) 24 OPEN # INPORT : NAME "SER" 25 OPEN # OUTPORT : NAME "ZPL" 26 DECLARE STRING DATABASE$ ( 1 , 1 ) 27 LET COLUMNCOUNT = CSVLOAD ( DATABASE$ , "E:PRODUCTS.CSV" ) 28 LET OUTDATA$ = "TABLE WITH " & STR$ ( COLUMNCOUNT ) & " COLUMNS LOADED" & ENDLINE$ 29 RETURN 30 REM 31 REM
6/8/10
P1012728-004
608
P1012728-004
6/8/10
609
6/8/10
P1012728-004
610
P1012728-004
6/8/10
611
6/8/10
P1012728-004
612
1 rem ******************************************************* 1 rem search for the parameters 1 rem ******************************************************* 300 do 310 let in$ = searchto$(1, find$, 2) 1 rem ******************************************************** 1 rem once a parameter is found, determine how to handle it 1 rem ******************************************************** 320 if in$ = "^FO" or in$ = "FO" then 330 gosub 520 340 else if in$ = "^LH" or in$ = "LH" then 350 gosub 520 360 else if in$ = "^A0" or in$ = "A0" then 370 gosub 700 380 else if in$ = "^A@" or in$ = "A@" then 390 gosub 700 400 else if in$ = "^GB" or in$ = "GB" then 410 gosub 1100 420 else if in$ = "^LL" then 430 gosub 1300 440 else if in$ = "^BY" or in$ = "BY" then 450 gosub 1400 460 else if in$ = "^B3" or in$ = "B3" then 470 gosub 1600 480 else if in$ = "^XZ" then 490 print #2: in$; 500 end if 510 loop 1 rem ******************************************************** 1 rem convert the ^FO and ^LH commands from 200 to 300 dpi 1 rem ******************************************************** 520 inbyte #1: a$ 530 let a = ord(a$) 540 if a >= 65 then 550 print #2: in$&a$; 560 goto 660 570 end if 580 let x$ = extract$(1, "", ", ") 590 let x2$ = a$&x$ 600 let y$ = extract$(1, "", "^") 610 let x = val(x2$) 620 let y = val(y$) 630 let x2 = (x/2)+x 640 let y2 = (y/2)+y 650 print #2: in$; x2; ","; y2; "^"; 660 return
P1012728-004
6/8/10
613
1 rem ******************************************************** 1 rem convert the ^A0 and ^A@ commands from 200 to 300 dpi 1 rem ******************************************************** 700 inbyte #1: a$ 710 let a = ord(a$) 720 let b = 0 730 let c = 0 740 if a >= 65 then 750 print #2: in$&a$; ","; 760 let b = 1 770 end if 780 inbyte #1: a$ 790 let h$ = extract$(1, "", ",") 800 if in$ = "^A@" or in$ = "A@" then 810 let c = 1 820 let w$ = extract$(1, "", ",") 830 let m$ = extract$(1, "", "^") 840 else 850 let w$ = extract$(1, "", "^") 860 end if 870 let h = val(h$) 880 let w = val(w$) 900 let h2 = (h/2) + h 910 let w2 = (w/2) + w 920 if b = 1 then 930 print #2: h2; ","; w2; 940 else 950 print #2: in$&"N,"; h2; ","; w2; 960 end if 970 if c = 1 then 980 print #2: ","; m$; 990 end if 1000 print #2: "^"; 1010 return 1 rem ******************************************************** 1 rem convert the ^GB command from 200 to 300 dpi 1 rem ******************************************************** 1020 let w$ = extract$(1, "", ",") 1030 let h$ = extract$(1, "", ",") 1040 let t$ = extract$(1, "", "^") 1050 let h = val(h$) 1060 let w = val(w$) 1070 let t = val(t$) 1080 let h2 = (h/2)+ h 1090 let w2 = (w/2)+ w 1100 let t2 = (t/2)+ t 1110 print #2: in$; w2; ","; h2; ","; t2; "^"; 1120 return
6/8/10
P1012728-004
614
1 rem ******************************************************** 1 rem convert the ^LL command from 200 to 300 dpi 1 rem ******************************************************** 1300 let l$ = extract$(1, "", "^") 1310 let l = VAL(l$) 1320 let l2 = (l/2) + l 1330 print #2: in$; l2; "^"; 1340 return 1 rem ******************************************************** 1 rem convert the ^BY command from 200 to 300 dpi 1 rem ******************************************************** 1400 inbyte #1: a$ 1410 let a = ord(a$) 1420 if a >= 48 and a <= 57 then 1460 let x$ = extract$(1, "", ", ") 1470 let x2$ = a$&x$ 1480 let x = val(x2$) 1490 let x2 = (x/2) + x 1500 if x2 > 10 then 1510 let x2 = 10 1520 end if 1530 print #2: in$; x2; ","; 1540 else 1550 print #2: in$; a$; 1560 end if 1570 return 1 rem ******************************************************** 1 rem convert the ^B3 command from 200 to 300 dpi 1 rem ******************************************************** 1600 let o$ = extract$(1, "", ", ") 1610 let e$ = extract$(1, "", ", ") 1620 let h$ = extract$(1, "", ", ") 1630 let h = val(h$) 1640 let h2 = (h/2) + h 1650 print #2: in$; o$; ","; e$; ","; h2; ","; 1660 return
P1012728-004
6/8/10
615
Email Program
This program sends a simple email message to user@domain.com, assuming a valid email server is set up by identifying the SMTP server on the print server. In order to write email via ZBI, the port written to must be named "EML".
Example This is an example of email
1 rem ************************************************** 1 rem Zebra Technologies ZBI Sample Program 1 rem 1 rem Professional programming services are available. Please contact 1 rem ZBI-Experts@zebra.com for more information. 1 rem 1 rem This is an example of connecting to an email server to send 1 rem email. 1 rem ************************************************** 1 rem EOT$ is the special character used to denote end of transmission 1 rem ************************************************** 5 let EOT$ = chr$(4) 1 rem ************************************************** 1 rem Open a connection to the email port; if there is an error, try 1 rem again 1 rem ************************************************** 10 open #1: name "EML" 15 on error goto 10 1 rem ************************************************** 1 rem Specify address to send message to, signal end of recipients 1 rem with EOT$ 1 rem Note: To send to multiple addressees, separate addressees with 1 rem a space 1 rem ************************************************** 20 print #1: "user@domain.com";EOT$; 1 rem ************************************************** 1 rem Fill in the message information 1 rem ************************************************** 30 print #1: "From: Sample User" 40 print #1: "To: Recipient" 50 print #1: "Subject: This is a test" 60 print #1: "" 70 print #1: "Hello!" 80 print #1: i 1 rem ************************************************** 1 rem Terminate message 1 rem ************************************************** 90 print #1: "";EOT$
6/8/10
P1012728-004
616
1 rem ************************************************** 1 rem Close the port, since each open port is only good for sending 1 rem one message 1 rem ************************************************** 100 close #1 110 sleep 2 120 let i = i + 1 130 goto 10
P1012728-004
6/8/10
617
Extraction 1 Program
This program finds and stores data of interest, which in this case is found in a format after the string "DATA = ". The extract command is used to get the data from the input stream, and it is inserted into a simple ZPL format to be printed.
Example This is an example of Extraction 1.
1 rem ************************************************** 1 rem Zebra Technologies ZBI Sample Program 1 rem 1 rem Professional programming services are available. Please contact 1 rem ZBI-Experts@zebra.com for more information. 1 rem 1 rem This is an example of using ZBI for data extraction. 1 rem There are two methods for doing extraction; this example shows 1 rem data extraction using a string. 1 rem 1 rem The data to extract is as follows: 1 rem START 1 rem DATA = "hello": 1 rem DATA = "goodbye": 1 rem END 1 rem ************************************************** 1 rem close ports except console, open channels to parallel and serial 1 rem ports 1 rem ************************************************** 05 for i = 1 to 9 step 1 10 close #i 20 next i 30 open #1: name "PAR" 40 open #2: name "ZPL" 1 rem ************************************************** 1 rem create string array to hold data 1 rem ************************************************** 50 declare string format$(3) 60 let format$(1) = "START" 70 let format$(2) = "END" 80 let format$(3) = "DATA" 1 rem ************************************************** 1 rem main program; look for "START" keyword, if found print ^XA to ZPL port 1 rem ************************************************** 90 do 100 let begin$ = searchto$(1,format$,2) 110 if begin$ = "START" then 120 print #2: "^XA";
6/8/10
P1012728-004
618
1 rem ************************************************** 1 rem if "DATA" keyword is found, get two data strings 1 rem ************************************************** 130 else if begin$ = "DATA" then 140 input #1: data_string1$ 150 input #1: data_string2$ 1 rem ************************************************** 1 rem get data from between quotes and print to ZPL port with formatting 1 rem ************************************************** 160 let extracted_data1$ = extract$(data_string1$,"""","""") 170 let extracted_data2$ = extract$(data_string2$,"""","""") 180 print #2:"^FO30,30^A0N,30,30^FD"&extracted_data1$&"^FS"; 190 print #2:"^FO30,70^A0N,30,30^FD"&extracted_data2$&"^FS"; 200 else if begin$ = "END" then 210 print #2: "^XZ" 220 end if 230 loop
P1012728-004
6/8/10
619
Extraction 2 Program
This program finds and stores data of interest, which in this case is found in a format after the string "DATA = ". The input command is used to get the data from the input stream, and it is inserted into a simple ZPL format to be printed.
Example This is an example of Extraction 2.
1 rem****************************************************** 1 rem Zebra Technologies ZBI Sample Program 1 rem 1 rem Professional programming services are available. Please contact 1 rem ZBI-Experts@zebra.com for more information. 1 rem 1 rem This is an example of using ZBI for data extraction. 1 rem There are two methods for doing extraction; this example shows 1 rem data extraction from the port directly. 1 rem 1 rem The data to extract is as follows: 1 rem START 1 rem DATA = "hello": 1 rem DATA = "goodbye": 1 rem END 1 rem****************************************************** 1 rem close ports except console, open channels to parallel and serial ports 1 rem****************************************************** 05 for i = 1 to 9 step 1 10 close #i 20 next i 30 open #1: name "PAR" 40 open #2: name "ZPL" 1 rem****************************************************** 1 rem create string array to hold data 1 rem*******quotes and print to ZPL port with formatting 1 rem*************************************************** 50 declare string format$(3) 60 let format$(1) = "START" 70 let format$(2) = "END" 80 let format$(3) = "DATA" 1 rem****************************************************** 1 rem main program; look for "START" keyword, if found print ^XA to ZPL port 1 rem******************************************************
6/8/10
P1012728-004
620
90 do 100 let begin$ = searchto$(1, format$, 2) 110 if begin$ = "START" then 120 print #2: "^XA"; 1 rem****************************************************** 1 rem if "DATA" keyword is found, get two data strings 1 rem****************************************************** 130 else if begin$ = "DATA" then 1 rem*************************************************** 1 rem get data from between q 140 let extracted_data1$ = extract$(1,"""","""") 150 input #1: junk$ 170 let extracted_data2$ = extract$(1,"""","""") 180 print #2:"^FO30,30^A0N,30,30^FD" &extracted_data1$& "^FS"; 190 print #2:"^FO30,70^A0N,30,30^FD" &extracted_data2$& "^FS"; 200 else if begin$ = "END" then 210 print #2: "^XZ" 220 end if 230 loop
P1012728-004
6/8/10
621
6/8/10
P1012728-004
622
GOSUB SHOWMENU ELSE IF EVT = MINUSKEY THEN LET INDEX = INDEX - 1 IF INDEX < 1 THEN LET INDEX = 5 END IF GOSUB SHOWMENU ELSE IF EVT = EXITKEY THEN GOSUB RELEASEKEYS GOSUB HIDEMENU GOTO NORMALLOOP END IF SLEEP 1 LOOP REM ******** SUBROUTINE SHOWMENU *** SUB SHOWMENU LET LINE1$ = "FEED DISPLAY" LET LINE2$ = OPTIONS$(INDEX) GOSUB UPDATEDISPLAY RETURN REM ******** SUBROUTINE HIDEMENU *** SUB HIDEMENU LET LINE1$ = "" LET LINE2$ = "" GOSUB UPDATEDISPLAY RETURN SUB UPDATEDISPLAY LET A = SETVAR("device.frontpanel.line1",LINE1$) LET A = SETVAR("device.frontpanel.line2",LINE2$) RETURN SUB REGISTERKEYS LET TMP = REGISTEREVENT(SELECTKEY, 0, 1) LET TMP = REGISTEREVENT(PLUSKEY, 0, 1) LET TMP = REGISTEREVENT(MINUSKEY, 0, 1) LET TMP = REGISTEREVENT(EXITKEY, 0, 1) RETURN SUB RELEASEKEYS LET TMP = UNREGISTEREVENT(SELECTKEY) LET TMP = UNREGISTEREVENT(PLUSKEY) LET TMP = UNREGISTEREVENT(MINUSKEY) LET TMP = UNREGISTEREVENT(EXITKEY) RETURN SUB HANDLEOPTION PRINT #ZPLPORT: "^XA^FO100,100^A0N,100,100^FD"; OPTIONS$(INDEX);"^XZ" RETURN
P1012728-004
6/8/10
623
Recall Program
This program searches for a ZPL format named "FORMAT.ZPL" that is already saved in printer memory. If the format is found, a number within the format is extracted and shown on the console. The user is then prompted to enter a new number, which is then substituted into the format.
Example This is an example of Recall.zpl
1 rem ******************************************************** 1 rem Zebra Technologies ZBI Sample Program 1 rem 1 rem Professional programming services are available. Please contact 1 rem ZBI-Experts@zebra.com for more information. 1 rem 1 rem This is an example of recalling a ZPL format and extracting data 1 rem from it. 1 rem ******************************************************** 1 rem close ports except console, open ZPL port and declare search 1 rem array 1 rem ******************************************************** 10 for i = 1 to 9 step 1 ! Close all ports 20 close #i 30 next i 40 let zplport = 2 50 open #zplport: name "ZPL" 60 declare string search_zpl$(2) 70 let search_zpl$(1) = chr$(03) 80 let search_zpl$(2) = "FORMAT.ZPL" 1 rem ******************************************************** 1 rem main program; look for format to recall on printer 1 rem ******************************************************** 90 do 100 print #zplport: "^XA^HWE:*.ZPL^FS^XZ" 110 let present = 0 115 let find$ = "" 120 do until find$ = chr$(03) 130 let find$ = searchto$(zplport, search_zpl$) 140 if find$ = "FORMAT.ZPL" then 150 let present = 1 ! format is present 160 end if 170 loop
6/8/10
P1012728-004
624
1 rem ******************************************************** 1 rem if format is not found, create a format and set data value to 1 rem 000 1 rem ******************************************************** 180 if present = 0 then 190 print #zplport:"^XA^DFE:FORMAT.ZPL^FS"; 200 print #zplport:"^FX000^FS^XZ" 210 let counter$ = "000" 1 rem ******************************************************** 1 rem if format is found, extract the data from ^FX field 1 rem ******************************************************** 220 else 230 print #zplport:"^XA^HFE:FORMAT.ZPL^FS^XZ" 240 let stop$ = searchto$(zplport, "^FX") 250 let counter$ = extract$(zplport, "", "^FS") 260 let stop$ = searchto$(zplport, "^XZ") 270 end if 1 rem ******************************************************** 1 rem print current data value, prompt user to replace data 1 rem ******************************************************** 280 print "" 290 print "Current number in format is " & counter$ 300 print "Please enter new number (type EXIT to end) "; 310 input new_counter$ 320 if new_counter$ = "EXIT" then 330 print "Program ending" 340 end 350 else 360 print #zplport:"^XA^DFE:FORMAT.ZPL^FS"; 370 print #zplport:"^FX" & new_counter$ & "^FS^XZ" 380 end if 390 loop
P1012728-004
6/8/10
625
Scale Program
This program reads data from a scale connected to the serial port by sending a "W" to the scale and waiting for a weight to be returned. When the weight is received, it is inserted into a simple label format and printed.
Example This is an example of Scale
1 rem ******************************************************** 1 rem Zebra Technologies ZBI Sample Program 1 rem 1 rem Professional programming services are available. Please contact 1 rem ZBI-Experts@zebra.com for more information. 1 rem 1 rem This is an example of using ZBI to read scale data from the 1 rem serial port. 1 rem ******************************************************** 1 rem close all ports except console, open channels to parallel and 1 rem serial ports 1 rem ******************************************************** 05 for i = 1 to 9 step 1 10 close #i 20 next i 30 open # 2 : name "SER" 40 open # 1 : name "ZPL" 1 rem ******************************************************** 1 rem main program; send serial port a 'W' in order to get a weight 1 rem ******************************************************** 50 do 60 do 70 sleep 1 ! sleep so scale is not bombarded with incoming 1 rem data 80 print # 2 : "W" ; ! semicolon ends sent W without a CRLF 1 rem ******************************************************** 1 rem get response from scale; note that input requires a CRLF to be 1 rem entered 1 rem ******************************************************** 90 input # 2 : a$ 100 if a$ = "EXIT" then! back door exit - if EXIT is received, ZBI ends 110 close # 2 120 print #1: "^XZ" 130 close #1 140 end 150 end if 1 rem ******************************************************** 1 rem loop until valid weight is received, then print on label 1 rem ******************************************************** 160 loop while pos ( a$ , "000.00" ) = 1 or pos ( a$ , "?" ) = 1 170 print # 1 : "~SD25^XA^FS"; 180 print # 1 : "^LH0,0^FS"; 190 print # 1 : "^FO56,47^A0N,69,58^FDThis weighs^FS"; 1 rem ******************************************************** 1 rem print weight on label; & character concatenates strings 1 rem ******************************************************** 200 print # 1 : "^FO56,150^A0N,69,58^FD" & A$ & " lbs^FS"; 210 print # 1 : "^PQ1,0,0,N"; 220 print # 1 : "^XZ" 1 rem ******************************************************** 1 rem loop until weight is off scale, then repeat for next item 1 rem weighed 1 rem ******************************************************** 230 do 240 print # 2 : "W" ; 250 input # 2 : A$ 260 loop until pos(A$ , "000.00") = 1 or pos(A$ , "?") = 1 270 loop
6/8/10
P1012728-004
626
Notes ___________________________________________________________________
P1012728-004
6/8/10
6
SGD Printer Commands
This chapter provides a high-level overview of printer setting Set / Get / Do (SGD) commands. For printer support of these SGD commands, see SGD Command Support on page 1019. SGD commands are available in printers with the following firmware versions or later: V60.16.2Z or later V53.15.2Z or later V60.15.xZ or later R53.16.3Z or later V50.15.xZ or later R60.15.8Z or later V61.15.xZ or later R62.15.8Z or later V56.15.xZ or later R63.15.8Z or later V53.16.x or later R65.15.8Z or later
Important These are important points to note when using ZPL and SGD commands:
SGD commands are case-sensitive. 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. Changes made with one command type (ZPL or SGD) will affect the data returned to the host in response to both ZPL and getvar commands. The command type (ZPL or SGD) that was sent last determines the current setting. Some RF cards do not support all of the SGD commands.
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.
6/8/10
P1012728-004
628
Overview
This section describes how and why to use the Set / Get / Do (SGD) commands. It also provides an example of a typical command structure.
Note SGD commands must be terminated by a carriage return or a space and line feed.
SGD commands are commands that allow you to configure all printers with firmware versions V60.15.xZ, V50.15.xZ, V61.15.xZ, V56.15.xZ, V53.15.xZ, or later. The printer performs the specified function immediately after receiving the command. The commands are: setvar getvar do
setvar Command
Setvar commands: are used to configure printer settings to specific values by setting them in the printer must be terminated by a space character or a CR/ LF (0x0D, 0x0A)
Important The setvar command and attributes must be specified in lower case.
getvar Command
Getvar commands: are used to get the current value of the printer settings must be terminated by a space character or CR/LF (0x0D, 0x0A) The printer responds with the printer setting of ? if: the printer setting does not exist (usually due to incorrect spelling of the printer setting) it has not been configured yet
Important The printer settings and attributes must be specified in lower case.
P1012728-004
6/8/10
629
do Command
Do commands: are used to instruct the printer to perform predefined actions must be terminated by a space character or a CR/LF (0x0D, 0x0A) Some Do commands require additional settings which must be enclosed in double quotes.
Important The values must be specified in lower case.
6/8/10
P1012728-004
630
Command Structure
It is important to understand the structure of the command and its components. A command structure illustration is provided for each command in this guide.
Example This is an example of a command structure illustration:
Commandalways preceded with an exclamation point (!) and must be specified in lower case. A space resides between the !and U1 and between U1 and the command (setvar or getvar). Attributealways in double quotes and must be specified in lower case. Chosen valuealways in double quotes. Only applicable for setvar and do.
1 2 3
The command portion of the string does not use the "1" after the "! U". Commands issued after the first command do not require the "! U". The string of commands is terminated by the word "END" with a space after the word, and by a carriage return/ line feed.
P1012728-004
6/8/10
631
appl.option_board_version
Description This command returns the version number of the firmware running on the wireless option board. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command returns the version number of the firmware running on the wireless option board. Format: ! U1 getvar "appl.option_board_version"
Note For details on SGD command structure, see Command Structure on page 630.
Example This command returns the version number of the firmware running on the
6/8/10
P1012728-004
632
appl.bootblock
Description This command refers to the bootblock version. On the configuration label, the bootblock number is identified as the hardware ID. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command returns the bootblock version number that appears on the configuration label . Format: ! U1 getvar "appl.bootblock"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar returns the bootblock version number.
! U1 getvar "appl.bootblock"
P1012728-004
6/8/10
633
appl.name
Description This command refers to the printers firmware version. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command returns the printers firmware version. Format: ! U1 getvar "appl.name"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar returns the printers firmware version.
! U1 getvar "appl.name"
6/8/10
P1012728-004
634
CISDFCRC16
Download Files
The CISDFCRC16 command downloads supported files types to the printer. For printer support, see SGD Command Support on page 1019.
Note When using certificate files, your printer supports:
Using Privacy Enhanced Mail (PEM) formatted certificate files. Using the client certificate and private key as two files, each downloaded separately. Using exportable PAC files for EAP-FAST.
Note This command can be used in place of the ~DG and ~DY command for more saving
and loading options. ~DY is the preferred command to download TrueType fonts on printers with firmware later than X.13. The CISDFCRC16 command also supports downloading wireless certificate files.
Parameters
Details
<crc> = CRC value <filename> = file name <size> = file size <checksum> = checksum value <data> = data
Accepted Values: a four digit CRC value in hexadecimal. If 0000 is entered, then the CRC validation is ignored. For examples, see below. Accepted Values: file name that is stored on the printers file system. An extension must be specified. Files must be saved to the E: drive. Accepted Values: an eight digit file size specified in hexadecimal which indicates the number of bytes in the <data> section. Accepted Values: a four digit checksum value in hexadecimal. If 0000 is entered, then the CRC validation is ignored. The checksum value is calculated using the sum of the bytes in the <data> section. For examples, see below. Accepted Values: Binary data saved on the printers file system as <filename>. Number of bytes in this field must match the <size> parameter.
P1012728-004
6/8/10
635
Example 1 This example shows the CISDFCRC16 command used to download a private key
file (privkey.nrd) to the printer. The different sections of the command are on separate lines. ! CISDFCRC16 BA0B privkey.nrd 0000037B E3AF -----BEGIN RSA PRIVATE KEY----MIICXgIBAAKBgQDQXu/E9YuGlScfWQepZa8Qe/1mJRpmk8oPhPVvam/4M5/WaWQp 3/p1f8J17/hDH8fFq5Dnx3/tHaU7A4SKO8GeghX5hnp/mt4tuQEvsXkCrcgS1puz z5dbO7ThhuzxYClnr7uiXPvSRXawgwDTPas+0q/6gHeUSXtA0EofuIyv7wIDAQAB AoGBAJPnf3wn6wT5pE59DJIyakRiLmkt1wKOzvObJfgS7i2Yv1EbeAy9PnPe3vKG Bovm6A+oi2/qTSTLUTiFc7QHXJPVxLmRiHMbf1Q8j+VJkGTpWt8EY/Px+HSM2HAP jqd+Im0IiE9RQPsxWQH9UaauF6nl5gIfMF74BIPsVzFXLFfxAkEA6zSrCKCycE/P 14cjZibnLiWxdL3U3I9eWuhmIS37RB6UJFBCWUPWr26HlHzOKqhOUMbFf5hOmvkZ gciN9A8kxwJBAOLK7Gyorre8iK9IMMWc7OIJc7H8pH1y/N2OtyaC1XuPfqz0H4PH w2W2m3BhZ7ggHJLLiiFVF+Hr5X7cibFDo5kCQQDFe5lHSzXHWxvViN/N+0gL1RYk QOcisTW1+n8VyLe5wDr+Km0q6eytq44mvIuWAW6QH/TfZxBIynICKFQX4UctAkAm P80iAkz9RfnTfhxjp7S35poxoYdodPU6tLAk+ZnhrfDSYJXUFuPYirSqfnMMtbW7 +EICnyRZAP0CqVU7pUm5AkEAnH2O6dKvUvwOEX+CsCVATRrejKLCeJ+6YZWqiD9X 0XGJgrHNXGpDtQiVSGM59p0XnHTZJYjvVNdNOMnhg333nQ== -----END RSA PRIVATE KEY----Example 2 These are examples of CRC and checksum values:
CRC example The value of the <crc> field is calculated the CRC-16 for the contents of a specified file using the CRC16-CCITT polynomial which is x^16 + x^12 + x^5 + 1. It is calculated using an initial CRC of 0x0000. checksum example Given 4 bytes of data : 0x25, 0x62, 0x3F, 0x52:
1. Adding all bytes together gives 0x118. 2. Drop the carry nibble to get 0x18. 3. Get the two's complement of the 0x18 to get 0xE8.
6/8/10
P1012728-004
636
cutter.clean_cutter
Description This command determines if the clean cutter option is enabled or disabled. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the status of the clean cutter option. Format: ! U1 getvar "cutter.clean_cutter" This command instructs the printer to set the clean cutter option. Format: ! U1 setvar "cutter.clean_cutter" Values: "on" = turns on clean cutter "off" = turns off clean cutter Default: "on"
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "cutter.clean_cutter" "on" When the setvar value is set to "on", the getvar result is "on".
P1012728-004
6/8/10
637
device.download_connection_timeout
Description This command instructs the printer to abort a firmware download if the printer fails to receive any download data in the set amount of seconds. If the set amount of seconds is exceeded, the download will be aborted, and the printer automatically restarts. This command prevents the printer from being locked into the downloading state, if the communication to the host is interrupted. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the connection time out value (in seconds). Format: ! U1 getvar "device.download_connection_timeout" This command instructs the printer to abort a firmware download if the printer fails to receive any download data in the set amount of seconds. Format:
! U1 setvar "device.download_connection_timeout" "value"
setvar
Values: "0" through "65535" Default: "0" ("0" disables this feature)
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "device.download_connection_timeout" "0" When the setvar value is set to "0", the getvar result is "0".
6/8/10
P1012728-004
638
device.epl_legacy_mode
Description This command places the printer in a 2824/2844 compatibility mode for vertical registration. For printer support, see SGD Command Support on page 1019. Supported Devices G-Series printers LP2824 Plus and TLP 2824 Plus Type getvar;setvar
Commands Details
getvar
This command causes the printer to return the current setting for the device.epl_legacy_mode setting. Format: ! U1 getvar "device.epl_legacy_mode" This command instructs the printer to change the epl_legacy_mode setting. Format: ! U1 setvar "device.epl_legacy_mode" "value" Values: off = epl_legacy_mode not active registration = EPL legacy registration mode on Default Value: "epl_zpl"
setvar*
Note For details on SGD command structure, see Command Structure on page 630.
Note This setting is not defaulted as part of a factory default (^JUF or ^default). The
setting is persistent across a power cycle or reset (~JR or device.reset) When printing labels using EPL commands, printing starts 1mm from the top edge of the label (from the gap). This is known as the "no print zone". When printing in ZT mode, the "no print zone" starts at the gap on the leading edge of the label. When printing in ZB mode, the "no print zone" starts from the gap on the trailing edge of the label. In the TLP2844, LP2844, TLP2824, LP2824, and TLP3842 printers, the distance from gap to start of print (the "no print zone") is not always 1mm. The table below shows the nominal distance.
P1012728-004
6/8/10
639
Distance from Edge of Label to First Print Line (No Print Zone) Legacy Printer Model New Printer Model ZT Mode ZB Mode
GX420, GK420 (direct thermal) GX420, GK420 (thermal transfer) GX430 (thermal transfer) LP 2824 Plus (direct thermal) TLP 2824 Plus (thermal transfer)
a. Setting epl_legacy_mode to "registration" selects the distance shown in the table. b. Setting epl_legacy_mode to "off" selects a no print zone distance of 1mm.
6/8/10
P1012728-004
640
device.friendly_name
Description This command shows the name assigned to the printer. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the name assigned to the printer. Format: ! U1 getvar "device.friendly_name" This command sets the printers name. Format: ! U1 setvar "device.friendly_name" "value" Default: "xxxxxxxxxx" ("xxxxxxxxxx"represents the main logic board serial number)
Note For details on SGD command structure, see Command Structure on page 732.
! U1 setvar "device.friendly_name" "xxxxxxxxxx" When the setvar value is set to "xxxxxxxxxx", the getvar result is "xxxxxxxxxx".
P1012728-004
6/8/10
641
device.frontpanel.key_press
Description This command instructs the printer to press a button on the front panel. For printer support, see SGD Command Support on page 1019. Type setvar
Commands
Details
setvar
This command instructs the printer to press a button on the front panel. Format: ! U1 setvar "device.frontpanel.key_press" Values: The values vary per printer, as follows: ZM400, Z4M/Z6M, and RZ400/RZ600: "A" = Pause "B" = Feed "C" = Cancel "D" = Setup/Exit "E" = Minus "F" = Select "G" = Plus XiIIIplus: "A" = Pause "B" = Feed "C" = Cancel "D" = Setup/Exit "E" = Previous "F" = Next/Save "G" = Minus "H" = Plus "I" = Calibrate S4M: "A" = "B" = "C" = "D" = "E" = "F" = Xi4, RXi4: "A" = "B" = "C" = "D" = "E" = "F" = "G" = "H" = "I" = Pause Feed Up Arrow Cancel Menu Enter Pause Feed Cancel Setup/Exit Previous Next/Save Minus Plus Calibrate
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
642
device.frontpanel.line1
Description This command overrides the content that is shown on the first line of the front panel when the printer is showing the idle display. Use of the getvar function is dependent on first using the setvar function. For example, to have the first line of the idle display to show HELLO, you must first send a setvar command; then a getvar command can be sent to retrieve the value HELLO. For printer support, see SGD Command Support on page 1019. For details on the supported character set, see Character Set on page 1016. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the content that is shown on line one of the front panel. Format: ! U1 getvar "device.frontpanel.line1" This command instructs the printer to set the content that is shown on line one of the front panel. Format: ! U1 setvar "device.frontpanel.line1" "value" Values: The maximum amount of alphanumeric ASCII characters available for line 1 on the printers front panel Default: ""
Note For details on SGD command structure, see Command Structure on page 630.
Example This setvar example shows the value set to "sample line 1".
! U1 setvar "device.frontpanel.line1" "sample line 1" When the setvar value is set to "sample line 1", the getvar result is "sample line 1".
P1012728-004
6/8/10
643
device.frontpanel.line2
Description This command overrides the content that is shown on the second line of the front panel when the printer is showing the idle display. Use of the getvar function is dependent on using the setvar function. For example, to have the second line of the idle display show HELLO, you must first send a setvar command; then a getvar command can be sent to retrieve the value HELLO. For printer support, see SGD Command Support on page 1019. For details on the supported character set, see Character Set on page 1016. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the content that shows on line two of the front panel. Format: ! U1 getvar "device.frontpanel.line2" This command instructs the printer to set the content that shows on line two of the front panel. Format: ! U1 setvar "device.frontpanel.line2" "value" Values: The maximum amount of alphanumeric ASCII characters available for line two on the printers front panel Default: ""
Note For details on SGD command structure, see Command Structure on page 630.
Example This setvar example shows the value set to "sample line 2".
! U1 setvar "device.frontpanel.line2" "sample line 2" When the setvar value is set to "sample line 2", the getvar result is "sample line 2".
6/8/10
P1012728-004
644
device.frontpanel.xml
Description This command retrieves the current content of the front panel in an XML format. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the file that determines the representation of the front panel. Format: ! U1 getvar "device.frontpanel.xml"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar shows the status of the LEDs and the two lines of the front panel in XML formatted text. The text below is formatted for easy reading. When you use this command the response will not contain line feeds.
! U1 getvar "device.frontpanel.xml" <FRONT-PANEL> <LCD> <LINE1>PRINTER READY</LINE1> <LINE2>V53.16.0</LINE2> </LCD> <LEDS> <PAUSE-LED>STEADY-OFF</PAUSE-LED> <DATA-LED>STEADY-OFF</DATA-LED> <ERROR-LED>STEADY-OFF</ERROR-LED> </LEDS> </FRONT-PANEL>
P1012728-004
6/8/10
645
device.jobs_print
Description This command identifies the number of jobs to be printed. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the number of jobs to be printed. Format: ! U1 getvar "device.jobs_print"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the jobs currently being printed or last
6/8/10
P1012728-004
646
device.languages
Description This command identifies the programming language that the printer is currently using. For printer support, see SGD Command Support on page 1019. Supported Devices Printers running V60.15.8Z, V53.15.2Z, and later. Type getvar;setvar
Commands Details
getvar
This command retrieves the programming language that the printer is currently using. Table 24shows the possible response values. Format: ! U1 getvar "device.languages" This command instructs the printer to set the printer to the required programming language . Format: ! U1 setvar "device.languages" Values: "epl" = Eltron Programming Language "zpl" = Zebra Programming Language "epl_zpl" = Eltron Programming Language and Zebra Programming Language "hybrid_xml_zpl" = XML and ZPL Programming Languages Default Value: "epl_zpl" * The setvar command is supported only on Zebra G-Series printers.
Note For details on SGD command structure, see Command Structure on page 630.
setvar*
Example In this example, the getvar result is the current programming language that the
printer is using.
! U1 getvar "device.languages"
Table 24 Programming Languages zpl (Zebra Programming Language) epl (Eltron Programming Language) epl_zpl (Eltron and Zebra Programming Languages) hybrid_xml_zpl (both XML and ZPL)
P1012728-004
6/8/10
647
device.orientation
Description This printer setting determines the installation orientation of the KR403 printer, either horizontal or vertical. It is intended for use only by the system integrator. Modification by an end user can result in unexpected printer behaviour. Supported Devices KR403 Type getvar; setvar
Commands
Details
getvar
This command instructs the printer to respond with the currently set presenter loop length. Format: ! U1 getvar "device.orientation" This command instructs the printer to change the presenter loop length. Format: ! U1 setvar "device.orientation" "value" Values: 0 = printer is installed horizontally 1 = is installed vertically Default: 0 = printer is installed horizontally (original factory default only, value will not change when defaulting the printer with ^JUF)
setvar
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
648
device.pnp_option
Description This command defines the type of Plug and Play response that is sent by the printer after the printer is started. The printer must be restarted for a new PNP string to be reported. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the Plug and Play option setting. Format: ! U1 getvar "device.pnp_option" This command instructs the printer to select the desired Plug and Play response option. Format: ! U1 setvar "device.pnp_option" "value" Values: "epl" = Eltron Programming Language "zpl" = Zebra Programming Language Default: "zpl"
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "device.pnp_option" "epl" When the setvar value is set to "epl", the getvar result is "epl".
P1012728-004
6/8/10
649
device.reset
Description This command instructs the printer to perform a soft reset. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command instructs the printer to perform a soft reset. Format: ! U1 setvar "device.reset" ""
Note For details on SGD command structure, see Command Structure on page 732.
6/8/10
P1012728-004
650
device.restore_defaults
Description This command restores to the default of all settings within the specified SGD branch. For printer support, see SGD Command Support on page 1019. Type do;setvar
Commands Details
do
This command restores the default setting for all items within the specified branch. Format: ! U1 do "device.restore_default" "value" Values: "ip" = default all parameters in the ip branch "wlan" = default all parameters in the wlan branch "internal_wired" = default all parameters in the internal wired branch This command restores to the default of all settings within the specified branch. Format: ! U1 setvar "device.restore_default" "value" Values: "ip" = default all parameters in the IP branch "wlan" = default all parameters in the wlan branch "internal_wired" = default all parameters in the internal wired branch
setvar
Note For details on SGD command structure, see Command Structure on page 785.
Example These do and setvar examples restore the network cards wlan parameters to
setvar
P1012728-004
6/8/10
651
device.unique_id
Description This command retrieves the printer identifier. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the established printer identifier. Format: ! U1 getvar "device.unique_id"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, assuming the printers unique ID is 12345, the getvar shows
6/8/10
P1012728-004
652
device.uptime
Description This command identifies the amount of time the printer has been powered on. The string format is: xx days, xx hours, xx minutes, and xx seconds. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the amount of time the print has been powered on. It responds in the following format (days, hours, minutes, and seconds). Format: ! U1 getvar "device.uptime"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the amount of time the printer has been
P1012728-004
6/8/10
653
device.user_p1
Description This command saves and retrieves user specified values. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command saves and retrieves user specified parameters. Format: ! U1 getvar "device.user_p1" This command instructs the printer to set user parameters. Format: ! U1 setvar "device.user_p1" "value" Values: alphanumeric text string (1 - 20) Default Value: ""
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "device.user_p1" "test" When the setvar value is set to "test", the getvar result is "test".
6/8/10
P1012728-004
654
device.user_p2
Description This command saves and retrieves user specified values. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command saves and retrieves user specified parameters. Format: ! U1 getvar "device.user_p2" This command instructs the printer to set user parameters. Format: ! U1 setvar "device.user_p2" "value" Values: alphanumeric text string (1 - 20) Default: ""
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "device.user_p2" "test" When the setvar value is set to "test", the getvar result is "test".
P1012728-004
6/8/10
655
device.xml.enable
Description This command enables and disables language parsing support for XML. When enabled (on), the printer will parse both ZPL and XML. When disabled (off), the printer will not parse XML data. For printer support, see SGD Command Support on page 1019. Type setvar;getvar
Commands Details
getvar setvar
This command enables and disables language parsing support for XML. Format: ! U1 getvar "device.xml.enable" This command instructs the printer to disable or enable the language parsing support for XML. Format: ! U1 getvar "device.xml.enable" "value" Values: "on" = enables language parsing support for XML "off" = disables language parsing support for XML Default Value: on
Note For details on SGD command structure, see Command Structure on page 630.
Example This setvar example shows the language parsing support for XML set to
"on".
6/8/10
P1012728-004
656
display.text
Description This command retrieves the text data that is being used on the printers LCD. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the text data that appears on the printers LCD. Format: ! U1 getvar "display.text"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar displays text content that appears on the printers
P1012728-004
6/8/10
657
file.delete
Description This command instructs the printer to delete specified files. For printer support, see SGD Command Support on page 1019. Type do
Commands Details
do
This command instructs the printer to delete specified files. Format: ! U1 do "file.delete" "value" Values: file name Important Be sure to always specify the memory location.
Note For details on SGD command structure, see Command Structure on page 732.
! U1 do "file.delete" "e:abcd.zpl"
6/8/10
P1012728-004 Rev. A
658
file.dir
Description This command displays a directory listing on the same port the command was received. For printer support, see SGD Command Support on page 1019. Type do;getvar;setvar
Commands Details
do
This command sets the directory name from which to retrieve files. Format: ! U1 do "file.dir" "value" Values: directory letter Important Be sure to always specify the memory location. This command retrieves a directory listing of the specified directory. Format: ! U1 getvar "file.dir" Important Be sure to always specify the memory location. This command sets the directory name from which to retrieve files. Format: ! U1 setvar "file.dir" "value" Values: directory letter Important Be sure to always specify the memory location.
getvar
setvar
Note For details on SGD command structure, see Command Structure on page 732.
Example This do example shows the directory listing of the specified directory.
P1012728-004
6/8/10
659
file.type
Description This command displays the contents of the specified file. For printer support, see SGD Command Support on page 1019. Type do;setvar
Commands Details
do
This command displays the content of a file on the same port the command was received. Format: ! U1 do "file.type" "value" Values: the drive letter, file name, file extension, such as R:TEST.ZPL Important Be sure to always specify the memory location. This command instructs the printer to display the content of a file on the same port the command was received. Format: ! U1 setvar "file.type" "value" Values: the drive letter, file name, file extension, such as R:TEST.ZPL Important Be sure to always specify the memory location.
setvar
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "file.type" "R:TEST.ZPL" When the setvar value is set to "R:TEST.ZPL", the contents of the file TEST.ZPL located on the R: drive will be displayed.
6/8/10
P1012728-004
660
file.run
Description This command instructs the printer to send a specified file to the parser. For printer support, see SGD Command Support on page 1019. Type do; setvar
Commands Details
do
This command instructs the printer to send a specified file to the parser. Format: ! U1 do "file.run" "value" Values: drive:filename.extension Important Be sure to always specify the memory location. This command instructs the printer to send a specified file to the parser. Format: ! U1 setvar "file.run" "values" Values: drive:filename.extension Important Be sure to always specify the memory location.
setvar
Note For details on SGD command structure, see Command Structure on page 630.
Example This setvar example will send the file "text.zpl" stored in RAM to the parser.
P1012728-004
6/8/10
661
head.latch
Description This command identifies if the printhead is open or closed. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the status of the printhead, open or closed. Format: ! U1 getvar "head.latch" Values: "ok" = closed "open" = open
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the status of the print head.
6/8/10
P1012728-004
662
interface.network.active.gateway
Description This command retrieves the gateway address of the active print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the gateway address of the active print server. Format: ! U1 getvar "interface.network.active.gateway"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the gateway address of the active print
server.
P1012728-004
6/8/10
663
interface.network.active.ip_addr
Description This command retrieves the IP address of the active print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the IP address of the active print server. Format: ! U1 getvar "interface.network.active.ip_addr"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the IP address of the active print server.
6/8/10
P1012728-004
664
interface.network.active.mac_addr
Description This command retrieves the MAC address of the active print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the MAC address of the active print server. Format: ! U1 getvar "interface.network.active.mac_addr"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the MAC address of the active print
"00:07:4d:24:08:ff"
P1012728-004
6/8/10
665
interface.network.active.mac_raw
Description This command identifies the RAW MAC address of the active print server. The raw mac address is the mac address without the colons (":"). For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the RAW MAC address of the active print server. Format: ! U1 getvar "interface.network.active.mac_raw"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the RAW MAC address of the active print
"00074d2408ff"
6/8/10
P1012728-004
666
interface.network.active.netmask
Description This command retrieves the netmask of the active print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the netmask of the active print server. Format: ! U1 getvar "interface.network.active.netmask"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the netmask of the active print server.
P1012728-004
6/8/10
667
interface.network.active.protocol
Description This command retrieves IP protocol of the active print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the IP protocol of the active print server. Format: ! U1 getvar "interface.network.active.protocol"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the IP protocol of the active print server.
6/8/10
P1012728-004
668
media.cartridge.part_number
Description This printer command retrieves the part number of the media cartridge used in the printer. Supported Devices HC100 Type getvar
Commands Details
getvar
This command instructs the printer to respond with the media cartridge part number currently being used by the printer. Format: ! U1 getvar "media.cartridge.part_number"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar returns the part number of the media cartridge.
P1012728-004
6/8/10
669
media.cut_now
Description This command instructs the printer cycle the media cutter. If the printer is in Print Mode Kiosk (media.printmode K) then the cutter will execute a cut based on the value of media.present.cut_amount either a normal cut or a partial cut. If the printer is not in Print Mode Kiosk (media.printmode K), this command does nothing. See media.present.cut_amount on page 673. Supported Devices KR403 Type do; setvar
Commands Details
do
This command instructs the printer to cycle the media cutter. Format: ! U1 do "media.cut_now" ""
setvar
This command instructs the printer to cycle the media cutter. Format: ! U1 setvar "media.cut_now" "" Note See media.present.cut_amount on page 673.
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
670
media.darkness_mode
Description This command instructs the printer to set the darkness mode. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command instructs the printer to set the darkness mode. Format: ! U1 setvar "media.darkness_mode" "value" Values: "cartridge" = cartridge mode (no changes allowed "user" = user mode (Darkness is set by the user, and the cartridge value is ignored. This value is used for all cartridges inserted in the printer). "relative" = relative mode (the specified darkness value is added to the cartridge default value) Default Value: "cartridge"
Note For details on SGD command structure, see Command Structure on page 630.
Example This setvar example shows the darkness mode set to "cartridge".
P1012728-004
6/8/10
671
media.media_low.external
Description This printer setting gets the status of the external media_low warning. For printer support, see SGD Command Support on page 1019. Supported Devices KR403 Type getvar
Commands Details
getvar
This command instructs the printer to respond with the currently set media print mode. Format: ! U1 getvar "media.media_low.external" Values: 0 = Paper present at sensor position 1 = No paper present
Note The status of the sensor is sampled every time the printout is cut. If three
succeeding samples show "no paper", the status reply changes to 1. This is to prevent a false alarm if the side of the paper roll is not clean. If the current status of the sensor is required, use ~HQES and extract the paper near-end sensor bit.
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
672
media.media_low.warning
Description This command retrievs the value of, or enables or disables the Supplies Warning system. For printer support, see SGD Command Support on page 1019. Supported Devices Xi4 RXi4 Type getvar; setvar
Commands Details
getvar setvar
This command retrieves the setting for the Supplies Warning system. Format: ! U1 getvar "media.media_low.warning" This command enables or disables the Supplies Warning System. Format: ! U1 setvar "media.media_low.warning" "value" Values: "disabled" = not active "enabled" = active Default: "disabled"
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
673
media.present.cut_amount
Description This printer setting determines the type of cut made by the printer cutter (normal or partial) and, if partial, the length of the partial cut on each side, in mm. For printer support, see SGD Command Support on page 1019. Supported Devices KR403 Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the currently set media cut amount. Format: ! U1 getvar "media.present.cut_amount" This command instructs the printer to change the media cut amount. Format: ! U1 setvar "media.present.cut_amount" "value" Values: 0 = normal cut 10-60 = partial cut, value = mm of media left uncut
setvar
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
674
media.present.eject
Description This command instructs the printer to eject the document through the presenter module. The value is the amount to eject, in mm. The value of media.present.length_addition gets added to the value to determine the total length of media ejected. For printer support, see SGD Command Support on page 1019. Supported Devices KR403 Type do; setvar
Commands Details
do
This command instructs the printer to eject the document through the presenter module. Format: ! U1 do "media.present.eject" "value"
setvar
This command instructs the printer to eject the document through the presenter module. Format: ! U1 setvar "media.present.eject" "value" Values: 0 - 255 = amount of media to eject in mm Note See media.present.length_addition on page 675.
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
675
media.present.length_addition
Description This printer setting adds an additional amount to how far the paper is ejected during a present cycle. A standard amount of 50mm is always added to clear the kiosk wall. This amount is added to that 50mm. The total amount of media ejected this command is executed, then, is 50mm + media.present.length_addition + media.present.eject. For printer support, see SGD Command Support on page 1019. Supported Devices KR403 Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the currently set media present length addition. Format: : ! U1 getvar "media.present.length_addition"
This command instructs the printer to change the media present length addition.
setvar
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
676
media.present.loop_length
Description This printer setting determines the length of the presenter loop. If loop_length is greater than loop_length_max (see media.present.loop_length_max) then it will be set equal to loop_length_max. For printer support, see SGD Command Support on page 1019. Supported Devices KR403 Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the currently set presenter loop length. Format: ! U1 getvar "media.present.loop_length"
setvar
This command instructs the printer to change the presenter loop length. Format: ! U1 setvar "media.present.loop_length" "value" Values: 0 = paper is fed straight through the presenter 3-1023 = loop length in mm. Default: 400 = gives a loop of approximately 400mm
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
677
media.present.loop_length_max
Description This printer setting determines the maximum allowed length of the presenter loop. For printer support, see SGD Command Support on page 1019. Supported Devices KR403 Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the currently set presenter loop length. Format: ! U1 getvar "media.present.loop_length_max" This command instructs the printer to change the presenter loop length. Format: ! U1 setvar "media.present.loop_length_max" "value" Values: 0 = paper is fed straight through the presenter 3-1023 = loop length in mm. Default: 400 = gives a loop of approximately 400mm
setvar
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
678
media.present.cut_margin
Description This printer setting determines the margin between the cutter and the printhead. For printer support, see SGD Command Support on page 1019. Supported Devices KR403 Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the currently set media cut margin amount. Format: ! U1 getvar "media.present.cut_margin" This command instructs the printer to change the media cut amount. Format: ! U1 setvar "media.present.cut_margin" "value" Values: 2 - 9 = mm of distance Default: : 9 = mm of distance
setvar
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
679
media.present.present_timeout
Description This printer setting determines how long the printer will wait after a present event to clear the label. See ^KV ZPL command. For printer support, see SGD Command Support on page 1019. Supported Devices KR403 Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the currently set presenter function mode. Format: ! U1 getvar "media.present.present_timeout" This command instructs the printer to change the presenter function mode. Format:
! U1 setvar "media.present.present_timeout" "value"
setvar
Values:
0 300 = If label is not taken, retract label when timeout expires. Timeout is in seconds. Zero (0) indicates that there is no timeout. The label will stay presented until removed manually or a new label is printed.
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
680
media.present.present_type
Description This printer setting determines the way that the printer performs a present command. See ^KV ZPL command. For printer support, see SGD Command Support on page 1019. Supported Devices KR403 Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the currently set presenter function mode.
Format:
! U1 setvar "media.present.present_type" "value"
Values: 0 1 2
= Eject page when new page is printed = Retract page when new page is printed = Do nothing when new page is printed
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
681
media.printmode
Description This printer setting determines the action the printer takes after a label or group of labels has printed. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands
Details
getvar setvar
This command instructs the printer to respond with the the currently set media print mode. Format: ! U1 getvar "media.printmode" This command instructs the printer to change the media print mode. Format: ! U1 setvar "media.printmode" "value" Values: "T" = tear off "P" = peel off c "R" = rewind "A" = applicator c "C" = cutter "D" = delayed cutter c "L" = reserved c, d "U" = reserved c "K" = kiosk e
c. This value is not supported on the KR403 printer. d. This value is supported only on the ZM400/ZM600 and RZ400/RZ600 printers. e. This value is supported only on the KR403 printer.
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
682
TEAR OFF PEEL OFF REWIND APPLICATOR CUTTER DELAYED CUT RESERVED RESERVED KIOSK
P1012728-004
6/8/10
683
media.speed
Description This command specifies media print speed in inches per second (ips). For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the currently set media print speed. Format: ! U1 getvar "media.speed" This command instructs the printer to set the media print speed. Format: ! U1 setvar "media.speed" "value" Values: 2-12 ips "up" = increments the printer speed by one unit "down" = decrements the speed by one unit Default: "2"
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "media.speed" "2" When the setvar value is set to "2", the getvar result is "2".
Example 2 This setvar example shows the value set to "up".
! U1 setvar "media.speed" "up" If the current print speed is 2: When the setvar value is set to "up", the getvar result is "3".
Example 3 This setvar example shows the value set to "down".
! U1 setvar "media.speed" "down" If the current print speed is 2: When the setvar value is set to "down", the getvar result is "1".
6/8/10
P1012728-004
684
odometer.headclean
Description This printer setting refers to the head clean odometer count. This counter tracks how many inches and centimeters have passed through the printer since the head was last cleaned. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to retrieve the values for the head clean counter. Format: ! U1 getvar "odometer.headclean" This command instructs the printer to reset the head clean counter. Format: ! U1 setvar "odometer.headclean" "value" Values: "0" = reset the head clean counter Default: must be an accepted value or it is ignored
Note For details on SGD command structure, see Command Structure on page 630.
Example This example shows how to get the odometer head clean, how to reset it, and how
! U1 getvar "odometer.headclean" Something similar to this is shown: "1489 INCHES, 3784 CENTIMETERS"
2. To reset the these values to 0, type:
! U1 getvar "odometer.headclean" If the resetting was successful, this is shown: "0 INCHES, 0 CENTIMETERS"
P1012728-004
6/8/10
685
odometer.headnew
Description This printer setting refers to the head replaced odometer count. This counter tracks how many inches and centimeter passed through the printer since the head was last replaced. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to retrieve the values for the head new counter. Format: ! U1 getvar "odometer.headnew" This command instructs the printer to reset the head new counter. Format: ! U1 setvar "odometer.headnew" "value" Values: "0" = resets the head new counter Default: must be an accepted value or it is ignored
Note For details on SGD command structure, see Command Structure on page 630.
Example This example shows how to get the odometer head new, how to reset it, and how
! U1 getvar "odometer.headnew" Something similar to this is shown: "1489 INCHES, 3784 CENTIMETERS"
2. To reset the these values to 0, type:
! U1 getvar "odometer.headnew" If the resetting was successful, this is shown: "0 INCHES, 0 CENTIMETERS
6/8/10
P1012728-004
686
odometer.label_dot_length
Description This command returns the length of the last label printed or fed (in dots). For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command returns the length of the last label printed or fed (in dots). Format: ! U1 getvar "odometer.label_dot_length"
Note For details on SGD command structure, see Command Structure on page 630.
Example This is an example of how to reset the length using the ^LL command and how to use the getvar to confirm the change. For the ^LL command to work the printer must be in continuous mode.
1. To change the odometer label dot length, type:
! U1 getvar "odometer.label_dot_length"
Something similar to this is shown:
"500"
P1012728-004
6/8/10
687
odometer.media_marker_count1
Description This printer setting refers to the value of the first (count1) user resettable counter. The user resettable counters track how much media has passed through the printer in both inches or centimeters. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to return the current value of the first (count1) user resettable counter in both inches and centimeters. Format: ! U1 getvar "odometer.media_marker_count1" This command instructs the printer to reset the first user resettable counter. Format: ! U1 setvar "odometer.media_marker_count1" "value" Values: "0" = reset the counter Default: must be an accepted value or it is ignored
Note For details on the command structure of SGD commands, see Command Structure
setvar
on page 630.
Example This example shows how to get the first user resettable counter, how to reset it,
! U1 getvar "odometer.media_marker_count1" Something similar to this is shown: "8516 INCHES, 21632 CENTIMETERS"
2. To reset the these values to 0, type:
! U1 getvar "odometer.media_marker_count1" If the resetting was successful, this is shown: "0 INCHES, 0 CENTIMETERS"
6/8/10
P1012728-004
688
odometer.media_marker_count2
Description This printer setting refers to the value of the second (count2) user resettable counter. The user resettable counters track how much media has passed through the printer in both inches or centimeters. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to return the current value of the second (count2) user resettable counter in both inches and centimeters. Format: ! U1 getvar "odometer.media_marker_count2" This command instructs the printer to reset the second user resettable counter. Format: ! U1 setvar "odometer.media_marker_count2" "value" Values: "0" = reset the counter Default: must be an accepted value or it is ignored
setvar
Note For details on SGD command structure, see Command Structure on page 630.
Example This example shows how to get the second user resettable counter, how to reset
! U1 getvar "odometer.media_marker_count2" Something similar to this is shown: "8516 INCHES, 21632 CENTIMETERS"
2. To reset the these values to 0, type:
! U1 getvar "odometer.media_marker_count2" If the resetting was successful, this is shown: "0 INCHES, 0 CENTIMETERS"
P1012728-004
6/8/10
689
odometer.retracts_count
Description This printer value records the number of times a label has been retracted since the last time the counter has been reset. Supported Devices KR403 Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the current number of retractions that have happened since the last time the counter was reset. Format: ! U1 getvar "odometer.retracts_count" This command instructs the printer to reset the current count of retractions. Format:
! U1 setvar "odometer.retracts_count" "value"
setvar
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
690
odometer.rfid.valid_resettable
Description This command resets the RFID valid label counter to zero. Type getvar; setvar
Note For details on SGD command structure, see Command Structure on page 630.
getvar setvar
This command instructs the printer to respond with the current RFID valid counter value. Format: ! U1 getvar "odometer.rfid.valid_resettable" This command instructs the printer to set the RFID valid counter to zero. Format: ! U1 setvar "odometer.rfid.valid_resettable" "value" Values: reset
Example This setvar example shows how the counter portion of the printer
configuration labels looks when the RFID valid counter is reset by sending:
After
P1012728-004 A
6/8/10
691
odometer.rfid.void_resettable
Description This command resets the RFID void label counter to zero. Type getvar; setvar
Note For details on SGD command structure, see Command Structure on page 630.
getvar setvar
This command instructs the printer to respond with the current RFID void counter value. Format: ! U1 getvar "odometer.rfid.void_resettable" This command instructs the printer to set the RFID void counter to zero. Format: ! U1 setvar "odometer.rfid.void_resettable" "value" Values: reset
Example This setvar example shows how the counter portion of the printer
configuration labels looks when the RFID void counter is reset by sending:
After
6/8/10
P1012728-004 A
692
odometer.total_print_length
Description This command tracks the total length of media that printed over the life of the printer. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command returns the value of the total length of media that printed over the life of the printer. Format: ! U1 getvar "odometer.total_print_length"
Note For details on SGD command structure, see Command Structure on page 630.
Example This example shows how to get the total length of media that printed over the life
of the printer.
1. To get the total length of media that has printed to date, type:
! U1 getvar "odometer.total_print_length" Something similar to this is shown: "8560 INCHES, 21744 CENTIMETERS"
P1012728-004
6/8/10
693
print.tone
Description This command specifies the printer darkness. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the printers current darkness setting. Format: ! U1 getvar "print.tone" This command instructs the printer to set the darkness and relative darkness. Format: ! U1 setvar "print.tone" "value" Values: "0.0" to "30.0" = darkness "-0.1" to "-30.0" and "+0.1" to "+30.0" = incremental adjustments Default: "4.0"
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "print.tone" "4.0" When the setvar value is set to "4.0", the getvar result is "4.0".
6/8/10
P1012728-004
694
rfid.error.response
Description During an error condition, an error message shows on the second line of the display. This command can be used to retrieve that error message. For printer support, see SGD Command Support on page 1019. Type getvar
\
Note For details on SGD command structure, see Command Structure on page 630.
getvar
This command instructs the printer to respond with any active RFID error messages. Format: ! U1 getvar "rfid.error.response"
Example This getvar example shows responses that you may get in different situations:
! U1 getvar "rfid.error.response"
If no RFID tag is present, you get the following response:
NO TAG FOUND
If an RFID tag is present and there are no errors, you get the following response:
RFID OK
P1012728-004
6/8/10
695
rfid.position.program
Description This command sets the read/write position of the transponder (programming position) in one of two ways: absolute mode (available in all RFID firmware versions) or relative mode (available in firmware versions V53.17.7 and later). For more information on these modes, refer to the RFID Programming Guide 2. A copy is available at http://www.zebra.com/manuals. For printer support, see SGD Command Support on page 1019.
Important If this command is used to specify a value for the programming position, this value will be used for the programming position for all labels until a new position is specified or until the transponder calibration procedure is run.
6/8/10
P1012728-004
696
Commands
Details
getvar setvar
This command instructs the printer to respond with the current programming position. Format: ! U1 getvar "rfid.position.program" This command instructs the printer to set the programming position. Format: ! U1 setvar "rfid.position.program" "value" Values: Absolute Mode: "xxxx" = 0 to label length (in dot rows). Move the media to the specified position xxxx on the label, measured in dot rows from the label top, before encoding. Set to 0 (no movement) if the transponder is already in the effective area without moving the media. Relative Mode Forward: "Fxxx" = F0 to Fxxx (where xxx is the label length in millimeters or 999, whichever is less). Move media forward, printing bitmap, for xxx millimeters before reading or encoding. Relative Mode Backward: "Byy" = B0 to B30 (in millimeters, 30 mm maximum). Move media backward for yy millimeters before reading or encoding.
Note When using a backward program position, allow enough media or liner to
ensure that the printer can back up the media without the leading edge disappearing under the printhead mechanism. Accepted Values: Default value: For the R2844-Z and RPAX: 0 (no movement) For printers using V53.17.7Z and later: F0 (which moves the leading edge of the label to the print line) For all other printers or firmware: label length minus 1 mm (1/16 in.)
Example This setvar example shows the programming position being set at 15 mm from
P1012728-004
6/8/10
697
rfid.reader_1.antenna_port
Description This command selects the RFID antenna port. For printer support, see SGD Command Support on page 1019.
Note The R110Xi4 printer automatically selects the best antenna element and read/write power levels for the media during RFID transponder calibration. It may also set the levels during an adaptive antenna sweep. Use the ~HL command (see ^HL or ~HL on page 380) to view the antenna element and power settings being used.
6/8/10
P1012728-004
698
Commands
Details
getvar setvar
This command instructs the printer to respond with the current antenna port. Format: ! U1 getvar "rfid.reader_1.antenna_port" R110Xi HF (R65.X): This command instructs the printer to set the antenna port. Format: ! U1 setvar "rfid.reader_1.antenna_port" "value" Values: 1 = antenna port 1 2 = antenna port 2 Default: 1 R110Xi4 (V53.17.7Z and later): This command instructs the printer to set the antenna from an array of antennas. Format: ! U1 setvar "rfid.reader_1.antenna_port" "value" Values: a two-digit antenna value: A1, A2, A3, A4, B1, B2, B3, B4, C1, C2, C3, C4, D2, D3, D4, E2, E3, E4, F2, F3, F4 (combinations D1, E1, and F1 are invalid)
Default: A4
Example This setvar example shows the selection of antenna port D3.
! U1 setvar "rfid.reader_1.antenna_port" "D3" When the setvar value is set to "D3", the getvar result is "D3".
P1012728-004
6/8/10
699
rfid.reader_1.power.read
Description This command sets the RFID reader power level for reading RFID tags. For printer support, see SGD Command Support on page 1019.
Note The R110Xi4 printer automatically selects the best antenna element and read/write power levels for the media during RFID transponder calibration. It may also set the levels during an adaptive antenna sweep. Use the ~HL command (see ^HL or ~HL on page 380) to view the antenna element and power settings being used.
Commands
Details
getvar setvar
This command instructs the printer to respond with the antennas current read power level. Format: ! U1 getvar "rfid.reader_1.power.read" This command instructs the printer to set the antennas read power level. Format: ! U1 setvar "rfid.reader_1.power.read" "value" R53.16.3Z: Values: 0 to 30 Default Value: 16 R53.16.4Z, V53.17.7, and later: Values: 0 to 30, up, down (up and down change the current value by 1) Default Value: 16 R60.16.x, R62.16.x, R63.16.x, R65.16.x, SP994Q, SP999G, SP1027G, SP1056F, SP1082G, and later: Values: 0 to 30, high, medium, low Default Value: low Older firmware: Values: high medium low Default: low
Example This setvar example sets the antenna to high power for reading RFID tags.
6/8/10
P1012728-004
700
rfid.reader_1.power.single_power
Description This command sets the RFID reader power level for reading and writing to RFID tags for readers with a single power level. For printer support, see SGD Command Support on page 1019.
Note This command applies only to the R110Xi HF printer, firmware version R65.X.
getvar
This command instructs the printer to respond with the current power level. Format: ! U1 getvar "rfid.reader_1.power.single_power" This command instructs the printer to set the power level for reading and writing. Format: ! U1 setvar "rfid.reader_1.power.single_power" "value" Values: high medium low Default: low
setvar
Example This setvar example sets the antenna to high power for writing to RFID tags.
P1012728-004
06/08/2010
701
rfid.reader_1.power.write
Description This command sets the RFID reader power level for writing to RFID tags. For printer support, see SGD Command Support on page 1019.
Note The R110Xi4 printer automatically selects the best antenna element and read/write power levels for the media during RFID transponder calibration. It may also set the levels during an adaptive antenna sweep. Use the ~HL command (see ^HL or ~HL on page 380) to view the antenna element and power settings being used. Note This parameter is ignored on the R110Xi HF printer because read and write powers
cannot be specified separately. See rfid.reader_1.power.single_power on page 700 to set the power level for the R110Xi HF printer. Type getvar; setvar
Note For details on SGD command structure, see Command Structure on page 630.
getvar setvar
This command instructs the printer to respond with the antennas current write power level. Format: ! U1 getvar "rfid.reader_1.power.write" This command instructs the printer to set the write power level on the RFID reader. Format: ! U1 setvar "rfid.reader_1.power.write" "value" R53.16.3Z: Values: 0 to 30 Default Value: 16 R53.16.4Z, V53.17.7, and later: Values: 0 to 30, up, down (up and down change the current value by 1) Default Value: 16 R60.16.x, R62.16.x, R63.16.x, R65.16.x, SP994Q, SP999G, SP1027G, SP1056F, SP1082G, and later: Values: 0 to 30, high, medium, low Default Value: low Older firmware: Values: high medium low Default: low
6/8/10
P1012728-004
702
Example This setvar example sets the antenna to high power for writing to RFID tags.
P1012728-004
6/8/10
703
rfid.tag.calibrate
Description This command sets the RFID programming position through a tag calibration, or it restores the programming position back to the printer default. For the R110Xi4 printer, this option also selects the best antenna element and read/write power levels for the media. For more information about RFID tag calibration, refer to the RFID Programming Guide for your printer. A copy is available online at http://www.zebra.com/manuals. For printer support, see SGD Command Support on page 1019. Type setvar
Note For details on SGD command structure, see Command Structure on page 630.
setvar
This command instructs the printer to set the programming position. Format: ! U1 setvar "rfid.tag.calibrate" "value" Values: restore run
Example 1 This setvar example restores the programming position back to the printers
default value.
To use this command, load the printer with RFID media, and close the printhead.
6/8/10
P1012728-004 Rev. A
704
rfid.tag.data
Description This command tells the RFID reader to attempt to read a tag over the RFID antenna, even if the printhead is open. Results are returned to the host. Before running this command, position an RFID label over the printers RFID antenna. For more information about this option and for the location of the RFID antenna, refer to the RFID Programming Guide for your printer. A copy is available online at http://www.zebra.com/manuals. For printer support, see SGD Command Support on page 1019. Type getvar
Note For details on SGD command structure, see Command Structure on page 630.
getvar
This command instructs the printer to respond with the current tags data. Format: ! U1 getvar "rfid.tag.data"
Example 1 This getvar example gets the current tags data, assuming that an RFID label
! U1 setvar "rfid.tag.data"
The printer responds with 0123456789ABCDEF12345678.
Example 2 This getvar example gets the current tags data, assuming that no tag data
! U1 setvar "rfid.tag.data"
The printer responds with NO DATA.
P1012728-004 Rev. A
6/8/10
705
rfid.tag.test
Description This command performs an RFID test. In the RFID test, the printer attempts to read and write to a transponder that you place over the RFID antenna. Results are displayed on the printers control panel display. For more information about the RFID antenna location, refer to the RFID Programming Guide for your printer. A copy is available online at http://www.zebra.com/manuals. In the slow version of the RFID test, the printer first displays the hardware version, the reader firmware version, and the program position.For printer support, see SGD Command Support on page 1019.
Note This command is valid only on RP4T printers.
Type setvar
Note For details on SGD command structure, see Command Structure on page 630.
setvar
This command instructs the printer to set the programming position. Format: ! U1 setvar "rfid.tag.test" "value" Values: quick slow
Example 1 This setvar example performs a quick RFID test, which shows a pass or fail
message.
6/8/10
P1012728-004 Rev. A
706
rfid.tag.type
Description This command sets the readers RFID tag type. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Note For details on SGD command structure, see Command Structure on page 630.
getvar setvar
This command instructs the printer to respond with the readers current tag type. Format: ! U1 getvar "rfid.tag.type" This command instructs the printer to set the readers tag type. For the supported tag types, see Table 27 on page 706. Format: ! U1 setvar "rfid.tag.type" "value" Values: UHF Printers none = None class0 = EPC Class 0 class0+ = EPC Class 0 Plus class1_64bit = EPC Class 1 64-bit class1_96bit = EPC Class 1 96-bit ucode_epc_1_19 = UCODE EPC 1.19 class0+_impinj = Impinj Class 0 Plus ISO18000A = ISO 18000-06A gen2 = EPC Class 1, Generation 2 (Gen 2) ISO18000B = ISO 18000-06B HF Printers none = None detect = Auto detect (query tag to determine) tagit = Tag*It (Texas Instruments Tagit tags) icode = I*code (Phillips Icode tags) pico = Pico Tag (Inside Technologys) ISO15693 = ISO 15693 EPC = EPC tag (13.56 MHz) UIC = UID Tag mifare_ultralight = Mifare UltraLight
Example This setvar example shows the readers tag type being set to Gen 2.
P1012728-004 A
6/8/10
707
Supported Tag Types Table 26 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, 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 26 Supported Tag Types and Default Values
UHF Printers RZ400/ RZ600 HF Printers
R110Xi HF
R110PAX4
R4Mplus
Firmware Version
R60.13.X
R62.13.X
R63.13.X
R65.13.X
Tag Type 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 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 # = Default value * = Accepted value # # # * * * * * * * * * # *a * * * * * * * * * * # * * * * * # * * * * * * * * * * * # * # * * * # * * # * * * * * * # * # * * * # * #
= Not supported
6/8/10
P1012728-004 A
all
R2844-Z
708
R110Xi HF
R110PAX4
R4Mplus
Firmware Version
R60.13.X
R62.13.X
R63.13.X
R65.13.X
Tag Type UID Tag Mifare UltraLight # = Default value * = Accepted value *
= Not supported
P1012728-004 A
all
R2844-Z
709
zbi.control.add_breakpoint
Description This command instructs the printer to set a ZBI program break point. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command instructs the printer to set a ZBI program break point. Format: ! U1 setvar "zbi.control.add_breakpoint" "value" Values: Any line number of the program currently being debugged.
Note For details on SGD command structure, see Command Structure on page 630.
Example This setvar example shows setting the breakpoint at line "30".
6/8/10
P1012728-004
710
zbi.control.break
Description This command breaks the execution of the ZBI 2.0 program that is currently running. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command breaks the execution of the ZBI program that is currently running. Format: ! U1 setvar "zbi.control.break" "" Values: ""
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
711
zbi.control.clear_breakpoints
Description This command deletes all breakpoints in the current ZBI 2.0 program. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command instructs the printer to delete all breakpoints. Format: ! U1 setvar "zbi.control.clear_breakpoints" "" Values: ""
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
712
zbi.control.delete_breakpoint
Description This command deletes a breakpoint in the current ZBI 2.0 program. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command instructs the printer to delete the breakpoint at the line indicated by the value parameter. Format: ! U1 setvar "zbi.control.delete_breakpoint" "value" Values: you can use the same value as add_breakpoint.
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
713
zbi.control.line_number
Description This command gives you control and information about which line of a stopped ZBI 2.0 program is being executed. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command returns the line number that is currently being executed in the ZBI 2.0 program. Format: ! U1 getvar "zbi.control.line_number" This command sets which line of the current ZBI 2.0 program should be executed. Format: ! U1 setvar "zbi.control.line_number" "value" Values: Any line number of the currently stopped ZBI program. Default: "0"
setvar
Note For details on SGD command structure, see Command Structure on page 630.
Example This setvar example shows the value parameter set to "30".
! U1 setvar "zbi.control.line_number" "30" When the setvar value is set to "30", the getvar result is "30".
6/8/10
P1012728-004
714
zbi.control.restart
Description This command restarts a ZBI 2.0 program that is currently stopped. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command restarts a ZBI 2.0 program that is currently stopped. Format: ! U1 setvar "zbi.control.restart" "value" Values: ""
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
715
zbi.control.run
Description This command runs the current ZBI 2.0 program that is loaded in the interpreter. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command runs the ZBI 2.0 program that is loaded in the interpreter. Format: ! U1 setvar "zbi.control.run" "" Values: ""
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
716
zbi.control.step
Description This command restarts the execution of the currently stopped ZBI 2.0program for one line. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command instructs the printer to restart the execution of the currently stopped ZBI 2.0 program for one line. Format: ! U1 setvar "zbi.control.step" "" Values: "" Default: ""
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
717
zbi.control.terminate
Description This command instructs the ZBI 2.0 program to terminate and shuts down the interpreter. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command instructs the ZBI 2.0 program to terminate and shuts down the interpreter. Format: ! U1 setvar "zbi.control.terminate" "value" Values: ""
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
718
zbi.control.variable_name
Description This command sets the name of the variable that is to be read or modified through variable_value. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the variable value that is to show on the front panel. Format: ! U1 getvar "zbi.control.variable_name" This command sets the variable that is to show on the front panel. Format: ! U1 setvar "zbi.control.variable_name" "value" Values: Any ZBI variable in the program that is currently being debugged. Default: ""
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "zbi.control.variable_name" "MYVAR$" When the setvar value is set to "MYVAR$", the getvar result is "MYVAR$".
P1012728-004
6/8/10
719
zbi.control.variable_value
Description This command identifies the variable name. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the variable name that is loaded into the variable_name. Format: ! U1 getvar "zbi.control.variable_value" This command sets a value to the variable referenced by a variable_name. Format: ! U1 setvar "zbi.control.variable_value" "value" Values: A string or integer that is dependent on the variable type in variable_name. Default: The current value of the variable referenced via variable_name
Note For details on SGD command structure, see Command Structure on page 630.
Example This setvar example shows the value set to "Hello World".
! U1 setvar "zbi.control.variable_value" "Hello World" When the setvar value is set to "Hello World", the getvar result is "Hello World".
6/8/10
P1012728-004
720
zbi.key
Description This command identifies if the ZBI 2.0 option is enabled or disabled on the printer. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the status of the ZBI 2.0 option on the printer. Format: ! U1 getvar "zbi.key"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar shows the status of ZBI on the printer.
P1012728-004
6/8/10
721
zbi.last_error
Description This command identifies the last error that the ZBI 2.0 interpreter encountered. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command shows the last error that the ZBI 2.0 interpreter encountered. Format: ! U1 getvar "zbi.last_error"
Note For details on SGD command structure, see Command Structure on page 630.
Example This example demonstrates how to make the ZBI 2.0 interpreter return the last
6/8/10
P1012728-004
722
zbi.reseller_key
Description This command allows programs that are encrypted with this key in ZBIDeveloper to run. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command allows programs that are encrypted with this key in ZBI developer to run. Format: ! U1 setvar "zbi.reseller_key" "value" Values: Any valid encryption key provided by ZBI Developer.
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
723
zbi.revision
Description This command identifies the current ZBI version. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the current ZBI version. Format: ! U1 getvar "zbi.revision"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar shows the current ZBI version.
! U1 getvar "zbi.revision"
6/8/10
P1012728-004
724
zbi.running_program_name
Description This command identifies the name of the ZBI 2.0 program that is currently running. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the name of the currently running ZBI 2.0 program. Format: ! U1 getvar "zbi.running_program_name"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar command causes the printer to respond that the program choices.bas is currently running.
P1012728-004
6/8/10
725
zbi.start_info.execute
Description This command instructs the ZBI 2.0 environment to execute the program listed in the file_name. For printer support, see SGD Command Support on page 1019. Type setvar
Commands Details
setvar
This command instructs the ZBI 2.0 environment to execute the program listed in the file_name. Format: ! U1 setvar "zbi.start_info.execute"
Note For details on SGD command structure, see Command Structure on page 630.
6/8/10
P1012728-004
726
zbi.start_info.file_name
Description This command prepares a program to run when the zbi.start_info.execute command is used. This command does not run the program. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command is used to return the file path and file name of a ZBI 2.0 program to run using the zbi.start_info.execute command. Format: ! U1 getvar "zbi.start_info.file_name" Default: The last program run. If nothing has been run, "*:\.BAZ". This command is used to prepare a ZBI 2.0 program to be executed using the zbi.start_info.execute command. Format: ! U1 setvar "zbi.start_info.file_name" "value" Values: a file name or path of a basic program
setvar
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "zbi.start_info.file_name" "E:PROGRAM1.BAS" When the setvar value is set to "E:PROGRAM1.BAS", the getvar result is "E:PROGRAM1.BAS".
P1012728-004
6/8/10
727
zbi.start_info.memory_alloc
Description This command identifies the amount of memory currently in use in a ZBI 2.0 program. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command shows the amount of memory currently in use in bytes. Format: ! U1 getvar "zbi.start_info.memory_alloc"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar shows the amount of memory currently in use.
6/8/10
P1012728-004
728
zbi.state
Description This command shows the current state of the ZBI 2.0 program. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the current state of ZBI. Format: ! U1 getvar "zbi.state" Values: "running" = ZBI Interpreter is active and running a program "off" = ZBI Interpreter is inactive "stopped" = ZBI Interpreter is active but not executing a program
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
7
SGD Wired Commands
This chapter provides a high-level overview of the wired Set / Get / Do (SGD) commands. For printer support of these SGD commands, see SGD Command Support on page 1019. SGD commands are available in printers with the following firmware versions or later: V60.16.2Z or later V53.15.2Z or later V60.15.xZ or later R53.16.3Z or later V50.15.xZ or later R60.15.8Z or later V61.15.xZ or later R62.15.8Z or later V56.15.xZ or later R63.15.8Z or later V53.16.x or later R65.15.8Z or later
Important These are important points to note when using ZPL and SGD commands:
SGD commands are case-sensitive. 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. Changes made with one command type (ZPL or SGD) will affect the data returned to the host in response to both ZPL and getvar commands. The command type (ZPL or SGD) that was sent last determines the current setting. Some RF cards do not support all of the SGD commands.
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.
6/8/10
P1012728-004
730
Overview
This section describes how and why to use the Set / Get / Do (SGD) commands. It also provides an example of a typical command structure.
Note SGD commands must be terminated by a carriage return or a space and line feed.
SGD commands are commands that allow you to configure all printers with firmware version V60.15.x, V50.15.x, V61.15.x, V56.15.x, V53.15.xZ, or later. The printer performs the specified function immediately after receiving the command. The commands are: setvar getvar do
setvar Command
Setvar commands: are used to configure printer settings to specific values by setting them in the printer must be terminated by a space character or a CR/ LF (0x0D, 0x0A)
Important The setvar command and attributes must be specified in lower case.
getvar Command
Getvar commands: are used to get the current value of the printer settings must be terminated by a space character or CR/LF (0x0D, 0x0A) The printer responds with the printer setting of ? if: the printer setting does not exist (usually due to incorrect spelling of the printer setting) it has not been configured yet
Important The printer settings and attributes must be specified in lower case.
P1012728-004
6/8/10
731
do Command
Do commands: are used to instruct the printer to perform predefined actions must be terminated by a space character or a CR/LF (0x0D, 0x0A) Some Do commands require additional settings which must be enclosed in double quotes.
Important The values must be specified in lower case.
6/8/10
P1012728-004
732
Command Structure
It is important to understand the structure of the command and its components. A command structure illustration is provided for each command in this guide.
Example This is an example of a command structure illustration:
1 2 3
Commandalways preceded with an exclamation point (!) and must be specified in lower case. A space resides between the !and U1 and between U1 and the command (setvar or getvar). Attributealways in double quotes and must be specified in lower case. Chosen valuealways in double quotes. Only applicable for setvar and do.
1 2 3
The command portion of the string does not use the "1" after the "! U". Commands issued after the first command do not require the "! U". The string of commands is terminated by the word "END" with a space after the word, and by a carriage return/ line feed.
P1012728-004
6/8/10
733
external_wired.check
Description This command controls whether to check for external print server during the network interface search. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the status of the network interface search. Format: ! U1 getvar "external_wired.check" This command instructs the printer to set the network interface search. Format: ! U1 setvar "external_wired.check" "value" Values: "on" = turn on external wired network interface search "off" = turn off external wired network interface search Default: "on" = If wireless option board is not installed "off" = If wireless option board is installed
Note For details on SGD command structure, see Command Structure on page 732.
6/8/10
P1012728-004
734
external_wired.ip.addr
Description This command allows you to get or set the external wired print serverss IP address. For printer support, see SGD Command Support on page 1019.
Important For a set IP address to take affect, the IP protocol must be set to permanent and the print server must be reset.
getvar *
This command instructs the printer to respond with its current external wired print server IP address. Format: ! U1 getvar "external_wired.ip.addr" This command instructs the printer to change its current external wired print server IP address upon powering the printer on. Format: ! U1 setvar "external_wired.ip.addr" "value" Values: any valid IP address Default: "0.0.0.0" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
Note The setvar value of this command can be affected by the external_wired.ip.dhcp.enable command. Example This setvar example shows the value set to "10.14.4.235".
P1012728-004
6/8/10
735
external_wired.ip.arp_interval
Description This print server setting allows you to specify the ARP (Address Resolution Protocol) interval or the ARP cache time out for the external wired print server. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar *
This command instructs the printer to respond with the ARP interval or the ARP cache time out value for the external wired print server. Format: ! U1 getvar "external_wired.ip.arp_interval" This command instructs the printer to change the ARP interval or the ARP cache time out for the external wired print server. Format: ! U1 setvar "external_wired.ip.arp_interval" "value" Values: 0 - 30 Default: "0" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
6/8/10
P1012728-004
736
external_wired.ip.default_addr_enable
Description This command allows you to default the external wired print servers IP address. For printer support, see SGD Command Support on page 1019.
Important For a set IP address to take affect, the IP protocol must be set to permanent and the print server must be reset.
getvar *
This command instructs the printer to show the status of the setting of external wired print servers default IP address feature. Format: ! U1 getvar "external_wired.ip.default_addr_enable" This command tells the printer to use its default address, if no address is provided through DHCP or BOOTP. If you do not assign an IP address after 2 minutes, the 10/100 Internal PS defaults to IP address 192.168.254.254. Format: ! U1 setvar "external_wired.ip.default_addr_enable" "value" Values: "on" = enabled "off" = disabled Default: "on" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
P1012728-004
6/8/10
737
external_wired.ip.dhcp.cid_all
Description This printer setting defines the entire client identifier (DHCP option 61) if DHCP is enabled on the external print server and "external_wired.ip.dhcp.cid_type" is set to "0", or "2". The MAC address is used if the type is set to "1". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar *
This command instructs the printer to respond with the client identifier prefix and suffix of the external wired print server. Format: ! U1 getvar "external_wired.ip.dhcp.cid_all" This command instructs the printer to change the client identifier prefix and suffix of the external wired print server. The prefix gets cleared and the suffix contains the entire client identifier. Format: ! U1 setvar "external_wired.ip.dhcp.cid_all" "value" Values: A maximum length of 60 characters if the CID type is ASCII, or 120 characters if the CID type is hexadecimal. Default Value: "" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
6/8/10
P1012728-004
738
external_wired.ip.dhcp.cid_enable
Description This command determines if DHCP (option 61) on the external wired print server is turned on or off. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar *
This command instructs the printer to respond with the status of the client identifier of the external wired print server. Format: ! U1 getvar "external_wired.ip.dhcp.cid_enable" This command instructs the printer to set the status of the client identifier of the external wired print server. Format: ! U1 setvar "external_wired.ip.dhcp.cid_enable" "value" Values: "off" = client identifier is turned off "on" = client identifier is turned on Default: "off" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
P1012728-004
6/8/10
739
external_wired.ip.dhcp.cid_prefix
Description This printer setting defines the prefix to be prepended to the DHCP client identifier (option 61) when DHCP is enabled on the external wired print server and "external_wired.ip.dhcp.cid_type" is set to "0" or "2". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar *
This command instructs the printer to respond with the client identifier prefix of the external wired print server. Format: ! U1 getvar "external_wired.ip.dhcp.cid_prefix" This command instructs the printer to change the CID prefix of the external wired print server. Format: ! U1 setvar "external_wired.ip.dhcp.cid_prefix" "value" Values: Any text string up to 10 characters if the CID type is ASCII, or 20 characters if the CID type is hexadecimal. Default Value: "" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
6/8/10
P1012728-004
740
external_wired.ip.dhcp.cid_suffix
Description This printer setting defines the unique suffix to be used as the client identifier (DHCP option 61) if DHCP is enabled repeated on the external wired print server and external_wired.ip.dhcp.cid_type on page 741 is set to "0" or "2", not "1". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar *
This command instructs the printer to respond with the client identifier suffix on the external wired print server. Format: ! U1 getvar "external_wired.ip.dhcp.cid_suffix" This command instructs the printer to change the client identifier suffix value. Format: ! U1 setvar "external_wired.ip.dhcp.cid_suffix" "value" Values: The maximum length of a value allowed is 60 ASCII characters when the CID type is ASCII, or 120 hexadecimal values when the CID type is hexadecimal. Default: "" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
P1012728-004
6/8/10
741
external_wired.ip.dhcp.cid_type
Description This printer setting defines the type of client identifier (DHCP option 61) that will be sent if DHCP is enabled on the external wired print server. A value of "1" means the type of "Ethernet" and the printers MAC address will be used. A value of "0" or "2" means the client identifier sent will be "external_wired.ip.dhcp.cid_prefix" concatenated with "external_wired.ip.dhcp.cid_suffix". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar *
This command instructs the printer to respond with the client identifier type for the external wired print server. Format: ! U1 getvar "external_wired.ip.dhcp.cid_type" This command instructs the printer to enable "synthetic" Client Identifier for the external wired print server. Format: ! U1 setvar "external_wired.ip.dhcp.cid_type" "value" Values: "0" = ASCII string "1" = wired print servers MAC address "2" = HEX value Default Value: "1" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
6/8/10
P1012728-004
742
external_wired.ip.gateway
Description This command instructs the printer to change the external wired print servers gateway address. For printer support, see SGD Command Support on page 1019.
Important This setting refers to the gateway address. A set value is ignored if the IP protocol is not set to permanent.
getvar *
This command instructs the printer to respond with the external wired printer servers gateway address. Format: ! U1 getvar "external_wired.ip.gateway" This command instructs the printer to change the external wired printer servers gateway address. Format: ! U1 setvar "external_wired.ip.gateway" "value" Values: Any valid gateway address Default: "0.0.0.0" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
P1012728-004
6/8/10
743
external_wired.ip.netmask
Description This setting refers to the external wired print servers subnet mask address. This value is ignored if the IP protocol is not set to permanent. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar *
This command instructs the printer to respond with the external wired print servers subnet mask. Format: ! U1 getvar "external_wired.ip.netmask" This command instructs the printer to change the external wired print serverss subnet mask. Format: ! U1 setvar "external_wired.ip.netmask" "value" Values: Any valid subnet mask. Default: "255.255.255.0" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
6/8/10
P1012728-004
744
external_wired.ip.port
Description This printer setting refers to the external wired print servers port number that the TCP print service is listening on. Normal TCP communications from the host should be directed to this port. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar *
This command instructs the printer to respond with the external wired printer servers TCP/UDP port number. Format: ! U1 getvar "external_wired.ip.port" This command instructs the printer to set the external wired print servers TCP/UDP port number. Format: ! U1 setvar "external_wired.ip.port" "value" Values: 1 - 65535 (excluding any ports currently used by other services, such as 21, 23, 80, and 515). Default: "9100" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
P1012728-004
6/8/10
745
external_wired.ip.protocol
Description This command configures the IP addressing method used by the external wired print server. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar * setvar
This command returns the IP addressing method used by the external print server. Format: ! U1 getvar "external_wired.ip.protocol" This command instructs the printer to configure the IP addressing method used by the external wired print server. Format: ! U1 setvar "external_wired.ip.protocol" "value" Values: "bootp" = uses the standard bootp addressing method to obtain an IP address and configuration "dhcp" = uses the standard dhcp addressing method to obtain an IP address and configuration for a server specified period of time "rarp" = uses the standard rarp addressing method to obtain an IP address "glean" = uses the IP address from a PING packet that is sent to its hardware address (unicast address) permanent = uses static values assigned through other commands "all" = tries all of the dynamic addressing methods, not permanent, to obtain an IP address Default: "all" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
Example In this example, the setvar result is the current programming language that the
printer is using.
6/8/10
P1012728-004
746
external_wired.ip.timeout.enable
Description This network setting refers to enabling the connection timeout on the external wired 10/100 print server. For this to take effect, the print server must be reset. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar *
This command instructs the printer to return whether the timeout checking is enabled on the external wired print server. Format: ! U1 getvar "external_wired.ip.timeout.enable" This command instructs the printer to enable or disable the timeout checking on the external wired print server. Format: ! U1 setvar "external_wired.ip.timeout.enable" "value" Values: "off" = turns off the connection checking "on" = turns on the connection checking Default: "on" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
P1012728-004
6/8/10
747
external_wired.ip.timeout.value
Description This network setting refers to the number of seconds before the connection times out for the external wired print server. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar *
This command instructs the printer to respond with the time of the external wired print server, in seconds, before the connection times out. Format: ! U1 getvar "external_wired.ip.timeout.value" This command instructs the printer to set the time of the external wired print server, in seconds, before the connection times out. Format: ! U1 setvar "external_wired.ip.timeout.value" "value" Values: "1" through "3600" Default: "300" * On SEH print server models PS102-Z or the PS105-Z, only the getvar command is supported.
Note For details on SGD command structure, see Command Structure on page 732.
setvar
6/8/10
P1012728-004
748
external_wired.ip.v6.addr
Description This command retrieves the IPv6 address of the SEH wired print server. This command is only supported on SEH print server models PS105-Z and PS102-Z with firmware version V60.16.5Z or V53.16.5Z and later. For printer support, see SGD Command Support on page 1019. Supported Devices SEH print server model PS105-Z with firmware version V60.16.5Z or V53.16.5Z and later. SEH print server model PS102-Z with firmware version V60.16.5Z or V53.16.5Z and later. Type getvar
Commands Details
getvar
This command retrieves the IPv6 address of the SEH wired print server. Format: ! U1 getvar "external_wired.ip.v6.addr" Values: 8 group of four hexadecimal digits with a colon delimiter character set = A-F or 0-9 (39-character maximum)
Note For details on SGD command structure, see Command Structure on page 732.
Example In this example, the getvar returns the IPv6 address of the wired print server.
! U1 getvar "external_wired.ip.v6.addr"
P1012728-004
6/8/10
749
external_wired.ip.v6.gateway
Description This command retrieves the IPv6 gateway of the SEH wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices SEH print server model PS105-Z with firmware version V60.16.5Z or V53.16.5Z and later. SEH print server model PS102-Z with firmware version V60.16.5Z or V53.16.5Z and later. Type getvar
Commands Details
getvar
This command retrieves the IPv6 gateway of the SEH wired print server. Format: ! U1 getvar "external_wired.ip.v6.gateway" Values: 8 group of four hexadecimal digits with a colon delimiter character set = A-F or 0-9 (39-character maximum)
Note For details on SGD command structure, see Command Structure on page 732.
Example In this example, the getvar returns the IPv6 gateway of the wired print server.
! U1 getvar "external_wired.ip.v6.gateway"
6/8/10
P1012728-004
750
external_wired.ip.v6.prefix_length
Description This command retrieves the IPv6 address prefix length of the SEH wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices SEH print server model PS105-Z with firmware version V60.16.5Z or V53.16.5Z and later. SEH print server model PS102-Z with firmware version V60.16.5Z or V53.16.5Z and later. Type getvar
Commands Details
getvar
This command retrieves the IPv6 address prefix length of the SEH wired print server. Format: ! U1 getvar "external_wired.ip.v6.prefix_length" Values: character set = 0-9 (3-character maximum)
Note For details on SGD command structure, see Command Structure on page 732.
Example In this example, the getvar returns the IPv6 address prefix length of the wired
print server.
! U1 getvar "external_wired.ip.v6.prefix_length"
P1012728-004
6/8/10
751
external_wired.mac_addr
Description This command retrieves the MAC address of the external wired print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to respond with the MAC address of the external wired print server. Format: ! U1 getvar "external_wired.mac_addr"
Note For details on SGD command structure, see Command Structure on page 732.
Example In this example, the getvar result is the MAC address of the external wired print server.
! U1 getvar "external_wired.mac_addr"
6/8/10
P1012728-004
752
external_wired.mac_raw
Description This command specifies the RAW MAC address of the external print server. The raw mac address is the mac address without the colons (":"). For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the RAW MAC address of the external print server. Format: ! U1 getvar "external_wired.mac_raw"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the RAW MAC address of the external print server.
P1012728-004
6/8/10
753
internal_wired.auto_switchover
Description This command instructs the printer to switch from wireless to the internal wired print server when an Ethernet cable is plugged into the printer and the printer detects an active data link. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600
Important For this command to work, be sure:
you are using a ZM400/ZM600 or RZ400/RZ600 printer with both the internal 10/100 wired print server and wireless option board installed the value for this command is set to "on" (switchover enabled) the printer is currently communicating to the network through a wireless connection a Ethernet cable is plugged into the ZM400/ZM600 or RZ400/RZ600 printer and the printer recognizes a data link connection When the above conditions exist and an active Ethernet cable is plugged into an internal wired print server, the printer will detect the wired data link and automatically switch to the wired interface. The printer will automatically switch back to the wireless interface when the Ethernet cable is disconnected. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the current automatic switchover value. Format: ! U1 getvar "internal_wired.auto_switchover" This command configures switches between the wireless and wired interfaces. Format: ! U1 setvar "internal_wired.auto_switchover" "value" Values: "on" = switchover enabled "off" = switchover disabled Default: "off"
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "internal_wired.auto_switchover" "off" When the setvar value is set to "off", the getvar result is "off".
6/8/10
P1012728-004
754
internal_wired.ip.addr
Description This command allows you to get or set the internal wired print serverss IP address. For printer support, see SGD Command Support on page 1019.
Important For a set IP address to take affect, the IP protocol must be set to permanent and the print server must be reset.
getvar
This command instructs the printer to respond with its current internal wired print server IP address. Format: ! U1 getvar "internal_wired.ip.addr" This command instructs the printer to change its current internal wired print server IP address upon powering the printer on. Format: ! U1 setvar "internal_wired.ip.addr" "value" Values: any valid IP address Default: "0.0.0.0"
setvar
Note For details on SGD command structure, see Command Structure on page 732.
Note The setvar value of this command can be affected by the internal_wired.ip.dhcp.enable command. Example This setvar example shows the value set to "10.14.4.235".
P1012728-004
6/8/10
755
internal_wired.ip.arp_interval
Description This print server setting allows you to specify the ARP (Address Resolution Protocol) interval or the ARP cache time out for the internal wired print server. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the ARP interval or the ARP cache time out value for the internal wired print server. Format: ! U1 getvar "internal_wired.ip.arp_interval" This command instructs the printer to change the ARP interval or the ARP cache time out for the internal wired print server. Format: ! U1 setvar "internal_wired.ip.arp_interval" "value" Values: 0 - 30 Default: "0"
setvar
Note For details on SGD command structure, see Command Structure on page 732.
6/8/10
P1012728-004
756
internal_wired.ip.default_addr_enable
Description This command allows you to default the internal wired print servers IP address. For printer support, see SGD Command Support on page 1019.
Important For a set IP address to take affect, the IP protocol must be set to permanent and the print server must be reset.
getvar
This command instructs the printer to show the status of the setting of internal wired print servers default IP address feature. Format: ! U1 getvar "internal_wired.ip.default_addr_enable" This command tells the printer to use its default address, if no address is provided through DHCP or BOOTP. If you do not assign an IP address after 2 minutes, the 10/100 Internal PS defaults to IP address 192.168.254.254. Format: ! U1 setvar "internal_wired.ip.default_addr_enable" "value" Values: "on" = enabled "off" = disabled Default: "on"
setvar
Note For details on SGD command structure, see Command Structure on page 732.
P1012728-004
6/8/10
757
internal_wired.ip.dhcp.cache_ip
Description This command enables or disables the IP cache on the internal wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the status of the IP cache on the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.cache_ip" This command sets the status of the IP cache. Format: ! U1 setvar "internal_wired.ip.dhcp.cache_ip" "value" Values: "on" = enabled "off" = disabled Default: "off"
Note For details on SGD command structure, see Command Structure on page 732.
! U1 setvar "internal_wired.ip.dhcp.cache_ip" "off" When the setvar value is set to "off", the getvar result is "off".
6/8/10
P1012728-004
758
internal_wired.ip.dhcp.cid_all
Description This printer setting defines the entire client identifier (DHCP option 61) if DHCP is enabled on the internal print server and "internal_wired.ip.dhcp.cid_type" is set to "0", or "2". The MAC address is used if the type is set to "1". For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command instructs the printer to respond with the client identifier prefix and suffix of the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.cid_all" This command instructs the printer to change the client identifier prefix and suffix of the internal wired print server. The prefix gets cleared and the suffix contains the entire client identifer. Format: ! U1 setvar "internal_wired.ip.dhcp.cid_all" "value" Values: A maximum length of 60 characters if the CID type is ASCII, or 120 characters if the CID type is hexadecimal. Default Value: ""
setvar
Note For details on SGD command structure, see Command Structure on page 732.
P1012728-004
6/8/10
759
internal_wired.ip.dhcp.cid_enable
Description This command determines if DHCP (option 61) is turned on or off of the internal wired print server. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the status of the client identifier of the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.cid_enable" This command instructs the printer to set the status of the client identifier of the internal wired print server. Format: ! U1 setvar "internal_wired.ip.dhcp.cid_enable" "value" Values: "off" = client identifier is turned off "on" = client identifier is turned on Default: "off"
setvar
Note For details on SGD command structure, see Command Structure on page 732.
6/8/10
P1012728-004
760
internal_wired.ip.dhcp.cid_prefix
Description This printer setting defines the prefix to be prepended to the DHCP client identifier (option 61) when DHCP is enabled on the internal wired print server and "internal_wired.ip.dhcp.cid_type" is set to "0" or "2". For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command instructs the printer to respond with the client identifier prefix of the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.cid_prefix" This command instructs the printer to change the CID prefix of the internal wired print server. Format: ! U1 setvar "internal_wired.ip.dhcp.cid_prefix" "value" Values: Any text string up to 10 characters if the CID type is ASCII, or 20 characters if the CID type is hexadecimal. Default Value: ""
setvar
Note For details on SGD command structure, see Command Structure on page 732.
P1012728-004
6/8/10
761
internal_wired.ip.dhcp.cid_suffix
Description This printer setting defines the unique suffix to be used as the client identifier (DHCP option 61) if DHCP is enabled on the internal wired 10/100 print server and "internal_wired.ip.dhcp.cid_type" is set to "0" or "2". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the client identifier suffix of the internal wired 10/100 print server. Format: ! U1 getvar "internal_wired.ip.dhcp.cid_suffix" This command instructs the printer to change the client identifier suffix value of the internal wired 10/100 print server. Format: ! U1 setvar "internal_wired.ip.dhcp.cid_suffix" "value" Values: The maximum length of a value allowed is 60 ASCII characters when the CID type is ASCII, or 120 hexadecimal values when the CID type is hexadecimal. Default: ""
setvar
Note For details on SGD command structure, see Command Structure on page 732.
! U1 setvar "internal_wired.ip.dhcp.cid_suffix" "printer" What the setvar value is set to is the getvar result. In this example, the getvar result is "printer".
6/8/10
P1012728-004
762
internal_wired.ip.dhcp.cid_type
Description This printer setting defines the type of client identifier (DHCP option 61) that will be sent if DHCP is enabled on the internal wired print server. A value of "1" means the type of "Ethernet" and the printers MAC address will be used.A value of "0" or "2" means the client identifier sent will be "internal_wired.ip.dhcp.cid_prefix" concatenated with "internal_wired.ip.dhcp.cid_suffix". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the client identifier type for the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.cid_type" This command instructs the printer to enable "synthetic" Client Identifier for the internal wired print server. Format: ! U1 setvar "internal_wired.ip.dhcp.cid_type" "value" Values: "0" = ASCII string "1" = wired print servers MAC address "2" = HEX value Default Value: "1"
setvar
Note For details on SGD command structure, see Command Structure on page 732.
P1012728-004
6/8/10
763
internal_wired.ip.dhcp.lease.last_attempt
Description This command retrieves the last time a DHCP request was sent from the internal wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar
Commands Details
getvar
This command retrieves the last time a DHCP request was sent from the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.lease.last_attempt"
Note For details on SGD command structure, see Command Structure on page 732.
Example In this example, the getvar retrieves the last time a DHCP request was sent to the internal wired print server.
! U1 getvar "internal_wired.ip.dhcp.lease.last_attempt"
6/8/10
P1012728-004
764
internal_wired.ip.dhcp.lease.length
Description This command retrieves the original length (in seconds) of the DHCP lease on the internal wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar
Commands Details
getvar
This command retrieves the original length (in seconds) of the DHCP lease on the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.lease.length"
Note For details on SGD command structure, see Command Structure on page 732.
Example In this example, the getvar returns the original length of the DHCP lease on the internal wired print server.
P1012728-004
6/8/10
765
internal_wired.ip.dhcp.lease.server
Description This command retrieves the address of the server that provided the DHCP lease on the internal wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar
Commands Details
getvar
This command retrieves the address of the server that provided the DHCP lease on the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.lease.server"
Note For details on SGD command structure, see Command Structure on page 732.
Example In this example, the getvar retrieves the address of the server that provided the
DHCP lease on the internal wired print server. ! U1 getvar "internal_wired.ip.dhcp.lease.server" "10.3.1.98"
6/8/10
P1012728-004
766
internal_wired.ip.dhcp.lease.time_left
Description This command retrieves the time (in seconds) left in the current DHCP lease on the internal wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar
Commands Details
getvar
This command retrieves the time (in seconds) left in the current DHCP lease on the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.lease.time_left"
Note For details on SGD command structure, see Command Structure on page 732.
Example In this example, the getvar retrieves the time left in the current DHCP lease on the wired internal print server.
P1012728-004
6/8/10
767
internal_wired.ip.dhcp.option12
Description This command specifies if the DHCP option 12 (host name) is on or off in the discovery packet that is sent from the internal wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar;setvar
Commands Details
getvar
This command retrieves the status of the DHCP option 12 (host name) in the discovery packet of the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.option12" This command instructs the printer to set the DHCP option 12 (host name) in the discovery packet of the internal wired print server. Format: ! U1 setvar "internal_wired.ip.dhcp.option12" "values" Values: "on" = turns on option 12 "off" = turns off option 12 Default Value: "on"
setvar
Note For details on SGD command structure, see Command Structure on page 732.
6/8/10
P1012728-004
768
internal_wired.ip.dhcp.option12_format
Description This command specifies the value which will be used for option 12 (host name) to be used in the DHCP discovery packet of the internal wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar;setvar
Commands Details
getvar
This command retrieves the value which will be used for option 12 (host name) to be used in the DHCP discovery packet of the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.option12_format" This command instructs the printer to set value which will be used for option 12 (host name) to be used in the DHCP discovery packet of the internal wired print server. Format: ! U1 setvar "internal_wired.ip.dhcp.option12_format" "value" Values: 0 to 109 alphanumeric characters Default Value: ""
setvar
Note For details on SGD command structure, see Command Structure on page 732.
internal_wired.ip.dhcp.option12_format to the value contained in the device.friendly_name. It is necessary to surround the SGD entry to be used as source for the data with the < and > characters. ! U1 setvar "internal_wired.ip.dhcp.option12_format" "<device.friendly_name>" To further explain, if the above command was issued and the value currently stored in the device.friendly_name parameter was "ShipPrinter", then the response to following command would be "ShipPrinter": ! U1 getvar "internal_wired.ip.dhcp.option12_value"
P1012728-004
6/8/10
769
internal_wired.ip.dhcp.option12_value
Description This command retrieves the actual value which will be used in the discovery packet of the internal wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar
Commands Details
getvar
This command retrieves the actual value which will be used in the discovery packet of the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.option12_value"
Note For details on SGD command structure, see Command Structure on page 732.
internal_wired.ip.dhcp.option12_format to the value contained in the device.friendly_name. It is necessary to surround the SGD entry to be used as source for the data with the < and > characters. ! U1 setvar "internal_wired.ip.dhcp.option12_format" "<device.friendly_name>" To further explain, if the above command was issued and the value currently stored in the device.friendly_name parameter was "ShipPrinter", then the response to following command would be "ShipPrinter": ! U1 getvar "internal_wired.ip.dhcp.option12_value"
6/8/10
P1012728-004
770
internal_wired.ip.dhcp.request_timeout
Description This command retrieves the maximum amount of time to wait (in seconds) for a response for a DHCP discover requests on the internal print server. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar;setvar
Commands Details
getvar
This command retrieves the currently set maximum amount of time to wait for a response before timing out DHCP discover requests. Format: ! U1 getvar "internal_wired.ip.dhcp.request_timeout" This command instructs the printer to set the maximum amount of time to wait for a response before timing out DHCP discover requests. Format: ! U1 setvar "internal_wired.ip.dhcp.request_timeout" "value" Values: 2-30 Default: "2"
setvar
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "ip.dhcp.request_timeout" "2" When the setvar value is set to "2", the getvar result is "2".
P1012728-004
6/8/10
771
internal_wired.ip.dhcp.requests_per_session
Description This command retrieves the maximum amount of DHCP discover requests for a single DHCP session on the internal wired print server. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar;setvar
Commands Details
getvar
This command retrieves the currently set maximum amount of DHCP discover requests for a single DHCP session on the internal wired print server. Format: ! U1 getvar "internal_wired.ip.dhcp.requests_per_session" This command instructs the printer to set the maximum amount of DHCP discover requests for a single DHCP session on the internal wired print server. Format: ! U1 setvar "internal_wired.ip.dhcp.requests_per_session" "value" Values: 1-10 Default: "2"
setvar
Note For details on SGD command structure, see Command Structure on page 732.
! U1 setvar "internal_wired.ip.dhcp.requests_per_session" "2" When the setvar value is set to "2", the getvar result is "2".
6/8/10
P1012728-004
772
internal_wired.ip.dhcp.session_interval
Description This command retrieves how long it will take (in seconds) for a DHCP session to time out before a new DHCP session begins. For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the current DHCP session time out. Format: ! U1 getvar "internal_wired.ip.dhcp.session_interval" This command instructs the printer to set the DHCP session time out. Format: ! U1 setvar "internal_wired.ip.dhcp.session_interval" "value" Values: 0-60 Default: "10"
Note For details on SGD command structure, see Command Structure on page 732.
! U1 setvar "internal_wired.ip.dhcp.session_interval" "10" When the setvar value is set to "10", the getvar result is "10".
P1012728-004
6/8/10
773
internal_wired.ip.gateway
Description This command instructs the printer to change the internal wired print servers gateway address. For printer support, see SGD Command Support on page 1019.
Important This setting refers to the gateway address. A set value is ignored if the IP protocol is not set to permanent.
getvar
This command instructs the printer to respond with the internal wired printer servers gateway address. Format: ! U1 getvar "internal_wired.ip.gateway" This command instructs the printer to change the internal wired printer servers gateway address. Format: ! U1 setvar "internal_wired.ip.gateway" "value" Values: Any valid gateway address Default: "0.0.0.0"
Example This setvar example shows the value set to "10.3.5.1".
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
774
internal_wired.ip.netmask
Description This setting refers to the internal wired print servers subnet mask address. This value is ignored if the IP protocol is not set to permanent. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with internal wired print servers subnet mask. Format: ! U1 getvar "internal_wired.ip.netmask" This command instructs the printer to change the internal wired print servers subnet mask. Format: ! U1 setvar "internal_wired.ip.netmask" "value" Values: Any valid subnet mask. Default: "255.255.255.0"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
775
internal_wired.ip.port
Description This printer setting refers to the internal wired print servers port number that the TCP print service is listening on. Normal TCP communications from the host should be directed to this port. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the internal wired printer servers TCP/UDP port number. Format: ! U1 getvar "internal_wired.ip.port" This command instructs the printer to set the internal wired print servers TCP/UDP port number. Format: ! U1 setvar "internal_wired.ip.port" "value" Values: 1 - 65535 (excluding any ports currently used by other services, such as 21, 23, 80, and 515). Default: "9100"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
776
internal_wired.ip.protocol
Description This command configures the IP addressing method used by the internal wired print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command returns the IP addressing method used by the internal wired print server. Format: ! U1 getvar "internal_wired.ip.protocol" This command instructs the printer to configure the IP addressing method used by the internal wired print server. Format: ! U1 setvar "internal_wired.ip.protocol" "value" Values: "bootp" = uses the standard bootp addressing method to obtain an IP address and configuration "dhcp" = uses the standard dhcp addressing method to obtain an IP address and configuration for a server specified period of time "rarp" = uses the standard rarp addressing method to obtain an IP address "glean" = uses the IP address from a PING packet that is sent to its hardware address (unicast address) permanent = uses static values assigned through other commands "all" = tries all of the dynamic addressing methods, not permanent, to obtain an IP address Default: "all"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the setvar result is the current programming language that the
printer is using.
P1012728-004
6/8/10
777
internal_wired.ip.timeout.enable
Description This network setting refers to enabling the connection timeout on the internal wired print server. For this to take effect, the print server must be reset. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to return whether the timeout checking is enabled on the internal wired print server. Format: ! U1 getvar "internal_wired.ip.timeout.enable" This command instructs the printer to enable or disable the timeout checking on the internal wired print server. Format: ! U1 setvar "internal_wired.ip.timeout.enable" "value" Values: "off" = turns off the connection checking "on" = turns on the connection checking Default: "on"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
778
internal_wired.ip.timeout.value
Description This network setting refers to the number of seconds before the connection times out for the internal wired print server. For this to take effect, the print server must be reset. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the time of the internal wired print server, in seconds, before the connection times out. Format: ! U1 getvar "internal_wired.ip.timeout.value" This command instructs the printer to set the time of the internal wired print server, in seconds, before the connection times out. Format: ! U1 setvar "internal_wired.ip.timeout.value" "value" Values: "1" through "3600" Default: "300"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
779
internal_wired.mac_addr
Description This command retrieves the MAC address of the internal wired print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to respond with the MAC address of the internal wired print server. Format: ! U1 getvar "internal_wired.mac_addr"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar result is the MAC address of the internal wired print server.
! U1 getvar "internal_wired.mac_addr"
6/8/10
P1012728-004
780
internal_wired.mac_raw
Description This command identifies the RAW MAC address of the internal wired print server. The raw mac address is the mac address without the colons (":"). For printer support, see SGD Command Support on page 1019. Supported Devices ZM400/ZM600 RZ400/RZ600 Type getvar
Commands Details
getvar
This command retrieves the RAW MAC address of the internal wired print server. Format: ! U1 getvar "internal_wired.mac_raw"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the RAW MAC address of the internal wired print server.
! U1 getvar "internal_wired.mac_raw"
P1012728-004
6/8/10
8
SGD Wireless Commands
This chapter provides a high-level overview of the wireless Set / Get / Do (SGD) commands and details on each SGD command. For printer support of these SGD commands, see SGD Command Support on page 1019. SGD commands are available in printers with the following firmware versions or later: V60.16.2Z or later V53.15.2Z or later V60.15.xZ or later R53.16.3Z or later V50.15.xZ or later R60.15.8Z or later V61.15.xZ or later R62.15.8Z or later V56.15.xZ or later R63.15.8Z or later V53.16.x or later R65.15.8Z or later
Note The commands listed in this chapter are for use with the Wireless Print Server and
Wireless Plus Print Server, when used with firmware version V60.15.x, V50.15.x, or later.
Important These are important points to note when using ZPL and SGD commands:
SGD commands are case-sensitive. 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. Changes made with one command type (ZPL or SGD) will affect the data returned to the host in response to both ZPL and getvar commands. The command type (ZPL or SGD) that was sent last determines the current setting. Some RF cards do not support all of the SGD commands.
6/8/10
P1012728-004
782
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.
P1012728-004
6/8/10
783
Overview
This section describes how and why to use the Set / Get / Do (SGD) commands. It also provides an example of a typical command structure.
Note SGD commands must be terminated by a carriage return or a space and line feed.
SGD commands are commands that allow you to configure all printers with firmware version V60.15.x, V50.15.x, V61.15.x, V56.15.x, V53.15.xZ, or later. The printer performs the specified function immediately after receiving the command. The commands are: setvar getvar do
setvar Command
Setvar commands: are used to configure printer settings to specific values by setting them in the printer must be terminated by a space character or a CR/ LF (0x0D, 0x0A)
Important The setvar command and attributes must be specified in lower case.
getvar Command
Getvar commands: are used to get the current value of the printer settings must be terminated by a space character or CR/LF (0x0D, 0x0A) The printer responds with the printer setting of ? if: the printer setting does not exist (usually due to incorrect spelling of the printer setting) it has not been configured yet
Important The printer settings and attributes must be specified in lower case.
6/8/10
P1012728-004
784
do Command
Do commands: are used to instruct the printer to perform predefined actions must be terminated by a space character or a CR/LF (0x0D, 0x0A) Some Do commands require additional settings which must be enclosed in double quotes.
Important The values must be specified in lower case.
P1012728-004
6/8/10
785
Command Structure
It is important to understand the structure of the command and its components. A command structure illustration is provided for each command in this guide.
Example This is an example of a command structure illustration:
1 2 3
Commandalways preceded with an exclamation point (!) and must be specified in lower case. A space resides between the !and U1 and between U1 and the command (setvar or getvar). Attributealways in double quotes and must be specified in lower case. Chosen valuealways in double quotes. Only applicable for setvar and do.
1 2 3
The command portion of the string does not use the "1" after the "! U". Commands issued after the first command do not require the "! U". The string of commands is terminated by the word "END" with a space after the word, and by a carriage return/ line feed.
6/8/10
P1012728-004
786
bluetooth.address
Description This command returns the printers Bluetooth device address. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the printers Bluetooth address. Format: ! U1 getvar "bluetooth.address"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar command causes the printer to return the printers Bluetooth address.
! U1 getvar "bluetooth.address"
P1012728-004
6/8/10
787
bluetooth.afh_map
Description This command sets or retrieves the default AFH (adaptive frequency hopping) channel map (Bluetooth radios 1.2 and later); 20 bytes. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves default AFH channel map. Format: ! U1 getvar "bluetooth.afh_map" This command selectively enables or disables individual Bluetooth channels for use when AFH mode is set to "on". Format: ! U1 setvar "bluetooth.afh_map" "value" Values: 20-byte string of hexadecimal characters Default: "7FFFFFFFFFFFFFFFFFFF"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
788
bluetooth.afh_map_curr
Description This command retrieves the current AFH (adaptive frequency hopping) channel map (Bluetooth radios 1.2 and later). For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the current AFH channel map. Format: ! U1 getvar "bluetooth.afh_map_curr"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar command causes the printer to retrieve the current AFH channel map.
! U1 getvar "bluetooth.afh_map_curr"
P1012728-004
6/8/10
789
bluetooth.afh_mode
Description This command sets or retrieves AFH (adaptive frequency hopping) mode setting (Bluetooth radios 1.2 and later). For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the current setting of the AFH mode. Format: ! U1 getvar "bluetooth.afh_mode" This command enables and disables AFH mode. Format: ! U1 setvar "bluetooth.afh_mode" "value" Values: "on" = enables AFH mode "off" = disables AFH mode Default: "off"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
790
bluetooth.authentication
Description This command sets or retrieves Bluetooth authentication mode and works in combination with the bluetooth.bluetooth_pin. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the current Bluetooth authentication mode. Format: ! U1 getvar "bluetooth.authentication" This command enables and disables Bluetooth authentication. Format: ! U1 setvar "bluetooth.authentication" "value" Values: "off" = disables authentication (can connect to master device without PIN) "setpin" = enables authentication (requires PIN or passkey to connect to a master device) Default: "off"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
791
bluetooth.bluetooth_pin
Description This command is used to connect to the printer only when the command bluetooth.authentication is set to "setpin". For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the current Bluetooth pin. Format: ! U1 getvar "bluetooth.bluetooth_pin" This command sets the Bluetooth pin value. Format: ! U1 setvar "bluetooth.bluetooth_pin" "value" Values: Any text string up to 16 characters Default: ""
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
792
bluetooth.date
Description This command shows the release date of the Bluetooth module. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command shows the release date of the Bluetooth module. Format: ! U1 getvar "bluetooth.date"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar command returns the release date of the Bluetooth
P1012728-004
6/8/10
793
bluetooth.discoverable
Description This command enables or disables the Bluetooth discoverable mode. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the current Bluetooth discoverable mode. Format: ! U1 getvar "bluetooth.discoverable" This command enables or disables the Bluetooth discoverable mode. Format: ! U1 setvar "bluetooth.discoverable" "value" Values: "on" = enables Bluetooth discoverable mode "off" = disables Bluetooth discoverable mode Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
794
bluetooth.enable
Description This command enables or disables the Bluetooth radio. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the current status of the Bluetooth radio. Format: ! U1 getvar "bluetooth.enable" This command enables or disables the Bluetooth radio. Format: ! U1 setvar "bluetooth.enable" Values: "on" = enables the Bluetooth radio "off" = disables the Bluetooth radio Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
795
bluetooth.friendly_name
Description This command sets the friendly name, which is used during service discovery. For changes to take effect, you must power cycle the printer or issue the device.reset command. If bluetooth.friendly_name is not set by you, it will default to the printer serial number. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the current Bluetooth discoverable mode. Format: ! U1 getvar "bluetooth.friendly_name" This command sets the Bluetooth discoverable mode. Format: ! U1 setvar "bluetooth.friendly_name" "value" Values: Any text string up to 17 characters
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
796
bluetooth.local_name
Description This command retrieves the local name that is provided during service discovery. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the local name that is provided during service discovery. Format: ! U1 getvar "bluetooth.local_name"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar command returns the local name that is provided during service discovery.
! U1 getvar "bluetooth.local_name"
P1012728-004
6/8/10
797
bluetooth.radio_auto_baud
Description This command retrieves the Bluetooth radio data rate. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves Bluetooth radio data rate. Format: ! U1 getvar "bluetooth.radio_auto_baud"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the short Bluetooth address.
! U1 getvar "bluetooth.radio_auto_baud"
6/8/10
P1012728-004
798
bluetooth.radio_version
Description This command returns the version of the currently installed Bluetooth radio. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command returns the version of the currently installed Bluetooth radio. Format: ! U1 getvar "bluetooth.radio_version"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar command returns the currently installed Bluetooth
P1012728-004
6/8/10
799
bluetooth.short_address
Description This command shortens the Bluetooth address by removing the colons (":"). For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the shortened Bluetooth address. Format: ! U1 getvar "bluetooth.short_address"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the short Bluetooth address.
! U1 getvar "bluetooth.short_address"
6/8/10
P1012728-004
800
bluetooth.version
Description This command returns the Bluetooth library version number. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command returns the Bluetooth library version number. Format: ! U1 getvar "bluetooth.version"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar command returns the Bluetooth library version
P1012728-004
6/8/10
801
card.mac_addr
Description This command retrieves the MAC address of the wireless radio card. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to respond with the MAC address. Format: ! U1 getvar "card.mac_addr"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar result is the MAC address for the wireless radio
card.
! U1 getvar "card.mac_addr"
6/8/10
P1012728-004
802
card.inserted
Description This command indicates whether the wireless radio card is or is not inserted. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to respond with the wireless radio card status. Its inserted or its not inserted. Format: ! U1 getvar "card.inserted"
Note For details on SGD command structure, see Command Structure on page 785.
! U1 getvar "card.inserted"
P1012728-004
6/8/10
803
comm.type
Description This printer setting determines the behavior of the serial port interface. It selects one of three serial communication states: DTE, DCE or Autodetect. For printer support, see SGD Command Support on page 1019. Supported Devices LP 2824 Plus Type getvar;setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the curently set sreial port interface type. Format: ! U1 getvar "comm.type" This command instructs the printer to change the serial port interface type. Format: ! U1 setvar "comm.type" "value" Values: "auto" = Autodetect "dte" = Force DTP (Tx on pin 2) "dcs" = Force DCE (Rx on pin 2) Default: "auto"
Note For details on SGD command structure, see Command Structure on page 630.
Example 1 In this example, the getvar retrieves the serial port communications state.
! U1 getvar "comm.type"
Example 2 This setvar example sets the communications port state to Autodetect.
6/8/10
P1012728-004
804
ip.active_network
Description This command displays if the printer is actively connected to wireless, external wired, or internal wired. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to respond with what the printer is currently connected to internal wired, wireless, external wired, or unknown. Table 27 provides details on the potential return values. Format: ! U1 getvar "ip.active_network"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar will return the current active network the printer is
connected to.
! U1 getvar "ip.active_network"
This is the return value when an internal wired device is detected. This is the return value when a wireless device is detected. This is the return value when an external wired device is detected. This is the return value: if the printer has not established a network connection on any of the devices if you don't have any of the network devices plugged in if the printer is still trying to establish a connection (i.e. on wireless it is going through the association process).
P1012728-004
6/8/10
805
ip.addr
Description This command allows you to get or set the printers IP address. For printer support, see SGD Command Support on page 1019.
Important For a set IP address to take affect, the IP protocol must be set to permanent and the print server must be reset.
getvar setvar
This command instructs the printer to respond with its current IP address. Format: ! U1 getvar "ip.addr" This command instructs the printer to change its current IP address upon powering the printer on. Format: ! U1 setvar "ip.addr" "value" Values: any valid IP address Default: "0.0.0.0"
Note For details on SGD command structure, see Command Structure on page 785.
Note The setvar value of this command can be affected by the ip.dhcp.enable
command.
Example This setvar example shows the value set to "10.14.4.235".
6/8/10
P1012728-004
806
ip.arp_interval
Description This printer setting allows you to specify the ARP (Address Resolution Protocol) interval or the ARP cache time out. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the ARP interval or the ARP cache time out value in seconds. Format: ! U1 getvar "ip.arp_interval" This command instructs the printer to change the ARP interval or the ARP cache time out. Format: ! U1 setvar "ip.arp_interval" "value" Values: 0 - 30 Default: "0"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
807
ip.bootp.enable
Description This printer setting turns BOOTP on or off. BOOTP is a method for acquiring an IP address, netmask, and gateway automatically on printer power-up. It requires a BOOTP server on the local network. For printer support, see SGD Command Support on page 1019.
Note If you are using static IP addressing, the IP protocol must be set to permanent.
getvar setvar
This command instructs the printer to respond with the current BOOTP setting. Format: ! U1 getvar "ip.bootp.enable" This command instructs the printer to turn BOOTP on or off. Format: ! U1 setvar "ip.bootp.enable" "value" Values: "off" = printer does not use BOOTP to get the IP address "on" = printer uses BOOTP to get the IP address Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
808
ip.dhcp.cache_ip
Description This command enables or disables the IP caching. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the status of the IP cache. Format: ! U1 getvar "ip.dhcp.cache_ip" This command sets the status of the IP cache. Format: ! U1 setvar "ip.dhcp.cache_ip" "value" Values: "on" = enabled "off = disabled Default: "off
Note For details on SGD command structure, see Command Structure on page 630.
! U1 setvar "ip.dhcp.cache_ip" "off When the setvar value is set to "off", the getvar result is "off".
P1012728-004
6/8/10
809
ip.dhcp.cid_all
Description This printer setting defines the entire client identifier (DHCP option 61) if the DHCP is enabled and "ip.dhcp.cid_type" is set to "0", or "2". The MAC address is used if the type is set to "1". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the client identifier prefix and suffix. Format: ! U1 getvar "ip.dhcp.cid_all" This command instructs the printer to change the CID prefix and suffix. Format: ! U1 setvar "ip.dhcp.cid_all" "value" Values: A maximum length of 60 characters if the CID type is ASCII, or 120 characters if the CID type is hexadecimal. Default Value: ""
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
810
ip.dhcp.cid_enable
Description This command determines if DHCP (option 61) is turned on or off. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the status of the client identifier. Format: ! U1 getvar "ip.dhcp.cid_enable" This command instructs the printer to set the status of the client identifier. Format: ! U1 setvar "ip.dhcp.cid_enable" "value" Values: "off" = client identifier is turned off "on" = client identifier is turned on Default: "off"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
811
ip.dhcp.cid_prefix
Description This printer setting defines the prefix to be prepended to the DHCP client identifier (option 61) when DHCP is enabled and "ip.dhcp.cid_type" is set to "0"or "2". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the client identifier prefix. Format: ! U1 getvar "ip.dhcp.cid_prefix" This command instructs the printer to change the CID prefix. Format: ! U1 setvar "ip.dhcp.cid_prefix" "value" Values: Any text string up to 10 characters if the CID type is ASCII, or 20 characters if the CID type is hexadecimal. Default Value: ""
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
812
ip.dhcp.cid_suffix
Description This printer setting defines the unique suffix to be used as the client identifier (DHCP option 61) if DHCP is enabled and "ip.dhcp.cid_type" is set to "0" or "2". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the client identifier suffix. Format: ! U1 getvar "ip.dhcp.cid_suffix" This command instructs the printer to change the CID value. Format: ! U1 setvar "ip.dhcp.cid_suffix" "value" Values: The maximum length of a value allowed is 60 ASCII characters when the CID type is ASCII, or 120 hexadecimal values when the CID type is hexadecimal. Default Value: ""
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
813
ip.dhcp.lease.length
Description This command retrieves the original length of the DHCP lease on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the original length of the DHCP lease on the wireless print server. Format: ! U1 getvar "ip.dhcp.lease.length"
Note For details on SGD command structure, see Command Structure on page 785.
Example This command retrieves the original length of the DHCP lease on the wireless
6/8/10
P1012728-004
814
ip.dhcp.cid_type
Description This printer setting defines the type of client identifier (DHCP option 61) that will be sent if DHCP is enabled. A value of "1" means the type of "Ethernet" and the printers MAC address will be used. A value of "0" or "2" means the client identifier sent will be "ip.dhcp.cid_prefix" concatenated with "ip.dhcp.cid_suffix". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the client identifier type. Format: ! U1 getvar "ip.dhcp.cid_type" This command instructs the printer to enable "synthetic" Client Identifier. Format: ! U1 setvar "ip.dhcp.cid_type" "value" Values: "0" = ASCII string "1" = wireless radio cards MAC address "2" = HEX value Default Value: "1"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
815
ip.dhcp.enable
Definition This printer setting turns DHCP on or off. DHCP is a method for acquiring an IP address, netmask, and gateway automatically on printer power-up. It requires a DHCP server on the local network. For printer support, see SGD Command Support on page 1019.
Note If you are using static IP addressing, the IP protocol must be set to permanent.
getvar setvar
This command instructs the printer to respond with the DHCP status. Format: ! U1 getvar "ip.dhcp.enable" This command instructs the printer to turn DHCP on or off. Format: ! U1 setvar "ip.dhcp.enable" "value" Values: "off" = printer does not use DHCP to get the IP address "on" = printer uses DHCP to get the IP address Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
816
ip.dhcp.lease.last_attempt
Description This command retrieves the time from the DHCP server of when the last DHCP request was sent. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the last time a DHCP request was sent. Format: ! U1 getvar "ip.dhcp.lease.last_attempt"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the last time a DHCP request was sent to the wireless print server.
! U1 getvar "ip.dhcp.lease.last_attempt"
P1012728-004
6/8/10
817
ip.dhcp.lease.server
Description This command retrieves the address of the server that provided the DHCP lease on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the address of the server that provided the DHCP lease on the wireless print server. Format: ! U1 getvar "ip.dhcp.lease.server"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the server that provided the DHCP lease on the wireless print server.
6/8/10
P1012728-004
818
ip.dhcp.lease.time_left
Description This command retrieves the time left in the current DHCP lease on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the time left in the current DHCP lease on the wireless print server. Format: ! U1 getvar "ip.dhcp.lease.time_left"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the time left in the current DHCP lease on the wireless print server.
P1012728-004
6/8/10
819
ip.dhcp.option12
Description This command specifies if the DHCP option 12 (host name) is on or off in the discovery packet that is sent from the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the status of the DHCP option 12 (host name) in the discovery packet that is sent from the wireless print server. Format: ! U1 getvar "ip.dhcp.option12" This command instructs the printer to set the DHCP option 12 (host name) in the discovery packet that is sent from the wireless print server. Format: ! U1 setvar "ip.dhcp.option12" "value" Values: "on" = turns on option 12 "off" = turns off option 12 Default Value: "on"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
820
ip.dhcp.option12_format
Description This command specifies the value which will be used for option 12 (host name) to be used in the DHCP discovery packet of the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the value which will be used for option 12 (host name) to be used in the DHCP discovery packet of the wireless print server. Format: ! U1 getvar "ip.dhcp.option12_format" This command instructs the printer to set the value which will be used for option 12 (host name) to be used in the DHCP discovery packet of the wireless print server. Format: ! U1 setvar "ip.dhcp.option12_format" "value" Values: string Default Value: ""
setvar
Note For details on SGD command structure, see Command Structure on page 785.
value contained in the device.friendly_name. It is necessary to surround the SGD entry to be used as source for the data with the < and > characters. ! U1 setvar "ip.dhcp.option12_format" "<device.friendly_name>" To further explain, if the above command was issued and the value currently stored in the device.friendly_name parameter was "ShipPrinter", then the response to following command would be "ShipPrinter": ! U1 getvar "ip.dhcp.option12_value"
P1012728-004
6/8/10
821
ip.dhcp.option12_value
Description This command retrieves the actual value which will be used in the discovery packet of the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the actual value which will be used in the discovery packet of the wireless print server. Format: ! U1 getvar "ip.dhcp.option12_value"
Note For details on SGD command structure, see Command Structure on page 785.
value contained in the device.friendly_name. It is necessary to surround the SGD entry to be used as source for the data with the < and > characters. ! U1 setvar "ip.dhcp.option12_format" "<device.friendly_name>" To further explain, if the above command was issued and the value currently stored in the device.friendly_name parameter was "ShipPrinter", then the response to following command would be "ShipPrinter": ! U1 getvar "ip.dhcp.option12_value"
6/8/10
P1012728-004
822
ip.dhcp.request_timeout
Description This command retrieves the maximum amount of time (in seconds) for a DHCP discovery requests on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the currently set the amount of time (in seconds) to wait before timing out a DHCP discovery request. Format: ! U1 getvar "ip.dhcp.request_timeout" This command instructs the printer to set the amount of time (in seconds) to wait before timing out a DHCP discovery request. Format: ! U1 setvar "ip.dhcp.request_timeout" "value" Values: "2" through "30" Default: "2"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
! U1 setvar "ip.dhcp.request_timeout" "2" When the setvar value is set to "2", the getvar result is "2".
P1012728-004
6/8/10
823
ip.dhcp.requests_per_session
Description This command retrieves the maximum amount of DHCP discovery requests for a single DHCP session on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the currently set maximum amount of DHCP discovery requests for a single DHCP session on the wireless print server. Format: ! U1 getvar "ip.dhcp.requests_per_session" This command instructs the printer to set the maximum amount of DHCP discovery requests for a single DHCP session on the wireless print server. Format: ! U1 setvar "ip.dhcp.requests_per_session" "value" Values: "1" through "10" Default: "2"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
! U1 setvar "ip.dhcp.requests_per_session" "2" When the setvar value is set to "2", the getvar result is "2".
6/8/10
P1012728-004
824
ip.dhcp.session_interval
Description This command configures the time interval (in seconds) before a new DHCP session is started on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the current DHCP session time out value (in seconds). Format: ! U1 getvar "ip.dhcp.session_interval" This command instructs the printer to set the DHCP session time out value (in seconds). Format: ! U1 setvar "ip.dhcp.session_interval" "value" Values: "0" through "60" Default: "10"
Note For details on SGD command structure, see Command Structure on page 785.
! U1 setvar "ip.dhcp.session_interval" "10" When the setvar value is set to "10", the getvar result is "10".
P1012728-004
6/8/10
825
ip.dns.domain
Description This command identifies the network domain of the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the network domain of the wireless print server. Format: ! U1 getvar "ip.dns.domain"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the network domain of the wireless print
6/8/10
P1012728-004
826
ip.dns.servers
Description This command retrieves a space delimited list of the domain name servers from a wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves a list of space delimited DNS wireless print servers. Format: ! U1 getvar "ip.dns.servers"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves a list of space delimited DNS wireless print servers.
! U1 getvar "ip.dns.servers"
P1012728-004
6/8/10
827
ip.ftp.enable
Description This printer setting refers to the FTP protocol setting. This command tells the printer to turn FTP on or off. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the FTP status. Format: ! U1 getvar "ip.ftp.enable" This command instructs the printer to turn FTP on or off. Format: ! U1 setvar "ip.ftp.enable" "value" Values: "off" = disables FTP "on" = enables FTP Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
Example This setvar example shows the FTP status set to "on".
6/8/10
P1012728-004
828
ip.ftp.execute_file
Description This command setting controls the printers ability to process or not process commands received via the FTP protocol using the printers ZPL engine. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the FTP processing ability status. Format: ! U1 getvar "ip.ftp.execute_file" This command instructs the printer to turn FTP processing ability on or off. Format: ! U1 setvar "ip.ftp.execute_file" "value" Values: "off" = disables the printers ability to process FTP commands "on" = enables the printers ability to process FTP commands Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
Example This setvar example shows the FTP processing ability set to "on".
P1012728-004
6/8/10
829
ip.gateway
Description This command instructs the printer to change the gateway address. For printer support, see SGD Command Support on page 1019.
Important This setting refers to the gateway address. A set value is ignored if the IP protocol is not set to permanent.
getvar setvar
This command instructs the printer to respond with the gateway address. Format: ! U1 getvar "ip.gateway" This command instructs the printer to change the gateway address. Format: ! U1 setvar "ip.gateway" "value" Values: Any valid gateway address Default: "0.0.0.0"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
830
ip.http.enable
Description This printer setting refers to the HTTP protocol/web server setting. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the HTTP status. Format: ! U1 getvar "ip.http.enable" This command instructs the printer to change HTTP to on or off. Format: ! U1 setvar "ip.http.enable" "value" Values: "off" = disables HTTP protocol "on" = enables HTTP protocol Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
831
ip.lpd.enable
Description This printer setting refers to the LPD (Line Printer Daemon) protocol setting. For printer support, see SGD Command Support on page 1019.
Important LPD communications from the host should be directed to port 515.
getvar setvar
This command instructs the printer to respond with the LPD status. Format: ! U1 getvar "ip.lpd.enable" This command instructs the printer to turn LPD on or off. Format: ! U1 setvar "ip.lpd.enable" "value" Values: "off" = disables LPD protocol "on" = enables LPD protocol Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
832
ip.mac_raw
Description This command specifies the RAW MAC address of the wireless print server. The raw mac address is the mac address without the colons (":"). For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the RAW MAC address of the wireless print server. Format: ! U1 getvar "ip.mac_raw"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the RAW MAC address of the wireless
P1012728-004
6/8/10
833
ip.mirror.auto
Description This command enables the ability to automatically perform a mirror update (fetch) command on power up. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command will report whether the printer will perform a mirror update (fetch) automatically on power up. Format: ! U1 getvar "ip.mirror.auto" This command instructs the printer to perform a mirror update (fetch) command when the printer is turned on using the interval that is set for "ip.mirror.freq" or "ip.mirror.freq_hours". Format: ! U1 setvar "ip.mirror.auto" "values" Values: "on" = turns on the auto mirroring feature "off" = turns off the auto mirroring feature Default Value: "off"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
834
ip.mirror.error_retry
Description This command identifies how many times mirroring is retried when an error occurs. For printer support, see SGD Wireless Commands on page 781. Type getvar;setvar
Commands Details
getvar
This command retrieves the number of times the printer retries mirroring when an error occurs. Format: ! U1 getvar "ip.mirror.error_retry" This command instructs the printer to set the required times that mirroring retries when an error occurs. Format: ! U1 setvar "ip.mirror.error_retry" "value" Values: numeric values (0 - 65535) Default Value: "0"
setvar
Note For details on SGD command structure, see SGD Command Support on page 1019.
P1012728-004
6/8/10
835
ip.mirror.feedback.auto
Description This command identifies if a feedback file is pushed to the mirroring server by the printer when a mirroring update (fetch) is complete. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the mirror feedback setting that the printer is currently using. Format: ! U1 getvar "ip.mirror.feedback.auto" This command instructs the printer to set the mirror feedback feature to on or off. Format: ! U1 setvar "ip.mirror.feedback.auto" "value" Values: "on" = turns on mirror feedback "off" = turns off mirror feedback Default Value: "off"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
836
ip.mirror.feedback.freq
Description This command specifies the time interval (in minutes) between performing feedback file uploads. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the number of minutes set to wait between feedback file uploads. Format: ! U1 getvar "ip.mirror.feedback.freq" This command instructs the printer to set the number of minutes to wait between feedback file uploads. Format: ! U1 setvar "ip.mirror.feedback.freq" "value" Values: numeric value (0 - 65535) Default Value: "0"
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
837
ip.mirror.feedback.odometer
Description This command instructs the printer to set the mirror feedback odometer. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the mirror feedback odometer. Format: ! U1 getvar "ip.mirror.feedback.odometer" This command instructs the printer to set the odometer counter. Format: ! U1 setvar "ip.mirror.feedback.odometer" "values" Values: numeric value between 0 and 2632 Default Value: "0"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
838
ip.mirror.feedback.path
Description This command identifies where the feedback file is stored on the mirroring server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the path on the mirroring sever that the printer is currently using to store the feedback file. Format: ! U1 getvar "ip.mirror.feedback.path" This command instructs the printer to set the path on the mirroring server that stores the feedback file. Format: ! U1 setvar "ip.mirror.feedback.path" "value" Values: alphanumeric text (1 to 50 characters) Default Value: "Zebra/feedback"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
839
ip.mirror.fetch
Description This command forces a mirroring update sequence. For printer support, see SGD Command Support on page 1019. Type do;setvar
Commands Details
do setvar
This command forces a mirroring update sequence. Format: ! U1 do "ip.mirror.fetch" "" This command forces a mirroring update sequence. Format: ! U1 setvar "ip.mirror.fetch" ""
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
840
ip.mirror.freq
Description This command defines the frequency of mirroring updates (in minutes). For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the number of minutes to wait before performing another mirror update. Format: ! U1 getvar "ip.mirror.freq" This command instructs the printer to set the mirror frequency. Format: ! U1 setvar "ip.mirror.freq" "value" Values: "0" through "65535" (minutes) Default Value: "0" (disables this feature) Important When the "ip.mirror.freq" is set to a low value (other than zero) the printer will spend a lot of time performing the mirroring process.
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
841
ip.mirror.freq_hours
Description This command defines the frequency of mirroring updates (in hours). For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the frequency of mirroring updates (in hours) that the printer is currently using. Format: ! U1 getvar "ip.mirror.freq_hours" This command instructs the printer to set the frequency of mirroring updates (in hours). Format: ! U1 setvar "ip.mirror.freq_hours" "values" Values: "0" through "100" Default Value: "0" (disables this feature)
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
842
ip.mirror.last_error
Description This command retrieves the last error encountered during a mirroring operation. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the error code of the last mirroring update (fetch). Format: ! U1 getvar "ip.mirror.last_error"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the error code of the last mirroring update.
! U1 getvar "ip.mirror.last_error"
P1012728-004
6/8/10
843
ip.mirror.last_time
Description This command retrieves the timestamp, in seconds, of the last time the system attempted a mirror update (fetch). For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the timestamp, in seconds, of the last time the system attempted a mirror update (fetch). Format: ! U1 getvar "ip.mirror.last_time"
Note For details on SGD command structure, see Command Structure on page 630.
Example In this example, the getvar retrieves the timestamp, in seconds, of the last time
6/8/10
P1012728-004
844
ip.mirror.password
Description This command specifies the user password on the mirroring server assigned for mirroring updates (fetch). For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the user password the printer is currently using for mirroring updates (fetch). Format: ! U1 getvar "ip.mirror.password" This command instructs the printer to use a specific password for mirroring updates (fetch). Format: ! U1 setvar "ip.mirror.password" "value" Values: alphanumeric text string (1 to 20 characters) Default Value: "password"
setvar
Note For details on SGD command structure, see Command Structure on page 630.
P1012728-004
6/8/10
845
ip.mirror.path
Description This command identifies the base path on the FTP server where the mirror directory resides. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the base path of the FTP server where the mirror directory resides. Format: ! U1 getvar "ip.mirror.path" This command sets the base path on the FTP server where the mirror directory resides. Format: ! U1 setvar "ip.mirror.path" "value" Values: alphanumeric text string (1 to 50 characters) Default Value: "zebra"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
846
ip.mirror.reset_delay
Description This command specifies the number of seconds between when the printer receives the last byte of the last file from the /commands directory and when the printer resets during a mirror event. For printer support, see SGD Wireless Commands on page 781.
Note This command is available in V53.17.5Z, V56.17.4Z, V60.17.5Z, V61.17.4Z and
getvar
This command retrieves the number of seconds between when the printer receives the last byte of the last file from the /commands directory and when the printer resets during a mirror event. Format: ! U1 getvar "ip.mirror.reset_delay" This command sets the number of seconds between when the printer receives the last byte of the last file from the /commands directory and when the printer resets during a mirror event. Format: ! U1 setvar "ip.mirror.reset_delay" "value" Values: 0 - 900 (seconds) Default Value: "5" The default setting for the ip.mirror.reset_delay command is 5 seconds; in some cases it may be necessary to use a longer delay to allow for full processing of longer or more complex files.
setvar
Note For details on SGD command structure, see SGD Command Support on page 1019.
P1012728-004
6/8/10
847
ip.mirror.server
Description This command identifies the IP address of the mirroring server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the IP address of the mirroring server. Format: ! U1 getvar "ip.mirror.server" This command sets the IP address of the mirroring server. Format: ! U1 setvar "ip.mirror.server" "value" Values: a valid IP address Default Value: "127.0.0.1"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
848
ip.mirror.success
Description This command reports the success or failure of the last mirroring update (fetch). For printer support, see SGD Wireless Commands on page 781. Type getvar
Commands Details
getvar
This command retrieves the success or failure of the last mirroring update (fetch). Format: ! U1 getvar "ip.mirror.success" Values: "yes" = successful "no" = unsuccessful
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the success or failure of the last mirroring
P1012728-004
6/8/10
849
ip.mirror.success_time
Description This command provides the timestamp, in seconds, of the last time the system successfully completed a mirror update (fetch). For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the timestamp, in seconds, of the last time the system successfully completed a mirror update (fetch). Format: ! U1 getvar "ip.mirror.success_time"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the timestamp of the last time the system
! U1 getvar "ip.mirror.success_time"
6/8/10
P1012728-004
850
ip.mirror.username
Description This command specifies the user name on the mirroring server assigned for mirroring updates (fetch). For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the user name the printer is currently using for mirroring updates (fetch). Format: ! U1 getvar "ip.mirror.username" This command instructs the printer to use a specific user name for mirroring updates (fetch). Format: ! U1 setvar "ip.mirror.username" "value" Values: alphanumeric text string (1 to 20 characters) Default Value: "user"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
851
ip.mirror.version
Description This command retrieves the mirror code build date. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the mirror code build date. Format: ! U1 getvar "ip.mirror.version"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the mirror code build date.
! U1 getvar "ip.mirror.version"
6/8/10
P1012728-004
852
ip.netmask
Description This setting refers to the subnet mask address. This value is ignored if the IP protocol is not set to permanent. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with subnet mask. Format: ! U1 getvar "ip.netmask" This command instructs the printer to change the subnet mask. Format: ! U1 setvar "ip.netmask" "value" Values: Any valid subnet mask. Default: "255.255.255.0"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
853
ip.pop3.enable
Description This printer setting determines if the printer queries a POP3 mailbox for mail. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the POP3 status. Format: ! U1 getvar "ip.pop3.enable" This command instructs the printer to turn POP3 on or off. Format: ! U1 setvar "ip.pop3.enable" "value" Values: "off" = disables POP3 "on" = enables POP3 Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
854
ip.pop3.password
Description This printer setting refers to the POP3 mailbox password. This only applies if "ip.pop3.enable" is set to on. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the POP3 password. Format: ! U1 getvar "ip.pop3.password" For protection a single "*" prints. This command instructs the printer to change the POP3 password. Format: ! U1 setvar "ip.pop3.password" "value" Values: A maximum of 20 alphanumeric characters Default: " "
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
855
ip.pop3.poll
Description This printer setting refers to how frequent (in seconds) the printer queries a POP3 mailbox for new mail. This only applies if the "ip.pop3.enable" is set to on. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the POP3 poll frequency (in seconds). Format: ! U1 getvar "ip.pop3.poll" This command instructs the printer to change the POP3 poll interval. A value of "0" causes the printer to only query the POP3 mailbox one time, on printer power up, or following a network reset. Format: ! U1 setvar "ip.pop3.poll" "value" Values: "0" through "65535" Default: "0" Note A poll value of less then thirty seconds is not recommended. The printer is unresponsive for several seconds when polling for email depending on data transfer time from the server to the printer.
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
856
ip.pop3.server_addr
Description This printer setting refers to the POP3 server IP address that the printer contacts when checking for new mail. This only applies if "ip.pop3.enable" is set to on. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the POP3 server address. Format: ! U1 getvar "ip.pop3.server_addr" This command instructs the printer to change the POP3 server address. Format: ! U1 setvar "ip.pop3.server_addr" "value" Values: Any valid POP3 server address Default: "0.0.0.0"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
857
ip.pop3.username
Description This printer setting refers to the POP3 user name. This only applies if the "ip.pop3.enable" is set to on. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the POP3 user name. Format: ! U1 getvar "ip.pop3.username" This command instructs the printer to change the POP3 user name. Format: ! U1 setvar "ip.pop3.username" "value" Values: A maximum of 20 alphanumeric characters Default: " "
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
858
ip.port
Description This printer setting refers to the port number that the TCP print service is listening on. Normal TCP communications from the host should be directed to this port. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the TCP/UDP port number. Format: ! U1 getvar "ip.port" This command instructs the printer to set the TCP/UDP port number. Format: ! U1 setvar "ip.port" "value" Values: 1 - 65535 (excluding any ports currently used by other services, such as 21, 23, 80, and 515). Default: "9100"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
859
ip.primary_network
Description This command allows you to set the primary network to either wired or wireless. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the name of the current primary network device. Format: ! U1 getvar "ip.primary_network" This command instructs the printer to set the primary network device. Format: ! U1 setvar "ip.primary_network" "value" Values: 1 = wired 2 = wireless Default: "1"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
860
ip.smtp.domain
Description This printer setting refers to the domain name used by the printer in sending email with respect to the SMTP server. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to return the SMTP domain name. Format: ! U1 getvar "ip.smtp.domain" This command instructs the printer to change the SMTP domain name. Format: ! U1 setvar "ip.smtp.domain" "value" Values: A maximum of 24 alphanumeric characters Default: "ZBRPrintServer"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
861
ip.smtp.enable
Description This printer setting refers to the SMTP protocol. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to return the SMTP status. Format: ! U1 getvar "ip.smtp.enable" This command instructs the printer to turn SMTP on or off. Format: ! U1 setvar "ip.smtp.enable" "value" Values: "off" = disables SMTP "on" = enables SMTP Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
862
ip.smtp.server_addr
Description This printer setting refers to the IP address of the SMTP server used for sending email. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the current SMTP server address. Format: ! U1 getvar "ip.smtp.server_addr" This command instructs the printer to change the SMTP server address. Format: ! U1 setvar "ip.smtp.server_addr" "value" Values: Any valid IP address. Default: 0.0.0.0
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
863
ip.snmp.get_community_name
Description This printer setting is used when making SNMP queries. The SNMP client must supply the get community name that matches the printers get community name in order to query any SNMP data. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to get the SNMP get community name string. Format: ! U1 getvar "ip.snmp.get_community_name" For protection a single "*" prints. This command instructs the printer to set the SNMP get community name string. Format: ! U1 setvar "ip.snmp.get_community_name" "value" Values: A maximum of 19 alphanumeric characters. Default: "public"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
864
ip.snmp.set_community_name
Description This printer setting is used when changing SNMP data remotely. To alter any SNMP data, the SNMP client must supply the set community name that matches the printers set community name. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to return the printers SNMP set community name string. Format: ! U1 getvar "ip.snmp.set_community_name" For protection a single "*" returns. This command instructs the printer to set the SNMP set community name string. Format: ! U1 setvar "ip.snmp.set_community_name" "value" Values: A maximum of 19 alphanumeric characters Default: "public"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
865
ip.snmp.enable
Description This printer setting refers to the SNMP protocol. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the SNMP status. Format: ! U1 getvar "ip.snmp.enable" This command instructs the printer to enable or disable the SNMP protocol. Format: ! U1 setvar "ip.snmp.enable" "value" Values: "on" = enable the SNMP protocol "off" = disable the SNMP protocol Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
866
ip.telnet.enable
Description This printer setting refers to the TELNET (port 23) protocol. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the TELNET status. Format: ! U1 getvar "ip.telnet.enable" This command instructs the printer to turn TELNET on or off. Format: ! U1 setvar "ip.telnet.enable" "value" Values: "off" = disables telnet protocol "on" = enables telnet protocol Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
867
ip.tcp.enable
Description This printer setting refers to the TCP socket protocol. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the TCP status. Format: ! U1 getvar "ip.tcp.enable" This command instructs the printer to turn the TCP on or off. Format: ! U1 setvar "ip.tcp.enable" "value" Values: "off" = disables TCP protocol "on" = enables TCP protocol Default: "on"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
868
ip.udp.enable
Description This printer setting refers to the UDP socket protocol. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the UDP status. Format: ! U1 getvar "ip.udp.enable" This command instructs the printer to turn UDP on or off. Format: ! U1 setvar "ip.udp.enable" "value" Values: "off" = disables UDP protocol "on" = enables UDP protocol Default: "off"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
869
wlan.adhocautomode
Description This printer setting refers to enabling or disabling the adhoc auto mode. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the adhoc auto mode status. Format: ! U1 getvar "wlan.adhocautomode" This command instructs the printer to set the adhoc auto mode. Format: ! U1 setvar "wlan.adhocautomode" "value" Values: "on" = adhoc auto mode enabled "off" = adhoc auto mode disabled Default: "off"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
870
wlan.adhocchannel
Description This printer setting refers to specifying the wireless channel for adhoc channel. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the wireless channel for adhoc channel mode. Format: ! U1 getvar "wlan.adhocchannel" This command instructs the printer to set the wireless channel for adhoc channel mode. Format: ! U1 setvar "wlan.adhocchannel" "value" Values: Decimal value between 1 and 16 inclusive Default: "1"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
871
wlan.associated
Description This command refers to if the printer is or is not associated with an access point (AP). For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to respond with yes or no, which identifies if it is associated with the AP. Format: ! U1 getvar "wlan.associated"
Note For details on SGD command structure, see Command Structure on page 785.
! U1 getvar "wlan.associated"
6/8/10
P1012728-004
872
wlan.bssid
Description This command returns the MAC address of the access point (AP) with which the printer is associated. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the MAC address of the access point (AP). Format: ! U1 getvar "wlan.bssid"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar result is the MAC address of the access point.
! U1 getvar "wlan.bssid"
P1012728-004
6/8/10
873
wlan.channel
Description This command retrieves the current WI-FI channel the printer is using. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the current WI-FI channel the printer is using. Format: ! U1 getvar "wlan.channel"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the current WI-FI channel the printer is
using.
! U1 getvar "wlan.channel"
6/8/10
P1012728-004
874
wlan.channel_mask
Description This printer setting refers to specifying the wireless channel masks to enable and disable various channels. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the wireless channel mask value. Format: ! U1 getvar "wlan.channel_mask" This command instructs the printer to set the wireless channel mask value. Format: ! U1 setvar "wlan.channel_mask" "value" Values: 4 Hexadecimal digits preceded by "0x" (0x0000 to 0xFFFF). For commonly used channel masks, see Table 28. Default: "0x7FF"
Note For details on SGD command structure, see Command Structure on page 785.
Channel Mask
United States, Canada, Latin America Europe, Middle East, Africa, other Japan
P1012728-004
6/8/10
875
wlan.current_tx_rate
Description This command retrieves the transmission rate of the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to retrieve the current transmit rate of the wireless print server. Format: ! U1 getvar "wlan.current_tx_rate"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the transmission rate of the wireless print
server.
! U1 getvar "wlan.current_tx_rate"
6/8/10
P1012728-004
876
wlan.essid
Description This printer setting refers to the printers stored ESSID. Setting the ESSID to "" will set the printer in a "broadcast" mode. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the stored ESSID value. Format: ! U1 getvar "wlan.essid" This command instructs the printer to change the ESSID. Format: ! U1 setvar "wlan.essid" "value" Values: 32 character alphanumeric string Default: "125"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
877
wlan.firmware_version
Description This command refers to the firmware version of the wireless radio card. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to respond with the current version of the wireless radio card firmware. Format: ! U1 getvar "wlan.firmware_version"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar result is the version of Symbol 4137 card (for example, "F3.91-69").
! U1 getvar "wlan.firmware_version"
6/8/10
P1012728-004
878
wlan.ip.addr
Description This command allows you to get or set the wireless print serverss IP address. For printer support, see SGD Command Support on page 1019.
Important For a set IP address to take affect, the IP protocol must be set to permanent and the print server must be reset.
getvar
This command instructs the printer to respond with its current wireless print server IP address. Format: ! U1 getvar "wlan.ip.addr" This command instructs the printer to change its current wireless print server IP address upon powering the printer on. Format: ! U1 setvar "wlan.ip.addr" "value" Values: any valid IP address Default: "0.0.0.0" Note The setvar value of this command can be affected by the wlan.ip.dhcp.enable command.
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
879
wlan.ip.arp_interval
Description This print server setting allows you to specify the ARP (Address Resolution Protocol) interval or the ARP cache time out for the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the ARP interval or the ARP cache time out value (in seconds) for the wireless print server. Format: ! U1 getvar "wlan.ip.arp_interval" This command instructs the printer to respond with the ARP interval or the ARP cache time out value for the wireless print server. Format: ! U1 setvar "wlan.ip.arp_interval" "value" Values: 0 to 30 seconds Default: "0"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
880
wlan.ip.default_addr_enable
Description This command allows you to default the wireless print servers IP address. For printer support, see SGD Command Support on page 1019.
Important For a set IP address to take affect, the IP protocol must be set to permanent and the print server must be reset.
getvar
This command instructs the printer to show the status of the setting of the wireless print servers default IP address feature. Format: ! U1 getvar "wlan.ip.default_addr_enable" This command tells the printer to use its default address, if no address is provided through DHCP or BOOTP. If you do not assign an IP address after 2 minutes, the 10/100 Internal PS defaults to IP address 192.168.254.254. Format: ! U1 setvar "wlan.ip.default_addr_enable" "value" Values: "on" = enabled "off" = disabled Default: "on"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
881
wlan.ip.dhcp.cache_ip
Description This command enables or disables the IP cache of the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the status of the IP cache. Format: ! U1 getvar "wlan.ip.dhcp.cache_ip" This command sets the status of the IP cache. Format: ! U1 setvar "ip.dhcp.cache_ip" "value" Values: "on" = enabled "off = disabled Default: "off
Note For details on SGD command structure, see Command Structure on page 785.
! U1 setvar "wlan.ip.dhcp.cache_ip" "off" When the setvar value is set to "off", the getvar result is "off".
6/8/10
P1012728-004
882
wlan.ip.dhcp.cid_all
Description This printer setting defines the entire client identifier (DHCP option 61) if DHCP is enabled on the wireless print server and "wlan.ip.dhcp.cid_type" is set to "0", or "2". The MAC address is used if the type is set to "1". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the client identifier prefix and suffix of the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.cid_all" This command instructs the printer to change the client identifer prefix and suffix of the wireless print server. The prefix gets cleared and the suffix contains the entire client identifer. Format: ! U1 setvar "wlan.ip.dhcp.cid_all" "value" Values: A maximum length of 60 characters if the CID type is ASCII, or 120 characters if the CID type is hexadecimal. Default Value: ""
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
883
wlan.ip.dhcp.cid_enable
Description This command determines if DHCP (option 61) is turned on or off of the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the status of the client identifier of the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.cid_enable" This command instructs the printer to set the status of the client identifier of the wireless print server. Format: ! U1 setvar "wlan.ip.dhcp.cid_enable" "value" Values: "off" = client identifier is turned off "on" = client identifier is turned on Default: "off"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
884
wlan.ip.dhcp.cid_prefix
Description This printer setting defines the prefix to be prepended to the DHCP client identifier (option 61) when DHCP is enabled on the wireless print server and "wlan.ip.dhcp.cid_type" is set to "0" or "2". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the client identifier prefix of the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.cid_prefix" This command instructs the printer to change the CID prefix of the wireless print server. Format: ! U1 setvar "wlan.ip.dhcp.cid_prefix" "value" Values: Any text string up to 10 characters if the CID type is ASCII, or 20 characters if the CID type is hexadecimal. Default Value: ""
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
885
wlan.ip.dhcp.cid_suffix
Description This printer setting defines the unique suffix to be used as the client identifier (DHCP option 61) if DHCP is enabled on the wireless print server and "wlan.ip.dhcp.cid_type" is set to "0" or "2". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the client identifier suffix on the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.cid_suffix" This command instructs the printer to change the client identifier suffix value on the wireless print server. Format: ! U1 setvar "wlan.ip.dhcp.cid_suffix" "value" Values: The maximum length of a value allowed is 60 ASCII characters when the CID type is ASCII, or 120 hexadecimal values when the CID type is hexadecimal. Default: ""
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
886
wlan.ip.dhcp.cid_type
Description This printer setting defines the type of client identifier (DHCP option 61) that will be sent if DHCP is enabled on the wireless print server. A value of "1" means the type of "Ethernet" and the printers MAC address will be used. A value of "0" or "2" means the client identifier sent will be "wlan.ip.dhcp.cid_prefix" concatenated with "wlan.ip.dhcp.cid_suffix". For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the client identifier type for the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.cid_type" This command instructs the printer to enable "synthetic" client identifier for the wireless print server. Format: ! U1 setvar "wlan.ip.dhcp.cid_type" "value" Values: "0" = ASCII string "1" = wireless radio cards MAC address "2" = HEX value Default Value: "1"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
887
wlan.ip.dhcp.lease.last_attempt
Description This command retrieves the last time a DHCP request was sent from the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the last time a DHCP request was sent from the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.lease.last_attempt"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the last time a DHCP request was sent to the wireless print server.
! U1 getvar "wlan.ip.dhcp.lease.last_attempt"
6/8/10
P1012728-004
888
wlan.ip.dhcp.lease.length
Description This command retrieves the original length (in seconds) of the DHCP lease on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the original length (in seconds) of the DHCP lease on the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.lease.length"
Note For details on SGD command structure, see Command Structure on page 785.
Example This command retrieves the original length of the DHCP lease on the wireless
P1012728-004
6/8/10
889
wlan.ip.dhcp.lease.server
Description This command retrieves the address of the print server that provided the DHCP lease on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the address if the print server that provided the DHCP lease on the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.lease.server"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the server that provided the DHCP lease
6/8/10
P1012728-004
890
wlan.ip.dhcp.lease.time_left
Description This command retrieves the time (in seconds) left in the current DHCP lease on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the time (in seconds) left in the current DHCP lease on the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.lease.time_left"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the time left in the current DHCP lease on the wireless print server.
! U1 getvar "wlan.ip.dhcp.lease.time_left"
P1012728-004
6/8/10
891
wlan.ip.dhcp.option12
Description This command specifies if the DHCP option 12 (host name) is on or off in the discovery packet that is sent from the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the status of the DHCP option 12 (host name) is on or off in the discovery packet that is sent from the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.option12" This command instructs the printer to set the DHCP option 12 (host name) is on or off in the discovery packet that is sent from the wireless print server. Format: ! U1 setvar "wlan.ip.dhcp.option12" "value" Values: "on" = turns on option 12 "off" = turns off option 12 Default Value: "on"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
892
wlan.ip.dhcp.option12_format
Description This command specifies the format of the option 12 value to be used in the discovery packet of the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the format of option 12 value to be used in the discovery packet of the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.option12_format" This command instructs the printer to set the format of option 12 value to be used in the discovery packet of the wireless print server. Format: ! U1 setvar "wlan.ip.dhcp.option12_format" "value" Values: string Default Value: ""
setvar
Note For details on SGD command structure, see Command Structure on page 785.
the value contained in the device.friendly_name. It is necessary to surround the SGD entry to be used as source for the data with the < and > characters. ! U1 setvar "wlan.ip.dhcp.option12_format" "<device.friendly_name>" To further explain, if the above command was issued and the value currently stored in the device.friendly_name parameter was "ShipPrinter", then the response to following command would be "ShipPrinter": ! U1 getvar "wlan.ip.dhcp.option12_value"
P1012728-004
6/8/10
893
wlan.ip.dhcp.option12_value
Description This command retrieves the actual value which will be used in the discovery packet of the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the actual value which will be used in the discovery packet of the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.option12_value"
Note For details on SGD command structure, see Command Structure on page 785.
the value contained in the device.friendly_name. It is necessary to surround the SGD entry to be used as source for the data with the < and > characters. ! U1 setvar "wlan.ip.dhcp.option12_format" "<device.friendly_name>" To further explain, if the above command was issued and the value currently stored in the device.friendly_name parameter was "ShipPrinter", then the response to following command would be "ShipPrinter": ! U1 getvar "wlan.ip.dhcp.option12_value"
6/8/10
P1012728-004
894
wlan.ip.dhcp.request_timeout
Description This command sets the maximum time (in seconds) to wait for a response to a DHCP discovery request on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the maximum time (in seconds) to wait for a response to a DHCP discovery request on the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.request_timeout" This command instructs the printer to set the maximum time (in seconds) to wait for a response to a DHCP discovery request on the wireless print server. Format: ! U1 setvar "wlan.ip.dhcp.request_timeout" "value" Values: "2" through "30" Default: "2"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
! U1 setvar "wlan.ip.dhcp.request_timeout" "2" When the setvar value is set to "2", the getvar result is "2".
P1012728-004
6/8/10
895
wlan.ip.dhcp.requests_per_session
Description This command retrieves the maximum amount of DHCP discover requests for a single DHCP session on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the currently set maximum amount of DHCP discover requests for a single DHCP session on the wireless print server. Format: ! U1 getvar "wlan.ip.dhcp.requests_per_session" This command instructs the printer to set the maximum amount of DHCP discover requests for a single DHCP session on the wireless print server. Format: ! U1 setvar "wlan.ip.dhcp.requests_per_session" "value" Values: "1" through "10" Default: "2"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
! U1 setvar "wlan.ip.dhcp.requests_per_session" "2" When the setvar value is set to "2", the getvar result is "2".
6/8/10
P1012728-004
896
wlan.ip.dhcp.session_interval
Description This command retrieves how long it will take for a DHCP session to time out before a new DHCP session begins on the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar setvar
This command retrieves the current DHCP session time out. Format: ! U1 getvar "wlan.ip.dhcp.session_interval" This command instructs the printer to set the DHCP session time out. Format: ! U1 setvar "wlan.ip.dhcp.session_interval" "value" Values: "0" through "60" Default: "10"
Note For details on SGD command structure, see Command Structure on page 785.
! U1 setvar "wlan.ip.dhcp.session_interval" "10" When the setvar value is set to "10", the getvar result is "10".
P1012728-004
6/8/10
897
wlan.ip.gateway
Description This command instructs the printer to change the wireless print servers gateway address. For printer support, see SGD Command Support on page 1019.
Note This setting refers to the gateway address. A set value is ignored if the IP protocol is
getvar
This command instructs the printer to respond with the wireless printer servers gateway address. Format: ! U1 getvar "wlan.ip.gateway" This command instructs the printer to change the wireless printer servers gateway address. Format: ! U1 setvar "wlan.ip.gateway" "value" Values: Any valid gateway address Default: "0.0.0.0"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
898
wlan.ip.netmask
Description This setting refers to the wireless print servers subnet mask address. This value is ignored if the IP protocol is not set to permanent. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with wireless print servers subnet mask. Format: ! U1 getvar "wlan.ip.netmask" This command instructs the printer to change the wireless print serverss subnet mask. Format: ! U1 setvar "wlan.ip.netmask" "value" Values: Any valid subnet mask. Default: "255.255.255.0"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
899
wlan.ip.port
Description This printer setting refers to the wireless print servers port number that the TCP print service is listening on. Normal TCP communications from the host should be directed to this port.For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the wireless printer servers TCP/UDP port number. Format: ! U1 getvar "wlan.ip.port" This command instructs the printer to set the wireless print servers TCP/UDP port number. Format: ! U1 setvar "wlan.ip.port" "value" Values: 1 - 65535 (excluding any ports currently used by other services, such as 21, 23, 80, and 515). Default: "9100"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
900
wlan.ip.protocol
Description This command configures the IP addressing method used by the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command returns the value of the currently selected IP protocol used by the wireless print server. Format: ! U1 getvar "wlan.ip.protocol" This command instructs the printer to configure the IP addressing method used by the wireless print server. Format: ! U1 setvar "wlan.ip.protocol" "value" Values: "bootp" = uses the standard bootp addressing method to obtain an IP address and configuration "dhcp" = uses the standard dhcp addressing method to obtain an IP address and configuration for a server specified period of time "rarp" = uses the standard rarp addressing method to obtain an IP address "glean only" = uses the IP address from a PING packet that is sent to its hardware address (unicast address) permanent = uses static values assigned through other commands "all" = tries all of the dynamic addressing methods, not permanent, to obtain an IP address Default: "all"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the setvar result is the current programming language that the
printer is using.
P1012728-004
6/8/10
901
wlan.ip.timeout.enable
Description This network setting refers to enabling the connection timeout on the wireless print server. For this to take effect, the print server must be reset. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to return whether the timeout checking is enabled on the wireless print server. Format: ! U1 getvar "wlan.ip.timeout.enable" This command instructs the printer to enable or disable the timeout checking on the wireless print server. Format: ! U1 setvar "wlan.ip.timeout.enable" "value" Values: "off" = turns off the connection checking "on" = turns on the connection checking Default: "on"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
902
wlan.ip.timeout.value
Description This network setting refers to the number of seconds before the connection times out for the wireless print server. For this to take effect, the print server must be reset. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the time, in seconds, before the connection times out. Format: ! U1 getvar "wlan.ip.timeout.value" This command instructs the printer to set the the time value of the wireless print server, in seconds, before the connection times out. Format: ! U1 setvar "wlan.ip.timeout.value" "value" Values: "1" through "3600" Default: "300"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
903
wlan.keep_alive.enable
Description This setting controls the printers ability to send a LSAP (link service access point) packet to the access point on an user controllable interval. This feature is included to accommodate access points that require a regular confirmation that wireless clients are still active. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the wlan.keep_alive.enable setting. Format: ! U1 getvar "wlan.keep_alive.enable" This command instructs the printer to send a LSAP (link service access point) packet to the access point on an user controllable interval. Format: ! U1 setvar "wlan.keep_alive.enable" "value" Values: "on" = turns on keep_alive "off" = turns off keep_alive Default: "on"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
904
wlan.keep_alive.timeout
Description This printer setting manages the interval at which the LSAP (link service access point) packet is sent. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the wlan.keep_alive.timeout interval value. Format: ! U1 getvar "wlan.keep_alive.timeout" This command instructs the printer to configure the frequency at which the printer sends the wlan.keep_alive packet. Format: ! U1 setvar "wlan.keep_alive.timeout" "value" Values: 5 to 300 seconds Default: "15"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
905
wlan.kerberos.kdc
Description This printer setting refers to the Kerberos Key Distribution Center (KDC). The KDC is a trusted server which maintains a database with account information for all security principals (users) for a particular site or administrative domain (realm). For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the current Kerberos KDC. Format: ! U1 getvar "wlan.kerberos.kdc" This command instructs the printer to change the Kerberos KDC. Format: ! U1 setvar "wlan.kerberos.kdc" "value" Values: 0-32 ASCII characters Default: "krbtgt"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
906
wlan.kerberos.password
Description This printer setting refers to the Kerberos password. The password must correspond to a user profile established on the Kerberos KDC server in use. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the current Kerberos password. Format: ! U1 getvar "wlan.kerberos.password" For protection a single "*" prints. This command instructs the printer to set the Kerberos password. Format: ! U1 setvar "wlan.kerberos.password" "value" Values: 0-32 alphanumeric characters Default: "password"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
907
wlan.kerberos.realm
Description This printer setting refers to the Kerberos realm, an administrative domain with its own Kerberos server (KDC). For printer support, see SGD Command Support on page 1019.
Important If you are using a Windows 2000 Server the realm must be all upper-case. For details, see Example 2 below.
getvar setvar
This command instructs the printer to respond with the current Kerberos realm. Format: ! U1 getvar "wlan.kerberos.realm" This command instructs the printer to change the Kerberos realm. Format: ! U1 setvar "wlan.kerberos.realm" "value" Values: 0-64 alphanumeric characters Default: "kerberos"
Note For details on SGD command structure, see Command Structure on page 785.
server.
6/8/10
P1012728-004
908
wlan.kerberos.username
Description This printer setting refers to the Kerberos user name. The user name must correspond to a user profile established on the Kerberos KDC server in use. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the current Kerberos user name. Format: ! U1 getvar "wlan.kerberos.username" This command instructs the printer to change the Kerberos user name. Format: ! U1 setvar "wlan.kerberos.username" "value" Values: 0-32 alphanumeric characters Default: "user"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
909
wlan.mac_addr
Description This command retrieves the MAC address of the wireless print server. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to respond with the MAC address of the wireless print server. Format: ! U1 getvar "wlan.mac_addr"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar result is the MAC address for the wireless print
server.
! U1 getvar "wlan.mac_addr"
6/8/10
P1012728-004
910
wlan.mac_raw
Description This command specifies the RAW MAC address of the wireless print server. The raw mac address is the mac address without the colons (":"). For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command retrieves the RAW MAC address of the wireless print server. Format: ! U1 getvar "wlan.mac_raw"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar retrieves the RAW MAC address of the wireless
P1012728-004
6/8/10
911
wlan.operating_mode
Description This printer setting refers to the network operating mode. Infrastructure mode means that the printer will try to associate with an access point. Ad hoc mode means that the printer will try to associate with a device other than an access point and join a standalone network. For printer support, see SGD Command Support on page 1019. To use "ad hoc" mode configure the printer as follows: Set the ESSID to the new networks ESSID. Turn off the DHCP and assign an IP Address to the printer. Set the subnet mask on the printer to the new networks subnet mask. Change the operating mode on the printer to "ad hoc". Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the network-mode value. Format: ! U1 getvar "wlan.operating_mode" This command instructs the printer to set the network operating mode. Format: ! U1 setvar "wlan.operating_mode" "value" Values: "adhoc" = printer will try to associate with a network device "infrastructure" = printer will try to associate with an access point Default: "infrastructure"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
912
wlan.password
Description This printer setting refers to the generic password that is used by the wireless securities that need a password. For printer support, see SGD Command Support on page 1019.
Important Kerberos has its own password field
getvar
This command instructs the printer to respond with a generic password for wireless securities. Format: ! U1 getvar "wlan.password" For protection a single "*" prints. This command instructs the printer to set a generic password for the wireless securities that need a password. Format: ! U1 setvar "wlan.password" "value" Values: A maximum of 32 alphanumeric characters. Default: "password"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
913
wlan.preamble
Description This printer setting selects the radio preamble length to be used. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the current preamble length. Format: ! U1 getvar "wlan.preamble" This command instructs the printer to set the preamble length. Format: ! U1 setvar "wlan.preamble" "value" Values: "long" = enables long preamble "short" = enables short preamble Default: "long"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
914
wlan.private_key_password
Description This printer setting allows the setting of the optional private key password. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the value of the private key password. Format: ! U1 getvar "wlan.private_key_password" For protection a single "*" prints. This command instructs the printer to set the private key password. Format: ! U1 setvar "wlan.private_key_password" "value" Values: A maximum of 32 alphanumeric characters Default: ""
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
915
wlan.roam.interchannel_delay
Description This command sets how long of a delay before scanning the next channel when roaming. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the current set delay time before scanning the next channel when roaming. Format: ! U1 getvar "wlan.roam.interchannel_delay" This command sets how long of a delay before scanning the next channel when roaming. The values are in milliseconds. Format: ! U1 setvar "wlan.roam.interchannel_delay" "value" Values: 10 to 30000 Default: "400"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
916
wlan.roam.interval
Description This printer setting refers to specifying the wireless roam interval. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the specified roam interval. Format: ! U1 getvar "wlan.roam.interval" This command instructs the printer to set the wireless roam interval. Format: ! U1 setvar "wlan.roam.interval" "value" Values: Decimal values between 5 and 255 inclusive Default: "20"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
917
wlan.roam.max_chan_scan_time
Description This command sets how long the radio waits on a channel looking for probe responses. For printer support, see SGD Command Support on page 1019. Type getvar;setvar
Commands Details
getvar
This command retrieves the current setting for how long the radio waits on a channel looking for probe responses. Format: ! U1 getvar "wlan.roam.max_chan_scan_time" This command sets how long the radio waits on a channel looking for probe responses. The values are in milliseconds. Format: ! U1 setvar "wlan.roam.max_chan_scan_time" "value" Values: 10 to 500 Default: "100"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
918
wlan.roam.signal
Description This printer setting refers to specifying the wireless roam signal. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the specified wireless roam signal. Format: ! U1 getvar "wlan.roam.signal" This command instructs the printer to set the wireless roam signal. Format: ! U1 setvar "wlan.roam.signal" "value" Values: Decimal values between 1 and 75 inclusive. Default: "50"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
919
wlan.security
Description This printer setting allows you to specify both the wireless encryption type and authentication type in one command. For printer support, see SGD Command Support on page 1019.
Note The supporting parameters that are required vary based on the security type that you
select. See Supporting SGD Commands for Different Security Types on page 920 for instructions for each security type. When using certificate files, Zebra printers support: using Privacy Enhanced Mail (PEM) formatted certificate files. using the client certificate and private key as two files, each downloaded separately. using exportable PAC files for EAP-FAST. These certificate files can only be sent using ZPL, not SGD. The ZPL command to use when sending these certificate files is the ~DY command. Configuring the printer for WPA also allows the printer to be used in WPA2 environments. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to return the name and not the type. If an invalid security mode is entered the printer returns Invalid Mode. Format: ! U1 getvar "wlan.security" "value" This command instructs the printer to set the wireless security value. Format: ! U1 setvar "wlan.security" "value" Values: "1" = No wireless security or "none" "2" = WEP 40-bit or "wep 40-bit" "3" = WEP 128-bit or "wep 128-bit" "4" = EAP-TLS or "eap-tls" "5" = EAP-TTLS or "eap-ttls" "6" = EAP-FAST or "eap-fast" "7" = PEAP or "peap" "8" = LEAP or "leap" "9" = WPA PSK or "wpa psk" (Key rotation for WPA2 PSK is supported in firmware versions V53.15.8Z , V60.15.8Z, and later.) "10" = WPA EAP-TLS or "wpa eap-tls" "11" = WPA EAP-TTLS or "wpa eap-ttls" "12" = WPA EAP-FAST or "wpa eap-fast" "13" = WPA PEAP or "wpa peap" "14" = WPA LEAP or "wpa leap" "15" = Kerberos or "kerberos" Default: "1"
setvar
6/8/10
P1012728-004
920
Note For details on SGD command structure, see Command Structure on page 785.
! U1 setvar "wlan.security" "2" ! U1 setvar "wlan.wep.index" "1" ! U1 setvar "wlan.wep.auth_type" "open" ! U1 setvar "wlan.wep.key_format" "hex" ! U1 setvar "wlan.wep.key1" "A1B2C3D4F5"
P1012728-004
6/8/10
921
! U1 setvar "wlan.security" "3" ! U1 setvar "wlan.wep.index" "2" ! U1 setvar "wlan.wep.auth_type" "open" ! U1 setvar "wlan.wep.key_format" "hex" ! U1 setvar "wlan.wep.key1" "001122334455667788" ! U1 setvar "wlan.wep.key2" "112233445566778899" ! U1 setvar "wlan.wep.key3" "223344556677889900" ! U1 setvar "wlan.wep.key4" "334455667788990011"
6/8/10
P1012728-004
922
! U1 setvar "wlan.security" "6" ! U1 setvar "wlan.username" "user" ! U1 setvar "wlan.password" "password" ! U1 setvar "wlan.private_key_password" "private"
P1012728-004
6/8/10
923
environments. Key rotation for WPA2 PSK is supported in firmware version 60.15.8Z and later and in firmware version 53.15.8Z and later. Additional parameters that need to be set and the SGD commands to use: Pre-Shared Key (PSK) value (see wlan.wpa.psk on page 940)
Example This example configures the printer for WPA PSK authentication with a PSK
6/8/10
P1012728-004
924
environments. Additional parameters that need to be set and the SGD commands to use: optional private key password (see wlan.private_key_password on page 914)
Example This example configures the printer for WPA EAP-TLS authentication with an
environments. Additional parameters that need to be set and the SGD commands to use: user ID (see wlan.username on page 933) password (see wlan.password on page 912)
Example This example configures the printer for WPA EAP-TTLS authentication, including a user ID with a value of user and a password with a value of password.
P1012728-004
6/8/10
925
environments. Additional parameters that need to be set and the SGD commands to use: user ID (see wlan.username on page 933) password (see wlan.password on page 912) optional private key password (see wlan.private_key_password on page 914)
Example This example configures the printer for WPA EAP-FAST authentication, including a user ID of user, a password of password, and an optional private key of private.
! U1 setvar "wlan.security" "12" ! U1 setvar "wlan.username" "user" ! U1 setvar "wlan.password" "password" ! U1 setvar "wlan.private_key_password" "private"
environments. Additional parameters that need to be set and the SGD commands to use: user ID (see wlan.username on page 933) password (see wlan.password on page 912)
Example This example configures the printer for WPA PEAP authentication, including a
6/8/10
P1012728-004
926
environments. Additional parameters that need to be set and the SGD commands to use: user ID (see wlan.username on page 933) password (see wlan.password on page 912)
Example This example configures the printer for WPA LEAP authentication, including a
! U1 setvar "wlan.security" "15" ! U1 setvar "wlan.kerberos.username" "user" ! U1 setvar "wlan.kerberos.password" "password" ! U1 setvar "wlan.kerberos.realm" "zebra" ! U1 setvar "wlan.kerberos.kdc" "krbtgt"
P1012728-004
6/8/10
927
wlan.signal_noise
Description This command returns the signal noise on the wireless network. Values above 40% represent a very significant noise, and radio communication is not reliable. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to return the current signal noise on the wireless network. Format: ! U1 getvar "wlan.signal_noise"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar result is the current signal_noise value.
! U1 getvar "wlan.signal_noise"
6/8/10
P1012728-004
928
wlan.signal_quality
Description This command instructs the printer to return the current signal quality of the wireless network. Values below 40% represent a very poor signal quality, and radio communication is not reliable. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to return the current signal quality of the wireless network. Format: ! U1 getvar "wlan.signal_quality"
Note For details on SGD command structure, see Command Structure on page 785.
Example In this example, the getvar result is the current signal_quality value.
! U1 getvar "wlan.signal_quality"
P1012728-004
6/8/10
929
wlan.signal_strength
Description This command returns the signal strength of the connection to the access point as a percentage value between zero (not connected) and 100 (strongest signal). Values below 40% represent a very poor signal and radio communication is not reliable. For printer support, see SGD Command Support on page 1019. Type getvar
Commands Details
getvar
This command instructs the printer to respond with the current signal strength. Format: ! U1 getvar "wlan.signal_strength"
Note For details on SGD command structure, see Command Structure on page 785.
! U1 getvar "wlan.signal_strength"
6/8/10
P1012728-004
930
wlan.station_name
Description This printer setting refers to the station name. For printer support, see SGD Command Support on page 1019. Type setvar;getvar
Commands Details
getvar setvar
This command instructs the printer to respond with the station name value. Format: ! U1 getvar "wlan.station_name" This command instructs the printer to set the station name. Format: ! U1 setvar "wlan.station_name" "value" Values: A maximum of 32 alphanumeric characters Default: "ZEBRA"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
931
wlan.tx_power
Description This printer setting refers to specifying the wireless transmit power. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the wireless transmit power. Format: ! U1 getvar "wlan.tx_power" This command instructs the printer to set the wireless transmit power. Format: ! U1 setvar "wlan.tx_power" "value" Values: Decimal values of 1, 5, 20, 30, 50, 100 Default: "100"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
932
wlan.tx_rate
Description This printer setting refers to specifying the wireless transmit rate. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the wireless transmit rate. Format: ! U1 getvar "wlan.tx_rate" This command instructs the printer to set the wireless transmit rate. Format: ! U1 setvar "wlan.tx_rate" "value" Values: 1, 2, 5.5, 11, all Default: "all"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
933
wlan.username
Description This printer setting refers to the generic user name that is used by the wireless securities that need a user name. For printer support, see SGD Command Support on page 1019.
Important Kerberos has its own user name field.
getvar
This command instructs the printer to respond with a generic user name for the wireless securities that need a user name. Format: ! U1 getvar "wlan.username" This command instructs the printer to set a generic user name for wireless securities that need a user name. Format: ! U1 setvar "wlan.username" "value" Values: A maximum of 32 alphanumeric characters Default: "user"
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
934
wlan.wep.auth_type
Description For the WEP security type, this printer setting selects the authentication type to be used between the printer and the access point. The authentication types are open system and shared key. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to retrieve the current WEP authentication type. Format: ! U1 getvar "wlan.wep.auth_type" This command instructs the printer to set the WEP authentication type. Format: ! U1 setvar "wlan.wep.auth_type" "value" Values: "open" = enables the open authentication type "shared" = enables the shared authentication type Default: "open"
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
935
wlan.wep.index
Description This printer setting refers to the WEP (Wired Equivalent Privacy) encryption key index. This printer setting determines which one of the four encryption keys is to be used by the client (printer). For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar setvar
This command instructs the printer to respond with the encryption key index. Format: ! U1 getvar "wlan.wep.index" This command instructs the printer to set the encryption key index. Format: ! U1 setvar "wlan.wep.index" "value" Values: "1" = enables encryption key 1 "2" = enables encryption key 2 "3" = enables encryption key 3 "4" = enables encryption key 4 Default: "1"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
936
wlan.wep.key1
Description This printer setting refers to the first indexed WEP encryption key. The WEP encryption key is a hexadecimal or string value. This key should match the wireless network WEP encryption key 1. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the encryption key. Format: ! U1 getvar "wlan.wep.key1" For protection a single "*" prints. This command instructs the printer to set the encryption key. Format: ! U1 setvar "wlan.wep.key1" "value" Values: 10 hexadecimal characters for 40-bit encryption 26 hexadecimal characters for 128-bit encryption Default: All zeros
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
937
wlan.wep.key2
Description This printer setting refers to the second indexed WEP encryption key. The WEP encryption key is a hexadecimal string value. This key should match the wireless network WEP encryption key 2. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer respond with the encryption key. Format: ! U1 getvar "wlan.wep.key2" For protection a single "*" prints. This command instructs the printer to set the encryption key. Format: ! U1 setvar "wlan.wep.key2" "value" Values: 10 hexadecimal characters for 40-bit encryption 26 hexadecimal characters for 128-bit encryption Default: All zeros
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
938
wlan.wep.key3
Description This printer setting refers to the third indexed WEP encryption key. The WEP encryption key is a hexadecimal string value. This key should match the wireless network WEP encryption key 3. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the encryption key. Format: ! U1 getvar "wlan.wep.key3" For protection a single "*" prints. This command instructs the printer to set the encryption key. Format: ! U1 setvar "wlan.wep.key3" "value" Values: 10 hexadecimal characters for 40-bit encryption 26 hexadecimal characters for 128-bit encryption Default: All zeros
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
939
wlan.wep.key4
Description This printer setting refers to the fourth indexed WEP encryption key. The WEP encryption key is a hexadecimal string value. This key should match the wireless network WEP encryption key 4. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer respond with the encryption key. Format: ! U1 getvar "wlan.wep.key4" For protection a single "*" prints. This command instructs the printer to set the encryption key. Format: ! U1 setvar "wlan.wep.key4" "value" Values: 10 hexadecimal characters for 40-bit encryption 26 hexadecimal characters for 128-bit encryption Default: All zeros
setvar
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
940
wlan.wpa.psk
Description This printer setting specifies the pre-shared key (PSK) value to use when the WPA authentication is set to PSK. For printer support, see SGD Command Support on page 1019. Type getvar; setvar
Commands Details
getvar
This command instructs the printer to respond with the pre-shared key. Format: ! U1 getvar "wlan.wpa.psk" For protection a single "*" prints. This command instructs the printer to set the pre-shared key. Format: ! U1 setvar "wlan.wpa.psk" "value" Values: 64 hexadecimal digits Default: 64 zeros (00000000...)
setvar
Note For details on SGD command structure, see Command Structure on page 785.
P1012728-004
6/8/10
941
wlan.wep.key_format
Description This printer setting specifies the format for the WEP key. For printer support, see SGD Command Support on page 1019.
Important This printer setting should proceed any of the wep.key settings if you select a
getvar setvar
This command instructs the printer to respond with the WEP key format. Format: ! U1 getvar "wep.key_format" This command instructs the printer to set the WEP key format. Format: ! U1 setvar "wlan.wep.key_format" "value" Values: "ascii" = WEP key is set by ASCII string "hex" = WEP key is a Hex string Default: "hex"
Note For details on SGD command structure, see Command Structure on page 785.
6/8/10
P1012728-004
942
Notes ___________________________________________________________________
P1012728-004
6/8/10
A
Zebra Code Pages
This section provides you with a visual of the different Zebra Code pages.
6/8/10
P1012728-004
944
Zebra Code Pages Zebra Code Page 850 Latin Character Set
downloaded fonts.
P1012728-004
6/8/10
Zebra Code Pages Zebra Code Page 850 Latin Character Set
945
6/8/10
P1012728-004
946
Zebra Code Pages Zebra Code Page 1250 (Scalable/Downloaded TTF) Central and Eastern European Latin Character Set
Zebra Code Page 1250 (Scalable/Downloaded TTF) Central and Eastern European Latin Character Set
This is the Zebra Code Page 1250 that supports scalable/downloaded TTF fonts:
Note Font 0 (zero) was used to display this chart.
P1012728-004
6/8/10
Zebra Code Pages Zebra Code Page 1250 (Scalable/Downloaded TTF) Central and Eastern European Latin Character Set
947
6/8/10
P1012728-004
948
Zebra Code Pages Zebra Code Page 1252 Latin Character Set
P1012728-004
6/8/10
Zebra Code Pages Zebra Code Page 1252 Latin Character Set
949
6/8/10
P1012728-004
950
Zebra Code Pages Zebra Code Page 1253 Modern Greek Character Set
P1012728-004
6/8/10
Zebra Code Pages Zebra Code Page 1253 Modern Greek Character Set
951
CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC
6/8/10
P1012728-004
952
Zebra Code Pages Zebra Code Page 1254 Turkish Character Set
P1012728-004
6/8/10
Zebra Code Pages Zebra Code Page 1254 Turkish Character Set
953
CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC
6/8/10
P1012728-004
954
Zebra Code Pages Zebra Code Page 1255 Hebrew Character Set
P1012728-004
6/8/10
Zebra Code Pages Zebra Code Page 1255 Hebrew Character Set
955
CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC CHR HEX DEC
6/8/10
P1012728-004
956
Zebra Code Pages Zebra Code Page 1255 Hebrew Character Set
Notes ___________________________________________________________________
P1012728-004
6/8/10
B
ASCII
This section shows the American Standard Code for Information Interchange (ASCII) code used by Zebra printers.
6/8/10
P1012728-004
958
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
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
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
@ 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 [ \ ] ^ _
60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
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
P1012728-004
6/8/10
C
Fonts and Bar Codes
This section provides information about different fonts (type faces) and bar codes that can be used with the printer.
Contents
Standard Printer Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Proportional and Fixed Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scalable Versus Bitmapped Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Font Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bar Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960 962 964 966 968
6/8/10
P1012728-004
960
zero
Accessed with the ^GS command.
To use one of these fonts, you must either use the change alphanumeric default font command (^CF) or specify an alphanumeric field command (^A). The standard Zebra character set is Code 850 for character values greater than 20 HEX. There are six HEX character values below 20 HEX that are also recognized. Figure 7 shows how these character values are printed.
Note Unidentified characters should default to a space.
P1012728-004
6/8/10
961
6/8/10
P1012728-004
962
The baseline is the imaginary line on which the bottom (base) of all characters (except any descenders) rest. The area between the baseline and the bottom of the matrix is used for any character descenders. Baseline numbers define where the baseline is located in relationship to the top of the matrix. For example, the baseline for font E is 23 dots down from the top of the matrix. Table 30 Intercharacter Gap and Baseline Parameters
Font H x W (in dots) Type Intercharacter Gap (in dots) Baseline (in dots)
A B C,D E F G H
9x5 11 x 7 18 x 10 28 x 15 26 x 13 60 x 40 21 x 13
1 2 2 5 3 8 6
7 11 14 23 21 48 21
P1012728-004
6/8/10
963
GS 0
24 x 24 DEFAULT: 15 x 12
SYMBOL
PROPORTIONAL PROPORTIONAL
3 x HEIGHT/4 3 x HEIGHT/4
6/8/10
P1012728-004
964
Scalable Fonts
All dot parameters used in the commands to create scalable fonts are translated into a point size because scalable fonts are measured in point sizes, not dots. To determine how many dots to enter to obtain a particular point size, use the following formula. The actual point size will be an approximate value.
Dots = (Point size) x (Dots per inch of Printer) 72
For printers using a 6 dot/mm printhead the dots per inch of printer value is 152.4 For printers using a 8 dot/mm printhead the dots per inch of printer value is 203.2 For printers using a 12 dot/mm printhead the dots per inch of printer value is 304.8 For printers using a 24 dot/mm printhead the dots per inch of printer value is 609.6 The actual height and width of the character in dots will vary, depending on the font style and the particular character. Therefore, some characters will be smaller and some will be larger than the actual dot size requested. The baselines for all scalable fonts are calculated against the dot size of the cell. The baseline is 3/4 down from the top of the cell. For example, if the size of the cell is 80 dots, the baseline will be 60 dots (3/4) down from the top of the cell. For more information concerning fonts and related commands, see ~DB on page 160 and ~DS on page 169.
Bitmapped Fonts
Internal bitmapped fonts can be magnified from 1 to 10 times their normal (default) size. The magnification factor is in whole numbers. Therefore, if the normal size of a bitmapped font is 9 dots high and 5 dots wide, a magnification factor of 3 would produce a character of 27 dots high and 15 dots wide. Height and width can be magnified independently.
Magnification Factor
The font commands contain parameters for entering the height and width of printed characters. The values are always entered in dots. When entering these values for bitmapped fonts, use the following formula: Base Height x Magnification Factor = Height Parameter Value
P1012728-004
6/8/10
965
The same principle applies when calculating width. Example: Base height = 9 dots Base width = 5 dots To magnify a bitmapped character with the above specifics 3 times its size: Height parameter = 27 [9 x 3] Width parameter = 15 [5 x 3]
^AD,54
you get characters three times their normal size (54 dots high), but if you specify
^AD,52
you receive the same result, not characters 52 dots high. Defining only the height or width of a bitmapped font forces the magnification to be proportional to the parameter defined. If neither is defined, the ^CF height and width are used. For example, if the height is twice the standard height, the width will be twice the standard width.
Example If a ^CF command, with height and width parameters defined, is used to set the first font, any ^A commands (to select a different font) that follow must have the height and width parameter filled in.
If this is not done, the newly selected font will be magnified using values for the ^CF height and width parameters. This is an example of what happens:.
ZPL II CODE
^XA^LL1800 ^FO50,50^CFD,26,10^FDZEBRA....^FS ^FO50,100^FD"Bar Code, Bar None"^FS ^FO50,200^AA^FDZEBRA....^FS ^FO50,250^FD"Bar Code, Bar None"^FS ^XZ
GENERATED LABEL
6/8/10
P1012728-004
966
Font Matrices
Type Key U = Uppercase, L = Lowercase, D = Descenders Table 31 6 dot/mm Printhead
Matrix Font HxW (in dots) Type HxW (in in.) Char./in. HxW (in mm) Char. /mm Character Size
A B C, D E F G H GS 0
9x5 11 x 7 18 x 10 21 x 10 26 x 13 60 x 40 17 x 11 24 x 24 Default: 15 x 12
0.059 x 0.039 0.072 x 0.059 0.118 x 0.079 0.138 x 0.085 0.170 x 0.105 0.394 x 0.315 0.111 x 0.098 0.157 x 0.157
1.50 x 0.99 1.82 x 1.50 2.99 x 2.00 3.50 x 2.16 4.32 x 2.67 10.0 x 8.00 2.81 x 2.48 3.98 x 3.98
A B C, D E F G H GS P Q R S T U V 0
9X5 11 X 7 18 X 10 28 x 15 26 x 13 60 x 40 21 x 13 24 x 24 20 x 18 28 x 24 35 x 31 40 x 35 48 x 42 59 x 53 80 x 71 Default: 15 x 12
U-L-D U U-L-D OCR-B U-L-D U-L-D OCR-A SYMBOL U-L-D U-L-D U-L-D U-L-D U-L-D U-L-D U-L-D U-L-D
0.044 x 0.030 0.054 x 0.044 0.089 x 0.059 0.138 x 0.098 0.128 x 0.079 0.295 x 0.197 0.103 x 0.093 0.118 x 0.118 0.098 x 0.089 0.138 x 0.118 0.172 x 0.153 0.197 x 0.172 0.236 x 0.207 0.290 x 0.261 0.394 x 0.349 Scalable
33.3 22.7 16.9 10.2 12.7 4.2 10.8 8.5 N/A N/A N/A N/A N/A N/A N/A
1.12 x 0.76 1.37 x 1.12 2.26 x 1.12 3.50 x 2.49 3.25 x 2.00 7.49 x 5.00 2.61 x 2.36 2.99 x 2.99 2.50 x 2.25 3.50 x 3.00 4.38 x 3.88 5.00 x 4.38 6.00 x 5.25 7.38 x 6.63 10.00 x 8.88 Scalable
1.31 0.89 0.66 0.40 0.50 0.167 0.423 0.334 N/A N/A N/A N/A N/A N/A N/A
P1012728-004
6/8/10
967
A B C, D E F G H GS P Q R S T U V 0
9X5 11 X 7 18 X 10 42 x 20 26 x 13 60 x 40 34 x 22 24 x 24 20 x 18 28 x 24 35 x 31 40 x 35 48 x 42 59 x 53 80 x 71 Default: 15 x 12
U-L-D U U-L-D OCR-B U-L-D U-L-D OCR-A SYMBOL U-L-D U-L-D U-L-D U-L-D U-L-D U-L-D U-L-D U-L-D
0.030 x 0.020 0.036 x 0.030 0.059 x 0.040 0.138 x 0.085 0.085 x 0.053 0.197 x 0.158 0.111 x 0.098 0.079 x 0.079 0.067 x 0.060 0.093 x 0.080 0.117 x 0.103 0.133 x 0.177 0.160 x 0.140 0.197 x 0.177 0.267 x 0.237 Scalable
50.8 33.8 25.4 23.4 19.06 6.36 10.20 12.70 N/A N/A N/A N/A N/A N/A N/A
0.75 x 0.50 0.91 x 0.75 1.50 x 1.00 1.75 x 1.08 2.16 x 1.34 5.00 x 4.00 2.81 x 2.48 1.99 x 1.99 1.69 x 1.52 2.37 x 2.03 2.96 x 2.62 3.39 x 2.96 4.06 x 3.56 5.00 x 4.49 6.77 x 6.01 Scalable
2.02 1.32 1.00 0.92 0.74 0.25 0.40 0.52 N/A N/A N/A N/A N/A N/A N/A
aa
A B C, D E F G H GS P Q R S T U V 0
9X5 11 X 7 18 X 10 42 x 20 26 x 13 60 x 40 34 x 22 24 x 24 20 x 18 28 x 24 35 x 31 40 x 35 48 x 42 59 x 53 80 x 71 Default: 15 x 12
U-L-D U U-L-D OCR-B U-L-D U-L-D OCR-A SYMBOL U-L-D U-L-D U-L-D U-L-D U-L-D U-L-D U-L-D U-L-D
0.015 x 0.010 0.018 x 0.015 0.030 x 0.020 0.137 x 0.087 0.043 x 0.027 0.100 x 0.080 0.100 x 0.093 0.040 x 0.040 0.067 x 0.060 0.093 x 0.080 0.117 x 0.103 0.133 x 0.117 0.160 x 0.140 0.197 x 0.177 0.267 x 0.237 Scalable
100.00 66.66 50.00 11.54 37.5 12.50 10.71 25.00 N/A N/A N/A N/A N/A N/A N/A
0.38 x 0.25 0.46 x 0.38 0.77 x 0.51 3.47 x 2.20 1.10 x 0.68 2.54 x 2.04 2.54 x 2.37 1.02 x 1.02 1.69 x 1.52 2.37 x 2.03 2.96 x 2.62 3.39 x 2.96 4.06 x 3.56 5.00 x 4.49 6.77 x 6.01 Scalable
4.00 2.60 2.0 0.45 1.50 0.50 0.42 1.00 N/A N/A N/A N/A N/A N/A N/A
6/8/10
P1012728-004
968
Bar Codes
Every bar code contains data made up of a sequence of light spaces and dark bars that represent letters, numbers, or other graphic characters. The usable characters differ among the various kinds of bar codes. Each bar code section in the ZPL Commands on page 37 provides a table of applicable characters. Start and stop characters and check digits are used by many, but not all, bar codes. These will be indicated in the specific bar code explanations. Zebra printers can print the following kinds of bar codes: Bar code modulus X dimensions Picket fence (non-rotated) orientation: 203 dpi = 0.0049 in. mil to 0.049 in. 300 dpi = 0.0033 in. mil to 0.033 in. Ladder (rotated) orientation: 203 dpi = 0.0049 in. mil to 0.049 in. 300 dpi = 0.0039 in. mil to 0.039 in.
Two-dimensional bar codes Aztec Code 49 Maxi Code TLC39 PDF-417 QR Code Codablock DataMatrix Micro-PDF417 Bar code ratios 2:1 7:3 5:2 3:1
Linear bar codes Codabar Code 11 Code 39 Code 93 Code 128 with subsets A/B C and UCC Case Codes ISBT-128 UPC-A UPC-E EAN-8 EAN-13 UPC and EAN 2 or 5 digit extensions Planet Code Plessey Postnet Standard 2 of 5 Industrial 2 of 5 Interleaved 2 of 5 LOGMARS MSI GS1 DataBar Omnidirectional
P1012728-004
6/8/10
969
the code is a fixed standard and cannot be changed. As another reference to the bar code field commands ratio, see Table 11 on page 139. Table 35 Bar Code Field Commands
ZPL Command Command Description Ratio
^B0 ^B1 ^B2 ^B3 ^B4 ^B5 ^B7 ^B8 ^B9 ^BA ^BB ^BC ^BD ^BE ^BF
Aztec Bar Code Parameters Code 11 (USD-8) Interleaved 2 of 5 Code 39 (USD-3 and 3 of 9) Code 49 (*) Planet Code Bar Code PDF417 (*) EAN-8 (*) UPC-E Code 93 (USS-93)(*) CODABLOCK A, E, F (*) Code 128 (USD-6) (*) UPS MaxiCode (*) EAN-13 Micro-PDF417
[Fixed] [2.0 - 3.0] [2.0 - 3.0] [2.0 - 3.0] [Fixed] [Fixed] [Fixed] [Fixed] [Fixed] [Fixed] [Fixed] [Fixed] [Fixed] [Fixed] [Fixed]
6/8/10
P1012728-004
970
^BI ^BJ ^BK ^BL ^BM ^BO ^BP ^BQ ^BR ^BS ^BU ^BX ^BZ
Industrial 2 of 5 Standard 2 of 5 ANSI Codabar (USD-4 and 2 of 7) LOGMARS MSI Aztec Bar Code Parameters Plessey QR Code (*) GS1 Databar (formerly RSS) UPC/EAN Extensions (*) UPC-A (*) Data Matrix (*) PostNet (*), USPS Intelligent Mail, and Planet bar codes
[2.0 - 3.0] [2.0 - 3.0] [2.0 - 3.0] [2.0 - 3.0] [2.0 - 3.0] [Fixed] [2.0 - 3.0] [Fixed] [Fixed] [Fixed] [Fixed] [Fixed] [Fixed]
Additionally, each bar code field command can be issued with a definition parameter string. The parameter string defines field rotation, height, and interpretation line status for all bar codes. For some bar codes, the parameter string also sets a check digit, start character, and/or stop character. Use the definition parameter string to command the printer to print bar codes of appropriate heights and densities that conform to the specifications of the application. The use of the parameter string is optional because all parameters have default values. If the default values for all of the bar code parameters suit the application, then only the bar code command needs to be entered. Parameters in bar code field commands are position specific. If a value (other than the default value) is manually entered for one parameter the ZPL II delimiter character (a comma) must be used to mark the position of the preceding parameters in the string. To change just the third parameter, enter two commas and then the value for the third parameter. The default values will be automatically used for the first and second parameters.
P1012728-004
6/8/10
971
^B0 ^B1 ^B5 ^BI ^BJ ^BK ^BM ^BO ^BP ^BZ
Aztec Bar Code Parameters Code 11 Planet Code Bar Code Industrial 2 of 5 Standard 2 of 5 ANSI Codabar (or NW-7) MSI Aztec Bar Code Parameters Plessey PostNet (*), USPS Intelligent Mail, and Planet bar codes
Aztec Bar Code Parameters EAN-8 UPC-E EAN-13 Aztec Bar Code Parameters UPC/EAN extensions UPC-A
Aztec Bar Code Parameters Code 39 Code 93 Code 128 LOGMARS Aztec Bar Code Parameters
6/8/10
P1012728-004
972
^B0 ^B4 ^B7 ^BB ^BD ^BF ^BQ ^BO ^BR ^BT ^BX
Aztec Bar Code Parameters Code 49 PDF417 CODABLOCK UPS MaxiCode MicroPDF417 QR Code Aztec Bar Code Parameters GS1 Databar (formerly RSS) TLC39 Data Matrix
P1012728-004
6/8/10
D
Mod 10 and Mod 43 Check Digits
This section provides information about Mod 10 and Mod 43 check digits.
Contents
Mod 10 Check Digit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 Mod 43 Check Digit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975
6/8/10
P1012728-004
974
0 + 2 + 4 + 6 + 8 + 0 = 20
2. The result of Step 1 is multiplied by 3.
20 x 3 = 60
3. Start at the second position and add the value of every other position together.
1 + 3 + 5 + 7 + 9 = 25
4. The results of steps 1 and 3 are added together.
60 + 25 = 85
5. The check character (12th character) is the smallest number which, when added to the
result in step 4, produces a multiple of 10. 85 + X = 90 (next higher multiple of 10) X = 5 Check Character This bar code illustrates the above example. The digit on the right (5) is the check digit.
P1012728-004
6/8/10
975
1. Add the sum of all the character values in the data string. Using the chart above, the sum
115/43 = 2 Remainder is 29
3. The check digit is the character that corresponds to the value of the remainder.
Remainder = 29 29 is the value for the letter T. T is the check digit. Below is a bar code that illustrates the example. The character on the right, T, is the check digit.
6/8/10
P1012728-004
976
Notes ___________________________________________________________________
P1012728-004
6/8/10
E
Error Detection Protocol
This section explains the Zebra protocol that has been supplanted in TCP/IP based applications because of the error detection compatibility inherent in the TCP/IP protocol.
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What is a Protocol? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How Protocols Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Request Packet Formats from the Host Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . Header Block Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Block Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Response From the Zebra Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zebra Packet Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Header Block Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Block Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disguising Control Code Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error Detection Protocol Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error Conditions and System Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How the Zebra Printer Processes a Request Packet. . . . . . . . . . . . . . . . . . . . . . . . . How the Zebra Printer Responds to Host Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978 978 978 979 979 980 981 981 981 982 983 984 984 985 986
06/08/2010
P1012728-004 Rev. A
978
Introduction
There are many instances when it is vitally important that the information sent to the Zebra printer is received completely Error-Free. ZPL II supports an error detection protocol called Zebra Packet Response Protocol to meet this need.
Note This protocol only works when using serial interface. It does not function when using
parallel interface.
What is a Protocol?
A protocol is a precisely defined set of rules. In the case of data communications, a Protocol defines how data is transmitted, received, and acknowledged between two devices. The sole purpose of the Packet Response Protocol is to ensure that the information sent from a Host computer to the Zebra printer is received accurately. Remember, the protocol cannot insure the accuracy of the data that is actually sent from the Host computer. The commands and data needed to make a label (ZPL II Format) are encapsulated within the information sent from the Host computer.
P1012728-004 Rev. A
06/08/2010
Error Detection Protocol Request Packet Formats from the Host Computer
979
1024
Most of the Packets sent by the Host to the Zebra printer will be of the P variety, requesting a label to be printed. The I character tells the Zebra printer to initialize the packet sequence numbering. It is required in the first packet of a new printing session, after starting up the Host computer or the Zebra printer. SEQ. # (the sequence number of the request packet) This block contains a single digit number used to denote the current Transaction Number. The Host computer must increment this number by 1" for each new Request/Response Transaction pair, i.e. 0, 1, 2,..., 9. The numbers repeat after every 10 Transactions.
06/08/2010
P1012728-004 Rev. A
980
Error Detection Protocol Request Packet Formats from the Host Computer
P1012728-004 Rev. A
06/08/2010
981
1024
06/08/2010
P1012728-004 Rev. A
982
SEQ. # (Used to denote the current message sequence number) This number is identical to the message sequence number in the Request Packet. It denotes the message sequence number to which the Response Packet is replying.
P1012728-004 Rev. A
06/08/2010
983
Note This technique is counted as two characters of the 1024 allowed in the Data Format
block.
06/08/2010
P1012728-004 Rev. A
984
The CRC calculated by the Zebra The Zebra printer will return a Negative printer does not match the one Acknowledgment Response Packet. The Host received as part of the Request Packet. computer should retry the same Transaction with the same Sequence Number. The CRC calculated by the Host computer does not match the one received as part of the Response Packet. The Host computer should retry the same Transaction with the same Sequence Number.
P1012728-004 Rev. A
06/08/2010
985
A Request Packet from the Host computer is not received by the Zebra printer. A Request Packet from the Host computer is partially received by the Zebra printer. A Response Packet from the Zebra printer is not received by the Host computer. A Response Packet from the Zebra printer is partially received by the Host computer.
The Host computer times out and resends the Request Packet of the same Transaction with the same Sequence Number. The Host computer times out and resends the Request Packet of the same Transaction with the same Sequence Number. The Host computer times out and resends the Request Packet of the same Transaction with the same Sequence Number. The Host computer times out and resends the Request Packet of the same Transaction with the same Sequence Number.
places the SOH and all the data after it into its Receive Data Buffer. This process continues until the printer receives an EOT (End of Transmission) character.
Note If a second SOH is received before an EOT is detected, the contents of the Receive Buffer will be discarded. All of the data after the second SOH will be placed in the Receive Data Buffer.
2. After detecting the EOT, the printer checks for the following:
*The Data Format begins with STX and ends with ETX. *The Sequence Number has not been used before. If the check is satisfactory, proceed to Step 3 on the following page. If any part of the check is unsatisfactory, the printer discards the data in its Receive Data Buffer and waits for another SOH. No response is sent to the computer.
06/08/2010
P1012728-004 Rev. A
986
Exceptions
It is possible that the printer will send a response to the host that the host does not receive. Therefore, the host will send the same request packet to the printer again. If this happens, the printer will not use the data if it already used it before. However, the printer will send a response back to the host. The printer calculates the CRC and compares it with the one received in the Request Packet. If the CRC is valid, the printer sends a Positive Response Packet to the Host computer. It then transfers the Variable Length data from the Receive Buffer to its memory for processing. If the CRC does not match, and the printer is set up to return a Negative Response Packet, the following will take place:
1. The printer assumes that the DST. Z-ID, SRC. Z-ID, and Sequence Number are correct
P1012728-004 Rev. A
06/08/2010
F
ZB64 Encoding and Compression
This section describes the Base 64 MIME (ZB64) encoding and compression. This is the same type of MIME encoding that is used in e-mail. For more information on ZB64 Encoding and Compression, please contact your Reseller or Zebra Representative.
Contents
Introduction to B64 and Z64. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988 B64 and Z64 Encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990
6/8/10
P1012728-004
988
With the use of ZPL, this has the added benefit of avoiding the caret (^) and tilde (~) characters. Base64 encodes six bits to the byte, for an expansion of 33 percent over the unenclosed data. This is much better than the 100 percent expansion given by the existing ASCII hexadecimal encoding. The second encoding, known as Z64, first compresses the data using the LZ77 algorithm to reduce its size. (This algorithm is used by the PKWARE compression program PKZIP and is integral to the PNG graphics format.) The compressed data is then encoded using the MIME Base64 scheme as described above. A CRC is calculated across the Base64-encoded data. If the CRC-check fails or the download is aborted, the object can be invalidated by the printer. The robust encodings can be piggybacked on the existing download commands with full backward compatibility. This is done by prefacing the new encodings with a header that uniquely identifies them. The download routines in the printer firmware can key-off the header to determine whether the data is in the old ASCII hexadecimal encoding or one of the new encodings. This allows existing downloadable objects to be used in their present format, while new objects can be created using the same download commands with the new encodings for increased integrity and reduced download times. For easy reference, B64 and Z64 are referred to as ZB64. In any reference to the ZB64 encoding, assume that both Base64-only (B64) and LZ77/Base64 (Z64) encodings are accepted.
Example The following is an example of an existing download command using the new
encoding: ~DTARIAL,59494,:Z64:H4sICMB8+DMAC0FSSUFMLlRURgDsmnd8VEW7x5+ZO edsyibZNNJhlyWhbEJIwYSwJDGNkmwghJIgJYEEEhQIPSggKAjEAiIiVaSoIJ YNBAkIGgGxUBVUUCGU0JQSC0WFnPvbE+SF18+9H+8f973X+3Jm93umzzNznvn NSSFGRJ6ARAVZvXK7XDaXLyTiR5B7ontuZPQ824I5RKIa6ew+aba8+pU1rVDZ iciv [multiple lines deleted] /O6DU5wZ7ie2+g4xzDPwCpwm3nqW2GAPcdclxF4fIP66jHjncmKvKzh/ZUNCx l9/QQx2HXHYB4m/PkQcdCdx2G7OYt+mszkMh4iZxoifvkh89BFipo87kwD/Bf /dOcycAAEA:a1b2
P1012728-004
6/8/10
989
The parameters are identical to the existing ~DT command: Table 40 ~DT Command Parameters
Parameter Details
o = font name
Accepted Values: any valid TrueType name, up to 8 characters Default Value: if a name is not specified, UNKNOWN is used In this example, Arial is the specified font. Accepted Values: the number of memory bytes required to hold the Zebra-downloadable format of the font Default Value: if an incorrect value or no value is entered, the command is ignored In this example, 59494 is the size. To maintain compatibility with the existing ASCII hexadecimal encoding, this field must contain the size of the un-enclosed and uncompressed object the number of bytes that are finally placed into the printers memory, not the number of bytes downloaded. Accepted Values: a string of ASCII hexadecimal values (two hexadecimal digits/byte). The total number of two-digit values must match parameter s. Default Value: if no data is entered, the command is ignored Everything following the size field is data. The new encoding imposes a header with a unique signature. The new encoding must start with the characters :B64: (data encoded in Base-64 only) or :Z64: (data compressed with LZ77, then encoded in Base-64) followed by the encoded data. After the data is presented, another colon (:) and four hexadecimal digits comprise the CRC. The Base64 standard allows new-line characters (carriage returns and line feeds) to be inserted into the encoded data for clarity. These characters are ignored by the printer.
s = font size
When downloading graphics, the colon is used in the current ASCII hexadecimal encoding indicate repeat the previous dot row. Since this shorthand is invalid for the first character of data (no previous dot row has been downloaded), it is safe for the printer to detect the leading colon character as the lead-in for the new encodings.
6/8/10
P1012728-004
990
the identifying string B64 or Z64 data to download, compressed with LZ77 (if the id parameter is set to Z64) and encoded with Base64. four hexadecimal digits representing the CRC calculated over the :encoded_data field.
The printer calculates a CRC across the received data bytes and compare this to the CRC in the header. A CRC mismatch is treated as an aborted download. The B64 and Z64 encodings can be used in place of the ASCII hexadecimal encoding in any download command. The commands are: ~DB Download Bitmap Font ~DE Download Encoding ~DG Download Graphic ~DL Download Unicode Bitmap Font ~DS Download Scalable Font ~DT Download TrueType Font ~DU Download Unbounded TrueType Font ^GF Graphic Field (with compression type set to ASCII hex)
P1012728-004 Zebra Programming Guide 6/8/10
991
The ~DB (Download Bitmap Font) command can use the new encodings in place of the ASCII hexadecimal encoding in data sub-fields. Each character is encoded individually. However, for small amounts of data, the identifying B64 or Z64 header and trailing CRC may negate any gains made by using the new format. For backward compatibility, the ^HG (Host Graphic) command uses the ASCII hexadecimal encoding. It does not use the new encodings.
6/8/10
P1012728-004
992
Notes ___________________________________________________________________
P1012728-004
6/8/10
G
Field Interactions
This section provides you with examples that show how commands interact with various justification parameters. The examples are in charts for these orientations: Normal Rotated Bottom-up Inverted These charts are designed so that you can identify the location of the field origin and interactions between the rotation, formatting and justification commands.
6/8/10
P1012728-004
994
Normal Orientation
Table 42 shows you the various normal orientation outputs: Table 42 Normal Orientation Examples
^FPH ^FPV ^FPR
P1012728-004
6/8/10
995
Rotated Orientation
Table 43 shows you the various rotated orientation outputs: Table 43 Rotated Orientation Examples
^FPH ^FPV ^FPR
6/8/10
P1012728-004
996
Bottom Up Orientation
Table 44 shows you the various bottom up orientation outputs: Table 44 Bottom Orientation Examples
^FPH ^FPV ^FPR
P1012728-004
6/8/10
997
Inverted Orientation
Table 45 shows you the various inverted orientation outputs: Table 45 Inverted Orientation Examples
^FPH ^FPV ^FPR
6/8/10
P1012728-004
998
Notes ___________________________________________________________________
P1012728-004
6/8/10
H
Real Time Clock
This appendix contains the information needed to install, program, and operate the Real Time Clock (RTC) option.
6/8/10
P1012728-004
1000
Overview
This hardware option is available as either a factory-installed or field-installable option in specific printer products manufactured and sold by Zebra Technologies Corporation. The Real Time Clock option is currently available for following printers, and requires that the firmware version shown is installed on that printer.
Requires this Firmware Version or Later
105SL printers that meet any one of the following criteria: if the printer was manufactured after April 2006 if the RTC Date and the RTC Time fields are printed on the configuration label if the RTC Date and the RTC Time appear on the LCD display DA402 & T402 printers LP2844-Z, TPL2844-Z, and TPL3844-Z printers PAX Series print engines 170PAX2 print engines 110PAX3 print engines using Standard Font 110PAX3 print engines using TT Font 116PAX3 print engines using TT Font 170PAX3 print engines using Standard Font 170PAX3 print engines using TT Font 110PAX4 and 170PAX4 print engines S4M printers (field-installable kit) S600 printers Xi Series printers 90XiII, 140XiII, 170XiII & 220XiII printers 90XiIII, 96XiIII, 140XiIII, 170XiIII, and 220XiIII printers 90XiIIIPlus, 96XiIIIPlus, 140XiIIIPlus, 170XiIIIPlus, and 220XiIIIPlus printers Z4Mplus and Z6Mplus printers ZM400/ZM600/RZ400/RZ600 printers
60.13.0.13Z
32.8.4 45.10.x 29.9.x or 31.9.x 34.10.x 49.10.x 35.10.x 37.10.x 38.10.x 60.13.0.12 50.13.x 27.10.3 18.9.x 33.10.0 60.13.0.12 60.13.0.12 53.15.xZ
P1012728-004
6/8/10
1001
Idle Display
Selects the printer/print engine Idle Display format and the method of displaying the time/date information. This parameter also affects the Configuration Label printout and the RTC DATE and RTC TIME formats.
Selections
FW VERSION MM/DD/YY 24HR MM/DD/YY 12HR DD/MM/YY 24HR DD/MM/YY 12HR If FW VERSION is selected, the format on the Configuration Label and on the RTC DATE and RTC TIME parameters is MM/DD/YY 24HR.
6/8/10
P1012728-004
1002
RTC Date
Allows entry of the RTC date in the format selected by the IDLE DISPLAY parameter.
Note The RTC parameters are password-protected. Refer to your printers user guide for
Printer Model
Action
1. Use the LEFT oval key to select the position to be adjusted 2. Then, use the RIGHT oval key to select the correct value for that
PAX Series print engines, Xi Series printers, and 105SL printers Z4Mplus and Z6Mplus printers
position.
1. Press SELECT to select the parameter. 2. Use the MINUS (-) key to select the position to be adjusted 3. Then, use the PLUS (+) key to select the correct value for that
position. 4. Press SELECT to accept any changes and deselect the parameter. S4M printer
1. Press ENTER. The printer displays the current RTC date. 2. Modify the values as follows:
Press the right arrow to move to the next digit position. To increase the value, press the up arrow. To decrease the value, press the down arrow.
Note Invalid dates, such as 2/29/1999, may be entered, but will not be saved.
P1012728-004
6/8/10
1003
RTC Time
Allows entry of the RTC time in the format selected by the IDLE DISPLAY parameter.
Note The RTC parameters are password-protected. Refer to your printers user guide for
Printer Model
Action
1. Use the LEFT oval key to select the position to be adjusted 2. Use the RIGHT oval key to select the correct value for that
PAX Series print engines, Xi Series printers, and 105SL printers Z4Mplus and Z6Mplus printers
position.
1. Press SELECT to select the parameter. 2. Use the MINUS (-) key to select the position to be adjusted. 3. Use the PLUS (+) key to select the correct value for that position. 4. Press SELECT to accept any changes and deselect the parameter.
S4M printer
1. Press ENTER. The printer displays the current RTC date. 2. Modify the values as follows:
Press the right arrow to move to the next digit position. To increase the value, press the up arrow. To decrease the value, press the down arrow.
6/8/10
P1012728-004
1004
^FD statement, no replacement would occur. In this case, the characters %H would print as text on the label.
P1012728-004
6/8/10
1005
The name of the day of the week, the name of the month, and the AM or PM designation can also be inserted in place of a specific clock-indicator/command character sequence. See Table 46 for the list of command characters and their functions. Table 46 Command Characters
Command Character Function
%a %A %b %B %d %H %I %j %m %M %p %S %U %W %w %y %Y
is replaced by the abbreviated weekday name is replaced by the weekday name is replaced by the abbreviated month name is replaced by the month name is replaced by the day of the month number, 01 to 31 is replaced by the hour of the day (military), 00 to 23 is replaced by the hour of the day (civilian), 01 to 12 is replaced by the day of the year, 001 to 366 is replaced by the month number, 01 to 12 is replaced by the minute, 00 to 59 is replaced by the AM or PM designation is replaced by the seconds, 00 to 59 is replaced by the week# of the year, 00 to 53, Sunday is 1st day* is replaced by the week# of the year, 00 to 53, Monday is 1st day** is replaced by the day# of the week, 00 (Sunday) to 06 (Saturday) is replaced by the 2 digits of the year, 00 to 99 is replaced by the full 4 digit year numberwhere% is the specified clock-indicator character
*. %U establishes Sunday as the first day of the year. **.%W establishes Monday as the first day of the year.
The Set Offset ^SO command permits the printing of specific times and dates relative to the primary clock. The secondary (or third) clock is enabled when secondary (or third) offsets are entered using this command. The secondary (or third) clock time and date are determined by adding the offsets to the current clock reading. One ^SO command is required to set the secondary offset; an additional ^SO command is required for a third offset. The offsets remain until changed or until the printer is either powered down or reset.
Note Only dates from January 1, 1998 to December 31, 2097 are supported. Setting the offsets to values that result in dates outside this range is not recommended and may have unexpected results.
6/8/10
P1012728-004
1006
The Set Mode/Language ^SL (see page 336) command is used to select the language the days of the week and the months are printed in. This command also sets the printing mode, which can be S for START TIME, T for TIME NOW, or a Numeric Value for the time accuracy. In START TIME mode, the time printed on the label is the time that is read from the Real Time Clock when the label formatting begins (when the ^XA command is received by the printer). In TIME NOW mode, the time printed on the label is the time that is read from the Real Time Clock when the label is placed in the queue to be printed. In Numeric Value mode, a time accuracy tolerance can be specified.
Set Sunday as the first day of the week using the %U command. In this example, notice that Saturday, January 1st is Week 00 and Sunday, January 2nd begins Week 01.
Sun First Day of the Week Mon Tue Wed Thu Fri Sat 1 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 8 15 22 29 Week 00 Week 01
P1012728-004
6/8/10
1007
Set Monday as the first day of the week using the %W command. In this example, notice that Saturday, January 1st and Sunday, January 2nd are Week 00 and Monday, January 3rd begins Week 01.
Mon First Day of the Week Tue Wed Thu Fri Sat 1 3 10 17 24 31 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 8 15 22 29 Sun 2 9 16 23 30 Week 00 Week 01
Set Sunday as the first day of the week using the %U command. Since 2006 begins on a Sunday, there is no Week 00 in this example.
Sun First Day of the Week Mon Tue Wed Thu Fri Sat
No Week 00 1 8 15 22 29 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 Week 01
6/8/10
P1012728-004
1008
Set Monday as the first day of the week using the %W command. In this example, Saturday, January 1st is Week 00 and Sunday, January 2nd begins Week 01.
Mon First Day of the Week Tue Wed Thu Fri Sat Sun 1 2 9 16 23 30 3 10 17 24 31 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 8 15 22 29 Week 00 Week 01
P1012728-004
6/8/10
1009
(A)
__________
Printer Print Width (in DOTS) (NOT the Label Width) Label Length (in DOTS)
(B) (C)
3. Determine the desired maximum number of queued labels with the (D)
Real Time Clock values will be less accurate. Two is usually a good compromise.
4. Substitute the values for B through D from the previous page into
the following formula: The label queue memory required (in BYTES) (B x C x D)/8 =
5. Substitute the values for A and E into the following formula:
(E)
__________
(F)
__________
Note If the value of (F) is less than zero, then no ^CO command is needed. If the value
of (F) is greater than zero, use the integer portion in the ^CO command.
6/8/10
P1012728-004
1010
Example
Available RAM (A) = 71478 BYTES Print Width (B) = 832 DOTS Label Length (C) = 1000 DOTS Max Labels Queued (D) = 2 Then The label queue memory required (E) = (B x C x D)/8 = 208000 BYTES And The ^CO command memory required (F) = (71478-208000)/1024)-5=489.87 KBYTES Therefore, the correct ^CO command string to add to the label format would be: ^XA^COY,489^XZ
This command string will cause 489 KBYTES to be set aside as Font Memory and make it unavailable as label format memory. The memory remaining will only allow two labels to be formatted at one time, and the time and date will be more precise for those two labels.
Note For the 170PAX2 print engine, you must disable the Reprint Function for the Time
P1012728-004
6/8/10
1011
ZPL II Samples
The ZPL II scripts shown on this page establish the initial settings for the date and time clock. The script below then references these settings to provide the output shown in Figure 10 on page 1012. Setting the date and time for the Real Time Clock only needs to be done once. The date and time are maintained by an on-board battery when the printer is reset or the printer is turned Off (O). To set the date and time to April 23, 2005 at 2:30pm, the following command string should be sent to the printer:
6/8/10
P1012728-004
1012
% Primary clock indicator { Secondary clock indicator # Third clock indicator ^XA ^LL175 ^FO10,025^AD^FC%,{,#^FD1: Mil: %H:%M:%S Civ: %I:%M:%S %p^FS ^FO10,050^AD^FC%,{,#^FD2: Mil: {H:{M:{S Civ: {I:{M:{S {p^FS ^FO10,075^AD^FC%,{,#^FD3: Mil: #H:#M:#S Civ: #I:#M:#S #p^FS ^FO10,100^AD^FC%,{,#^FD1: On %A, %B %d , %Y (%a, %m/%d/%y, %d %b %Y).^FS ^FO10,125^AD^FC%,{,#^FD2: On {A, {B {d, {Y ( {a, {m/{d/{y, {d {b {Y).^FS ^FO10,150^AD^FC%,{,#^FD3: On #A, #B #d, #Y ( #a, #m/#d/#y, #d #b #Y).^FS ^XZ
Figure 10 Printed Result of the Above ZPL II Script 1: Mil: 14:30:00 Civ: 02:30:00 PM 2: Mil: 15:30:00 Civ: 03:30:00 PM 3: Mil: 14:30:00 Civ: 02:30:00 PM 1: On Wed, April 23, 2005 (Fri, 04/23/05, 23 Apr 2005) 2: On Saturday, July 23, 2005 (Fri, 07/23/05, 23 Jul 2005) 3: On Friday, April 23, 2004 (Fri, 04/23/04, 23 Apr 2004)
P1012728-004
6/8/10
1013
The following are examples of the time stamp using the ^SL1 and ^SL5 at 2 ips and 10 ips for the Enhanced Real Time Clock (V60.13.0.10 and later).
Note They show the variation of time due to print speed and label complexity.
15:42:31 15:42:29 15:42:27 15:42:24 15:42:22 15:42:20 15:42:18 15:42:16 15:42:13 15:42:11
1 2 3 4 5
15:47:10 15:47:09 15:47:08 15:47:07 15:47:06 15:47:05 15:47:04 15:47:03 15:47:02 15:47:01
6 7 8 9 10
6/8/10
P1012728-004
1014
15:43:55 15:43:55 15:43:55 15:43:50 15:43:50 15:43:50 15:43:47 15:43:42 15:43:42 15:43:42
1 2 3 4 5
15:48:22 15:48:22 15:48:22 15:48:22 15:48:22 15:48:22 15:48:22 15:48:22 15:48:22 15:48:22
6 7 8 9 10
P1012728-004
6/8/10
I
ZBI Character Set
This section provides you with the set of characters that are supported on the front panel of the following Zebra printers with ZBI 2.0: XiIIIPlus, 105SL, Z4M/Z6M, ZM400/ZM600, RZ400/RZ600, PAX4 and S4M when V60.16.0Z or V53.16.0Z, or later firmware are loaded. These characters can be used in ZBI programs to display content on the LCD.
6/8/10
P1012728-004
1016
Character Set
These are the supported characters for these Zebra printers: XiIIIPlus 105SL Z4M/Z6M PAX4 S4M:
P1012728-004
6/8/10
1017
These are the supported characters for these Zebra printers: ZM400/ZM600 RZ400/RZ600 Xi4 RXi4
6/8/10
P1012728-004
1018
Notes ___________________________________________________________________
P1012728-004
6/8/10
J
SGD Command Support
This appendix provides you with details identifying which SGD commands can be used with different printers and firmware versions.
6/8/10
P1012728-004
1020
Printer Type
Which type of printer do you have?
If you have a Then
Go to Table 47, SGD Standard Printer and Firmware Compatibility on page 1020. Go to Table 48, SGD RFID Printer and Firmware Compatibility on page 1032.
Standard Printer
Important All the firmware versions noted in Table 47 refer to the minimum firmware version required. For RFID printer support, see Table 48.
S4M
Xi4
HC100
G-Series
KR403
SGD Commands appl.bootblock appl.name appl.option_board_version bluetooth.address bluetooth.afh_map bluetooth.afh_map_curr bluetooth.afh_mode bluetooth.authentication bluetooth.bluetooth_pin
V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.16.5Z, V56.16.5Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z
V66.17.2Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
P1012728-004
6/8/10
1021
S4M
Xi4
HC100
G-Series
KR403
SGD Commands bluetooth.date bluetooth.discoverable bluetooth.enable bluetooth.friendly_name bluetooth.local_name bluetooth.radio_auto_baud bluetooth.radio_version bluetooth.short_address bluetooth.version card.inserted card.mac_addr CISDFCRC16 comm.type cutter.clean_cutter device.download_connection_timeout device.epl_legacy_mode device.friendly_name device.frontpanel.key_press device.frontpanel.line1 device.frontpanel.line2 device.frontpanel.xml device.jobs_print device.languages device.orientation device.pnp_option device.reset
V50.15.2Z V50.15.2Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.4Z V53.15.5Z V53.16.4Z
V53.15.5Z V53.15.5Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.4Z V53.15.5Z V53.16.4Z
V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z
V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.17.3Z, V56.17.3Z V61.15.6Z, V56.15.6Z V61.16.5Z, V56.16.5Z V61.17.7Z, V56.17.7Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.16.5Z, V56.16.5Z
V66.17.2Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
6/8/10
P1012728-004
1022
S4M
Xi4
HC100
G-Series
KR403
SGD Commands device.restore_defaults device.unique_id device.uptime device.user_p1 device.user_p2 device.xml.enable display.text external_wired.check external_wired.ip.addr external_wired.ip.arp_interval external_wired.ip.default_addr_enable external_wired.ip.dhcp.cid_all external_wired.ip.dhcp.cid_enable external_wired.ip.dhcp.cid_prefix external_wired.ip.dhcp.cid_suffix external_wired.ip.dhcp.cid_type external_wired.ip.gateway external_wired.ip.netmask external_wired.ip.port external_wired.ip.protocol external_wired.ip.timeout.enable external_wired.ip.timeout.value external_wired.ip.v6.addr external_wired.ip.v6.gateway external_wired.ip.v6.prefix_length external_wired.mac_addr
V53.16.4Z V53.16.2Z V53.16.4Z V53.16.4Z V53.16.4Z V53.15.8Z V53.16.4Z V53.16.4Z **V53.15.5Z V53.15.5Z V53.15.5Z **V53.15.5Z **V53.15.5Z **V53.15.5Z **V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z v53.16.5Z v53.16.5Z v53.16.5Z V53.15.5Z
V53.16.4Z V53.16.2Z V53.16.4Z V53.16.4Z V53.16.4Z V53.15.8Z V53.16.4Z V53.16.4Z **V53.15.5Z V53.15.5Z V53.15.5Z **V53.15.5Z **V53.15.5Z **V53.15.5Z **V53.15.5Z **V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z v53.16.5Z v53.16.5Z v53.16.5Z V53.15.5Z
V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z
V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
P1012728-004
6/8/10
1023
S4M
Xi4
HC100
G-Series
KR403
SGD Commands external_wired.mac_raw file.delete file.dir file.run file.type head.latch interface.network.active.gateway interface.network.active.ip_addr interface.network.active.mac_addr interface.network.active.mac_raw interface.network.active.netmask interface.network.active.protocol internal_wired.auto_switchover internal_wired.ip.addr internal_wired.ip.arp_interval internal_wired.ip.default_addr_enable internal_wired.ip.dhcp.cache_ip internal_wired.ip.dhcp.cid_all internal_wired.ip.dhcp.cid_enable internal_wired.ip.dhcp.cid_prefix internal_wired.ip.dhcp.cid_suffix internal_wired.ip.dhcp.cid_type internal_wired.ip.dhcp.lease.last_attempt internal_wired.ip.dhcp.lease.length internal_wired.ip.dhcp.lease.server
V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z
V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z * V53.15.5Z * V53.15.5Z * V53.15.5Z V53.16.4Z * V53.15.5Z * V53.15.5Z * V53.15.5Z * V53.15.5Z * V53.15.5Z V53.16.4Z V53.16.4Z V53.16.4Z
V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z
V54.16.1ZC V54.16.1ZC V54.16.1ZC V54.16.1ZC V54.16.1ZC V54.16.1ZC V54.16.1ZC V54.16.1ZC V54.16.1ZC V54.16.1ZC V54.16.1ZC V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z
V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
6/8/10
P1012728-004
1024
S4M
Xi4
HC100
G-Series
KR403
SGD Commands internal_wired.ip.dhcp.lease.time_left internal_wired.ip.dhcp.option12 internal_wired.ip.dhcp.option12_format internal_wired.ip.dhcp.option12_value internal_wired.ip.dhcp.request_timeout internal_wired.ip.dhcp.requests_per_session internal_wired.ip.dhcp.session_interval internal_wired.ip.gateway internal_wired.ip.netmask internal_wired.ip.port internal_wired.ip.protocol internal_wired.ip.timeout.enable internal_wired.ip.timeout.value internal_wired.mac_addr internal_wired.mac_raw ip.active_network ip.addr ip.arp_interval ip.bootp.enable ip.dhcp.cache_ip ip.dhcp.cid_all ip.dhcp.cid_enable ip.dhcp.cid_prefix ip.dhcp.cid_suffix ip.dhcp.cid_type
V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z * V53.15.5Z * V53.15.5Z V53.15.5Z * V53.15.5Z * V53.15.5Z * V53.15.5Z * V53.15.5Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z
V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z
V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z
V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
P1012728-004
6/8/10
1025
S4M
Xi4
HC100
G-Series
KR403
SGD Commands ip.dhcp.enable ip.dhcp.lease.last_attempt ip.dhcp.lease.length ip.dhcp.lease.server ip.dhcp.lease.time_left ip.dhcp.option12 ip.dhcp.option12_format ip.dhcp.option12_value ip.dhcp.request_timeout ip.dhcp.requests_per_session ip.dhcp.session_interval ip.dns.domain ip.dns.servers ip.ftp.enable ip.ftp.execute_file ip.gateway ip.http.enable ip.lpd.enable ip.mac_raw ip.mirror.auto ip.mirror.error_retry ip.mirror.feedback.auto ip.mirror.feedback.freq ip.mirror.feedback.odometer ip.mirror.feedback.path ip.mirror.fetch
V53.15.5Z, V50.15.2Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V53.16.4Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z
V53.15.5Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z
V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z
V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1ZC V54.16.1ZC V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1ZC
V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.15.6Z, V56.15.6Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
6/8/10
P1012728-004
1026
S4M
Xi4
HC100
G-Series
KR403
SGD Commands ip.mirror.freq ip.mirror.freq_hours ip.mirror.last_error ip.mirror.last_time ip.mirror.password ip.mirror.path ip.mirror.reset_delay ip.mirror.server ip.mirror.success ip.mirror.success_time ip.mirror.username ip.mirror.version ip.netmask ip.pop3.enable ip.pop3.password ip.pop3.poll ip.pop3.server_addr ip.pop3.username ip.port ip.primary_network ip.smtp.domain ip.smtp.enable ip.smtp.server_addr ip.snmp.enable ip.snmp.get_community_name
V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2ZA V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V53.15.5Z V53.15.5Z, V50.15.2Z V50.15.2Z V53.15.5Z, V50.15.2Z V50.15.2Z V53.15.5Z, V50.15.2Z
V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2ZA V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z
V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2ZA V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.2Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z
V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z
V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3ZA, V56.17.3ZA V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.17.3Z, V56.17.3Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
P1012728-004
6/8/10
1027
S4M
Xi4
HC100
G-Series
KR403
SGD Commands ip.snmp.set_community_name ip.tcp.enable ip.telnet.enable ip.udp.enable media.cartridge.part_number media.cut_now media.darkness_mode media.media_low.external media.media_low.warning media.present.cut_amount media.present.cut_margin media.present.eject media.present.length_addition media.present.loop_length media.present.loop_length_max media.present.present_timeout media.present.present_type media.printmode media.speed odometer.headclean odometer.headnew odometer.label_dot_length odometer.media_marker_count1 odometer.media_marker_count2 odometer.retracts_count odometer.total_print_length print.tone wlan.adhocautomode wlan.adhocchannel wlan.associated
V53.15.5Z, V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V53.15.5Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V50.15.2Z V50.15.2Z V50.15.2Z
V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z
V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z
V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.5Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z
V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.16.6Z, V56.16.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.15.6Z, V56.15.6Z V61.16.6Z, V56.16.6Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z
V66.17.2Z V66.17.2Z V66.17.2Z V66.17.2Z V66.17.2Z V66.17.2Z V66.17.2Z V66.17.2Z V66.17.2Z V66.17.2Z V66.17.2Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
6/8/10
P1012728-004
1028
S4M
Xi4
HC100
G-Series
KR403
SGD Commands wlan.bssid wlan.channel wlan.channel_mask wlan.current_tx_rate wlan.essid wlan.firmware_version wlan.ip.addr wlan.ip.arp_interval wlan.ip.default_addr_enable wlan.ip.dhcp.cache_ip wlan.ip.dhcp.cid_all wlan.ip.dhcp.cid_enable wlan.ip.dhcp.cid_prefix wlan.ip.dhcp.cid_suffix wlan.ip.dhcp.cid_type wlan.ip.dhcp.lease.last_attempt wlan.ip.dhcp.lease.length wlan.ip.dhcp.lease.server wlan.ip.dhcp.lease.time_left wlan.ip.dhcp.option12 wlan.ip.dhcp.option12_format wlan.ip.dhcp.option12_value wlan.ip.dhcp.request_timeout wlan.ip.dhcp.requests_per_session wlan.ip.dhcp.session_interval
V53.16.4Z V53.16.4Z V50.15.2Z V53.16.4Z V50.15.2Z V50.15.2Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z
V53.16.4Z V53.16.4Z V53.15.5Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z V53.16.4Z
V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z
V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z
V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
P1012728-004
6/8/10
1029
S4M
Xi4
HC100
G-Series
KR403
SGD Commands wlan.ip.gateway wlan.ip.netmask wlan.ip.port wlan.ip.protocol wlan.ip.timeout.enable wlan.ip.timeout.value wlan.keep_alive.enable wlan.keep_alive.timeout wlan.kerberos.kdc wlan.kerberos.password wlan.kerberos.realm wlan.kerberos.username wlan.mac_addr wlan.mac_raw wlan.operating_mode wlan.password wlan.preamble wlan.private_key_password wlan.roam.interchannel_delay wlan.roam.interval wlan.roam.max_chan_scan_time wlan.roam.signal wlan.security wlan.signal_noise wlan.signal_quality
V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V53.15.5Z V53.16.4Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V53.16.4Z V50.15.2Z V53.16.4Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z
V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.4Z V53.15.5Z V53.16.4Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z
V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z
V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z
V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
6/8/10
P1012728-004
1030
S4M
Xi4
HC100
G-Series
KR403
SGD Commands wlan.signal_strength wlan.station_name wlan.tx_power wlan.tx_rate wlan.username wlan.wep.auth_type wlan.wep.index wlan.wep.key_format wlan.wep.key1 wlan.wep.key2 wlan.wep.key3 wlan.wep.key4 wlan.wpa.psk zbi.control.add_breakpoint zbi.control.break zbi.control.clear_breakpoints zbi.control.delete_breakpoint zbi.control.line_number zbi.control.restart zbi.control.run zbi.control.step zbi.control.terminate zbi.control.variable_name zbi.control.variable_value zbi.key
V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V50.15.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z
V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.15.5Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z V53.16.2Z
V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z V53.17.1Z
V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z V54.16.1Z
V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
P1012728-004
6/8/10
1031
S4M
Xi4
HC100
G-Series
KR403
SGD Commands zbi.last_error zbi.reseller_key zbi.revision zbi.running_program_name zbi.start_info.execute zbi.start_info.file_name zbi.start_info.memory_alloc zbi.state
V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z V61.16.5Z, V56.16.5Z
* On these printers with ZebraNet 10/100 Internal Print Server. ** On these printers with ZebraNet 10/100 External Print Server, firmware version 1.1.5
6/8/10
P1012728-004
1032
RFID Printers
Important All the firmware versions noted in Table 48 refer to minimum firmware version required. For non-RFID printers, see Table 47. Once an RFID Ready printer has been reconfigured as a RFID Printer, Table 48 should be used. For commands not listed in Table 48, refer to Table 47 and compare your firmware version to the Vxx.xx.xx firmware to which it most closely corresponds.
card.mac_addr
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.addr
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.arp_interval
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.bootp.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.dhcp.cid_all
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.dhcp.cid_enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.dhcp.cid_prefix
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.dhcp.cid_suffix
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.dhcp.cid_type
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
P1012728-004
6/8/10
1033
ip.ftp.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.gateway
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.http.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.lpd.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.netmask
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.pop3.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.pop3.password
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.pop3.poll
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.pop3.server_addr
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.pop3.username
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.port
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.primary_network
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
6/8/10
P1012728-004
1034
ip.smtp.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.smtp.server_addr
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.snmp.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.snmp.get_community_name
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.snmp.set_community_name
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.tcp.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.telnet.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
ip.udp.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
rfid.position.program
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
P1012728-004
6/8/10
1035
rfid.reader_1.power.read
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
rfid.reader_1.power.single_power
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
rfid.reader_1.power.write
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
rfid.tag.calibrate
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
rfid.tag.data
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
rfid.tag.test
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
rfid.tag.type
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.adhocautomode
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.adhocchannel
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.associated
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.channel_mask
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.essid
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
6/8/10
P1012728-004
1036
wlan.keep_alive.enable
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.keep_alive.timeout
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.kerberos.kdc
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.kerberos.password
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.kerberos.realm
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.kerberos.username
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.operating_mode
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.password
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.preamble
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.private_key_password
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.roam.interval
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.roam.signal
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
P1012728-004
6/8/10
1037
wlan.signal_noise
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.signal_quality
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.signal_strength
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.station_name
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.tx_power
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.tx_rate
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.username
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.wep.auth_type
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.wep.index
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.wep.key_format
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.wep.key1
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.wep.key2
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
6/8/10
P1012728-004
1038
wlan.wep.key4
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
wlan.wpa.psk
R60.15.8Z
R62.15.8Z R63.15.8Z
R65.15.8Z
V53.17.7Z
R53.16.3Z V53.17.7Z
P1012728-004
6/8/10
K
Firmware Features
6/8/10
P1012728-004
1040
Firmware x.17
Identifies features that are available in printers with firmware version Vx.17.x or later.
The following is an overview of the new and enhanced features available in firmware version V53.17.x, V56.17.xZ, V60.17.x, V61.17.xZ, and later.
Mirror
Mirror is a feature that gives you the ability to: Centrally manage and monitor the deployment of your Zebra printers Centrally configure and maintain your Zebra printers through remote updates Remotely monitor printer updates via the Feedback feature There are several Set/Get/Do (SGD) commands that can initiate Mirror. For details see Mirror Printer Configuration on page 1061.
Benefits
When using Mirror, updating the configuration and firmware on the printer is remotely managed from a centralized FTP server. Configurations can be uniformly deployed to individual printers or to groups of printers. Unique configurations can also be targeted to printers as needed. Through the Feedback feature, Administrators can easily log and monitor configuration updates on a printer-by-printer basis. Typical uses of Mirror include: Configuring printers as they are first received. Performing scheduled maintenance updates, sending firmware, fonts, graphics and other objects to the printer as needed. Changing printer configurations in order to move printers from one role to another. Supported printers and print servers:
Printer Print Servers
Internal, Integrated 10/100 IPV4 wired Internal Wireless Plus Internal, Integrated 10/100 IPV4 wired Internal Wireless Plus Internal, Integrated 10/100 IPV4 wired Internal Wireless Plus Internal Wireless Plus
Print Servers connected to the parallel port, either externally or internally, are not supported for Mirror use.
P1012728-004
6/8/10
1041
Firmware x.16
Identifies features that are available in printers with firmware version V60.16.x, V53.16.x, or later.
The following is an overview of the new and enhanced features available in firmware version V53.16.x and V60.16.x, and later; it is ZBI 2.0-Ready. These include: ZBI 2.0 can be enabled by placing a ZBI 2.0 key on the printer via the ZBI Key Manager & Downloader utility. Printers can be ordered from the factory with the ZBI 2.0 option enabled. Printers can be ZBI-Enabled in the field by purchasing and using a ZBI Key Kit. Printers can be ZBI-Enabled in the field by purchasing a key at www.zebrasoftware.com. Printers which have been ZBI-Enabled will not display a Z at the end of the firmware version string. For example, a printer which has been ZBI-Enabled will display the firmware version as V53.16.1, while a printer which has not been ZBI-Enabled will display the firmware version as V53.16.1Z The printer configuration label will display the ZBI status for the printer: ZBI-Enabled
Not ZBI-Enabled
The printer configuration label will list which ZBI program is running.
ZBI 2.0 is backwards compatible with previous versions of ZBI. Any code which was specifically written to handle a maximum string length of 255 characters will need to be reviewed to ensure it works with unlimited string lengths. Other ZBI 2.0 Features:
6/8/10
List ZBI programs from the front panel Start/Stop ZBI programs from the front panel
Zebra Programming Guide P1012728-004
1042
Button presses on front panel can be registered as events in ZBI programs. Applicator port control Support for longer strings, the length of the string dependent on available memory. Support for NULL values in Strings and String operations SNMP & Set/Get/Do (SGD) Control of ZBI On-printer Debugging (via ZBI-Developer) ZBI 2.0 Program Encryption ZBI 2.0 programs can be made hidden and/or persistent
New ZBI 2.0 Commands: ACCEPT ADDBREAK AUXPORT_GETPIN AUXPORT_RELEASEPIN AUXPORT_SETPIN AUXPORT_STEALPIN CLIENTSOCKET CLOSE ALL DELBREAK HANDLEEVENT HEXTOINT INTTOHEX$ READ REGISTEREVENTS SERVERSOCKET SPLIT SPLITCOUNT SUB TCPX TRIGGEREVENT UNREGISTEREVENTS WRITE
P1012728-004
6/8/10
1043
Firmware x.15
Identifies features that are available in printers with firmware version V60.15.x, V50.15.x, or later. The following is an overview of the new and enhanced features available in firmware version V60.15.x, V50.15.x, or later. These include: Additional wireless securities New and updated ZPL commands (including wireless commands) Extended SNMP features, providing SNMP based control over commonly-needed printer settings. Support for Set / Get / Do (SGD) commands
Wireless Securities
Firmware V60.15.x and V50.15.x offer support for a wider range of wireless securities. These are the supported wireless securities: WEP-40-BIT WEP-128-BIT EAP-TLS EAP-TTLS EAP-FAST PEAP LEAP WPA-PSK WPA EAP-TLS WPA EAP-TTLS WPA EAP-FAST WPA PEAP WPA LEAP KERBEROS* * Use of any given wireless security is dependent on the RF card being used.
6/8/10
P1012728-004
1044
Details
^KC
The ^KC command is a new command with firmware version V60.15.x, V50.15.x, or later. It allows wireless print servers to have their own client identifier (CID). When the print server is active is uses the CID on the printer. When both print servers are active they have the option to use the CID on the printer, or their own CID. Firmware version V60.15.x, V50.15.x, or later supports .NRD (non readable file) files and .PAC files (protected access credential). Firmware version V60.15.x, V50.15.x, or later added these new parameters: wireless pulseadds a pulse to the network traffic generated by the printer. To keep the printer online, a pulse is necessary with some network configurations. wireless pulse intervalwhen the wireless pulse feature is enabled this sets the interval at which the wireless pulse is sent. channel maskfor commonly used channel masks. international modedisables or enables International mode
~DY ~WS
^WX
The ^WX command configures the wireless security settings for printers using the wireless print server.
SNMP
Firmware V60.15.x, V50.15.x, or later feature support for an extended Management Information Base (MIB) file. The extended support now covers many of the printer settings, such as darkness, media type, and other printer specific settings. The MIB file can be downloaded from www.zebra.com for use with SNMP management systems.
XML-Enabled Printing
Printers with firmware V60.15.8Z, V53.15.8Z, or later support XML-Enabled printing. For details, go to http://www.zebra.com/xml. This new feature does not alter the ZPL capabilities of the printer.
P1012728-004 Zebra Programming Guide 6/8/10
1045
Firmware x.14
Identifies features that are available in printers with firmware version V60.14.x, V50.14.x, or later. Table 50 identifies the new commands and enhancements to existing commands in firmware V60.14.x, V50.14.x, or later. The bolded items are either new commands or new enhancements to existing commands. Table 50 x.14 Features in Detail
Command
Details
^CI
The ^CI command selects the encoding and character set. To identify the encoding, include a ^CI in the ZPL script. These encodings are now supported with the ^CI command: These are new variables that were added to the desired character set or a parameter of the existing ^CI command: Big 5 HKSCS (^CI26) with BIGHK.DAT. This supports the Hong Kong supplementary character set of the Big 5 character set and encoding. You can download the Big 5 HKSCS DAT table from www.zebra.com. Code Page 1252 (^CI27). The ^CI27 command supports code page 1252. GB 18030 (^CI26) with GB18030.DAT. This supports the GB 18030 character set and encoding standard. Unicode Support. These new values were added to the ^CI command: 28 = Unicode (UTF-8 encoding) 29 = Unicode (UTF-16 Big-Endian encoding) 30 = Unicode (UTF-16 Little-Endian encoding)
~DY
The ~DY command downloads fonts to the printer. Firmware version V60.14.x, V50.14.x, or later improves support for TrueType fonts and adds support for TrueType Extension fonts. When OpenType fonts can be downloaded as a TrueType font they are supported. The ^FH command allows you to enter the hexadecimal value for any character directly into the ^FD statement. It has been updated to function with Unicode encodings. The ^FL command provides the ability to link any TrueType font, including private character fonts to associated fonts, such that 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. In firmware version earlier than V60.15.x, V50.15.x or later, the ^FO and ^FT commands were left-justified. In firmware version V60.14.x, V50.14.x, or later, a new parameter supports right- and auto-justification. Using the ^FW command allows you to set justification options. Over a communication port, the ^HT command receives the complete list of the font links.
Zebra Programming Guide P1012728-004
^FH
^FL
^HT
6/8/10
1046
Details
^LF ^PA
The ^LF command prints out a list of the linked fonts. The Advanced Text Layout Options command (^PA) is new in firmware version V60.14.x, V50.14.x, or later. Advanced text layout, such as bidirectional text layout, character shaping, and OpenType support, can be activated with the ^PA command. The glyph displayed when the character is missing from a font (default glyph) can be changed from a space character to the default glyph of a font, which is often a square box. A new parameter was added to the ^SL command to support the Japanese language in the Real Time Clock feature set. The text block (^TB) command is a new command in firmware version V60.14.x, V50.14.x, or later. The ^FB command allows you to print text into a defined block type format; it does not support complex text layout. In contrast, the ^TB command supports a text block with complex text.
^SL ^TB
P1012728-004
6/8/10
1047
Zebra firware V60.14.x, V50.14.x, or later continues to support locale-specific encoding formats. These formats include: Code Page 850 Shift JIS GB Unified Hangul Code Big 5
What Is Unicode?
Unicode is a universal code page (which converts numeric codes into characters) that can be used with many computer platforms and software applications. While ASCII and other traditional code page encoding systems support 256 characters or less, Unicode can support almost 100,000 characters for all major languages. The languages include complex nonWestern languages that can be difficult to print. Unicode encoding and supporting fonts allow the printer to seamlessly output in any language. As a result, you do not have to select the language, font, code page, or configure or adjust the printer. Zebras printer-resident capabilities provide fast label output and seamless multilanguage printing. You can create private libraries of logos and special characters and include them in labels. The ability to create custom characters is valuable for creating shipping labels for Asia, as many Asian fonts dont support characters for names, street names, and other proper nouns. Firmware V60.14.x, V50.14.x, or later offers features that support bidirectional printing or complex text layout, including: Arabic Hindi Thai Vietnamese Other languages
6/8/10
P1012728-004
1048
Notes ___________________________________________________________________
P1012728-004
6/8/10
L
Mirror
This section provides an overview of Mirror, details on how to use it, and configuration examples.
Contents
Mirror Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Professional Services for Mirror Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How Mirror Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating ZPL Files for Use in the "<update-root>/files" Directory . . . . . . . . . . . . . . . . Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Feedback.get File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to Set Up and Use Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050 1051 1052 1054 1057 1061 1062 1065 1067
6/8/10
P1012728-004
1050
Mirror Overview
Mirror is a feature that gives you the ability to: Centrally manage and monitor the deployment of your Zebra printers Centrally configure and maintain your Zebra printers through remote updates Remotely monitor printer updates - via the "Feedback" feature There are several Set/Get/Do (SGD) commands that are used to configure and initiate Mirror. For details see, Mirror Printer Configuration on page 1061.
Benefits
When using Mirror, updating the configuration and firmware on the printer is remotely managed from a centralized FTP server. Configurations can be uniformly deployed to individual printers or to groups of printers. Unique Configurations can also be targeted to printers as needed. Through the "Feedback" feature, Administrators can easily log and monitor configuration updates on a printer-by-printer basis. Typical uses of Mirror include: configuring printers as they are first received performing scheduled maintenance updates, sending firmware, fonts, graphics and other objects to the printer as needed changing printer Configurations in order to move printers from one role to another
P1012728-004
6/8/10
1051
1 2 3 4 5
Workstation sends SGD commands to the printer to configure it for Mirror use. FTP Server Stores configuration files and responds to Mirror requests from the printer. Receives and stores Feedback content. Access Point wireless network infrastructure Hub wired network infrastructure Zebra Printer(s) Configured using SGD commands. Sends Mirror requests to the FTP server to receive files. Transmits Feedback content to the FTP server to log Mirror event transactions and resulting printer settings.
6/8/10
P1012728-004
1052
Mirror Requirements
Requirements
These are the requirements for Mirror: Zebra printer loaded with Mirror capable firmware and Print Server. For details, see Table 51, Printers and Print Servers that Support Mirror on page 1053. FTP server (with UNIX-style directory listings), configured with the following directories: "<update-root>"/appl - This directory is used for printer firmware updates. During an update operation, the printer will first check the "<updateroot>/appl" directory for new printer firmware "<update-root>"/files - This directory is used for printer-resident files. Files in this directory will be stored locally on the printer's file system. Files are not processed by the printer; they are only stored. "<update-root>"/commands - This directory is used for a limited number of printer executable commands. The contents of files in this directory will be sent to the printer's command interpreter for execution. "<feedback-root>" - This optional directory is used to receive Mirror feedback content from the printer. The content sent to this directory is defined by the "feedback.get" template file stored on the printer.
A client account (user name and password) on the FTP server for the printer to use. A Terminal Emulation program, used to send SGD commands to the printer to configure Mirror.
P1012728-004
6/8/10
Mirror Requirements
1053
V53.17.5Z (or later) V60.17.5Z (or later) V60.17.5Z (or later) V60.17.5Z (or later) V53.17.5Z (or later)
Internal, Integrated 10/100 IPV4 wired Internal Wireless Plus Internal Wireless Plus Wireless Plus Internal Wireless Plus Wireless Plus Internal Wireless Plus Wireless Plus Internal 10/100 wired Internal Wireless Plus Wireless Plus Internal 10/100 wired Internal Wireless Plus Wireless Plus Internal Wireless Plus Wireless Plus Internal 10/100 wired Internal Wireless Plus Wireless Plus
ZM600
S4M G -series
Note Print Servers connected to the parallel port, either externally or internally, are not
6/8/10
P1012728-004
1054
parameter. Files in the <update-root>/files directory should not have download headers in them. They should be in the exact format they will be in when stored on the printer's file system. Examples of download headers are: ~DY, ~DG, ! CISDFCRC16 or ~DF.
Important When the printer is in the Mirror process:
It is unavailable for other tasks. The LCD will indicate that it is performing a Mirror function, showing when the printer is downloading firmware and the names of the object files as they are transferred to the printer.
P1012728-004
6/8/10
1055
FTP server for new printer firmware and update the printer if necessary
2. If the printer did not find new firmware to download, it will then check in the <update-
root>\files and <update-root>/commands directories for updated files - and download them as needed.
3. As a final Mirror step, the printer can perform an optional Feedback operation,
transmitting a file of user-defined printer configuration information to <feedbackroot> directory on the FTP server.
4. Finally, if any files or commands were downloaded during Step 2:, the printer will
or commands to be downloaded via Mirror will be dependent on the new firmware. After the printer has completed the Firmware portion of an update operation, it will check the ''<update-root>/files'' directory and ''<update-root>/commands'' directory (in that order) for updated files that need to be retrieved. If a file exists on the FTP server and the server timestamp for the file does not match the printer's archived timestamp for the file, the printer will re-download the file and update its timestamp info. Files that are on the Mirror FTP server but not currently present on the printer will be sent to the printer. The supported file types are the standard files supported on ZPL printers.
6/8/10
P1012728-004
1056
If any files are downloaded during this portion of an update operation, the printer will reboot after the file downloads have completed. At this point, the update operation is complete.
Important Files in the <update-root>/files directory should not have download headers in them. They should be in the exact format they will be in when stored on the printer's file system. Examples of download headers are: ~DY, ~DG, ! CISDFCRC16 or ~DF. Important ZPL files in the <update-root>/files directory must use the printers
internal characters for the Format Command Prefix (^), Delimiter Character (,) and Control Command Character (~). This means that the caret (^) should be replaced with a HEX 1E, the comma ( ,) should be replaced with a HEX 1F and the tilde (~) should be replaced with a HEX 10. After an update operation is complete, a printer will perform a feedback operation, if configured to do so. During a feedback operation, the printer will open its feedback template file (named feedback.get), populate it based on its contents, and upload the resulting contents file to the FTP server, in the ''<feedback-root>'' directory.
Note "<feedback-root>" refers to the value of the
P1012728-004
6/8/10
1057
^XZ commands, those sections of the file must be split into separate formats, or combined as one format.
2. The characters used for the Format Command Prefix (^), Delimiter Character (,) and
Control Command Characters (~) must be substituted for their Hexadecimal equivalents.
3. The ^XA and ^XZ commands must be removed from the formats. 4. The ^DF command should be removed.
6/8/10
P1012728-004
1058
Character Substitution
The characters used for the Format Command Prefix (^), Delimiter Character (,) and Control Command Characters (~) must be substituted for their Hexadecimal equivalents. During normal operation, this is how the printer works with ZPL formats. For example, when a ZPL format is sent to the printer via a telnet, RS-232 or Ethernet connection and stored for later use, it automatically processes the file and makes these character substitutions. When ZPL formats are sent to the printer from the "<update-root>/files" directory they are stored on the printers memory, but not processed. For this reason, it is necessary to preprocess the files so that they are ready for use. The following character substitutions must be made to files sent from the "<update-root>/files" directory: Original Character Command Prefix The default is the Caret (^) Delimeter Prefix The default is the comma ( , ) Control Prefix The default is the tilde (~) For example, given the following format: Substitute Character HEX 1E HEX 1F HEX 10
P1012728-004
6/8/10
1059
6/8/10
P1012728-004
1060
Example Files
Example of files that have already been altered in the manner described above are available as "Mirror File Examples" at www.zebra.com. To see an example file, right-click the paper-clip icon and select Open File or Save Embedded File to Disk.
P1012728-004
6/8/10
Mirror Configuration
1061
Configuration
This section provides detail on the configuring the printer and FTP server for Mirror.
ip.mirror.auto on page 833 ip.mirror.error_retry on page 834 ip.mirror.feedback.auto on page 835 ip.mirror.feedback.freq on page 836 ip.mirror.feedback.odometer on page 837 ip.mirror.feedback.path on page 838 ip.mirror.fetch on page 839 ip.mirror.freq on page 840 ip.mirror.freq_hours on page 841
ip.mirror.last_error on page 842 ip.mirror.last_time on page 843 ip.mirror.password on page 844 ip.mirror.path on page 845 ip.mirror.reset_delay on page 846 ip.mirror.server on page 847 ip.mirror.success on page 848 ip.mirror.success_time on page 849 ip.mirror.username on page 850 ip.mirror.version on page 851
6/8/10
P1012728-004
1062
"zebra.<wlan.mac_raw>.<ip.mirror.feedback.odometer>"
That line would be evaluated by the printer and used as the Feedback destination file name to create on the FTP server. Using the example above, if the MAC address of the wireless print server was "00a0f8ae56d7"and the Feedback odometer was currently at "33", the Feedback file created the FTP server would be named:
"zebra.00a0f8ae56d7.33.txt"
The "feedback.get" file can be sent to the printer using the !CISDFCRC16 command. For additional information, see CISDFCRC16 on page 634.
Note The first line of the feedback.get file is not included when the Feedback data is written to FTP server.
P1012728-004
6/8/10
1063
zebra.<wlan.mac_raw>.<ip.mirror.feedback.odometer> Application Name = <appl.name> Serial Number = <device.friendly_name> Mirror Success = <ip.mirror.success> Mirror Auto = <ip.mirror.auto> Mirror Path = <ip.mirror.path> Mirror Last Update = <ip.mirror.success_time> Bootp Enable = <ip.bootp.enable> DHCP Enable = <ip.dhcp.enable> Data Port = <ip.port> Associated AP = <wlan.bssid> RF ESSID = <wlan.essid> RF Firmware = <wlan.firmware_version> RF Signal Strength = <wlan.signal_strength> RF Channel Mask = <wlan.channel_mask> Label Length = <odometer.total_print_length> Print Length = <odometer.label_dot_length>
6/8/10
P1012728-004
1064
When this file is processed by the printer and uploaded to the FTP server, the resulting upload file on the FTP server would contain data similar to this:
Application Name = V53.17.2Z Serial Number = ZBR123456 Mirror Success = Yes Mirror Auto = on Mirror Path = /update-root/ZM400/ Mirror Last Update = 12345678 Bootp Enable = on DHCP Enable = on Data Port = 9100 Associated AP = 124 RF ESSID = MyEssid RF Firmware = 5.2.1 RF Signal Strength = 98 RF Channel Mask = FF Label Length = 100 Print Length = 200
P1012728-004
6/8/10
1065
Scenario One
In this scenario, the printer is configured to perform a Mirror update operation ("ip.mirror.auto = on") and feedback operation ("ip.mirror.feedback.auto = on") every time the printer restarts. On startup, after a network connection has been established, the printer will attempt to make a FTP connection to the server address 10.14.5.133, using the user name and password of the printer. If the connection is successful, the printer will attempt to perform an update operation using the root directory "/all_printers/s4m/role1". After the update operation is complete, the printer will attempt a Feedback operation, uploading the resulting Feedback file to the "/all_feedback" directory on the server. Using the command set in the example below, the printer will not attempt any periodic Mirror Update or Feedback operations. It will only perform Mirror operations on startup or when explicitly instructed to using the "ip.mirror.fetch" command.
Note If a file starts with "/" it signifies the base directory of that file system. If a file is
command set is identified with a number. For details on each line item, see the table below.
1 2 3 4 5 6 7 8
! ! ! ! ! ! ! !
U1 U1 U1 U1 U1 U1 U1 U1
"ip.mirror.auto" "on" "ip.mirror.username" "printer" "ip.mirror.password" "printer" "ip.mirror.server" "10.14.5.133" "ip.mirror.path" "/all_printers/s4m/role1" "ip.mirror.feedback.auto" "on" "ip.mirror.feedback.path" "/all_feedback" "ip.mirror.feedback.freq" "0"
1 2 3 4 5 6 7 8
6/8/10
Configures the printer to perform a Mirror Update operation at power-up. Configures the FTP Server "user name" for the printer to use Configures the FTP Server "password" for the printer to use Configures the FTP server address the printer should make a FTP connection to. If the FTP connection is successful, the printer should attempt to perform an Update operation using this root directory. Configures a printer to automatically perform a Mirror Feedback operation at start-up. Configures the printer to upload the resulting Feedback file to the designated directory on the server. Configures a printer to repeat the Feedback operation zero times.
Zebra Programming Guide P1012728-004
1066
Scenario Two
In this scenario, the printer is configured to not perform a Mirror Update function at start-up. It is configured to perform a Mirror Feedback operation at start-up and thereafter at every 60 minutes. When the 60 minutes elapses, the printer will attempt to make a FTP connection to the server address 10.14.5.133. If the FTP connection is successful, the printer will attempt a Feedback operation, uploading the resulting Feedback file to the "/all_feedback" directory on the server. After the initial Feedback operation, subsequent Feedback operations will occur at an interval of 60 minutes.
Important Using the command set in the example below, for the printer to attempt any Mirror Update operation unless the "ip.mirror.fetch" command is sent to the printer.
3
Example This example shows a Mirror configuration command set. Each line item of the
command set is identified with a number. For details on each line item, see the table below.
1 2 3 4 5 6 7 1 2 3 4 5 6 7 8
! ! ! ! ! ! !
U1 U1 U1 U1 U1 U1 U1
"ip.mirror.auto" "off" "ip.mirror.username" "printer" "ip.mirror.password" "printer" "ip.mirror.server" "10.14.5.133" "ip.mirror.path" "/all_printers/s4m/role1" "ip.mirror.feedback.auto" "on" "ip.mirror.feedback.path" "/all feedback"
Configures the printer to not perform a Mirror Update operation at start-up Configures the FTP Server "user name" for the printer to use Configures the FTP Server "password" for the printer to use Configures the FTP server address the printer should make a FTP connection to. If the FTP connection is successful, the printer should attempt to perform an Update operation using this root directory. Configures a printer to automatically perform a Mirror Feedback operation at start-up. Configures the printer to upload the resulting Feedback file to the designated directory on the server. Configures the printer to attempt a Feedback operation every 60 minutes.
P1012728-004
6/8/10
Mirror Troubleshooting
1067
Troubleshooting
If a Mirror process completes unsuccessfully, troubleshooting information can be retrieved by sending this command to the printer:
! U1 GETVAR "ip.mirror.last_error"
Table 52 lists possible printer responses, an explanation of each, and resolutions. Table 53 provides problem scenarios and solutions.
Important A mirror path can have up to 50 characters.
"connection failed"
The network connection to the Mirror FTP server failed while attempting to perform a printer update.
Check the user name, password, and server address for the Mirror FTP server and ensure that these values are set correctly in the printer. Ensure that the user name assigned to the printer has the proper permission to log into the Mirror FTP server. Check that the printer has a successful network connection and is able to send and receive network data.
During an update operation, the printer's attempt to retrieve the file [filename] failed.
Ensure that the printer's network connection has not been interrupted. If it has, re-establish network connectivity and retry the update. Check the server's access permissions for the user name assigned to the printer. Make sure the user name is granted access to read [filename] from the server.
6/8/10
P1012728-004
1068
Mirror Troubleshooting
The network connection to the Mirror FTP server failed while attempting to send printer feedback.
Check the user name, password, and server address for the Mirror FTP server and ensure that these values are set correctly in the printer. Ensure that the user name assigned to the printer have the proper permission to log into the Mirror FTP server. Check that the printer has a successful network connection and is able to send and receive network data.
During an update operation, the printers attempt to retrieve a file [filename] in the <mirror_path>/appl directory failed.
Ensure that the printers network connection has not been interrupted. If it has, re-establish network connectivity and retry the update. Check the servers access permissions for the user name assigned to the printer. Make sure the user name is granted access to read [filename] from the server. Ensure that the printers network connection has not been interrupted. If it has, re-establish network connectivity and retry the update. Check the servers access permissions for the user name assigned to the printer. Make sure the user name is granted access to write to the <feedback_path> directory. Ensure that the <feedback_path> directory exists on the remote server.
During a feedback operation, the printers attempt to store the feedback file in the <feedback_path> directory failed.
The Mirror FTP server has more than one file in the <mirror_path>/appl directory.
Ensure that there is only one (1) firmware file in the <mirror_path>/appl directory.
P1012728-004
6/8/10
Mirror Troubleshooting
1069
Ensure that the name of the firmware file in <mirror_path>/appl matches the version of firmware contained in that file.
Example For firmware version V53.17.2Z, the name of the file in
the <mirror_path>/appl directory must be V53.17.2Z.ZPL to prevent the continuous reprogramming cycle. Every time a Mirror Update is run, a file is fetched even though no changes have been made to the files on the server. Check the names of the files in the <mirror_path>/files and <mirror_path>/commands directories. If the names are longer than 16 characters (minus extensions), then the printer will truncate them to 16 characters when downloading. If two filenames truncate to the same 16 characters, the printer will not be able to tell the difference between them and will re-download one of the two files during every update operation. Check the names of the files in the <mirror_path>/files and <mirror_path>/commands directories. If any of the names are the same, then the printer will not be able to tell the difference. Therefore it will get the one in the files directory, update the timestamp file, and then it will get the one in the commands directory and update the timestamp file. Then, the next time through the one in the files directory will have a different timestamp, so it will get that file again and then check the commands directory, and so on. Check the server's access permissions for the user name assigned to the printer. Make sure the user name is granted access to read all files in the <mirror_path>/files and <mirror_path>/commands directories. The printer is continually rebooting. Check the /commands directory. If a file.delete command resides, then you need to remove file.delete or modify your script.
6/8/10
P1012728-004
1070
Mirror Troubleshooting
Notes ___________________________________________________________________
P1012728-004
6/8/10
M
Wireless Markup Language (WML)
Wireless Markup Language (WML) offers a text-based method of designing a menu structure for the display screen of selected printers. By leveraging Set/Get/Do (SGD) and files containing Zebra Programming Language (ZPL) commands, customized menus can be created.
Contents
WML Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WML Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supported Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Professional Services for WML Content Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . WML Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using WML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WML Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Troubleshooting Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072 1072 1073 1073 1074 1074 1078 1087
6/8/10
P1012728-004
1072
WML Overview
Wireless Markup Language (WML) offers a text-based method of designing customized menus on the LCD front panel of selected printers. By leveraging Set-Get-Do (SGD) and Zebra Programming Language (ZPL) commands, menus that feature both display and command features can be created. The WML card structure makes it possible to link from one menu screen to another, creating menus that are as many levels deep as desired or reduced to only those options needed by the printer operator. For details on SGD commands, see SGD Printer Commands on page 627. For details on ZPL commands, see ZPL Commands on page 37.
WML Details
A WML file is made up of tags, which are similar to HTML tags. For a list of the supported WML tags, see WML Tags on page 1074. Using WML on the printer is dependent on the presence of a single index.wml file, stored in the printer's E: memory. The index.wml file can contain one or more cards, with each card defining the content of a single menu. Everything within the card tag (<card> </card>) constitutes one complete front panel menu. Cards can also contain hyperlinks to other menus. If the index.wml has three cards, with links between the cards, that means there are three front panel menus. It is also possible to create multiple .wml files, with links between them and the index.wml file. In cases where multiple .wml files are used, it is recommended that each file should be structured to provide a link back to the main menu as described in the index.wml card.
Note Only one index.wml file can reside on a printer at any time
WML defined menus can use Set-Get-Do (SGD) commands to retrieve or set printer settings. For example, a menu might display the printers current baud rate, while also offering other potential baud rate settings for the printer selection. In more advanced uses, WML defined menus can cause ZPL command files, stored in the printer E: memory, to be injected into the printers command engine where they will be read in and acted upon. In this use, the ZPL command file files are known as .nrd files. For example, a WML defined menu could call an .nrd file that contains a customized set of printer configuration commands. In this way, different profiles can be created for the printer making it possible for the printer operator to select the appropriate configuration profile needed for the task the printer is being used in.
P1012728-004
6/8/10
1073
An important concept to consider is that the WML menu completely defines what is displayed on the printers screen. If an item is not included in the WML menu definition it will not be displayed to the user.
3
Note The index.wml file must reside on the printers E: drive for the WML menu to
display. If the index.wml file is on a drive other than E:, then the standard front panel menus display.
3
Note When a WML menu is resident on the printer, the standard menu system can be easily
be accessed by holding down the Cancel and Setup/Exit buttons (on the ZM400) or the Cancel and Setup/Exit buttons (on Xi4) or the Select button (on GX) on the front panel while the printer powers up. Hold the buttons down until the PRINT READY message displays on the front panel. To return to the WML defined menu, reset the printer again.
Supported Printers
WML is supported on the following printers, using the indicated firmware. The buttons on the printers' front panel that are used for Navigating WML defined menus are noted.
Note When a WML defined menu is in use, the stripes pattern found at the top of selected
Xi4 series
V53.17.5Z (or later) V53.17.5Z (or later) V53.17.5Z (or later) V56.17.5Z (or later)
Hold down CANCEL & SETUP/EXIT during power-up Hold down CANCEL & SETUP/EXIT during power-up Hold down
CANCEL & SETUP/EXIT
ZM400
ZM600
G -series
SCROLL
6/8/10
P1012728-004
1074
WML Tags
Table 1 shows the WML tags and tag parameters that can be used to create a menu system. As with other tag-based languages, such as HTML and XML, ending tags should be used to indicate the end of a structure. An example of an ending tag would be </wml>, which indicates the end of a WML script.
Using WML
Important Using end tags is required to create well formed and functional WML scripts.
Table 55 WML Tag Descriptions <wml> </wml> <display> </display> <card> </card> <p> </p> <br/> <a href="#menu">Menu</a> <timer value="xx"> </timer> " ontimer="#main" alerts="on" $(command.command) <do .....><setvar .......></do> indicates the beginning/end of the WML script indicates the beginning/end of the content to display onscreen indicates the beginning/end of a card indicates the beginning/end of a Paragraph Line break Hyperlink to another card Controls display timer in 10th of a second increments Controls action to take at timer end Controls display of on-screen alerts $ executes a SGD getcommand Controls execution of do and setvar commands
This section provides you with the necessary steps to prepare and transmit WML content to the printer. There are two methods to send WML content to the printer - via the FTP protocol or using the CISDFCRC16 command. Both methods are detailed below.
P1012728-004
6/8/10
1075
"on""off"
Note Only printers using the Internal 10/100 wired or Internal Wireless Plus & Wireless
Plus print server can use the ! U1 setvar "ip.ftp.execute_file" "off" command. For other print servers, use the CISDFCRC16 command method detailed below.
xxx.xxx.xxx.xxx is the IP Address of the printer. For example, if the IP Address of the printer is 10.3.5.34, the command would be:
ftp 10.3.5.34
6/8/10 Zebra Programming Guide P1012728-004
1076
3. Press Enter to connect to the printer. 4. Press Enter to log in to the printer. 5. At the FTP prompt, type "put index.wml" and press Enter. The index.wml file
Once the printer completes the power cycle the display should look similar to this:
HelloWorld!!
P1012728-004
6/8/10
1077
! CISDFCRC16 0000 INDEX.WML 0000004E 0000 <wml> <display> <card> <p>Hello World!!</p> </card> </display> </wml>
2. Power cycle the printer.
Once the printer completes the power cycle the display should look similar to this:
HelloWorld!!
6/8/10
P1012728-004
1078
Retrieving WML Content from the Printer using the file.type Command:
It is possible to retrieve .wml file content from the printer using the "file.type" SGD command. To do this, open a terminal emulation connection to the printer and issue the command. For example, to retrieve the contents of the INDEX.WML file, use the following command: ! U1 setvar "file.type" "E:INDEX.WML"
Note The file.type command is case sensitive if the file is stored on the printer as INDEX.WML, the command must use that same case. Additionally, please note that .nrd files are treated as confidential they cannot be retrieved from the printer.
Removing WML or .nrd Files from the Printer using the file.delete Command:
It is possible to remove .wml files from the printer using the file.delete SGD command. To do this, open a terminal emulation connection to the printer and issue the command. For example, to remove the INDEX.WML file, use the following command: ! U1 do "file.delete" "E:INDEX.WML"
WML Examples
The examples shown below build from a simple, display-only, WML menu to a more complex interactive example that uses .nrd files containing ZPL commands. In the initial examples, all lines are explained in detail, in the later examples only the new concepts are covered in detail. Indenting is used in the examples below to improve readability, it is not necessary in actual use.
P1012728-004
6/8/10
1079
Example 1
This example shows a basic WML menu structure that uses only fixed text. The content below shows the WML script plus numbered callouts and a table that identify the function of each of the WML tags.
1 2 3 4 5 6 7 1 2 3 4 5 6 7
Beginning of the WML file. Beginning of the content to be displayed. The <card> tag begins the definition of this menu. The <p> beings a paragraph, here displaying Hello World! The </p> ends the paragraph The </card> tag ends the definition of this menu. End of the content to be displayed. End of the WML file.
HelloWorld!!
6/8/10
P1012728-004
1080
Example 2
This example demonstrates a WML menu structure that uses fixed text, plus two SGD commands to display the current printer settings for the Baud rate and ESSID settings on the printer.
1 2 3 4 5 6 7 8 9 1 2 3 4
<wml> <display> <card> <p>Baud: $(comm.baud)</p> <br/> <p>AP: $(wlan.essid)</p> </card> </display> </wml>
5 6
7 8 9
Beginning of the WML file. Beginning of the content to be displayed. The <card> tag begins the definition of this menu. The <p> begins a paragraph. Baud: displays the text Baud: $(comm.baud) retrieves and displays the printers current baud rate. The </p> ends the paragraph. A line break The <p> begins a paragraph. AP: displays the text AP: $(wlan.essid) retrieves and displays the printers current ESSID setting. The </p> ends the paragraph. The </card> tag ends the definition of this menu. End of the content to be displayed. End of the WML file
Baud:9600 AP:125
P1012728-004
6/8/10
1081
Example 3
This example demonstrates a WML menu structure with two menus. Fixed text and SGD commands are used to display the current printer settings for the Baud rate and ESSID settings on menu one and the Firmware version and ZBI State on menu two. Through use of the timer setting, the menu will automatically return to a defined WML card if no buttons are pressed after a set time period. The menu is configured to allow printer alerts (such as HEAD OPEN) to be displayed.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3
<wml> <display> <card id="main" title="" ontimer="#main" alerts="on"> <timer value="50"></timer> <p>Baud: $(comm.baud)</p> <br/> <p>AP: $(wlan.essid)</p> <p> </p><br/> <p> </p><br/> <p> <a href="#system">Firmware</a></p> </card> <card id="system" title="" ontimer="#main" alerts="on"> <timer value="50"></timer> <p>Firmware:</p><br/> <p>$(appl.name)</p><br/> <p>ZBI State:</p><br/> <p>$(zbi.key)</p><br/> <p> <a href="#main">Main</a></p> </card> </display> </wml>
<card id="main" defines the cards id "main". title="" defines the title (not displayed on screen). ontimer="#main" defines the WML card to display when the timer runs out. alerts="on"> enables the alerts display feature. <timer value="50"></timer> sets the timer to 50 (in 10th of a second increments). <p> <a href="#system">Firmware</a></p> defines a link to the system card. <card id="system" defines the cards id "system". title="" defines the title (not displayed on screen). ontimer="#main" defines the WML card to display when the timer runs out. alerts="on"> enables the alerts display feature. <timer value="50"></timer> sets the timer to 50 (in 10th of a second increments). <p> <a href="#main">Main</a></p> defines a link to the main card.
4 10 12
13 18
6/8/10
P1012728-004
1082
Baud:9600 AP:125
Firmware
Note GX series printers can display four lines of text. If you are using a GX series printer,
remove one line of text from each card to use this example.
P1012728-004
6/8/10
1083
Example 4
This example demonstrates a WML menu structure that creates two menu screens and a link to a command file config.nrd that contains a ZPL command that will cause the unit to print a configuration label.
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 18 26
1 9
<wml> <display> <card id="main" title="" ontimer="#main" alerts="on"> <timer value="50"></timer> <p>Baud: $(comm.baud)</p> <br/> <p>AP: $(wlan.essid)</p> <p> </p><br/> <p> </p><br/> <p> <a href="#system">Firmware</a></p> </card> <card id="system" title="" ontimer="#main" alerts="on"> <timer value="50"></timer> <p>Firmware:</p><br/> <p>$(appl.name)</p><br/> <p>ZBI State:</p><br/> <p>$(zbi.key)</p><br/> <p><a href="#main">Main</a> <a href="#config">Config</a></p> </card> <card id="config" title="" ontimer="#main" alerts="on"> <timer value="50"></timer> <p>Printing </p><br/> <p> Config Label...</p><br/> <p></p><br/> <p>Please wait...</p><br/> <setvar name="file.run" value="e:config.nrd"/> </card> </display> </wml>
<p><a href="#main">Main</a> <a href="#config">Config</a></p> Defines two links, positioned next to each other - to the "main" and "config" WML cards <setvar name="file.run" value="e:config.nrd"/> Defines that the SGD command "file.run" should be used on the "e:config.nrd" file. In this instance, the "e:config.nrd" file contains a single ZPL command - "~wc"
6/8/10
P1012728-004
1084
Baud:9600 AP:125
Printing 1of1
Note GX series printers can display four lines of text. If you are using a GX series printer,
remove one line of text from each card to use this example.
Example 5
This example demonstrates a WML menu structure with three cards. The "darkness" card leverages WML and the SGD "print.tone" command to allow the user to both view and configure a setting.
P1012728-004
6/8/10
1085
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
<wml> <display> <card id="main" title="" ontimer="#main" alerts="on"> <timer value="50"></timer> <p>Baud: $(comm.baud)</p> <br/> <p>AP: $(wlan.essid)</p> <p> </p><br/> <p> </p><br/> <p> <a href="#system">Firmware</a></p> </card> <card id="system" title="" ontimer="#main" alerts="on"> <timer value="50"></timer> <p>Firmware:</p><br/> <p>$(appl.name)</p><br/> <p>ZBI State:</p><br/> <p>$(zbi.key)</p><br/> <p><a href="#main">Main</a> <a href="#darkness">Darkness</a></p> </card> <card id="darkness" title="" ontimer="#main" alerts="on"> <timer value="50"></timer> <p>Current: $(print.tone)</p><br/> <p>Change: </p><do type="accept" label="Up"><setvar name="print.tone" value="+1.0"/></do><br/> <p>Change: </p><do type="accept" label="Down"><setvar name="print.tone" value="-1.0"/></do><br/> <p> </p><br/> <p><a href="#main">Main</a> <a href="#config">Config</a></p> <card id="config" title="" ontimer="#main" alerts="on"> <timer value="50"></timer> <p>Printing </p><br/> <p> Config Label...</p><br/> <p></p><br/> <p>Please wait...</p><br/> <setvar name="file.run" value="e:config.nrd"/> </card> </display> </wml>
23
24
Defines selecting the word "Down" as equal to sending the value "-1.0" for the SGD command "print.tone". In this case, this decreases the setting by 1.0.
6/8/10
P1012728-004
1086
Baud:9600 AP:125
Firmware
Note GX series printers can display four lines of text. If you are using a GX series printer,
remove one line of text from each card to use this example.
P1012728-004
6/8/10
1087
Troubleshooting Scenarios
Problem Scenario Corrective Actions
I loaded a WML menu structure on the printer, but the Factory menu structure is displaying.
"The WML files may have syntax errors. Reconfirm that the correct syntax has been used. When creating WML files it is recommended to start with a simple structure, validate that it's functional and build additional content onto the "known good" example "Power cycle the printer and watch the start-up sequence - if a "WML ERROR" message displays during the start-up, the index.wml file has a syntax error that needs to be corrected. "The index.wml file may not have been successfully transferred to the printer. Use a terminal emulation program and the following command to retrieve the index.wml file to the PC for examination: ! U1 setvar "file.type" "E:INDEX.WML" "The index.wml file may not be present in the E: memory location. Validate that the file is present and correctly named. "Confirm that straight quotes were used in all instances where the quote character was used (use the " character - not " or ?). SGD commands require the use of the straight quote. "Confirm that the "WML Menu Cancel" buttons, (Setup and Cancel or Cancel and Setup/Exit or Select) were not held down during start up. These actions will cause the standard menu to display Characters that extend past the width of the display are truncated, reposition the field as needed. Check that you have not exceeded that maximum number of lines the display allows (5 lines on ZM and Xi4 series units, 4 lines on the GX series). The missing "card" may not have been linked to from any of the visible "cards". Review you WML content to ensure that the correct links exist. The WML files may have syntax errors, reconfirm that the correct syntax has been used. When creating WML files it is recommended to start with a simple structure, validate that its functional and build additional content onto a known good example. If the missing card content is contained in a separate .wml file, confirm that the necessary .wml files have been transferred to the printer.
Some characters in the menu are cut off or some lines are not displaying at all.
My WML menu structure is displaying, but one of the cards is not displaying or is unreachable.
6/8/10
P1012728-004
1088
Problem Scenario
Corrective Actions
My WML menu structure uses SGD commands to display current settings, but the settings are not displaying.
Validate that the correct syntax was used for the SGD command. Check the manual page for the command being used. Confirm that the command is supported by the printer & firmware. Use a terminal emulation program to send just the command being used to validate it functions outside the WML menu structure. Confirm that straight quotes were used in all instances where the quote character was used (use the " character not or ? ). SGD commands require the use of the straight quote. Characters that extend past the width of the display are truncated, reposition the field as needed. Check that you have not exceeded that maximum number of lines the display allows (5 on ZM and Xi4 series units). Validate that the value being used in the value= parameter of the <do> tag is supported by the SGD command. Validate that the correct syntax was used for the SGD command. Check the manual page for the command being used. Confirm that the command is supported by the printer & firmware. Use a terminal emulation program to send just the command being used to validate it functions outside the WML menu structure. Confirm that straight quotes were used in all instances where the quote character was used (use the " character not or ). SGD commands require the use of the straight quote. Confirm that the .nrd files are present in E: memory and named as expected. Resend or rename the files if necessary. Confirm that the WML menu structure is using the correct file name(s). Confirm that the commands in the files work as expected, independently of the WML menu or .nrd file. Validate that ZPL and SGD commands have not been interlaced. Confirm that the Hexadecimal value used for the File Size parameter is correct. This value must be an eight digit file size specified in hexadecimal which indicates the number of bytes in the <data> section of the command. See the full manual page on the CISDFCRC16 command for additional details. Validate that the CRC and Checksum parameters are correct (using the "0000" value for these parameters is recommended). Confirm that the WML file name and extension are in upper case characters. Confirm that the exclamation mark (!) was included before the command name ("! CISDFCRC16").
My WML menu structure used SGD commands to allow the user to alter printer settings, but the settings are not getting changed as expected.
My WML menu structure uses .nrd files to send commands to the printers ZPL or SGD engine, but the commands dont seem to be getting sent when the user selects the onscreen link for the action. I am using the CISDFCRC16 command to transfer files, but the files are either not being transferred to the printer or are showing up with a zero (0) byte size.
P1012728-004
6/8/10
Glossary
ASCII American Standard Code for Information Interchange. A 7-bit character set that includes Latin characters, as well as control and punctuation characters. bidirectional text layout The arrangement of characters with mixed directionality on a single line. For example, English and Arabic. big-endian In the encoding, the most significant byte is stored first. byte order mark BOM; indicates big-endian (BE) or little-endian (LE). character The smallest component of a writing system that has understanding, refers to the abstract meaning not the specific shape. character code Another term for code point. character set A collection of characters. character shaping Characters assume different glyphic forms depending on the context.They can be used with a script-based language. code point An integral reference number assigned to a character. coded character set An ordered collection of characters that are assigned an integral reference number. combining semantic cluster Consists of an atomic character, a combining character sequence consisting of a base character plus one or more nonspacing marks, enclosing marks, combining word joiner, such as an Indic virama, or a sequence of Hangul jamos equivalent to a Hangual syllable. diacritic A mark that is added to a letter or other character to change its value or meaning. encoding The mapping of a characters code points to a sequence of bytes used to represent the data.
6/8/10
P1012728-004
1090
Glossary
font An electronic collection of glyphs used for the visual representation of characters. GB18030 A standard required by the Peoples Republic of China for operating systems of non-handheld computers. GB 2312 A Chinese character set and encoding. glyph The visual representation of a character, such as a shape or image. A default glyph character is typically used when the requested glyph is not available in the font. grapheme cluster Consists of an atomic character, a combining character sequence consisting of a base character plus one or more nonspacing marks or enclosing marks, or a sequence of Hangul jamos equivalent to a Hangul syllable. ISO 10646 An international standard that defines the Universal Character Set (UCS) and a character encoding. The UCS matches Unicode. ISO 8859-1 An encoding standard for representing Western European languages using the Latin Alphabet. language A system of sounds and scripts used to represent and communicate concepts, ideas, meanings, and thoughts. ligature A glyph representing a combination of two or more characters. little-endian In the encoding, the least significant byte is stored first. open type A file format for scalable font files that extends the existing TrueType font file format used by Microsoft Windows and Apple Macintosh operating systems.OpenType tables support advanced layout features. presentation form A pre-combined character, ligature or variant glyph that has a separate code point; used for compatibility. script A collection of symbols used to represent textual information in one or more writing systems. Shift-JIS A shifted encoding of the Japanese character encoding standard, JIS X 0208, heavily deployed in PCs. True type An outline font format that is scalable without quality loss. Unicode The universal character set and encoding maintained by the Unicode Consortium. UTF-8 The Unicode encoding that assigns each character code point to a sequence of one to four bytes. UTF-16 A Unicode encoding form that represents Unicode code point values in the BMP with 16-bit code units and Unicode code point values in the supplementary planes with pairs of 16-bit code units.
P1012728-004
6/8/10
Glossary
1091
UTF-16BE A Unicode encoding scheme based on UTF-16 that serializes the bytes in each code unit in big-endian order. UTF-16LE A Unicode encoding scheme based on UTF-16 that serializes the bytes in each code unit in little-endian order.
6/8/10
P1012728-004
1092
Glossary
Notes ___________________________________________________________________
P1012728-004
6/8/10
Index
Symbols
^KC, set client identifier (CID) 424 ^MW 303 ^NB, network boot 425 ^NN, set SNMP parameters 426 ^NP, set primary/secondary device 427 ^NT, set SMTP 428 ^NW, set web authentication timeout value 429 ^WA, set antenna parameters 430 ^WE, set wireless encryption values 431 ^WI, change wireless network settings 433 ^WL, set LEAP parameters 435 ^WP, set wireless password 437 ^WR, set transmit rate 438 ^WS, set wireless radio card values 440 ! (EXCLAMATION MARK) ZBI command 460 ~WR, reset wireless radio card and print server 439
A
abort download graphic 168 absolute mode for RFID 403 ACCEPT ZBI command 508 access password set via ^RQ 398 set via ^RZ 416 access point associated 871 MAC address 872 adaptive antenna element selection 400 ADDBREAK ZBI command 475 adhoc auto mode 869 adhoc channel 870 advanced counter reset 327
AFI byte read command (^RA) 387 write command (^WF) 418 alphanumeric default font change 144 antenna parameter setting via ZPL 430 antenna port select using ZPL 415 appl.bootblock 632 appl.name 633 appl.option_board_version 631 applicator functions (ZBI) AUXPORT_GETPIN 561 AUXPORT_RELEASEPIN 562 AUXPORT_SETPIN 560 AUXPORT_STEALPIN 558 description 557 applicator reprint 324 ARP setting using external_wired.ip.arp_interval 735 setting using internal_wired.ip.arp_interval 755 ARP interval or cache time out 735, 755, 806, 879 array functions description 588 array functions (ZBI) COLUMNSIZE 594 DELROW 592 FIND 595 INSERTROW 591 REDIM 589 ROWSIZE 593 authentication timeout for printer home page 429 AUTONUM ZBI command 462
6/8/10
P1012728-004 Rev. A
1094
Index
auxiliary port set 253, 256 AUXPORT_GETPIN ZBI command 561 AUXPORT_RELEASEPIN ZBI command 562 AUXPORT_SETPIN ZBI command 560 AUXPORT_STEALPIN ZBI command 558
C
cache on 152 calibration using SGD 703 using ZPL (^HR) 381 calibration, setting dynamic media 371 cancel all 242 cancel format 262 card.inserted 802 card.mac_addr 801, 909 caret change 140 change alphanumeric default font 144 change backfeed sequence 265, 266, 335 change caret 140 change delimiter 143 change international font 145 change memory letter designation 149 change tilde 155 channel mask setting via ^WS 440 CHR$ ZBI command 565 circle 203 CISDFCRC16 download files 634 client identifier 741, 762, 814, 886 client identifier (CID) 424 CLIENTSOCKET ZBI command 507 CLOSE ZBI command 503 CLRERR ZBI command 555 CODABLOCK 80 considerations for ^FD character set 83 considerations for the ^BY 82 code 11 55 code 128 subsets 86 subsets A and C 89 subsets a, b, and c 84 code 39 59 code 49 63 automatic mode 66 field data character set 66 code 93 76 full ASCII mode 77 code validation 156 COLUMNSIZE ZBI command 594 comm.type 803 comma separated values (CSV) ZBI commands CSVLOAD 534 CSVSTORE 536 description 533 TXTLOAD 537
6/8/10
B
backfeed sequence change 265, 266, 335 bar code field default 138 base types & expressions (ZBI) LET 484 base types and expressions variable names 480 base types and expressions (ZBI) 479 arrays 481 assignment 483 boolean expressions 489 combined boolean expressions 491 constants 481 numeric expressions 485 string concatenation 487 sub-strings 487 variable declarations 481 variable names 481 battery set condition 248 battery status 209 bitmap font download 160 bitmapped fonts 960 bluetooth.address 786 bluetooth.afh_map 787 bluetooth.afh_map_curr 788 bluetooth.afh_mode 789 bluetooth.authentication 790 bluetooth.bluetooth_pin 791 bluetooth.date 792 bluetooth.discoverable 793 bluetooth.enable 794 bluetooth.friendly_name 795 bluetooth.local_name 796 bluetooth.radio_auto_baud 797 bluetooth.radio_version 798 bluetooth.short_address 799 bluetooth.version 800 bootp enable or disable 807 box 201 BREAK ZBI command 474
P1012728-004 Rev. A
Index
1095
TXTSTORE 538 command structure 630, 732, 785 Command/Function NAME 452 comment 200 communications diagnostics 246 enable 246 concantination 195 configuation update 269 configuration using ZPL commands 423, 943, 993 configuration label print 357 Contacts 34 technical support 34 control and flow commands (ZBI) description 492 DO loops 494 END 499 EXIT 498 FOR loops 495 GOTO/GOSUB 496 IF statements 493 SUB 497 CSVLOAD ZBI command 534, 538 CSVSTORE ZBI command 536 CTRL-C ZBI command 468 current partially input format cancel 271 currently connected printer set transparent 312 Customer service 34 cutter.clean_cutter 636
D
darkness set 330 data log for RFID 380 data matrix 134 DATAREADY ZBI command 504 date for real time clock set 349 DATE ZBI command 600 DATE$ ZBI command 598 DEBUG ZBI command 472 define EPC data structure (^RB) 389 define kiosk values 278 define language 275 define password 277 define printer name 276 DELBREAK ZBI command 476 delete object 236
6/8/10
delimiter change 143 DELROW ZBI command 592 description information display 234 detect multiple RFID tags (^RN) 397 device.download_connection_timeout 637 device.epl_legacy_mode 638 device.friendly_name 640 device.frontpanel.key_press 641 device.frontpanel.line1 642 device.frontpanel.line2 643 device.frontpanel.xml 644 device.jobs_print 645 device.languages 646 device.orientation 647 device.pnp_option 648 device.reset 649 device.restore_defaults 650 device.unique_id 651 device.uptime 652 device.user_p1 653 device.user_p2 654 device.xml.enable 655 DHCP CID prefix 739, 760 enable 738, 759 diagnostics disable 247 diagonal line 204 directory label print 358 disable diagnostics 247 discharge mode battery 273 display description information 234 display RFID tag data SGD 704 display.text 656 do device.restore_defaults 650 file.dir 658 media.cut_now 669 media.present.eject 674 do command 629, 731, 784 DO loops ZBI command 494 double signal mode setting 404 download bitmap font 160 download encoding 162 download files 634 download format 164
P1012728-004 Rev. A
1096
Index
download graphic abort 168 download graphics 165, 172 download Intellifont 169 download true type font 170 download unbounded true type font 171 dynamic media calibration, setting 371
E
E.A.S. bit enable/disable command (^RE) 391 EAN-13 99 EAN-8 72 ECHO ZBI command 464 editing commands (ZBI) ! (EXCLAMATION MARK) 460 AUTONUM ZBI command 462 description 457 ECHO ZBI command 464 LIST ZBI command 461 NEW 458 REM 459 RENUM ZBI command 463 Electronic Product Code (EPC) define EPC data structure (^RB) 389 write EPC data via ^RQ 398 write EPC data via ^RZ 416 ellipse 205 enable RFID motion (^RM) 396 encoding download 162 select 331 encoding results 412 encryption set LEAP parameters 435 set values via ZPL 431 end format 372 END ZBI command 499 erase download graphics 176 ESSID printer 876 setting via ^WS 440 events (ZBI) available events 540 description 539 HANDLEEVENT 547 REGISTEREVENT 544 TRIGGEREVENT 549 UNREGISTEREVENT 546 ZBI Key Names 542 EXIT ZBI command 498 external wired gateway address change 742
P1012728-004 Rev. A
external wired subnet mask address enable or disable 743 external_wired.check 733 external_wired.ip.addr 734 external_wired.ip.arp_interval 735 external_wired.ip.default_addr.enable 736 external_wired.ip.dhcp.cid_all 737, 758 external_wired.ip.dhcp.cid_enable 738 external_wired.ip.dhcp.cid_prefix 739 external_wired.ip.dhcp.cid_suffix 740 external_wired.ip.dhcp.cid_type 741 external_wired.ip.gateway 742 external_wired.ip.netmask 743 external_wired.ip.port 744 external_wired.ip.timeout value 747, 778 external_wired.ip.timeout.value 747, 778 external_wired.ip.v6.addr 748 external_wired.ip.v6.gateway 749 external_wired.ip.v6.prefix_length 750 external_wired.mac_addr 751 external_wired.mac_raw 752 EXTRACT$ ZBI command 574
F
feedback suppress 368 field field reverse 193 orientation 198 parameter 192 separator 194 typeset 195 variable 197 field block 176, 177 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 file system commands (ZBI) DELETE ZBI command 532 descripiton 526 DIR ZBI command 531 LOAD ZBI command 530 STORE ZBI command 529 file.delete 657 file.dir 658
6/8/10
Index
1097
file.run 660 file.type 659 files download 634 FIND ZBI command 595 firmware supported RFID tag types for each version 405, 707 ZPL command compatibility 376 flash memory initialize 243 font identifier 158 font linking 184 font name to call font 51 fonts font matrices 966 standard printer fonts 960 FOR loops ZBI command 495 format cancel 262 download 164 end 372 pause 262 recall 369 set 367 FTP protocol setting 827 function rules 453
G
gateway address change 829 Gen 2 printers and firmware that support Gen 2 405, 707 setting password or locking tag 416 write EPC data to tag via ^RQ 398 write EPC data to tag via ^RZ 416 getvar appl.bootblock 632 appl.name 633 appl.option_board_version 631 arp_interval 806 bluetooth.address 786 bluetooth.afh_map 787 bluetooth.afh_map_curr 788 bluetooth.afh_mode 789 bluetooth.authentication 790 bluetooth.bluetooth_pin 791 bluetooth.date 792 bluetooth.discoverable 793 bluetooth.enable 794
6/8/10
bluetooth.friendly_name 795 bluetooth.local_name 796 bluetooth.radio_auto_baud 797 bluetooth.radio_version 798 bluetooth.short_address 799 bluetooth.version 800 card.inserted 802 card.mac_addr 801, 909 comm.type 803 cutter.clean_cutter 636 device.download_connection_timeout 637 device.epl_legacy_mode 638 device.friendly_name 640 device.jobs_print 645 device.languages 646 device.orientation 647 device.pnp_option 648 device.uptime 652 device.user_p1 653 device.user_p2 654 device.xml.enable 655 display.text 656 external_wired..ip.arp_interval 735 external_wired.check 733 external_wired.ip.addr 734 external_wired.ip.default_addr.enable address printer 736 external_wired.ip.dhcp.cid_all 737, 758 external_wired.ip.dhcp.cid_enable 738 external_wired.ip.dhcp.cid_prefix 739 external_wired.ip.dhcp.cid_suffix 740 external_wired.ip.dhcp.cid_type 741 external_wired.ip.gateway 742 external_wired.ip.netmask 743 external_wired.ip.port 744 external_wired.ip.timeout.value 747, 778 external_wired.ip.v6.addr 748 external_wired.ip.v6.gateway 749 external_wired.ip.v6.prefix_length 750 external_wired.mac_addr 751 external_wired.mac_raw 752 file.dir 658 file.type 659 head.latch 661 iip.dhcp.lease.last_attempt 816, 887 interface.network.active.gateway 662 interface.network.active.ip_addr 663 interface.network.active.mac_addr 664 interface.network.active.mac_raw 665 interface.network.active.netmask 666 interface.network.active.protocol 667 internal_wired..ip.arp_interval 755
P1012728-004 Rev. A
1098
Index
internal_wired.auto_switchover 753 internal_wired.ip.addr 754 internal_wired.ip.default_addr.enable address printer 756 internal_wired.ip.dhcp.cache_ip 757 internal_wired.ip.dhcp.cid_enable 759 internal_wired.ip.dhcp.cid_prefix 760 internal_wired.ip.dhcp.cid_suffix 761 internal_wired.ip.dhcp.cid_type 762 internal_wired.ip.dhcp.lease.last_attempt 763 internal_wired.ip.dhcp.lease.length 764 internal_wired.ip.dhcp.lease.server 765 internal_wired.ip.dhcp.lease.time_left 766 internal_wired.ip.dhcp.option12 767 internal_wired.ip.dhcp.option12_format 768 internal_wired.ip.dhcp.option12_value 769 internal_wired.ip.dhcp.requests_per_session 771 internal_wired.ip.dhcp.request_timeout 770 internal_wired.ip.dhcp.session_interval 772 internal_wired.ip.gateway 773 internal_wired.ip.netmask 774 internal_wired.ip.port 775, 899 internal_wired.ip.protocol 776 internal_wired.ip.timeout.enable 746, 777 internal_wired.mac_addr 779 internal_wired.mac_raw 780 ip.active_network 804 ip.addr 805 ip.bootp.enable 807 ip.dhcp.cache_ip 808 ip.dhcp.cid_all 809 ip.dhcp.cid_enable 810 ip.dhcp.cid_prefix 811 ip.dhcp.cid_suffix 812 ip.dhcp.cid_type 814 ip.dhcp.enable 815 ip.dhcp.lease.length 813 ip.dhcp.lease.server 817 ip.dhcp.lease.time_left 818 ip.dhcp.option12 819 ip.dhcp.option12_format 820 ip.dhcp.option12_value 821 ip.dhcp.requests_per_session 823 ip.dhcp.request_timeout 822 ip.dhcp.session_interval 824 ip.dns.domain 825 ip.dns.servers 826 ip.ftp.enable 827 ip.ftp.execute_file 828 ip.gateway 829 ip.http.enable 830 ip.lpd.enable 831
ip.mac_raw 832 ip.mirror.auto 833 ip.mirror.error_retry 834 ip.mirror.feedback.auto 835 ip.mirror.feedback.freq 836 ip.mirror.feedback.odometer 837 ip.mirror.feedback.path 838 ip.mirror.fetch 839 ip.mirror.freq 840 ip.mirror.freq_hours 841 ip.mirror.last_error 842 ip.mirror.last_time 843 ip.mirror.password 844 ip.mirror.reset_delay 846 ip.mirror.server 847 ip.mirror.success 848 ip.mirror.success_time 849 ip.mirror.username 850 ip.mirror.version 851 ip.netmask 852 ip.pop3.enable 853 ip.pop3.password 854 ip.pop3.poll 855 ip.pop3.server_addr 856 ip.pop3.username 857 ip.port 858 ip.primary_network 859 ip.smtp.domain 860 ip.smtp.enable 861 ip.smtp.server_addr 862 ip.snmp.enable 865 ip.snmp.get_community_name 863 ip.snmp.set_community_name 864 ip.tcp.enable 684, 867 ip.telnet.enable 866 ip.udp.enable 868 media.cartridge.part_number 668 media.media_low.external 671 media.media_low.warning 672 media.present.cut_amount 673 media.present.cut_margin 678 media.present.length_addition 675 media.present.loop_length 676 media.present.loop_length_max 677 media.present.present_timeout 679 media.present.present_type 680 media.printmode 681 media.speed 683 odometer.headclean 684 odometer.headnew 685 odometer.media_marker_count 687 odometer.media_marker_count1 687
P1012728-004 Rev. A
6/8/10
Index
1099
odometer.media_marker_count2 688 odometer.retracts_count 689 odometer.total_print_length 692 print.tone 693 wlan.adhocautomode 869 wlan.adhocchannel 870 wlan.associated 871 wlan.bssid 872 wlan.channel 873 wlan.channel_mask 874 wlan.current_tx.rate 875 wlan.essid 876 wlan.firmware_version 877 wlan.ip.addr 878 wlan.ip.arp_interval 879 wlan.ip.default_addr.enable address printer 880 wlan.ip.dhcp.cache_ip 881 wlan.ip.dhcp.cid_all 882 wlan.ip.dhcp.cid_enable 883 wlan.ip.dhcp.cid_prefix 884 wlan.ip.dhcp.cid_suffix 885 wlan.ip.dhcp.cid_type 886 wlan.ip.dhcp.lease.length 888 wlan.ip.dhcp.lease.server 889 wlan.ip.dhcp.lease.time_left 890 wlan.ip.dhcp.option12 891 wlan.ip.dhcp.option12_format 892 wlan.ip.dhcp.option12_value 893 wlan.ip.dhcp.requests_per_session 895 wlan.ip.dhcp.request_timeout 894 wlan.ip.dhcp.session_interval 896 wlan.ip.gateway 897 wlan.ip.netmask 898 wlan.ip.protocol 900 wlan.ip.timeout.enable 901 wlan.ip.timeout.value 902 wlan.keep_alive.enable 903 wlan.keep_alive.timeout 904 wlan.kerberos.kdc 905 wlan.kerberos.password 906 wlan.kerberos.realm 907 wlan.kerberos.username 908 wlan.mac_raw 910 wlan.operating_mode 911 wlan.password 912 wlan.preamble 913 wlan.private_key_password 914 wlan.roam.interchannel_delay 915 wlan.roam.interval 916 wlan.roam.signal 918 wlan.security 919
wlan.signal_noise 927 wlan.signal_quality 928 wlan.signal_strength 929 wlan.station_name 930 wlan.tx_power 931 wlan.tx_rate 932 wlan.username 933 wlan.wep.auth_type 934 wlan.wep.index 935 wlan.wep.key1 936 wlan.wep.key2 937 wlan.wep.key3 938 wlan.wep.key4 939 wlan.wep.key_format 941 wlan.wpa.psk 940 wlanroam.max_chan_scan_time 917 getvar command 628, 730, 783 GETVAR ZBI command 604 GOTO/GOSUB ZBI command 496 graphic box 201 circle 203 diagonal line 204 ellipse 205 field 206 recall 370 symbol 208 graphic field 206 graphics download 165, 172 erase download 176 upload 233 graphing sensor calibration 249
H
HANDLEEVENT ZBI command 547 head test fatal 260 interval 268 non-fatal 261 head test fatal 260 head test interval 268 head test non-fatal 261 head.latch 661 HEXTOINT ZBI command 587 host directory list 231 graphic 212 identification 214 RAM status 215 status return 224 host directory list 231
Zebra Programming Guide P1012728-004 Rev. A
6/8/10
1100
Index
host graphic 212 host identification 214 host linked font list 228 host query 216, 360 host RAM status 215 host status return 224 host verification command (^HV) 230 ~HQ Host Query 360 HTTP protocol 830
I
IF statements (ZBI) 493 image load 238 move 239 save 240 image load 238 image move 239 image save 240 INBYTE ZBI command 514 industrial 2 of 5 103 initialize Flash memory 243 input and output commands (ZBI) ACCEPT 508 CLIENTSOCKET 507 CLOSE 503 DATAREADY 504 description 500 INBYTE 514 INPUT 510 OPEN 502 OUTBYTE 513 PRINT 512 READ 515 SEARCHTO$ 517 SERVERCLOSE 506 SERVERSOCKET 505 WRITE 516 INPUT ZBI command 510 INSERTROW ZBI command 591 interface.network.active.gateway 662 interface.network.active.ip_addr 663 interface.network.active.mac_addr 664 interface.network.active.mac_raw 665 interface.network.active.netmask 666 interface.network.active.protocol 667 interleaved 2 of 5 57 internal wired gateway address change 773 internal wired subnet mask address enable or disable 774
P1012728-004 Rev. A
internal wired timeout enable 746, 777 internal wired.ip.timeout enable 746, 777 internal.wired.mac_addr 779 internal_wired.auto_switchover 753 internal_wired.ip.addr 754 internal_wired.ip.arp_interval 755 internal_wired.ip.default_addr.enable 756 internal_wired.ip.dhcp.cache_ip 757 internal_wired.ip.dhcp.cid_enable 759 internal_wired.ip.dhcp.cid_prefix 760 internal_wired.ip.dhcp.cid_suffix 761 internal_wired.ip.dhcp.cid_type 762 internal_wired.ip.dhcp.lease.last_attempt 763 internal_wired.ip.dhcp.lease.length 764 internal_wired.ip.dhcp.lease.server 765 internal_wired.ip.dhcp.lease.time_left 766 internal_wired.ip.dhcp.option12 767 internal_wired.ip.dhcp.option12_format 768 internal_wired.ip.dhcp.option12_value 769 internal_wired.ip.dhcp.requests_per_session 771 internal_wired.ip.dhcp.request_timeout 770 internal_wired.ip.dhcp.session_interval 772 internal_wired.ip.gateway 773 internal_wired.ip.netmask 774 internal_wired.ip.port 775 internal_wired.ip.protocol 776 internal_wired.ip.timeout.enable 746, 777 internal_wired.mac_addr 779 internal_wired.mac_raw 780 international font change 145 international mode setting via ^WS 440 Introduction to Zebra Basic Interpreter (ZBI) 453 INTTOHEX$ ZBI command 586 IP address printer 734, 754, 805, 878 setting via ip.addr 859 ip.active_network 804 ip.addr 805 ip.arp_interval 806 ip.bootp.enable 807 ip.dhcp.cache_ip 808 ip.dhcp.cid_all 737, 758, 809 ip.dhcp.cid_enable 810 ip.dhcp.cid_prefix 811 ip.dhcp.cid_suffix 812 ip.dhcp.cid_type 814 ip.dhcp.enable 815 ip.dhcp.lease.last_attempt 816, 887 ip.dhcp.lease.length 813 ip.dhcp.lease.server 817
6/8/10
Index
1101
ip.dhcp.lease.time_left 818 ip.dhcp.option12 819 ip.dhcp.option12_format 820 ip.dhcp.option12_value 821 ip.dhcp.requests_per_session 823 ip.dhcp.request_timeout 822 ip.dhcp.session_interval 824 ip.dns.domain 825 ip.dns.servers 826 ip.ftp.enable 827 ip.ftp.execute_file 828 ip.gateway 742, 829 ip.http.enable 830 ip.lpd.enable 831 ip.mac_raw 832 ip.mirror.auto 833 ip.mirror.error_retry 834 ip.mirror.feedback.auto 835 ip.mirror.feedback.freq 836 ip.mirror.feedback.odometer 837 ip.mirror.feedback.path 838 ip.mirror.fetch 839 ip.mirror.freq 840 ip.mirror.freq_hours 841 ip.mirror.last_error 842 ip.mirror.last_time 843 ip.mirror.password 844 ip.mirror.reset_delay 846 ip.mirror.server 847 ip.mirror.success 848 ip.mirror.success_time 849 ip.mirror.username 850 ip.mirror.version 851 ip.netmask 852 ip.pop3.enable 853 ip.pop3.password 854 ip.pop3.poll 855 ip.pop3.server_addr 856 ip.pop3.username 857 ip.port 744, 775, 858, 899 ip.primary_network 859 ip.smtp.domain 860 ip.smtp.enable 861 ip.smtp.server_addr 862 ip.snmp.get_community_name 863 ip.snmp.server_addr 865 ip.snmp.set_community_name 863, 864 ip.tcp.enable 867 ip.telnet.enable 866 ip.udp.enable 868 ISERRORd ZBI command 551
K
Kerberos password 906 realm 907 username 908 key distribution center (KDC) 905 key rotation firmware version required 448, 923 kill battery 273 kill password set via ^RQ 398 set via ^RZ 416 kiosk values 278
L
label maximum length 294 reverse print 285 shift 286 top 287 label home 282, 283 label length 284 set 258 language define 275 LCASE$ ZBI command 564 LEAP mode setting using ZPL 435 LEN ZBI command 578 LET ZBI command 484 Liability 2 linked font host list 228 LIST ZBI command 461 lock RFID tag Gen 2 416 not Gen 2 392 log file for RFID 380 LOGMARS 109 LPD protocol setting 831 LTRIM$ ZBI command 566
M
^MA Set Maintenance Alerts 288 MAC address access point 872 retrieve via external_wired.mac_addr 751 retrieve via internal_wired.mac_addr 779 maintenance alerts, setting 288 map clear 290
Zebra Programming Guide P1012728-004 Rev. A
6/8/10
1102
Index
math functions description 579 math functions (ZBI) HEXTOINT 587 INTTOHEX$ 586 MAX 581 MAXNUM 583 MIN 582 MOD 584 STR$ 580 VAL 585 MAX ZBI command 581 maximum label length 294 MAXNUM ZBI command 583 Media ordering 34 media darkness 291 feed 292 tracking 297 type 300 media calibration, setting dynamic 371 media darkness 291 media sensor set 347 media sensor calibration 245 set 245 media tracking 297 media type 300 media.cartridge.part_number 668 media.cut_now 669 media.darkness_mode 670 media.media_low.external 671 media.media_low.warning 672 media.present.cut_amount 673 media.present.cut_margin 678 media.present.eject 674 media.present.length_addition 675 media.present.loop_length 676 media.present.loop_length_max 677 media.present.present_timeout 679 media.present.present_type 680 media.printmode 681 media.speed 683 memory letter designation change 149 ^MI Set Maintenance Information Message 293 MIN ZBI command 582 mirror image printing 317 MOD ZBI command 584 mode protection 298
modify head warning 303 motion in RFID label 396 MSI 111 multiple field origin locations 187
N
network connect 305 ID number 308 network boot command 425 network configuration label print 436 network connect 305 network ID number 308 network operating mode 911 network printers set all transparent 309 network settings setting via ZPL 433 NEW ZBI command 458 number of retries for block (^RR) 400
O
object delete 236 odometer ~WQ 360 odometer related commands ^JH 250 ^MA 288 ^MI 293 ~HQ 216 odometer.headclean 684 odometer.headnew 685 odometer.label_dot_length 686 odometer.media_marker_count1 687 odometer.media_marker_count2 688 odometer.total_print_length 692 odometer.headclean 684 odometer.headnew 685 odometer.label_dot_length 686 odometer.media_marker_count 687, 688 odometer.media_marker_count1 687 odometer.media_marker_count2 688 odometer.retracts_count 689 odometer.total_print_length 692 offset for real time clock set 341 ON ERROR ZBI command 556 OPEN ZBI command 502 option 61 741, 762, 814, 886 CID prefix 739, 760
P1012728-004 Rev. A
6/8/10
Index
1103
enable 738, 759 external_wired.ip.dhcp.cid_enable 738 internal_wired.ip.dhcp.cid_enable 759 ip.dhcp.cid_enable 810 ip.dhcp.cid_prefix 739, 760, 811, 884 wlan.ip.dhcp.cid_enable 883 optional memory reset 244 Ordering ribbon and media 34 OUTBYTE ZBI command 513
P
password define 277 set wireless password via ^WP 437 password for RFID tag 416 pause programmable 320 pause format 262 PDF417 68 consideration for ^FD 71 permanently lock Gen 2 tag data 416 POP3 mailbox 853 mailbox password 854 poll interval 855 username 857 POP3 server IP address 856 POS ZBI command 577 POSTNET 141 power on reset 264 preamble length radio 913 pre-shared key value 940 primary network device selection by ^NC 304 primary/secondary device setting via ZPL 427 print start 325 width 326 print mode 295 selection via ZPL 295 print orientation 319 print quantity 321 print rate 322 print start 325 print width 326 PRINT ZBI command 512 print.tone 693
6/8/10
printer sleep 373 printer IP address 734, 754, 805, 878 printer name define 276 printer sleep 373 Printers, ZBI Keys, & ZBI Versions 454 printhead resistance set 346 printing mirror image of label 317 private key password 914 programmable pause 320 programming position setting using SGD 703 setting using ZPL (^HR) 381
Q
QR code normal mode 120 quantity print 321
R
read power change using ZPL 413 read RFID tag read or write RFID format (^RF) 392 read RFID tag (^RT) 410 READ ZBI command 515 real time clock set language 336 set mode 336 real time clock date format select 274 real time clock time format select 274 recall format 369 recall graphic 370 REDIM ZBI command 589 REGISTEREVENT ZBI command 544 relative mode for RFID 403 REM ZBI command 459 RENUM ZBI command 463 REPEAT$ ZBI command 567 report RFID encoding results 412 reprint after error 272 applicator 324 reset power on 264 reset advanced counter 327
P1012728-004 Rev. A
1104
Index
reset optional memory 244 reset wireless radio card and print server 439 RESTART ZBI command 469 return data to host computer (^HV) 230 return RFID data log to host 380 RFID change read power using ZPL 413 change write power using ZPL 413 detect multiple tags (^RN) 397 display tag data SGD 704 enable motion (^RM) 396 number of retries for block (^RR) 400 RFID setup command (^RS) 402 RFID test SGD command 705 verify write operation (^WV) 422 RFID counters reset valid label counter by SGD 690 reset void counter by SGD 691 resetting by ZPL 327 RFID mode selection via ZPL 295 RFID programming position setting via ZPL 403 RFID tag ID command (^RI) 395 RFID tag types 405, 707 Ribbon ordering 34 ribbon tension set 270 ROWSIZE ZBI command 593 RTRIM$ ZBI command 568 RUN ZBI command 467 running and debugging commands (ZBI) ADDBREAK ZBI command 475 BREAK ZBI command 474 CTRL-C ZBI command 468 DEBUG ZBI command 472 DELBREAK ZBI command 476 description 465 RESTART ZBI command 469 RUN ZBI command 467 STEP ZBI command 471 TRACE ZBI command 473 ZPL ZBI command 478
S
Sales 34 scalable font 49, 960 download Intellifont 169 SEARCHTO$ ZBI command 517
P1012728-004 Rev. A
select encoding 331 sensor calibration graphing 249 serial communications set 329 serialization data 338 serialization field standard ^FD string 332 SERVERCLOSE ZBI command 506 SERVERSOCKET ZBI command 505 set all network printers transparent 309 set auxiliary port 256 set battery condition 248 set darkness 330 set dots millimeter 259 set dots per millimeter 259 set dynamic media calibration 371 set label length 258 set maintenance alerts 288 set maintenance information message 293 set RFID tag or kill password (^RZ) 416 set serial communications 329 set units of measurements 301 set up RFID information (^RS) 402 Set/Get/Do interactions description 602 Set/Get/Do interactions (ZBI) GETVAR 604 SETVAR 603 SETERR ZBI command 554 setvar bluetooth.afh_map 787 bluetooth.afh_mode 789 bluetooth.authentication 790 bluetooth.bluetooth_pin 791 bluetooth.discoverable 793 bluetooth.enable 794 bluetooth.friendly_name 795 bluetooth.radio_auto_baud 797 comm.type 803 cutter.clean_cutter 636 device.download_connection_timeout 637 device.epl_legacy_mode 638 device.friendly_name 640 device.languages 646 device.orientation 647 device.pnp_option 648 device.reset 649 device.uptime 652 device.user_p1 653 device.user_p2 654
6/8/10
Index
1105
device.xml.enable 655 external_wired.check 733 external_wired.ip.addr 734, 736 external_wired.ip.arp_interval 735 external_wired.ip.dhcp.cid_all 737, 758 external_wired.ip.dhcp.cid_enable 738 external_wired.ip.dhcp.cid_prefix 739 external_wired.ip.dhcp.cid_suffix 740 external_wired.ip.dhcp.cid_type 741 external_wired.ip.gateway 742 external_wired.ip.netmask 743 external_wired.ip.port 744 external_wired.ip.timeout value 747, 778 file.dir 658 file.run 660 file.type 659 head.latch 661 internal_wired.auto_switchover 753 internal_wired.ip.addr 754, 756 internal_wired.ip.arp_interval 755 internal_wired.ip.dhcp.cid_enable 759 internal_wired.ip.dhcp.cid_prefix 760 internal_wired.ip.dhcp.cid_suffix 761 internal_wired.ip.dhcp.cid_type 762 internal_wired.ip.dhcp.option12 767 internal_wired.ip.dhcp.option12_format 768 internal_wired.ip.dhcp.option12_value 769 internal_wired.ip.dhcp.requests_per_session 771 internal_wired.ip.dhcp.request_timeout 770 internal_wired.ip.dhcp.session_interval 772 internal_wired.ip.gateway 773 internal_wired.ip.netmask 774 internal_wired.ip.port 775, 899 internal_wired.ip.protocol 776 internal_wired.ip.timeout enable 746, 777 ip.active_network 804 ip.addr 805 ip.arp_interval 806 ip.bootp.enable 807 ip.dhcp.cid_all 809 ip.dhcp.cid_enable 810 ip.dhcp.cid_prefix 811 ip.dhcp.cid_suffix 812 ip.dhcp.cid_type 814 ip.dhcp.enable 815 ip.dhcp.option12 819 ip.dhcp.option12_format 820 ip.dhcp.option12_value 821 ip.dhcp.requests_per_session 823 ip.dhcp.request_timeout 822 ip.dhcp.session_interval 824 ip.dns.domain 825
ip.dns.servers 826 ip.ftp.enable 827 ip.ftp.execute_file 828 ip.gateway 829 ip.http.enable 830 ip.lpd.enable 831 ip.mirror.auto 833 ip.mirror.error_retry 834 ip.mirror.feedback.auto 835 ip.mirror.feedback.freq 836 ip.mirror.feedback.odometer 837 ip.mirror.feedback.path 838 ip.mirror.fetch 839 ip.mirror.freq 840 ip.mirror.freq_hours 841 ip.mirror.password 844 ip.mirror.reset_delay 846 ip.mirror.server 847 ip.mirror.success 848 ip.mirror.success_time 849 ip.mirror.username 850 ip.netmask 852 ip.pop3.enable 853 ip.pop3.password 854 ip.pop3.poll 855 ip.pop3.server_addr 856 ip.pop3.username 857 ip.port 858 ip.primary_network 859 ip.smtp.domain 860 ip.smtp.enable 861 ip.smtp.server_addr 862 ip.snmp.enable 865 ip.snmp.get_community_name 863 ip.snmp.set_community_name 864 ip.tcp.enable 867 ip.telnet.enable 866 ip.udp.enable 868 media.cut_now 669 media.darkness_mode 670 media.media_low.warning 672 media.present.cut_amount 673 media.present.cut_margin 678 media.present.eject 674 media.present.length_addition 675 media.present.loop_length 676 media.present.loop_length_max 677 media.present.present_timeout 679 media.present.present_type 680 media.printmode 681 media.speed 683 odometer.headclean 684
6/8/10
P1012728-004 Rev. A
1106
Index
odometer.headnew 685 odometer.media_marker_count 687 odometer.media_marker_count1 687 odometer.media_marker_count2 688 odometer.retracts_count 689 print.tone 693 wlan.adhocautomode 869 wlan.adhocchannel 870 wlan.channel_mask 874 wlan.essid 876 wlan.ip.addr 878, 880 wlan.ip.arp_interval 879 wlan.ip.dhcp.cid_all 882 wlan.ip.dhcp.cid_enable 883 wlan.ip.dhcp.cid_prefix 884 wlan.ip.dhcp.cid_suffix 885 wlan.ip.dhcp.cid_type 886 wlan.ip.dhcp.option12 891 wlan.ip.dhcp.option12_format 892 wlan.ip.dhcp.option12_value 893 wlan.ip.dhcp.requests_per_session 895 wlan.ip.dhcp.request_timeout 894 wlan.ip.dhcp.session_interval 896 wlan.ip.gateway 897 wlan.ip.netmask 898 wlan.ip.protocol 900 wlan.ip.timeout enable 901 wlan.ip.timeout value 902 wlan.keep_alive.enable 903 wlan.keep_alive.timeout 904 wlan.kerberos.kdc 905 wlan.kerberos.password 906 wlan.kerberos.realm 907 wlan.kerberos.username 908 wlan.operating_mode 911 wlan.password 912 wlan.preamble 913 wlan.private_key_password 914 wlan.roam.interchannel_delay 915 wlan.roam.interval 916 wlan.roam.max_chan_scan_time 917 wlan.roam.signal 918 wlan.security 919 wlan.station_name 930 wlan.tx_power 931 wlan.tx_rate 932 wlan.username 933 wlan.wep.auth_type 934 wlan.wep.index 935 wlan.wep.key1 936 wlan.wep.key2 937 wlan.wep.key3 938
wlan.wep.key4 939 wlan.wep.key_format 941 wlan.wpa.psk 940 setvar command 628, 730, 783 SETVAR ZBI command 603 SGD command structure 630, 732, 785 SGTIN-64 standard programming example 390 single signal mode setting 404 SLEEP ZBI command 553 slew home position 315 slew given number dot rows 314 slew to home position 315 SMTP IP address 862 SMTP parameters setting via ZPL 428 SMTP protocol 860, 861 SNMP get community 863 set community 864 SNMP parameters setting via ZPL 426 SNMP protocol 865 SNMP query 863 specify number of retries for block (^RR) 400 SPLIT ZBI command 569 SPLITCOUNT ZBI command 572 standard printer fonts 960 start print 342 start ZBI 253 STEP ZBI command 471 STR$ ZBI command 580 string functions (ZBI) CHR$ 565 description 563 EXTRACT$ 574 LCASE$ 564 LEN 578 LTRIM$ 566 POS 577 REPEAT$ 567 RTRIM$ 568 SPLIT 569 SPLITCOUNT 572 UCASE$ 573 SUB ZBI command 497 subnet mask change 743, 774 subnet mask address enable or disable 852
P1012728-004 Rev. A
6/8/10
Index
1107
supported printers 454 symbol 208, 211 systems (ZBI) CLRERR 555 description 550 ISERRORd 551 ON ERROR 556 SETERR 554 SLEEP 553 TRIGGEREVENT 552
U
UCASE$ ZBI command 573 UDP communication 744, 775, 858, 899 UDP socket protocol 868 unbounded true type font download 171 units of measurement set 301 UNREGISTEREVENT ZBI command 546 UPC/EAN extensions 127 UPC-A 132 UPC-E 74 update configuration 269 upload graphics 233 UPS maxicode 96 considerations for ^FD 97 use font name to call font 51
T
tag type specify using SGD 706 specify using ZPL 402 TCP communication 744, 775, 858, 899 TCP socket protocol 867 tear-off adjust position 353 Technical support 34 TELNET protocol 866 terminate ZBI 263 text blocks 354 text properties advanced 313 tilde change 155 time and date functions description 597 time and date functions (ZBI) DATE 600 DATE$ 598 TIME 601 TIME$ 599 time for real time clock set 349 TIME ZBI command 601 TIME$ ZBI command 599 timeout value 747, 778 timeout value for printer home page 429 TRACE ZBI command 473 transfer object 355 transmit rate setting via ^WR 438 transponder calibration using SGD 703 using ZPL (^HR) 381 TRIGGEREVENT ZBI command 549, 552 troubleshooting RFID test SGD command 705 true type font
6/8/10
V
VAL ZBI command 585 valid RFID label counter reset by SGD 690 reset by ZPL 327 verify RFID write operation (^WV) 422 void RFID label counter reset by SGD 691 reset by ZPL 327
W
web authentication timeout value 429 web pages set timeout value 429 web server setting 830 WEP key format 941 WEP mode setting encryption index via ^WX 443 width print 326 wired equivalent privacy 935 wired print server ^NB to set check for 425 wireless password setting via ^WP 437 Wireless Print Server ZPL commands 943, 993 wireless print server change network settings 433 wireless pulse and interval
Zebra Programming Guide P1012728-004 Rev. A
1108
Index
setting via ^WS 440 wireless radio card reset via ZPL 439 setting values via ^WS 440 wireless timeout enable 901 wlan gateway address change 897 wlan subnet mask address enable or disable 898 wlan.adhocautomode 869 wlan.adhocchannel 870 wlan.associated 871 wlan.bssid 872 wlan.channel 873 wlan.channel_mask 874 wlan.current_tx_rate 875 wlan.essid 876 wlan.firmware_version 877 wlan.ip.addr 878 wlan.ip.arp_interval 879 wlan.ip.default_addr.enable 880 wlan.ip.dhcp.cache_ip 881 wlan.ip.dhcp.cid_all 882 wlan.ip.dhcp.cid_enable 883 wlan.ip.dhcp.cid_prefix 884 wlan.ip.dhcp.cid_suffix 885 wlan.ip.dhcp.cid_type 886 wlan.ip.dhcp.lease.length 888 wlan.ip.dhcp.lease.server 889 wlan.ip.dhcp.lease.time_left 890 wlan.ip.dhcp.option12 891 wlan.ip.dhcp.option12_format 892 wlan.ip.dhcp.option12_value 893 wlan.ip.dhcp.requests_per_session 895 wlan.ip.dhcp.request_timeout 894 wlan.ip.dhcp.session_interval 896 wlan.ip.gateway 897 wlan.ip.netmask 898 wlan.ip.protocol 900 wlan.ip.timeout enable 901 wlan.ip.timeout value 902 wlan.ip.timeout.enable 901 wlan.keep_alive.enable 903 wlan.keep_alive.timeout 904 wlan.kerberos.kdc 905 wlan.kerberos.password 906 wlan.kerberos.realm 907 wlan.kerberos.username 908 wlan.mac_raw 910 wlan.operating_mode 911 wlan.password 912 wlan.preamble 913
wlan.private_key_password 914 wlan.roam.interchannel_delay 915 wlan.roam.interval 916 wlan.roam.max_chan_scan_time 917 wlan.roam.signal 918 wlan.security 919 wlan.signal_noise 927 wlan.signal_quality 928 wlan.signal_strength 929 wlan.station_name 930 wlan.tx_power 931 wlan.tx_rate 932 wlan.username 933 wlan.wep.auth_type 934 wlan.wep.index 935 wlan.wep.key1 936 wlan.wep.key2 937 wlan.wep.key3 938 wlan.wep.key4 939 wlan.wep.key_format 941 wlan.wpa.psk 940 write AFI byte command (^WF) 418 write data to tag via ^RQ 398 via ^RZ 416 write power change using ZPL 413 write RFID format (^RF) 392 write RFID tag (^WT) 420 WRITE ZBI command 516 Writing ZBI Programs 456
X
^XS Set Dynamic Calibration Defaults 371
Z
ZBI Command/Function Name description 452 function rules 453 start 253 terminate 263 ZBI character set 1015 ZBI commands ! (EXCLAMATION MARK) 460 ACCEPT 508 ADDBREAK 475 AUTONUM 462 AUXPORT_GETPIN 561 AUXPORT_RELEASEPIN 562 AUXPORT_SETPIN 560 AUXPORT_STEALPIN 558
P1012728-004 Rev. A
6/8/10
Index
1109
BREAK 474 CHR$ 565 CLIENTSOCKET 507 CLOSE 503 CLRERR 555 COLUMNSIZE 594 CSVLOAD 534 CSVSTORE 536 CTRL-C 468 DATAREADY 504 DATE 600 DATE$ 598 DEBUG 472 DELBREAK 476 DELETE 532 DELROW 592 DIR 531 DO loops 494 ECHO 464 END 499 EXIT 498 EXTRACT$ 574 FIND 595 FOR loops 495 GETVAR 604 GOTO/GOSUB 496 HANDLEEVENT 547 HEXTOINT 587 IF statements 493 INBYTE 514 INPUT 510 INSERTROW 591 INTTOHEX$ 586 ISERRORd 551 LCASE$ 564 LEN 578 LET 484 LIST 461 LOAD 530 LTRIM$ 566 MAX 581 MAXNUM 583 MIN 582 MOD 584 NEW 458 ON ERROR 556 OPEN 502 OUTBYTE 513 POS 577 PRINT 512 READ 515 REDIM 589
REGISTEREVENT 544 REM 459 RENUM 463 REPEAT$ 567 RESTART 469 ROWSIZE 593 RTRIM$ 568 RUN 467 SEARCHTO$ 517 SERVERCLOSE 506 SERVERSOCKET 505 SETERR 554 SETVAR 603 SLEEP 553 SPLIT 569 SPLITCOUNT 572 STEP 471 STORE 529 STR$ 580 SUB 497 TIME 601 TIME$ 599 TRACE 473 TRIGGEREVENT 549, 552 TXTLOAD 537 TXTSTORE 538 UCASE$ 573 UNREGISTEREVENT 546 VAL 585 WRITE 516 ZBI Key Names 542 ZPL 478 ZBI keys 454 ZBI printers 454 ZBI versions 454 1.0 through 1.5 454 2.0 and higher 454 zbi.control.add_breakpoint 709 zbi.control.break 710 zbi.control.clear_breakpoints 711 zbi.control.delete_breakpoint 712 zbi.control.line_number 713 zbi.control.restart 714 zbi.control.run 715 zbi.control.step 716 zbi.control.terminate 717 zbi.control.variable_name 718 zbi.control.variable_value 719 zbi.key 720 zbi.last_error 721 zbi.reseller_key 722 zbi.revision 723
6/8/10
P1012728-004 Rev. A
1110
Index
zbi.running_program_name 724 zbi.start_info.execute 725 zbi.start_info.file_name 726 zbi.start_info.memory_alloc 727 zbi.state 728 Zebra Programming Language (ZPL II) ^HL or ~HL, Return RFID Data Log to Host (^HL or ~HL) 380 ^HR, Calibrate RFID Transponder 381 ^RA, Read AFI Byte 387 ^RB, Define EPC Data Structure 389 ^RE, Enable/Disable E.A.S. Bit 391 ^RF, Read or Write RFID Format 392 ^RI, Get RFID Tag ID 395 ^RM, Enable RFID Motion 396 ^RN, Detect Multiple RFID Tags 397 ^RQ, Quick Write EPC Data and Passwords 398 ^RR, Specify RFID Retries for a Block 400 ^RS, RFID Setup 402 ^RT, Read RFID Tag 410 ^RW, Set RFID Read and Write Power 413 ^RZ, Set RFID Tag Password and Lock Tag 416 ^WF, Write AFI Byte 418 ^WT, Write Tag 420 ^WV, Verify RFID Write Operation 422 ~RV, Report RFID Encoding Results 412 command compatibility with printers and firmware 376 ZebraNet Alert halt 344 set 350 ZPL set 352 ZPL commands 423 ^B7 68 ~HQ 250, 360 ^MA 288 ^MI 293 Wireless Print Server commands 943, 993 ^XS 371 ZPL ZBI command 478
P1012728-004 Rev. A
6/8/10
Zebra Technologies Corporation Zebra Technologies Corporation 475 Half Day Road, Suite 500 Lincolnshire, IL 60069 USA T: +1 847 634 6700 Toll-free +1 866 230 9494 F: +1 847 913 8766 Zebra Technologies Europe Limited Dukes Meadow Millboard Road Bourne End Buckinghamshire, SL8 5XF, UK T: +44 (0)1628 556000 F: +44 (0)1628 556001 Zebra Technologies Asia Pacific, LLC 120 Robinson Road #06-01 Parakou Building Singapore 068913 T: +65 6858 0722 F: +65 6885 0838 http://www.zebra.com