Programming Guide For ZPL II, ZBI 2, Set Get Do, Mirror, WML (en) MP Zbi2 Pm En
User Manual: MP
Open the PDF directly: View PDF .
Page Count: 1524
Download | |
Open PDF In Browser | View PDF |
Programming Guide ZPL II ZBI 2 Set-Get-Do Mirror WML © 2018 ZIH Corp. All rights reserved. ZEBRA and the stylized Zebra head are trademarks of ZIH Corp., registered in many jurisdictions worldwide. All other trademarks are the property of their respective owners. Information in this document is subject to change without notice. For further information regarding legal and proprietary statements, please go to: COPYRIGHTS: www.zebra.com/copyright WARRANTY: www.zebra.com/warranty END USER LICENSE AGREEMENT: www.zebra.com/eula SOFTWARE: www.zebra.com/linkoslegal Terms of Use Proprietary Statement This manual contains proprietary information of Zebra Technologies Corporation and its subsidiaries (“Zebra Technologies”). It is intended solely for the information and use of parties operating and maintaining the equipment described herein. Such proprietary information may not be used, reproduced, or disclosed to any other parties for any other purpose without the express, written permission of Zebra Technologies. Product Improvements Continuous improvement of products is a policy of Zebra Technologies. All specifications and designs are subject to change without notice. Liability Disclaimer Zebra Technologies takes steps to ensure that its published Engineering specifications and manuals are correct; however, errors do occur. Zebra Technologies reserves the right to correct any such errors and disclaims liability resulting therefrom. Limitation of Liability In no event shall Zebra Technologies or anyone else involved in the creation, production, or delivery of the accompanying product (including hardware and software) be liable for any damages whatsoever (including, without limitation, consequential damages including loss of business profits, business interruption, or loss of business information) arising out of the use of, the results of use of, or inability to use such product, even if Zebra Technologies has been advised of the possibility of such damages. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you. P1099958-001 1 Programming Guide 1/31/18 Contents Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Functional List of ZPL Commands . . . . . . . . 15 Alphabetical List of ZBI Commands . . . . . . . 19 Alphabetical List of Set/Get/Do Commands 21 About This Document . . . . . . . . . . . . . . . . . . 27 Contact Zebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Who Should Use This Document . . . . . . . . . . . . . . . . . . . 28 How This Document Is Organized . . . . . . . . . . . . . . . . . . 29 ZPL Commands . . . . . . . . . . . . . . . . . . . . . . . 31 Basic ZPL Exercises and Examples . . . . . . . . . . . . . . . . 32 Allowed Characters in File Names . . . . . . . . . . . . . . . . . . 41 ^A Scalable/Bitmapped Font . . . . . . . . . . . . . . . . . . . . . 42 ^A@ Use Font Name to Call Font . . . . . . . . . . . . . . . . . 44 ^B0 Aztec Bar Code Parameters . . . . . . . . . . . . . . . . . . . 46 ^B1 Code 11 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . 48 ^B2 Interleaved 2 of 5 Bar Code . . . . . . . . . . . . . . . . . . 50 ^B3 Code 39 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . 52 ^B4 Code 49 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . 56 ^B5 Planet Code bar code . . . . . . . . . . . . . . . . . . . . . . . . 60 ^B7 PDF417 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . 61 ^B8 EAN-8 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 ^B9 UPC-E Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 ^BA Code 93 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . 68 ^BB CODABLOCK Bar Code . . . . . . . . . . . . . . . . . . . . . 72 ^BC Code 128 Bar Code (Subsets A, B, and C) . . . . . . . 76 ^BD UPS MaxiCode Bar Code . . . . . . . . . . . . . . . . . . . . 87 ^BE EAN-13 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . 89 ^BF MicroPDF417 Bar Code . . . . . . . . . . . . . . . . . . . . . . 91 ^BI Industrial 2 of 5 Bar Codes . . . . . . . . . . . . . . . . . . . . 93 ^BJ Standard 2 of 5 Bar Code . . . . . . . . . . . . . . . . . . . . . 95 1/31/18 ^BK ANSI Codabar Bar Code . . . . . . . . . . . . . . . . . . . . . 96 ^BL LOGMARS Bar Code . . . . . . . . . . . . . . . . . . . . . . . . 98 ^BM MSI Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 ^BO Aztec Bar Code Parameters . . . . . . . . . . . . . . . . . 102 ^BP Plessey Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . 104 ^BQ QR Code Bar Code . . . . . . . . . . . . . . . . . . . . . . . . 106 ^BR GS1 Databar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 ^BS UPC/EAN Extensions . . . . . . . . . . . . . . . . . . . . . . 115 ^BT TLC39 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . 118 ^BU UPC-A Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . 120 ^BX Data Matrix Bar Code . . . . . . . . . . . . . . . . . . . . . . 122 ^BY Bar Code Field Default . . . . . . . . . . . . . . . . . . . . . 126 ^BZ POSTAL Bar Code . . . . . . . . . . . . . . . . . . . . . . . . 127 ^CC ~CC Change Caret . . . . . . . . . . . . . . . . . . . . . . . 129 ^CD ~CD Change Delimiter . . . . . . . . . . . . . . . . . . . 130 ^CF Change Alphanumeric Default Font . . . . . . . . . . 131 ^CI Change International Font/Encoding . . . . . . . . . . . 132 ^CM Change Memory Letter Designation . . . . . . . . . 136 ^CN Cut Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 ^CO Cache On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 ^CP Remove Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 ^CT ~CT Change Tilde . . . . . . . . . . . . . . . . . . . . . . . . 142 ^CV Code Validation . . . . . . . . . . . . . . . . . . . . . . . . . . 143 ^CW Font Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 ~DB Download Bitmap Font . . . . . . . . . . . . . . . . . . . . 147 ~DE Download Encoding . . . . . . . . . . . . . . . . . . . . . . 149 ^DF Download Format . . . . . . . . . . . . . . . . . . . . . . . . 151 ~DG Download Graphics . . . . . . . . . . . . . . . . . . . . . . 152 ~DN Abort Download Graphic . . . . . . . . . . . . . . . . . . 155 ~DS Download Intellifont (Scalable Font) . . . . . . . . . . 156 ~DT Download Bounded TrueType Font . . . . . . . . . . 157 ~DU Download Unbounded TrueType Font . . . . . . . . 158 ~DY Download Objects . . . . . . . . . . . . . . . . . . . . . . . . 159 ~EG Erase Download Graphics . . . . . . . . . . . . . . . . . 162 ^FB Field Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 ^FC Field Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Programming Guide P1099958-001 4 Contents ^FD Field Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 ^FH Field Hexadecimal Indicator . . . . . . . . . . . . . . . . . 168 ^FL Font Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 ^FM Multiple Field Origin Locations . . . . . . . . . . . . . . . 172 ^FN Field Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 ^FO Field Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 ^FP Field Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . 177 ^FR Field Reverse Print . . . . . . . . . . . . . . . . . . . . . . . 178 ^FS Field Separator . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 ^FT Field Typeset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 ^FV Field Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 ^FW Field Orientation . . . . . . . . . . . . . . . . . . . . . . . . . 183 ^FX Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 ^GB Graphic Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 ^GC Graphic Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 ^GD Graphic Diagonal Line . . . . . . . . . . . . . . . . . . . . . 189 ^GE Graphic Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . 190 ^GF Graphic Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 ^GS Graphic Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . 193 ~HB Battery Status . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 ~HD Head Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . 195 ^HF Host Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 ^HG Host Graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 ^HH Configuration Label Return . . . . . . . . . . . . . . . . . . 198 ~HI Host Identification . . . . . . . . . . . . . . . . . . . . . . . . 199 ~HM Host RAM Status . . . . . . . . . . . . . . . . . . . . . . . . 200 ~HQ Host Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 ~HS Host Status Return . . . . . . . . . . . . . . . . . . . . . . . 207 ^HT Host Linked Fonts List . . . . . . . . . . . . . . . . . . . . . . 210 ~HU Return ZebraNet Alert Configuration . . . . . . . . . . . 211 ^HV Host Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 ^HW Host Directory List . . . . . . . . . . . . . . . . . . . . . . . 213 ^HY Upload Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . 215 ^HZ Display Description Information . . . . . . . . . . . . . . 216 ^ID Object Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 ^IL Image Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 ^IM Image Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 ^IS Image Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 ~JA Cancel All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 ^JB Initialize Flash Memory . . . . . . . . . . . . . . . . . . . . . 224 ~JB Reset Optional Memory . . . . . . . . . . . . . . . . . . . . 225 ~JC Set Media Sensor Calibration . . . . . . . . . . . . . . . 226 ~JD Enable Communications Diagnostics . . . . . . . . . . 227 ~JE Disable Diagnostics . . . . . . . . . . . . . . . . . . . . . . . 228 ~JF Set Battery Condition . . . . . . . . . . . . . . . . . . . . . . 229 ~JG Graphing Sensor Calibration . . . . . . . . . . . . . . . . . 230 ^JH Early Warning Settings . . . . . . . . . . . . . . . . . . . . . 231 ^JI Start ZBI (Zebra BASIC Interpreter) . . . . . . . . . . . . 234 ~JI Start ZBI (Zebra BASIC Interpreter) . . . . . . . . . . . . 236 ^JJ Set Auxiliary Port . . . . . . . . . . . . . . . . . . . . . . . . . . 237 ~JL Set Label Length . . . . . . . . . . . . . . . . . . . . . . . . . . 239 ^JM Set Dots per Millimeter . . . . . . . . . . . . . . . . . . . . 240 ~JN Head Test Fatal . . . . . . . . . . . . . . . . . . . . . . . . . . 241 ~JO Head Test Non-Fatal . . . . . . . . . . . . . . . . . . . . . . 242 ~JP Pause and Cancel Format . . . . . . . . . . . . . . . . . 243 P1099958-001 ~JQ Terminate Zebra BASIC Interpreter . . . . . . . . . . 244 ~JR Power On Reset . . . . . . . . . . . . . . . . . . . . . . . . . 245 ^JS Sensor Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 ~JS Change Backfeed Sequence . . . . . . . . . . . . . . . . 247 ^JT Head Test Interval . . . . . . . . . . . . . . . . . . . . . . . . 248 ^JU Configuration Update . . . . . . . . . . . . . . . . . . . . . 249 ^JW Set Ribbon Tension . . . . . . . . . . . . . . . . . . . . . . . 250 ~JX Cancel Current Partially Input Format . . . . . . . . . 251 ^JZ Reprint After Error . . . . . . . . . . . . . . . . . . . . . . . . . 252 ~KB Kill Battery (Battery Discharge Mode) . . . . . . . . . 253 ^KD Select Date and Time Format (for Real Time Clock) 254 ^KL Define Language . . . . . . . . . . . . . . . . . . . . . . . . . ^KN Define Printer Name . . . . . . . . . . . . . . . . . . . . . . ^KP Define Password . . . . . . . . . . . . . . . . . . . . . . . . . ^KV Kiosk Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^LF List Font Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^LH Label Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^LL Label Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^LR Label Reverse Print . . . . . . . . . . . . . . . . . . . . . . . ^LS Label Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^LT Label Top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^MA Set Maintenance Alerts . . . . . . . . . . . . . . . . . . . . . ^MC Map Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^MD Media Darkness . . . . . . . . . . . . . . . . . . . . . . . . . ^MF Media Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^MI Set Maintenance Information Message . . . . . . . . . ^ML Maximum Label Length . . . . . . . . . . . . . . . . . . . . ^MM Print Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^MN Media Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . ^MP Mode Protection . . . . . . . . . . . . . . . . . . . . . . . . . ^MT Media Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^MU Set Units of Measurement . . . . . . . . . . . . . . . . . ^MW Modify Head Cold Warning . . . . . . . . . . . . . . . . . ^NC Select the Primary Network Device . . . . . . . . . . . ~NC Network Connect . . . . . . . . . . . . . . . . . . . . . . . . ^ND Change Network Settings . . . . . . . . . . . . . . . . . . . ^NI Network ID Number . . . . . . . . . . . . . . . . . . . . . . . ~NR Set All Network Printers Transparent . . . . . . . . . ^NS Change Wired Networking Settings . . . . . . . . . . . ~NT Set Currently Connected Printer Transparent . . . ^PA Advanced Text Properties . . . . . . . . . . . . . . . . . . . ^PF Slew Given Number of Dot Rows . . . . . . . . . . . . . ^PH ~PH Slew to Home Position . . . . . . . . . . . . . . . . ~PL Present Length Addition . . . . . . . . . . . . . . . . . . . . ^PM Printing Mirror Image of Label . . . . . . . . . . . . . . ^PN Present Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^PO Print Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . ^PP ~PP Programmable Pause . . . . . . . . . . . . . . . . . ^PQ Print Quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . ~PR Applicator Reprint . . . . . . . . . . . . . . . . . . . . . . . . ^PR Print Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~PS Print Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^PW Print Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~RO Reset Advanced Counters . . . . . . . . . . . . . . . . . . Programming Guide 255 256 257 258 262 263 264 265 266 267 268 270 271 272 273 274 275 277 278 280 281 282 283 284 285 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 303 304 305 1/31/18 Contents ^SC Set Serial Communications . . . . . . . . . . . . . . . . . 306 ~SD Set Darkness . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 ^SE Select Encoding Table . . . . . . . . . . . . . . . . . . . . . . 308 ^SF Serialization Field (with a Standard ^FD String) . . 309 ^SI Set Sensor Intensity . . . . . . . . . . . . . . . . . . . . . . . . 312 ^SL Set Mode and Language (for Real-Time Clock) . . 313 ^SN Serialization Data . . . . . . . . . . . . . . . . . . . . . . . . . 315 ^SO Set Offset (for Real-Time Clock) . . . . . . . . . . . . . . 317 ^SP Start Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 ^SQ Halt ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . . . . 319 ^SR Set Printhead Resistance . . . . . . . . . . . . . . . . . . 320 ^SS Set Media Sensors . . . . . . . . . . . . . . . . . . . . . . . . 321 ^ST Set Date and Time (for Real-Time Clock) . . . . . . 323 ^SX Set ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . . . . . 324 ^SZ Set ZPL Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 ~TA Tear-off Adjust Position . . . . . . . . . . . . . . . . . . . . . 327 ^TB Text Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 ^TO Transfer Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 ~WC Print Configuration Label . . . . . . . . . . . . . . . . . . . 331 ^WD Print Directory Label . . . . . . . . . . . . . . . . . . . . . . 332 ~WQ Write Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 ^XA Start Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 ^XB Suppress Backfeed . . . . . . . . . . . . . . . . . . . . . . . . 340 ^XF Recall Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 ^XG Recall Graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 ^XS Set Dynamic Media Calibration . . . . . . . . . . . . . . . 343 ^XZ End Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 ^ZZ Printer Sleep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 ZPL RFID Commands . . . . . . . . . . . . . . . . . . 347 RFID Command Overview . . . . . . . . . . . . . . . . . . . . . . . 348 Printer and Firmware Compatibility . . . . . . . . . . . . . . . . 349 ^HL or ~HL Return RFID Data Log to Host . . . . . . . . . . 353 ^HR Calibrate RFID Tag Position . . . . . . . . . . . . . . . . . 354 ^RA Read AFI or DSFID Byte . . . . . . . . . . . . . . . . . . . . 361 ^RB Define EPC Data Structure . . . . . . . . . . . . . . . . . . 362 ^RE Enable/Disable E.A.S. Bit . . . . . . . . . . . . . . . . . . . 364 ^RF Read or Write RFID Format . . . . . . . . . . . . . . . . . . 365 ^RI Get RFID Tag ID . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 ^RL Lock/Unlock RFID Tag Memory . . . . . . . . . . . . . . . 370 ^RM Enable RFID Motion . . . . . . . . . . . . . . . . . . . . . . . 372 ^RN Detect Multiple RFID Tags in Encoding Field . . . . 373 ^RQ Quick Write EPC Data and Passwords . . . . . . . . . 374 ^RR Specify RFID Retries for a Block or Enable Adaptive Antenna Selection . . . . . . . . . . . . . . . . . . . . . . 376 ^RS Set Up RFID Parameters . . . . . . . . . . . . . . . . . . . . 378 ^RT Read RFID Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 ^RU Read Unique RFID Chip Serialization . . . . . . . . . . 385 ~RV Report RFID Encoding Results . . . . . . . . . . . . . . . 387 ^RW Set RF Power Levels for Read and Write . . . . . . . 388 ^RZ Set RFID Tag Password and Lock Tag . . . . . . . . . 392 ^WF Encode AFI or DSFID Byte . . . . . . . . . . . . . . . . . . 395 ^WT Write (Encode) Tag . . . . . . . . . . . . . . . . . . . . . . . . 396 ^WV Verify RFID Encoding Operation . . . . . . . . . . . . . . 398 1/31/18 ZPL Wireless Commands . . . . . . . . . . . . . . 401 ^KC Set Client Identifier (Option 61) . . . . . . . . . . . . . . . 402 ^NB Search for Wired Print Server during Network Boot . . . . . . . . . . . . . . . . . . . . . . . . . 403 404 405 406 407 408 409 411 412 413 414 415 416 417 419 ^NN Set SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^NP Set Primary/Secondary Device . . . . . . . . . . . . . . . ^NT Set SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^NW Set Web Authentication Timeout Value . . . . . . . . ^WA Set Antenna Parameters . . . . . . . . . . . . . . . . . . . ^WE Set WEP Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . ^WI Change Wireless Network Settings . . . . . . . . . . . . ^WL Set LEAP Parameters . . . . . . . . . . . . . . . . . . . . . . ~WL Print Network Configuration Label . . . . . . . . . . . . ^WP Set Wireless Password . . . . . . . . . . . . . . . . . . . . ^WR Set Transmit Rate . . . . . . . . . . . . . . . . . . . . . . . . ~WR Reset Wireless Radio Card and Print Server . . . ^WS Set Wireless Radio Card Values . . . . . . . . . . . . . ^WX Configure Wireless Securities . . . . . . . . . . . . . . . ZBI Commands . . . . . . . . . . . . . . . . . . . . . . . 427 Introduction to Zebra Basic Interpreter (ZBI) . . . . . . . . . Command and Function Reference Format . . . . . . . . . Section Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . NEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ! (EXCLAMATION MARK) . . . . . . . . . . . . . . . . . . . . . . . LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AUTONUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RENUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ECHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Running and Debugging Commands . . . . . . . . . . . . . . RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CTRL-C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RESTART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TRACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADDBREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DELBREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ZPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Base Types and Expressions . . . . . . . . . . . . . . . . . . . . LET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Control and Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IF Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DO Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FOR Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GOTO/GOSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DATAREADY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SERVERSOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SERVERCLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CLIENTSOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming Guide 428 429 430 431 433 434 435 436 437 438 439 439 441 442 443 444 445 446 447 448 449 450 450 454 459 461 462 463 464 465 466 467 467 469 470 471 472 473 474 P1099958-001 5 6 Contents ACCEPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 PRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 OUTBYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 INBYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 READ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 WRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 SEARCHTO$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 STORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 DIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 Comma Separated Values (CSV) . . . . . . . . . . . . . . . . . 493 CSVLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 CSVSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 TXTLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 TXTSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 REGISTEREVENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 UNREGISTEREVENT . . . . . . . . . . . . . . . . . . . . . . . . . . 506 HANDLEEVENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 TRIGGEREVENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 ISERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 ISWARNING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 SLEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 SETERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 CLRERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 ON ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 AUXPORT_STEALPIN . . . . . . . . . . . . . . . . . . . . . . . . . 517 AUXPORT_SETPIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 AUXPORT_GETPIN . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 AUXPORT_RELEASEPIN . . . . . . . . . . . . . . . . . . . . . . . 520 String Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 LCASE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 CHR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 LTRIM$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 REPEAT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 RTRIM$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 SPLIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 SPLITCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 UCASE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 EXTRACT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 ORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 POS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 LEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 Math Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 STR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 MIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 MAXNUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 MOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 VAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 INTTOHEX$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 HEXTOINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 Array Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 REDIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 INSERTROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 DELROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 ROWSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 COLUMNSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 P1099958-001 FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time and Date Functions . . . . . . . . . . . . . . . . . . . . . . . DATE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIME$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set/Get/Do Interactions . . . . . . . . . . . . . . . . . . . . . . . . . SETVAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GETVAR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 552 554 555 556 557 557 558 559 559 SGD Printer Commands . . . . . . . . . . . . . . . . 571 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . JSON (JavaScript Object Notation) . . . . . . . . . . . . . . . . alerts.add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . alerts.conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . alerts.configured . . . . . . . . . . . . . . . . . . . . . . . . . . . . . alerts.destinations ........................... alerts.http.authentication.add . . . . . . . . . . . . . . . . . . . alerts.http.authentication.entries . . . . . . . . . . . . . . . . . alerts.http.authentication.remove . . . . . . . . . . . . . . . . . alerts.http.logging.clear ....................... alerts.http.logging.entries . . . . . . . . . . . . . . . . . . . . . . alerts.http.logging.max_entries ................. alerts.http.proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . alerts.tracked_settings.clear_log . . . . . . . . . . . . . . . . . alerts.tracked_settings.log_tracked . . . . . . . . . . . . . . . . alerts.tracked_settings.max_log_entries . . . . . . . . . . . . alerts.tracked_sgds.log ....................... alerts.tracked_sgds.max_log_entries . . . . . . . . . . . . . . alerts.tracked_sgds.zbi_notified . . . . . . . . . . . . . . . . . apl.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . apl.framework_version . . . . . . . . . . . . . . . . . . . . . . . . apl.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . appl.link_os_version . . . . . . . . . . . . . . . . . . . . . . . . . . appl.option_board_version . . . . . . . . . . . . . . . . . . . . . . appl.bootblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . appl.date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . appl.name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . capture.channel1.count . . . . . . . . . . . . . . . . . . . . . . . capture.channel1.data.mime . . . . . . . . . . . . . . . . . . . capture.channel1.data.raw . . . . . . . . . . . . . . . . . . . . . capture.channel1.delimiter . . . . . . . . . . . . . . . . . . . . . capture.channel1.max_length .................. capture.channel1.port ........................ CISDFCRC16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Download Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . comm.baud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . comm.halt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . comm.pnp_option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . comm.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . comm.parity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . comm.stop_bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cradle.comm.baud . . . . . . . . . . . . . . . . . . . . . . . . . . . . cradle.comm.handshake . . . . . . . . . . . . . . . . . . . . . . . cutter.clean_cutter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . device.applicator.data_ready . . . . . . . . . . . . . . . . . . . . device.applicator.end_print . . . . . . . . . . . . . . . . . . . . . . device.applicator.feed . . . . . . . . . . . . . . . . . . . . . . . . . . device.applicator.media_out . . . . . . . . . . . . . . . . . . . . . Programming Guide 572 573 574 577 578 579 580 581 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 609 611 612 613 614 615 616 617 618 619 620 621 622 623 1/31/18 Contents device.applicator.pause . . . . . . . . . . . . . . . . . . . . . . . . . 624 device.applicator.reprint . . . . . . . . . . . . . . . . . . . . . . . . . 625 device.applicator.rfid_void . . . . . . . . . . . . . . . . . . . . . . . 626 device.applicator.ribbon_low . . . . . . . . . . . . . . . . . . . . . 627 device.applicator.ribbon_out . . . . . . . . . . . . . . . . . . . . . 628 device.applicator.service_required . . . . . . . . . . . . . . . . . 629 device.applicator.start_print . . . . . . . . . . . . . . . . . . . . . . 630 device.bluetooth_installed . . . . . . . . . . . . . . . . . . . . . . 631 device.command_override.active . . . . . . . . . . . . . . . . . 632 device.command_override.add . . . . . . . . . . . . . . . . . . . 633 device.command_override.clear . . . . . . . . . . . . . . . . . . 634 device.command_override.list . . . . . . . . . . . . . . . . . . . . 635 device.company_contact . . . . . . . . . . . . . . . . . . . . . . . . 636 device.configuration_number . . . . . . . . . . . . . . . . . . . . 637 device.cpcl_synchronous_mode . . . . . . . . . . . . . . . . . . 638 device.cutter_installed . . . . . . . . . . . . . . . . . . . . . . . . . . 639 device.download_connection_timeout . . . . . . . . . . . . . . 640 device.epl_legacy_mode . . . . . . . . . . . . . . . . . . . . . . . . 641 device.feature.bluetooth_le . . . . . . . . . . . . . . . . . . . . . 643 device.feature.mcr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644 device.feature.nfc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 device.feature.ribbon_cartridge . . . . . . . . . . . . . . . . . . 646 device.friendly_name . . . . . . . . . . . . . . . . . . . . . . . . . . . 647 device.frontpanel.feedenabled . . . . . . . . . . . . . . . . . . . . 648 device.frontpanel.key_press . . . . . . . . . . . . . . . . . . . . . 649 device.frontpanel.line1 . . . . . . . . . . . . . . . . . . . . . . . . . . 650 device.frontpanel.line2 . . . . . . . . . . . . . . . . . . . . . . . . . . 651 device.frontpanel.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 device.host_identification . . . . . . . . . . . . . . . . . . . . . . . . 653 device.host_status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654 device.idle_display_format . . . . . . . . . . . . . . . . . . . . . . 657 device.idle_display_value . . . . . . . . . . . . . . . . . . . . . . 658 device.internal_wired_setting_location . . . . . . . . . . . . . 659 device.jobs_print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 device.languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 device.light.cover_open_brightness . . . . . . . . . . . . . . . . 662 device.light.head_open_brightness . . . . . . . . . . . . . . . . 663 device.location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 device.ltu_installed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665 device.orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666 device.pause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667 device.pnp_option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668 device.pmcu.revision . . . . . . . . . . . . . . . . . . . . . . . . . . 669 device.position.accuracy . . . . . . . . . . . . . . . . . . . . . . . . 670 device.position.altitude . . . . . . . . . . . . . . . . . . . . . . . . . . 671 device.position.latitude . . . . . . . . . . . . . . . . . . . . . . . . . . 672 device.position.longitude . . . . . . . . . . . . . . . . . . . . . . . . 673 device.print_2key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 device.print_reprogram_2key . . . . . . . . . . . . . . . . . . . . 675 device.product_name_submodel . . . . . . . . . . . . . . . . . 676 device.prompted_network_reset . . . . . . . . . . . . . . . . . 677 device.reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 device.restore_defaults . . . . . . . . . . . . . . . . . . . . . . . . . 679 device.rewinder_installed . . . . . . . . . . . . . . . . . . . . . . . 680 device.save_2key . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 device.sensor_select . . . . . . . . . . . . . . . . . . . . . . . . . . 682 device.serial_number.option_board_date . . . . . . . . . . 683 device.serial_numbers.control_panel_date . . . . . . . . . 684 device.serial_numbers.mlb_date . . . . . . . . . . . . . . . . . 685 device.serial_numbers.processor . . . . . . . . . . . . . . . . . 686 device.set_clock_to_build_date . . . . . . . . . . . . . . . . . . . 687 device.slot_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688 1/31/18 device.slot_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . device.super_host_status . . . . . . . . . . . . . . . . . . . . . . device.syslog.clear_log . . . . . . . . . . . . . . . . . . . . . . . . . device.syslog.configuration . . . . . . . . . . . . . . . . . . . . . . device.syslog.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . device.syslog.entries . . . . . . . . . . . . . . . . . . . . . . . . . . device.syslog.log_max_file_size . . . . . . . . . . . . . . . . . . device.syslog.save_local_file . . . . . . . . . . . . . . . . . . . . device.applicator.data_ready_activation . . . . . . . . . . . . device.applicator.error_on_pause . . . . . . . . . . . . . . . . . device.applicator.start_print_mode . . . . . . . . . . . . . . . . device.applicator.voltage . . . . . . . . . . . . . . . . . . . . . . . . device.unique_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . device.unpause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . device.uptime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . device.user_p1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . device.user_p2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . device.user_vars.set_range . . . . . . . . . . . . . . . . . . . . device.user_vars.create . . . . . . . . . . . . . . . . . . . . . . . device.xml.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . device.feature.lighted_arrows . . . . . . . . . . . . . . . . . . . . device.light.ribbon_path_brightness . . . . . . . . . . . . . . . device.light.media_path_brightness . . . . . . . . . . . . . . . display.backlight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . display.backlight_on_time . . . . . . . . . . . . . . . . . . . . . . . display.batch_counter . . . . . . . . . . . . . . . . . . . . . . . . . . display.language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . display.load_card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . display.password.level . . . . . . . . . . . . . . . . . . . . . . . . display.root_wml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . display.text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file.capture_response.destination . . . . . . . . . . . . . . . . . head.resolution.in_dpi . . . . . . . . . . . . . . . . . . . . . . . . . . ezpl.head_close_action . . . . . . . . . . . . . . . . . . . . . . . . . ezpl.label_length_max . . . . . . . . . . . . . . . . . . . . . . . . . ezpl.label_sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ezpl.manual_calibration . . . . . . . . . . . . . . . . . . . . . . . . ezpl.media_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ezpl.power_up_action . . . . . . . . . . . . . . . . . . . . . . . . . . ezpl.print_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ezpl.print_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ezpl.reprint_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ezpl.take_label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ezpl.tear_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file.delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file.dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file.dir_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . file.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . formats.cancel_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . head.darkness_switch_enable . . . . . . . . . . . . . . . . . . . head.darkness_switch . . . . . . . . . . . . . . . . . . . . . . . . . . head.element_test . . . . . . . . . . . . . . . . . . . . . . . . . . . . head.latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . input.capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . interface.network.active.arp_interval . . . . . . . . . . . . . . . interface.network.active.cable_type . . . . . . . . . . . . . . . interface.network.active.dhcp_received_host_name . . interface.network.active.gateway . . . . . . . . . . . . . . . . . interface.network.active.ip_addr . . . . . . . . . . . . . . . . . . interface.network.active.mac_addr . . . . . . . . . . . . . . . . interface.network.active.mac_raw . . . . . . . . . . . . . . . . . Programming Guide 689 690 691 692 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 743 744 745 746 747 748 749 750 751 752 753 P1099958-001 7 8 Contents interface.network.active.netmask . . . . . . . . . . . . . . . . . . 754 interface.network.active.protocol . . . . . . . . . . . . . . . . . . 755 interface.network.active.protocol_error . . . . . . . . . . . . . 756 interface.network.active.rx_errors . . . . . . . . . . . . . . . . . 757 interface.network.active.rx_packets . . . . . . . . . . . . . . . . 758 interface.network.active.server_address . . . . . . . . . . . . 759 interface.network.active.protocol_error . . . . . . . . . . . . . 760 interface.network.active.speed . . . . . . . . . . . . . . . . . . . 761 interface.network.active.tx_errors . . . . . . . . . . . . . . . . . 762 interface.network.active.tx_packets . . . . . . . . . . . . . . . . 763 interface.network.active.wins_addr . . . . . . . . . . . . . . . . 764 interface.network.settings_require_reset . . . . . . . . . . . 765 ip.firewall.whitelist_in . . . . . . . . . . . . . . . . . . . . . . . . . . . 766 ip.https.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768 ip.https.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769 ip.ping_gateway_interval . . . . . . . . . . . . . . . . . . . . . . . . 770 ip.pop3.print_body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771 ip.pop3.print_headers . . . . . . . . . . . . . . . . . . . . . . . . . . 772 ip.pop3.save_attachments . . . . . . . . . . . . . . . . . . . . . . . 773 ip.pop3.verbose_headers . . . . . . . . . . . . . . . . . . . . . . . 774 ip.tls.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775 ip.tls.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777 ip.tls.port_json_config . . . . . . . . . . . . . . . . . . . . . . . . . . 778 log.reboot.code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 log.reboot.codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780 log.reboot.reason . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 log.reboot.report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 mcr.crypt.enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783 mcr.cancel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 mcr.crypt.key_mgmt . . . . . . . . . . . . . . . . . . . . . . . . . . . 785 mcr.crypt.algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786 mcr.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 mcr.revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788 media.bar_location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789 media.cartridge.part_number . . . . . . . . . . . . . . . . . . . . . 790 media.cut_now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791 media.darkness_mode . . . . . . . . . . . . . . . . . . . . . . . . . . 792 media.draft_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793 media.feed_skip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794 media.media_low.external . . . . . . . . . . . . . . . . . . . . . . . 795 media.media_low.warning . . . . . . . . . . . . . . . . . . . . . . . 796 media.part_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797 media.present.cut_amount . . . . . . . . . . . . . . . . . . . . . . 798 media.present.eject . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799 media.present.length_addition . . . . . . . . . . . . . . . . . . . . 800 media.present.loop_length . . . . . . . . . . . . . . . . . . . . . . . 801 media.present.loop_length_max . . . . . . . . . . . . . . . . . . 802 media.present.cut_margin . . . . . . . . . . . . . . . . . . . . . . . 803 media.present.present_timeout . . . . . . . . . . . . . . . . . . . 804 media.present.present_type . . . . . . . . . . . . . . . . . . . . . 805 media.printmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806 media.speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808 media.serial_number . . . . . . . . . . . . . . . . . . . . . . . . . . . 809 memory.flash_free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810 memory.flash_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811 memory.ram_free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812 memory.ram_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813 netmanage.avalanche.agent_addr . . . . . . . . . . . . . . . . 814 netmanage.avalanche.available_agent . . . . . . . . . . . . . 815 netmanage.avalanche.available_port . . . . . . . . . . . . . . 816 netmanage.avalanche.encryption_type . . . . . . . . . . . . . 817 netmanage.avalanche.interval . . . . . . . . . . . . . . . . . . . 818 P1099958-001 netmanage.avalanche.interval_update . . . . . . . . . . . . . netmanage.avalanche.model_name . . . . . . . . . . . . . . . netmanage.avalanche.set_property . . . . . . . . . . . . . . . netmanage.avalanche.startup_update . . . . . . . . . . . . . netmanage.avalanche.tcp_connection_timeout . . . . . . netmanage.avalanche.terminal_id . . . . . . . . . . . . . . . netmanage.avalanche.text_msg.beep . . . . . . . . . . . . . netmanage.avalanche.text_msg.display . . . . . . . . . . . netmanage.avalanche.text_msg.print . . . . . . . . . . . . . netmanage.avalanche.udp_timeout . . . . . . . . . . . . . . . netmanage.error_code . . . . . . . . . . . . . . . . . . . . . . . . netmanage.state_code . . . . . . . . . . . . . . . . . . . . . . . . netmanage.status_code . . . . . . . . . . . . . . . . . . . . . . . odometer.cut_marker_count . . . . . . . . . . . . . . . . . . . . odometer.headclean . . . . . . . . . . . . . . . . . . . . . . . . . . . odometer.headnew . . . . . . . . . . . . . . . . . . . . . . . . . . . . odometer.label_dot_length . . . . . . . . . . . . . . . . . . . . . . odometer.media_marker_count . . . . . . . . . . . . . . . . . odometer.media_marker_count1 . . . . . . . . . . . . . . . . . odometer.media_marker_count2 . . . . . . . . . . . . . . . . . odometer.retracts_count . . . . . . . . . . . . . . . . . . . . . . . . odometer.rfid.valid_resettable . . . . . . . . . . . . . . . . . . . . odometer.rfid.void_resettable . . . . . . . . . . . . . . . . . . . . odometer.total_cuts . . . . . . . . . . . . . . . . . . . . . . . . . . odometer.total_print_length . . . . . . . . . . . . . . . . . . . . . odometer.total_label_count . . . . . . . . . . . . . . . . . . . . . odometer.user_label_count . . . . . . . . . . . . . . . . . . . . . odometer.user_label_count[1|2] . . . . . . . . . . . . . . . . . . odometer.latch_open_count . . . . . . . . . . . . . . . . . . . . . parallel_port.mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . parallel_port.present . . . . . . . . . . . . . . . . . . . . . . . . . . . power.average_current . . . . . . . . . . . . . . . . . . . . . . . . . power.battery_led_blink_rate . . . . . . . . . . . . . . . . . . . power.battery_led_enable . . . . . . . . . . . . . . . . . . . . . . power.battery_led_off_duration . . . . . . . . . . . . . . . . . . power.battery_led_on_duration . . . . . . . . . . . . . . . . . . power.battery_replacement_cyclecount_threshold . . . power.dtr_power_off . . . . . . . . . . . . . . . . . . . . . . . . . . . power.energy_star.enable . . . . . . . . . . . . . . . . . . . . . . . power.energy_star.timeout . . . . . . . . . . . . . . . . . . . . . . power.label_queue.shutdown . . . . . . . . . . . . . . . . . . . power.power_on_mode . . . . . . . . . . . . . . . . . . . . . . . . . power.shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . print.tone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . print.troubleshooting_label_print . . . . . . . . . . . . . . . . . . rfid.adaptive_antenna . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.antenna_sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . DNP - rfid.calibration_maximum_power . . . . . . . . . . . . rfid.country_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.error.response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.hop_table_version . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.position.program . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.reader_1.antenna_port . . . . . . . . . . . . . . . . . . . . . . rfid.reader_1.power.read . . . . . . . . . . . . . . . . . . . . . . . . rfid.reader_1.power.write . . . . . . . . . . . . . . . . . . . . . . . . rfid.reader_1.power.single_power . . . . . . . . . . . . . . . . . rfid.reader_1.firmware_version . . . . . . . . . . . . . . . . . . . rfid.reader_1.hardware_version . . . . . . . . . . . . . . . . . . rfid.reader_1.model . . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.recipe_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.region_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming Guide 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 851 852 853 854 855 856 857 859 861 862 863 864 865 866 867 868 869 870 871 872 873 874 876 879 880 881 882 883 884 885 886 1/31/18 Contents rfid.tag.calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887 rfid.tag.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 rfid.tag.read.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889 rfid.tag.read.execute . . . . . . . . . . . . . . . . . . . . . . . . . . . 890 rfid.tag.read.result_line1 . . . . . . . . . . . . . . . . . . . . . . . . 891 rfid.tag.read.result_line2 . . . . . . . . . . . . . . . . . . . . . . . . 892 rfid.tag.read.result_line1_alternate . . . . . . . . . . . . . . . . 893 rfid.tag.read.result_line2_alternate . . . . . . . . . . . . . . . . 894 rfid.tag.test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 rfid.tag.test.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896 rfid.tag.test.execute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897 rfid.tag.test.result_line1 . . . . . . . . . . . . . . . . . . . . . . . . . 898 rfid.tag.test.result_line2 . . . . . . . . . . . . . . . . . . . . . . . . . 899 rfid.tag.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900 ribbon.serial_number . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 ribbon.part_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904 rtc.timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905 sensor.cover_open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 sensor.paper_supply . . . . . . . . . . . . . . . . . . . . . . . . . . 908 sensor.peeler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909 sensor.self_adjusting_enable . . . . . . . . . . . . . . . . . . . . . 911 usb.device.device_id_string . . . . . . . . . . . . . . . . . . . . . . 912 usb.device.device_unique_id . . . . . . . . . . . . . . . . . . . . 913 usb.device.device_version . . . . . . . . . . . . . . . . . . . . . . . 914 usb.device.manufacturer_string . . . . . . . . . . . . . . . . . . . 915 usb.device.product_id . . . . . . . . . . . . . . . . . . . . . . . . . . 916 usb.device.product_string . . . . . . . . . . . . . . . . . . . . . . . 917 usb.device.serial_string . . . . . . . . . . . . . . . . . . . . . . . . . 918 usb.device.vendor_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 919 usb.halt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920 usb.host.fn_field_data . . . . . . . . . . . . . . . . . . . . . . . . . . 921 usb.host.fn_last_field . . . . . . . . . . . . . . . . . . . . . . . . . . . 922 usb.host.hid_count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923 usb.host.keyboard_input . . . . . . . . . . . . . . . . . . . . . . . . 924 usb.host.lock_out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925 usb.host.mass_storage_count . . . . . . . . . . . . . . . . . . . . 926 usb.host.read_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 usb.host.read_list_print_delay . . . . . . . . . . . . . . . . . . . . 928 usb.host.template_list . . . . . . . . . . . . . . . . . . . . . . . . . . 929 usb.host.template_print_amount . . . . . . . . . . . . . . . . . . 930 usb.host.write_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 usb.mirror.appl_path . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 usb.mirror.auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 usb.mirror.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 usb.mirror.enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935 usb.mirror.error_retry . . . . . . . . . . . . . . . . . . . . . . . . . . . 936 usb.mirror.feedback.auto . . . . . . . . . . . . . . . . . . . . . . . . 937 usb.mirror.feedback.odometer . . . . . . . . . . . . . . . . . . . . 938 usb.mirror.feedback.path . . . . . . . . . . . . . . . . . . . . . . . . 939 usb.mirror.fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940 usb.mirror.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941 usb.mirror.last_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 usb.mirror.path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943 usb.mirror.reset_delay . . . . . . . . . . . . . . . . . . . . . . . . . . 944 usb.mirror.success . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945 usb.mirror.success_time . . . . . . . . . . . . . . . . . . . . . . . . 946 zbi.control.add_breakpoint . . . . . . . . . . . . . . . . . . . . . . . 947 zbi.control.break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948 zbi.control.clear_breakpoints . . . . . . . . . . . . . . . . . . . . . 949 zbi.control.delete_breakpoint . . . . . . . . . . . . . . . . . . . . . 950 zbi.control.line_number . . . . . . . . . . . . . . . . . . . . . . . . . 951 zbi.control.restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952 1/31/18 zbi.control.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.control.step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.control.terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.control.variable_name . . . . . . . . . . . . . . . . . . . . . . . zbi.control.variable_value . . . . . . . . . . . . . . . . . . . . . . . zbi.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zbi.program_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zpl.caret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zpl.control_character . . . . . . . . . . . . . . . . . . . . . . . . . . . zpl.delimiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zpl.label_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zpl.left_position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zpl.system_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zpl.system_status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zpl.zpl_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zpl.zpl_override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zpl.relative_darkness . . . . . . . . . . . . . . . . . . . . . . . . . . 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 976 979 980 981 SGD Wired Commands . . . . . . . . . . . . . . . . . 983 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985 Command Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 986 external_wired.check . . . . . . . . . . . . . . . . . . . . . . . . . . 987 external_wired.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . 988 external_wired.ip.arp_interval . . . . . . . . . . . . . . . . . . . . 989 external_wired.ip.default_addr_enable . . . . . . . . . . . . . 990 external_wired.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . 991 external_wired.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . 992 external_wired.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . 993 external_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . 994 external_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . 995 external_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . 996 external_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . 997 external_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . 998 external_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . 999 external_wired.ip.timeout.enable . . . . . . . . . . . . . . . . 1000 external_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . 1001 external_wired.ip.v6.addr . . . . . . . . . . . . . . . . . . . . . . 1002 external_wired.ip.v6.gateway . . . . . . . . . . . . . . . . . . . 1003 external_wired.ip.v6.prefix_length . . . . . . . . . . . . . . . . 1004 external_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . 1005 external_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . 1006 internal_wired.8021x.password . . . . . . . . . . . . . . . . . . 1007 internal_wired.8021x.peap.validate_server_certificate 1008 internal_wired.8021x.peap.anonymous_identity . . . . . 1009 internal_wired.8021x.private_key_password . . . . . . . 1010 internal_wired.8021x.security . . . . . . . . . . . . . . . . . . . 1011 internal_wired.8021x.ttls_tunnel . . . . . . . . . . . . . . . . . 1012 internal_wired.8021x.username . . . . . . . . . . . . . . . . . 1013 internal_wired.activity_led . . . . . . . . . . . . . . . . . . . . . 1014 internal_wired.auto_switchover . . . . . . . . . . . . . . . . . 1015 internal_wired.enable . . . . . . . . . . . . . . . . . . . . . . . . . 1016 internal_wired.installed . . . . . . . . . . . . . . . . . . . . . . . 1017 internal_wired.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . 1018 Programming Guide P1099958-001 9 10 Contents internal_wired.ip.arp_interval . . . . . . . . . . . . . . . . . . . . 1019 internal_wired.ip.default_addr_enable . . . . . . . . . . . . . 1020 internal_wired.ip.dhcp.arp_verify . . . . . . . . . . . . . . . . 1021 internal_wired.ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . 1022 internal_wired.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . 1023 internal_wired.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . 1024 internal_wired.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . 1025 internal_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . 1026 internal_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . 1027 internal_wired.ip.dhcp.lease.last_attempt . . . . . . . . . . 1028 internal_wired.ip.dhcp.lease.length . . . . . . . . . . . . . . . 1029 internal_wired.ip.dhcp.lease.server . . . . . . . . . . . . . . . 1030 internal_wired.ip.dhcp.lease.time_left . . . . . . . . . . . . . 1031 internal_wired.ip.dhcp.option12 . . . . . . . . . . . . . . . . . 1032 internal_wired.ip.dhcp.option12_format . . . . . . . . . . . 1033 internal_wired.ip.dhcp.option12_value . . . . . . . . . . . . 1034 internal_wired.ip.dhcp.requests_per_session 1035 internal_wired.ip.dns.servers . . . . . . . . . . . . . . . . . . . . 1036 internal_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . 1037 internal_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . 1038 internal_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 internal_wired.ip.port_alternate . . . . . . . . . . . . . . . . . . 1040 internal_wired.ip.port_json_config . . . . . . . . . . . . . . . 1041 internal_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . 1042 internal_wired.ip.timeout.enable . . . . . . . . . . . . . . . . . 1043 internal_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . 1044 internal_wired.ip.wins.addr . . . . . . . . . . . . . . . . . . . . 1045 internal_wired.ip.wins.permanent_source . . . . . . . . . 1046 internal_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . . 1047 internal_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . 1048 SGD Wireless Commands . . . . . . . . . . . . . 1051 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052 Command Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053 bluetooth.address . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 bluetooth.afh_map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055 bluetooth.afh_map_curr . . . . . . . . . . . . . . . . . . . . . . . . 1056 bluetooth.afh_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 bluetooth.authentication . . . . . . . . . . . . . . . . . . . . . . . . 1058 bluetooth.bluetooth_pin . . . . . . . . . . . . . . . . . . . . . . . . 1059 bluetooth.clear_bonding_cache . . . . . . . . . . . . . . . . . 1060 bluetooth.date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 bluetooth.discoverable . . . . . . . . . . . . . . . . . . . . . . . . . 1062 bluetooth.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063 bluetooth.enable_reconnect . . . . . . . . . . . . . . . . . . . . . 1064 bluetooth.friendly_name . . . . . . . . . . . . . . . . . . . . . . . . 1065 bluetooth.json_config_channel_enable . . . . . . . . . . . . 1066 bluetooth.le.controller_mode . . . . . . . . . . . . . . . . . . . 1067 bluetooth.le.minimum_security . . . . . . . . . . . . . . . . . 1068 bluetooth.local_name . . . . . . . . . . . . . . . . . . . . . . . . . . 1069 bluetooth.minimum_security_mode . . . . . . . . . . . . . . 1070 bluetooth.radio_auto_baud . . . . . . . . . . . . . . . . . . . . . 1071 bluetooth.radio_version . . . . . . . . . . . . . . . . . . . . . . . . 1072 bluetooth.short_address . . . . . . . . . . . . . . . . . . . . . . . 1073 bluetooth.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074 card.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075 card.inserted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076 ip.active_network . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077 ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078 ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079 ip.bootp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1080 ip.dhcp.arp_verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081 P1099958-001 ip.dhcp.auto_provision_enable . . . . . . . . . . . . . . . . . . 1082 ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083 ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084 ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085 ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086 ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087 ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088 ip.dhcp.cid_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089 ip.dhcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . . . . 1091 ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . . . . . 1092 ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . . . . 1093 ip.dhcp.ntp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094 ip.dhcp.ntp.received_servers . . . . . . . . . . . . . . . . . . 1095 ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096 ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . . . . 1097 ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . . . . 1098 ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . . . . . 1099 ip.dhcp.requests_per_session . . . . . . . . . . . . . . . . . . 1100 ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . . . . . 1101 ip.dhcp.user_class_id . . . . . . . . . . . . . . . . . . . . . . . . 1102 ip.dhcp.vendor_class_id . . . . . . . . . . . . . . . . . . . . . . . 1103 ip.dns.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104 ip.dns.servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105 ip.ftp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106 ip.ftp.execute_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 ip.ftp.request_password . . . . . . . . . . . . . . . . . . . . . . . 1108 ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109 ip.http.admin_name . . . . . . . . . . . . . . . . . . . . . . . . . . . .1110 ip.http.admin_password . . . . . . . . . . . . . . . . . . . . . . . .1111 ip.http.custom_link_name . . . . . . . . . . . . . . . . . . . . . . .1112 ip.http.custom_link_url . . . . . . . . . . . . . . . . . . . . . . . . .1113 ip.http.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1114 ip.http.faq_url . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1115 ip.http.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1116 ip.lpd.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1117 ip.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1118 ip.mirror.appl_path . . . . . . . . . . . . . . . . . . . . . . . . . . . .1119 ip.mirror.auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1120 ip.mirror.error_retry . . . . . . . . . . . . . . . . . . . . . . . . . . 1121 ip.mirror.feedback.auto . . . . . . . . . . . . . . . . . . . . . . . . 1122 ip.mirror.feedback.freq . . . . . . . . . . . . . . . . . . . . . . . . 1123 ip.mirror.feedback.odometer . . . . . . . . . . . . . . . . . . . 1124 ip.mirror.feedback.path . . . . . . . . . . . . . . . . . . . . . . . . 1125 ip.mirror.fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126 ip.mirror.freq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127 ip.mirror.freq_hours . . . . . . . . . . . . . . . . . . . . . . . . . . 1128 ip.mirror.interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 1129 ip.mirror.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130 ip.mirror.last_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131 ip.mirror.mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132 ip.mirror.password . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133 ip.mirror.path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134 ip.mirror.reset_delay . . . . . . . . . . . . . . . . . . . . . . . . . . 1135 ip.mirror.server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136 ip.mirror.success . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137 ip.mirror.success_time . . . . . . . . . . . . . . . . . . . . . . . . 1138 ip.mirror.username . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139 ip.mirror.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140 ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1141 ip.ntp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1142 ip.ntp.log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 Programming Guide 1/31/18 Contents ip.ntp.servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144 ip.pop3.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145 ip.pop3.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146 ip.pop3.poll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147 ip.pop3.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148 ip.pop3.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149 ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1150 ip.port_alternate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151 ip.port_json_config . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1152 ip.port_single_conn . . . . . . . . . . . . . . . . . . . . . . . . . . 1153 ip.port_single_conn_idle_timeout . . . . . . . . . . . . . . . 1154 ip.primary_network . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155 ip.smtp.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156 ip.smtp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157 ip.smtp.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158 ip.snmp.get_community_name . . . . . . . . . . . . . . . . . . 1159 ip.snmp.set_community_name . . . . . . . . . . . . . . . . . . 1160 ip.snmp.trap_community_name . . . . . . . . . . . . . . . . . . 1161 ip.snmp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162 ip.tcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163 ip.telnet.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164 ip.tcp.nagle_algorithm . . . . . . . . . . . . . . . . . . . . . . . . 1165 ip.udp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166 weblink.cloud_connect.enable . . . . . . . . . . . . . . . . . . . 1167 weblink.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168 weblink.ip.conn[1|2].authentication.add . . . . . . . . . . . 1169 weblink.ip.conn[1|2].authentication.entries . . . . . . . . 1171 weblink.ip.conn[1|2].authentication.remove . . . . . . . . . 1172 weblink.ip.conn[1|2].location . . . . . . . . . . . . . . . . . . 1173 weblink.ip.conn[1|2].num_connections . . . . . . . . . . 1174 weblink.ip.conn[1|2].maximum_simultaneous_ connections 1175 weblink.ip.conn[1|2].proxy . . . . . . . . . . . . . . . . . . . 1176 weblink.ip.conn[1|2].retry_interval . . . . . . . . . . . . . . . 1178 weblink.ip.conn[1|2].test.location . . . . . . . . . . . . . . 1179 weblink.ip.conn[1|2].test.retry_interval . . . . . . . . . . . 1181 weblink.ip.conn[1|2].retry_interval_random_max . . . . . 1182 weblink.ip.conn[1|2].test.test_on . . . . . . . . . . . . . . . . 1184 weblink.logging.clear . . . . . . . . . . . . . . . . . . . . . . . 1185 weblink.logging.entries . . . . . . . . . . . . . . . . . . . . . 1186 weblink.logging.max_entries . . . . . . . . . . . . . . . . . 1187 weblink.printer_reset_required . . . . . . . . . . . . . . . . 1188 weblink.restore_defaults . . . . . . . . . . . . . . . . . . . . 1189 weblink.zebra_connector.authentication.add . . . . . . 1190 weblink.zebra_connector.authentication.entries . . . . 1192 weblink.zebra_connector.authentication.remove . . . 1193 weblink.zebra_connector.enable . . . . . . . . . . . . . . . . . 1194 weblink.zebra_connector.proxy . . . . . . . . . . . . . . . . . . 1195 weblink.zebra_connector.version . . . . . . . . . . . . . . . . 1197 wlan.11ac.80mhz_enable . . . . . . . . . . . . . . . . . . . . . . . 1199 wlan.11d.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200 wlan.11n.20mhz_only . . . . . . . . . . . . . . . . . . . . . . . . . . 1201 wlan.11n.aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . 1202 wlan.11n.greenfield . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203 wlan.11n.rifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204 wlan.11n.short_gi_40mhz . . . . . . . . . . . . . . . . . . . . . . 1205 wlan.11n.short_gi_20mhz . . . . . . . . . . . . . . . . . . . . . . 1206 wlan.8021x.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207 wlan.8021x.validate_peap_server_certificate . . . . . . . 1208 wlan.active_channels . . . . . . . . . . . . . . . . . . . . . . . . . . 1209 wlan.adhoc_last_channel . . . . . . . . . . . . . . . . . . . . . . 1210 wlan.authenticated . . . . . . . . . . . . . . . . . . . . . . . . . . . 1211 1/31/18 wlan.authentication_error . . . . . . . . . . . . . . . . . . . . . wlan.available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.allowed_band . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.adhocautomode . . . . . . . . . . . . . . . . . . . . . . . . . wlan.adhocchannel . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.associated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.auth_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.bssid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.channel_mask . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.country_code . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.current_tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.encryption_index . . . . . . . . . . . . . . . . . . . . . . . . . wlan.encryption_key[1|2|3|4]1 . . . . . . . . . . . . . . . . . . . wlan.encryption_mode . . . . . . . . . . . . . . . . . . . . . . . . wlan.essid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.firmware_version . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.default_addr_enable . . . . . . . . . . . . . . . . . . . . wlan.ip.dhcp.arp_verify . . . . . . . . . . . . . . . . . . . . . . . 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.dns.servers . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.port_alternate . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.port_json_config . . . . . . . . . . . . . . . . . . . . . . wlan.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.timeout.enable . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.timeout.value . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.wins.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.ip.wins.permanent_source . . . . . . . . . . . . . . . . wlan.keep_alive.enable . . . . . . . . . . . . . . . . . . . . . . . . wlan.keep_alive.timeout . . . . . . . . . . . . . . . . . . . . . . . wlan.kerberos.kdc . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.kerberos.mode . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.kerberos.password . . . . . . . . . . . . . . . . . . . . . . . wlan.kerberos.realm . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.kerberos.username . . . . . . . . . . . . . . . . . . . . . . . wlan.leap_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.leap_password . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.leap_username . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wlan.operating_mode . . . . . . . . . . . . . . . . . . . . . . . . . Programming Guide 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 P1099958-001 11 12 Contents wlan.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 wlan.permitted_channels . . . . . . . . . . . . . . . . . . . . . . . 1275 wlan.poor_signal_threshold . . . . . . . . . . . . . . . . . . . . . 1276 wlan.preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1277 wlan.private_key_password . . . . . . . . . . . . . . . . . . . . . 1278 wlan.region_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279 wlan.roam.interchannel_delay . . . . . . . . . . . . . . . . . . . 1280 wlan.roam.interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1281 wlan.roam.max_chan_scan_time . . . . . . . . . . . . . . . . 1282 wlan.roam.max_fail . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283 wlan.roam.rssi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284 wlan.roam.signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285 wlan.rts_cts_enabled . . . . . . . . . . . . . . . . . . . . . . . . . 1286 wlan.security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287 wlan.signal_noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1294 wlan.signal_quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295 wlan.signal_strength . . . . . . . . . . . . . . . . . . . . . . . . . . 1296 wlan.station_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297 wlan.tx_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1298 wlan.tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 wlan.user_channel_list . . . . . . . . . . . . . . . . . . . . . . . . . 1300 wlan.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1301 wlan.waveagent.enable . . . . . . . . . . . . . . . . . . . . . . . . 1302 wlan.waveagent.udp_port . . . . . . . . . . . . . . . . . . . . . . 1303 wlan.wep.auth_type . . . . . . . . . . . . . . . . . . . . . . . . . . . 1304 wlan.wep.index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 wlan.wep.key1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1306 wlan.wep.key2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307 wlan.wep.key3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308 wlan.wep.key4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1309 wlan.wpa.psk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1310 wlan.wep.key_format . . . . . . . . . . . . . . . . . . . . . . . . . . 1311 wlan.wpa.timecheck . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315 wlan.wpa.wpa_version . . . . . . . . . . . . . . . . . . . . . . . . 1316 Zebra Code Pages . . . . . . . . . . . . . . . . . . . 1317 Zebra Code Page 850 — Latin Character Set . . . . . . . 1317 Zebra Code Page 1250 — Central and Eastern European Latin Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . 1320 Zebra Code Page 1252— Latin Character Set . . . . . . 1322 Zebra Code Page 1253 — Modern Greek Character Set . . 1324 Zebra Code Page 1254 — Turkish Character Set . . . . 1326 Zebra Code Page 1255 — Hebrew Character Set . . . 1328 ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1331 ASCII Code Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1332 Fonts and Bar Codes . . . . . . . . . . . . . . . . . 1335 Standard Printer Fonts . . . . . . . . . . . . . . . . . . . . . . . . . 1336 Proportional and Fixed Spacing . . . . . . . . . . . . . . . . . . 1338 Scalable Versus Bitmapped Fonts . . . . . . . . . . . . . . . . 1339 Font Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1341 Bar Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 Mod 10 and Mod 43 Check Digits . . . . . . . 1349 Mod 10 Check Digit . . . . . . . . . . . . . . . . . . . . . . . . . . . 1349 Mod 43 Check Digit . . . . . . . . . . . . . . . . . . . . . . . . . . . 1350 Error Detection Protocol . . . . . . . . . . . . . . 1353 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355 Request Packet Formats from the Host Computer . . . 1356 Response From the Zebra Printer . . . . . . . . . . . . . . . . 1358 ZB64 Encoding and Compression . . . . . . . 1365 Introduction to B64 and Z64 . . . . . . . . . . . . . . . . . . . . 1366 B64 and Z64 Encoding . . . . . . . . . . . . . . . . . . . . . . . . 1367 Field Interactions . . . . . . . . . . . . . . . . . . . . 1369 Normal Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . Rotated Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . Bottom Up Orientation . . . . . . . . . . . . . . . . . . . . . . . . . Inverted Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1370 1371 1372 1373 Real Time Clock . . . . . . . . . . . . . . . . . . . . . 1375 Control Panel Programming . . . . . . . . . . . . . . . . . . . . 1376 RTC General Information . . . . . . . . . . . . . . . . . . . . . . 1378 ZPL II Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1383 ZBI Character Set . . . . . . . . . . . . . . . . . . . . 1389 Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1389 SGD Command Support . . . . . . . . . . . . . . . 1393 Printer and Firmware Compatibility . . . . . . . . . . . . . . . 1393 Firmware Features . . . . . . . . . . . . . . . . . . . 1435 Firmware x.17 Firmware x.16 Firmware x.15 Firmware x.14 ............................... ............................... ............................... ............................... 1435 1436 1437 1439 Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1443 Mirror Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Professional Services for Mirror Configuration . . . . . . Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How Mirror Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating ZPL Files for Use in the "/files" Directory . . . . . . . . . . . . . . . . . . Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Feedback.get File . . . . . . . . . . . . . . . . . . . . . . . . How to Set Up and Use Mirror . . . . . . . . . . . . . . . . . . Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1444 1445 1445 1447 1449 1452 1452 1455 1457 Wireless Markup Language (WML) . . . . . . 1461 WML Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WML Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supported Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . Professional Services for WML Content Creation . . . . WML Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using WML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WML Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Troubleshooting Scenarios . . . . . . . . . . . . . . . . . . . . . 1462 1463 1464 1465 1466 1467 1472 1480 Using Weblink . . . . . . . . . . . . . . . . . . . . . . . 1483 P1099958-001 Programming Guide 1/31/18 Contents When Should Weblink be Used? . . . . . . . . . . . . . . . . . 1483 Configuring Weblink . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484 SSL/TLS Certificate Errors . . . . . . . . . . . . . . . . . . . . . . 1487 Other Typical Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . 1489 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1490 HTTP Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1491 HTTP POST Alerts . . . . . . . . . . . . . . . . . . . 1493 Configuring Alerts Where the Alert Destination is HTTP POST . . . . . . . . . 1493 How to Parse via PHP . . . . . . . . . . . . . . . . . . . . . . . . . 1495 Basic Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 1495 Enabling Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1497 Navigating the Log Output . . . . . . . . . . . . . . . . . . . . . . 1498 Understanding Errors in the Alerts HTTP Log . . . . . . . 1498 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498 HTTP Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1499 Advanced Techniques . . . . . . . . . . . . . . . . 1501 Special Effects for Print Fields . . . . . . . . . . . . . . . . . . . 1502 Serialized Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1502 Variable Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1503 Stored Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1503 Control Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 1504 Changing Delimiters and Command Prefixes . . . . . . . 1508 Communication Diagnostics Commands . . . . . . . . . . . 1509 Graphic Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 1509 Memory, Flash Cards, and Font Cards . . . . . . . . . . . . 1513 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . 1519 1/31/18 Programming Guide P1099958-001 13 14 Contents P1099958-001 Programming Guide 1/31/18 Functional List of ZPL Commands Abort Download Graphic . . . . . . . . . . . . . . . . . . . . . . . 155 Advanced Text Properties . . . . . . . . . . . . . . . . . . . . . . . 291 ANSI Codabar Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . 96 Applicator Reprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Aztec Bar Code Parameters . . . . . . . . . . . . . . . . . . . . . 102 Aztec Bar Code Parameters . . . . . . . . . . . . . . . . . . . . . . 46 Bar Code Field Default . . . . . . . . . . . . . . . . . . . . . . . . . 126 Battery Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Cache On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Calibrate RFID Tag Position . . . . . . . . . . . . . . . . . . . . . 354 Cancel All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Cancel Current Partially Input Format . . . . . . . . . . . . . . 251 Change Alphanumeric Default Font . . . . . . . . . . . . . . 131 Change Backfeed Sequence . . . . . . . . . . . . . . . . . . . . 247 Change Caret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Change Delimiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Change International Font/Encoding . . . . . . . . . . . . . . 132 Change Memory Letter Designation . . . . . . . . . . . . . 136 Change Network Settings . . . . . . . . . . . . . . . . . . . . . . . 285 Change Tilde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Change Wired Networking Settings . . . . . . . . . . . . . . . . 289 Change Wireless Network Settings . . . . . . . . . . . . . . . . 411 CODABLOCK Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . 72 Code 11 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Code 128 Bar Code (Subsets A, B, and C) . . . . . . . . . . 76 Code 39 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Code 49 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Code 93 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Code Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Configuration Label Return . . . . . . . . . . . . . . . . . . . . . . 198 Configuration Update . . . . . . . . . . . . . . . . . . . . . . . . . 249 Configure Wireless Securities . . . . . . . . . . . . . . . . . . . . 419 Cut Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Data Matrix Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Define EPC Data Structure . . . . . . . . . . . . . . . . . . . . . . 362 Define Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Define Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Define Printer Name . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Detect Multiple RFID Tags in Encoding Field . . . . . . . . 373 Disable Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 1/31/18 Display Description Information . . . . . . . . . . . . . . . . . 216 Download Bitmap Font . . . . . . . . . . . . . . . . . . . . . . . . 147 Download Bounded TrueType Font . . . . . . . . . . . . . . 157 Download Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Download Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 Download Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Download Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Download Intellifont (Scalable Font) . . . . . . . . . . . . . . 156 Download Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Download Unbounded TrueType Font . . . . . . . . . . . . 158 EAN-13 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 EAN-8 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Early Warning Settings . . . . . . . . . . . . . . . . . . . . . . . . . 231 Enable Communications Diagnostics . . . . . . . . . . . . . 227 Enable RFID Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Enable/Disable E.A.S. Bit . . . . . . . . . . . . . . . . . . . . . . . 364 Encode AFI or DSFID Byte . . . . . . . . . . . . . . . . . . . . . . 395 End Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Erase Download Graphics . . . . . . . . . . . . . . . . . . . . . 162 Field Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Field Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Field Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Field Hexadecimal Indicator . . . . . . . . . . . . . . . . . . . . . 168 Field Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Field Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Field Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Field Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Field Reverse Print . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Field Separator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Field Typeset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Field Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Font Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Font Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Get RFID Tag ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Graphic Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Graphic Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Graphic Diagonal Line . . . . . . . . . . . . . . . . . . . . . . . . . 189 Graphic Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Graphic Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Graphic Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Graphing Sensor Calibration . . . . . . . . . . . . . . . . . . . . 230 Programming Guide P1099958-001 16 Functional List of ZPL Commands GS1 Databar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Halt ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Head Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Head Test Fatal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Head Test Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Head Test Non-Fatal . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Host Directory List . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Host Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Host Graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Host Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Host Linked Fonts List . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Host Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Host RAM Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Host Status Return . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Host Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Image Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Image Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Image Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Industrial 2 of 5 Bar Codes . . . . . . . . . . . . . . . . . . . . . . . 93 Initialize Flash Memory . . . . . . . . . . . . . . . . . . . . . . . . 224 Interleaved 2 of 5 Bar Code . . . . . . . . . . . . . . . . . . . . . . 50 Kill Battery (Battery Discharge Mode) . . . . . . . . . . . . . 253 Kiosk Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Label Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Label Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Label Reverse Print . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Label Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Label Top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 List Font Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Lock/Unlock RFID Tag Memory . . . . . . . . . . . . . . . . . . . 370 LOGMARS Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Map Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Maximum Label Length . . . . . . . . . . . . . . . . . . . . . . . . 274 Media Darkness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Media Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Media Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Media Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 MicroPDF417 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Mode Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Modify Head Cold Warning . . . . . . . . . . . . . . . . . . . . . . 282 MSI Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Multiple Field Origin Locations . . . . . . . . . . . . . . . . . . . 172 Network Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Network ID Number . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Object Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Pause and Cancel Format . . . . . . . . . . . . . . . . . . . . . 243 PDF417 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Planet Code bar code . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Plessey Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 POSTAL Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Power On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Present Length Addition . . . . . . . . . . . . . . . . . . . . . . . . . 294 Present Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Print Configuration Label . . . . . . . . . . . . . . . . . . . . . . . . 331 Print Directory Label . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Print Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Print Network Configuration Label . . . . . . . . . . . . . . . . . 413 Print Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Print Quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Print Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Print Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Print Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 P1099958-001 Printer Sleep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Printing Mirror Image of Label . . . . . . . . . . . . . . . . . . 295 Programmable Pause . . . . . . . . . . . . . . . . . . . . . . . . . 298 QR Code Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Quick Write EPC Data and Passwords . . . . . . . . . . . . . 374 Read AFI or DSFID Byte . . . . . . . . . . . . . . . . . . . . . . . . 361 Read or Write RFID Format . . . . . . . . . . . . . . . . . . . . . 365 Read RFID Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Read Unique RFID Chip Serialization . . . . . . . . . . . . . . 385 Recall Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Recall Graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Remove Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Report RFID Encoding Results . . . . . . . . . . . . . . . . . . . 387 Reprint After Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Reset Advanced Counters . . . . . . . . . . . . . . . . . . . . . . 305 Reset Optional Memory . . . . . . . . . . . . . . . . . . . . . . . 225 Reset Wireless Radio Card and Print Server . . . . . . . . 416 Return RFID Data Log to Host . . . . . . . . . . . . . . . . . . . 353 Return ZebraNet Alert Configuration . . . . . . . . . . . . . . . 211 Scalable/Bitmapped Font . . . . . . . . . . . . . . . . . . . . . . . . 42 Search for Wired Print Server during Network Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Select Date and Time Format (for Real Time Clock) . 254 Select Encoding Table . . . . . . . . . . . . . . . . . . . . . . . . . 308 Select the Primary Network Device . . . . . . . . . . . . . . . . 283 Sensor Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Serialization Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Serialization Field (with a Standard ^FD String) . . . . . . 309 Set All Network Printers Transparent . . . . . . . . . . . . . 288 Set Antenna Parameters . . . . . . . . . . . . . . . . . . . . . . . . 408 Set Auxiliary Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Set Battery Condition . . . . . . . . . . . . . . . . . . . . . . . . . 229 Set Client Identifier (Option 61) . . . . . . . . . . . . . . . . . . . 402 Set Currently Connected Printer Transparent . . . . . . . 290 Set Darkness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Set Date and Time (for Real-Time Clock) . . . . . . . . . . 323 Set Dots per Millimeter . . . . . . . . . . . . . . . . . . . . . . . . 240 Set Dynamic Media Calibration . . . . . . . . . . . . . . . . . . . 343 Set Label Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Set LEAP Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Set Maintenance Alerts . . . . . . . . . . . . . . . . . . . . . . . . . 268 Set Maintenance Information Message . . . . . . . . . . . . . 273 Set Media Sensor Calibration . . . . . . . . . . . . . . . . . . 226 Set Media Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Set Mode and Language (for Real-Time Clock) . . . . . 313 Set Offset (for Real-Time Clock) . . . . . . . . . . . . . . . . . 317 Set Primary/Secondary Device . . . . . . . . . . . . . . . . . . . 405 Set Printhead Resistance . . . . . . . . . . . . . . . . . . . . . . 320 Set RF Power Levels for Read and Write . . . . . . . . . . . 388 Set RFID Tag Password and Lock Tag . . . . . . . . . . . . . 392 Set Ribbon Tension . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Set Sensor Intensity . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Set Serial Communications . . . . . . . . . . . . . . . . . . . . . 306 Set SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 Set SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Set Transmit Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 Set Units of Measurement . . . . . . . . . . . . . . . . . . . . . . 281 Set Up RFID Parameters . . . . . . . . . . . . . . . . . . . . . . . 378 Set Web Authentication Timeout Value . . . . . . . . . . . . 407 Set WEP Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Set Wireless Password . . . . . . . . . . . . . . . . . . . . . . . . . 414 Set Wireless Radio Card Values . . . . . . . . . . . . . . . . . . 417 Programming Guide 1/31/18 Functional List of ZPL Commands Set ZebraNet Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Set ZPL Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Slew Given Number of Dot Rows . . . . . . . . . . . . . . . . . 292 Slew to Home Position . . . . . . . . . . . . . . . . . . . . . . . . . 293 Specify RFID Retries for a Block or Enable Adaptive Antenna Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Standard 2 of 5 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . 95 Start Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Start Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Start ZBI (Zebra BASIC Interpreter) . . . . . . . . . . . . . . . 234 Start ZBI (Zebra BASIC Interpreter) . . . . . . . . . . . . . . . . 236 Suppress Backfeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Tear-off Adjust Position . . . . . . . . . . . . . . . . . . . . . . . . . 327 1/31/18 Terminate Zebra BASIC Interpreter . . . . . . . . . . . . . . 244 Text Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 TLC39 Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Transfer Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 UPC/EAN Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . 115 UPC-A Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 UPC-E Bar Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Upload Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 UPS MaxiCode Bar Code . . . . . . . . . . . . . . . . . . . . . . . 87 Use Font Name to Call Font . . . . . . . . . . . . . . . . . . . . . 44 Verify RFID Encoding Operation . . . . . . . . . . . . . . . . . . 398 Write (Encode) Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Write Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Programming Guide P1099958-001 17 18 Functional List of ZPL Commands P1099958-001 Programming Guide 1/31/18 Alphabetical List of ZBI Commands ! (EXCLAMATION MARK) . . . . . . . . . . . . . . . . . . . . . . . 435 ACCEPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 ADDBREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 AUTONUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 AUXPORT_GETPIN . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 AUXPORT_RELEASEPIN . . . . . . . . . . . . . . . . . . . . . . . 520 AUXPORT_SETPIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 AUXPORT_STEALPIN . . . . . . . . . . . . . . . . . . . . . . . . . 517 BREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 CHR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 CLIENTSOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 CLRERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 COLUMNSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 CSVLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 CSVSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 CTRL-C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 DATAREADY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 DATE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 DEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 DELBREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 DELROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 DIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 DO Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 ECHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 EXTRACT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 FOR Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 GETVAR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 GOTO/GOSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 HANDLEEVENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 HEXTOINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 IF Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 INBYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 INSERTROW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 INTTOHEX$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 1/31/18 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SERVERSOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SETERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SETVAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SLEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SPLIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SPLITCOUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming Guide 511 512 521 536 454 436 491 523 538 540 539 541 433 516 469 534 478 535 477 480 546 504 434 438 524 443 549 525 441 482 473 472 514 558 513 526 530 444 490 537 465 P1099958-001 20 Alphabetical List of ZBI Commands TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 TIME$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 TRACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 TRIGGEREVENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 TXTLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 TXTSTORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 UCASE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 UNREGISTEREVENT . . . . . . . . . . . . . . . . . . . . . . . . . . 506 VAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 WRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 ZPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 P1099958-001 Programming Guide 1/31/18 Alphabetical List of Set/Get/Do Commands alerts.add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 alerts.conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 alerts.configured . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 alerts.destinations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 alerts.http.authentication.add . . . . . . . . . . . . . . . . . . . 581 alerts.http.authentication.entries . . . . . . . . . . . . . . . . . . 583 alerts.http.authentication.remove . . . . . . . . . . . . . . . . . 584 alerts.http.logging.clear . . . . . . . . . . . . . . . . . . . . . . . . 585 alerts.http.logging.entries . . . . . . . . . . . . . . . . . . . . . . 586 alerts.http.logging.max_entries . . . . . . . . . . . . . . . . . . 587 alerts.http.proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 alerts.tracked_settings.clear_log . . . . . . . . . . . . . . . . . 589 alerts.tracked_settings.log_tracked . . . . . . . . . . . . . . . . 590 alerts.tracked_settings.max_log_entries . . . . . . . . . . . . 591 alerts.tracked_sgds.log . . . . . . . . . . . . . . . . . . . . . . . . 592 alerts.tracked_sgds.max_log_entries . . . . . . . . . . . . . . 593 alerts.tracked_sgds.zbi_notified . . . . . . . . . . . . . . . . . 594 apl.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 apl.framework_version . . . . . . . . . . . . . . . . . . . . . . . . . 596 apl.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 appl.bootblock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600 appl.date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601 appl.link_os_version . . . . . . . . . . . . . . . . . . . . . . . . . . 598 appl.name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602 appl.option_board_version . . . . . . . . . . . . . . . . . . . . . . . 599 bluetooth.address . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 bluetooth.afh_map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055 bluetooth.afh_map_curr . . . . . . . . . . . . . . . . . . . . . . . . 1056 bluetooth.afh_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 bluetooth.authentication . . . . . . . . . . . . . . . . . . . . . . . . 1058 bluetooth.bluetooth_pin . . . . . . . . . . . . . . . . . . . . . . . . 1059 bluetooth.clear_bonding_cache . . . . . . . . . . . . . . . . . 1060 bluetooth.date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 bluetooth.discoverable . . . . . . . . . . . . . . . . . . . . . . . . . 1062 bluetooth.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063 bluetooth.enable_reconnect . . . . . . . . . . . . . . . . . . . . . 1064 bluetooth.friendly_name . . . . . . . . . . . . . . . . . . . . . . . . 1065 bluetooth.json_config_channel_enable . . . . . . . . . . . . 1066 bluetooth.le.controller_mode . . . . . . . . . . . . . . . . . . . 1067 bluetooth.le.minimum_security . . . . . . . . . . . . . . . . . 1068 bluetooth.local_name . . . . . . . . . . . . . . . . . . . . . . . . . . 1069 1/31/18 bluetooth.minimum_security_mode . . . . . . . . . . . . . 1070 bluetooth.radio_auto_baud . . . . . . . . . . . . . . . . . . . . . 1071 bluetooth.radio_version . . . . . . . . . . . . . . . . . . . . . . . . 1072 bluetooth.short_address . . . . . . . . . . . . . . . . . . . . . . . 1073 bluetooth.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074 capture.channel1.count . . . . . . . . . . . . . . . . . . . . . . . 603 capture.channel1.data.mime . . . . . . . . . . . . . . . . . . . 604 capture.channel1.data.raw . . . . . . . . . . . . . . . . . . . . . 605 capture.channel1.delimiter . . . . . . . . . . . . . . . . . . . . . 606 capture.channel1.max_length . . . . . . . . . . . . . . . . . . 607 capture.channel1.port . . . . . . . . . . . . . . . . . . . . . . . . 608 card.inserted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076 card.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075 CISDFCRC16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 comm.baud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611 comm.halt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 comm.parity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 comm.pnp_option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 comm.stop_bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 comm.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614 cradle.comm.baud . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 cradle.comm.handshake . . . . . . . . . . . . . . . . . . . . . . . 618 cutter.clean_cutter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 device.applicator.data_ready . . . . . . . . . . . . . . . . . . . . 620 device.applicator.data_ready_activation . . . . . . . . . . . . 698 device.applicator.end_print . . . . . . . . . . . . . . . . . . . . . . 621 device.applicator.error_on_pause . . . . . . . . . . . . . . . . . 699 device.applicator.feed . . . . . . . . . . . . . . . . . . . . . . . . . . 622 device.applicator.media_out . . . . . . . . . . . . . . . . . . . . . 623 device.applicator.pause . . . . . . . . . . . . . . . . . . . . . . . . 624 device.applicator.reprint . . . . . . . . . . . . . . . . . . . . . . . . 625 device.applicator.rfid_void . . . . . . . . . . . . . . . . . . . . . . . 626 device.applicator.ribbon_low . . . . . . . . . . . . . . . . . . . . . 627 device.applicator.ribbon_out . . . . . . . . . . . . . . . . . . . . . 628 device.applicator.service_required . . . . . . . . . . . . . . . . 629 device.applicator.start_print . . . . . . . . . . . . . . . . . . . . . 630 device.applicator.start_print_mode . . . . . . . . . . . . . . . . 700 device.applicator.voltage . . . . . . . . . . . . . . . . . . . . . . . . 701 device.bluetooth_installed . . . . . . . . . . . . . . . . . . . . . . 631 device.command_override.active . . . . . . . . . . . . . . . . . 632 device.command_override.add . . . . . . . . . . . . . . . . . . . 633 Programming Guide P1099958-001 22 Alphabetical List of Set/Get/Do Commands device.command_override.clear . . . . . . . . . . . . . . . . . . 634 device.command_override.list . . . . . . . . . . . . . . . . . . . . 635 device.company_contact . . . . . . . . . . . . . . . . . . . . . . . . 636 device.configuration_number . . . . . . . . . . . . . . . . . . . . 637 device.cpcl_synchronous_mode . . . . . . . . . . . . . . . . . . 638 device.cutter_installed . . . . . . . . . . . . . . . . . . . . . . . . . . 639 device.download_connection_timeout . . . . . . . . . . . . . . 640 device.epl_legacy_mode . . . . . . . . . . . . . . . . . . . . . . . . 641 device.feature.bluetooth_le . . . . . . . . . . . . . . . . . . . . . 643 device.feature.lighted_arrows . . . . . . . . . . . . . . . . . . . . 711 device.feature.mcr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644 device.feature.nfc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 device.feature.ribbon_cartridge . . . . . . . . . . . . . . . . . . 646 device.friendly_name . . . . . . . . . . . . . . . . . . . . . . . . . . . 647 device.frontpanel.feedenabled . . . . . . . . . . . . . . . . . . . . 648 device.frontpanel.key_press . . . . . . . . . . . . . . . . . . . . . 649 device.frontpanel.line1 . . . . . . . . . . . . . . . . . . . . . . . . . . 650 device.frontpanel.line2 . . . . . . . . . . . . . . . . . . . . . . . . . . 651 device.frontpanel.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 device.host_identification . . . . . . . . . . . . . . . . . . . . . . . . 653 device.host_status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654 device.idle_display_format . . . . . . . . . . . . . . . . . . . . . . 657 device.idle_display_value . . . . . . . . . . . . . . . . . . . . . . 658 device.internal_wired_setting_location . . . . . . . . . . . . . 659 device.jobs_print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 device.languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 device.light.cover_open_brightness . . . . . . . . . . . . . . . . 662 device.light.head_open_brightness . . . . . . . . . . . . . . . . 663 device.light.media_path_brightness . . . . . . . . . . . . . . . . 713 device.light.ribbon_path_brightness . . . . . . . . . . . . . . . 712 device.location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 device.ltu_installed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665 device.orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666 device.pause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667 device.pmcu.revision . . . . . . . . . . . . . . . . . . . . . . . . . . 669 device.pnp_option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668 device.position.accuracy . . . . . . . . . . . . . . . . . . . . . . . . 670 device.position.altitude . . . . . . . . . . . . . . . . . . . . . . . . . . 671 device.position.latitude . . . . . . . . . . . . . . . . . . . . . . . . . . 672 device.position.longitude . . . . . . . . . . . . . . . . . . . . . . . . 673 device.print_2key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 device.print_reprogram_2key . . . . . . . . . . . . . . . . . . . . 675 device.product_name_submodel . . . . . . . . . . . . . . . . . 676 device.prompted_network_reset . . . . . . . . . . . . . . . . . 677 device.reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 device.restore_defaults . . . . . . . . . . . . . . . . . . . . . . . . . 679 device.rewinder_installed . . . . . . . . . . . . . . . . . . . . . . . 680 device.save_2key . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 device.sensor_select . . . . . . . . . . . . . . . . . . . . . . . . . . 682 device.serial_number.option_board_date . . . . . . . . . . 683 device.serial_numbers.control_panel_date . . . . . . . . . 684 device.serial_numbers.mlb_date . . . . . . . . . . . . . . . . . 685 device.serial_numbers.processor . . . . . . . . . . . . . . . . . 686 device.set_clock_to_build_date . . . . . . . . . . . . . . . . . . . 687 device.slot_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688 device.slot_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689 device.super_host_status . . . . . . . . . . . . . . . . . . . . . . . 690 device.syslog.clear_log . . . . . . . . . . . . . . . . . . . . . . . . . 691 device.syslog.configuration . . . . . . . . . . . . . . . . . . . . . . 692 device.syslog.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . 694 device.syslog.entries . . . . . . . . . . . . . . . . . . . . . . . . . . 695 device.syslog.log_max_file_size . . . . . . . . . . . . . . . . . . 696 P1099958-001 device.syslog.save_local_file . . . . . . . . . . . . . . . . . . . . 697 device.unique_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702 device.unpause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 device.uptime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704 device.user_p1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 device.user_p2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 device.user_vars.create . . . . . . . . . . . . . . . . . . . . . . . 708 device.user_vars.set_range . . . . . . . . . . . . . . . . . . . . 707 device.xml.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710 display.backlight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714 display.backlight_on_time . . . . . . . . . . . . . . . . . . . . . . . 715 display.batch_counter . . . . . . . . . . . . . . . . . . . . . . . . . . 716 display.language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717 display.load_card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 display.password.level . . . . . . . . . . . . . . . . . . . . . . . . 719 display.root_wml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720 display.text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 DNP - rfid.calibration_maximum_power . . . . . . . . . . . . 869 external_wired.check . . . . . . . . . . . . . . . . . . . . . . . . . . 987 external_wired.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . 988 external_wired.ip.arp_interval . . . . . . . . . . . . . . . . . . . . 989 external_wired.ip.default_addr_enable . . . . . . . . . . . . . 990 external_wired.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . 991 external_wired.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . 992 external_wired.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . 993 external_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . 994 external_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . 995 external_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . 996 external_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . 997 external_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . 998 external_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . 999 external_wired.ip.timeout.enable . . . . . . . . . . . . . . . . 1000 external_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . 1001 external_wired.ip.v6.addr . . . . . . . . . . . . . . . . . . . . . . 1002 external_wired.ip.v6.gateway . . . . . . . . . . . . . . . . . . . 1003 external_wired.ip.v6.prefix_length . . . . . . . . . . . . . . . . 1004 external_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . 1005 external_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . 1006 ezpl.head_close_action . . . . . . . . . . . . . . . . . . . . . . . . . 724 ezpl.label_length_max . . . . . . . . . . . . . . . . . . . . . . . . . 725 ezpl.label_sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726 ezpl.manual_calibration . . . . . . . . . . . . . . . . . . . . . . . . 727 ezpl.media_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728 ezpl.power_up_action . . . . . . . . . . . . . . . . . . . . . . . . . . 729 ezpl.print_method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730 ezpl.print_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731 ezpl.reprint_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732 ezpl.take_label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733 ezpl.tear_off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734 file.capture_response.destination . . . . . . . . . . . . . . . . . 722 file.delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735 file.dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736 file.dir_format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737 file.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739 file.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738 formats.cancel_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740 head.darkness_switch . . . . . . . . . . . . . . . . . . . . . . . . . . 743 head.darkness_switch_enable . . . . . . . . . . . . . . . . . . . 741 head.element_test . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744 head.latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745 head.resolution.in_dpi . . . . . . . . . . . . . . . . . . . . . . . . . . 723 input.capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746 Programming Guide 1/31/18 Alphabetical List of Set/Get/Do Commands interface.network.active.arp_interval . . . . . . . . . . . . . . . 747 interface.network.active.cable_type . . . . . . . . . . . . . . . . 748 interface.network.active.dhcp_received_host_name . . . 749 interface.network.active.gateway . . . . . . . . . . . . . . . . . . 750 interface.network.active.ip_addr . . . . . . . . . . . . . . . . . . 751 interface.network.active.mac_addr . . . . . . . . . . . . . . . . 752 interface.network.active.mac_raw . . . . . . . . . . . . . . . . . 753 interface.network.active.netmask . . . . . . . . . . . . . . . . . . 754 interface.network.active.protocol . . . . . . . . . . . . . . . . . . 755 interface.network.active.protocol_error . . . . . . . . . . . . . 756 interface.network.active.protocol_error . . . . . . . . . . . . . 760 interface.network.active.rx_errors . . . . . . . . . . . . . . . . . 757 interface.network.active.rx_packets . . . . . . . . . . . . . . . . 758 interface.network.active.server_address . . . . . . . . . . . . 759 interface.network.active.speed . . . . . . . . . . . . . . . . . . . 761 interface.network.active.tx_errors . . . . . . . . . . . . . . . . . 762 interface.network.active.tx_packets . . . . . . . . . . . . . . . . 763 interface.network.active.wins_addr . . . . . . . . . . . . . . . . 764 interface.network.settings_require_reset . . . . . . . . . . . 765 internal_wired.8021x.password . . . . . . . . . . . . . . . . . . 1007 internal_wired.8021x.peap.anonymous_identity . . . . . 1009 internal_wired.8021x.peap.validate_server_certificate 1008 internal_wired.8021x.private_key_password . . . . . . . . 1010 internal_wired.8021x.security . . . . . . . . . . . . . . . . . . . 1011 internal_wired.8021x.ttls_tunnel . . . . . . . . . . . . . . . . . 1012 internal_wired.8021x.username . . . . . . . . . . . . . . . . . . 1013 internal_wired.activity_led . . . . . . . . . . . . . . . . . . . . . 1014 internal_wired.auto_switchover . . . . . . . . . . . . . . . . . . 1015 internal_wired.enable . . . . . . . . . . . . . . . . . . . . . . . . . . 1016 internal_wired.installed . . . . . . . . . . . . . . . . . . . . . . . 1017 internal_wired.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . 1018 internal_wired.ip.arp_interval . . . . . . . . . . . . . . . . . . . . 1019 internal_wired.ip.default_addr_enable . . . . . . . . . . . . . 1020 internal_wired.ip.dhcp.arp_verify . . . . . . . . . . . . . . . . 1021 internal_wired.ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . 1022 internal_wired.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . 1023 internal_wired.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . 1024 internal_wired.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . 1025 internal_wired.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . 1026 internal_wired.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . 1027 internal_wired.ip.dhcp.lease.last_attempt . . . . . . . . . . 1028 internal_wired.ip.dhcp.lease.length . . . . . . . . . . . . . . . 1029 internal_wired.ip.dhcp.lease.server . . . . . . . . . . . . . . . 1030 internal_wired.ip.dhcp.lease.time_left . . . . . . . . . . . . . 1031 internal_wired.ip.dhcp.option12 . . . . . . . . . . . . . . . . . 1032 internal_wired.ip.dhcp.option12_format . . . . . . . . . . . 1033 internal_wired.ip.dhcp.option12_value . . . . . . . . . . . . 1034 internal_wired.ip.dhcp.requests_per_session . . . . . . . 1035 internal_wired.ip.dns.servers . . . . . . . . . . . . . . . . . . . . 1036 internal_wired.ip.gateway . . . . . . . . . . . . . . . . . . . . . . 1037 internal_wired.ip.netmask . . . . . . . . . . . . . . . . . . . . . . 1038 internal_wired.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 internal_wired.ip.port_alternate . . . . . . . . . . . . . . . . . . 1040 internal_wired.ip.port_json_config . . . . . . . . . . . . . . . 1041 internal_wired.ip.protocol . . . . . . . . . . . . . . . . . . . . . . 1042 internal_wired.ip.timeout.enable . . . . . . . . . . . . . . . . . 1043 internal_wired.ip.timeout.value . . . . . . . . . . . . . . . . . . 1044 internal_wired.ip.wins.addr . . . . . . . . . . . . . . . . . . . . 1045 internal_wired.ip.wins.permanent_source . . . . . . . . . 1046 internal_wired.mac_addr . . . . . . . . . . . . . . . . . . . . . . . 1047 internal_wired.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . 1048 ip.active_network . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077 1/31/18 ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078 ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079 ip.bootp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1080 ip.dhcp.arp_verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081 ip.dhcp.auto_provision_enable . . . . . . . . . . . . . . . . . . 1082 ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083 ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084 ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085 ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086 ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087 ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088 ip.dhcp.cid_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089 ip.dhcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . . . . 1091 ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . . . . . 1092 ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . . . . 1093 ip.dhcp.ntp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094 ip.dhcp.ntp.received_servers . . . . . . . . . . . . . . . . . . 1095 ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096 ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . . . . . 1097 ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . . . . 1098 ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . . . . . 1099 ip.dhcp.requests_per_session . . . . . . . . . . . . . . . . . . 1100 ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . . . . . 1101 ip.dhcp.user_class_id . . . . . . . . . . . . . . . . . . . . . . . . 1102 ip.dhcp.vendor_class_id . . . . . . . . . . . . . . . . . . . . . . . 1103 ip.dns.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104 ip.dns.servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105 ip.firewall.whitelist_in . . . . . . . . . . . . . . . . . . . . . . . . . . . 766 ip.ftp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106 ip.ftp.execute_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 ip.ftp.request_password . . . . . . . . . . . . . . . . . . . . . . . 1108 ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109 ip.http.admin_name . . . . . . . . . . . . . . . . . . . . . . . . . . . 1110 ip.http.admin_password . . . . . . . . . . . . . . . . . . . . . . . 1111 ip.http.custom_link_name . . . . . . . . . . . . . . . . . . . . . . 1112 ip.http.custom_link_url . . . . . . . . . . . . . . . . . . . . . . . . 1113 ip.http.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114 ip.http.faq_url . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115 ip.http.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116 ip.https.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768 ip.https.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769 ip.lpd.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117 ip.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118 ip.mirror.appl_path . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119 ip.mirror.auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1120 ip.mirror.error_retry . . . . . . . . . . . . . . . . . . . . . . . . . . 1121 ip.mirror.feedback.auto . . . . . . . . . . . . . . . . . . . . . . . 1122 ip.mirror.feedback.freq . . . . . . . . . . . . . . . . . . . . . . . . 1123 ip.mirror.feedback.odometer . . . . . . . . . . . . . . . . . . . 1124 ip.mirror.feedback.path . . . . . . . . . . . . . . . . . . . . . . . 1125 ip.mirror.fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126 ip.mirror.freq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127 ip.mirror.freq_hours . . . . . . . . . . . . . . . . . . . . . . . . . . 1128 ip.mirror.interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 1129 ip.mirror.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130 ip.mirror.last_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131 ip.mirror.mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132 ip.mirror.password . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133 ip.mirror.path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134 ip.mirror.reset_delay . . . . . . . . . . . . . . . . . . . . . . . . . 1135 ip.mirror.server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136 Programming Guide P1099958-001 23 24 Alphabetical List of Set/Get/Do Commands ip.mirror.success . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137 ip.mirror.success_time . . . . . . . . . . . . . . . . . . . . . . . . 1138 ip.mirror.username . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139 ip.mirror.version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140 ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1141 ip.ntp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1142 ip.ntp.log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 ip.ntp.servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144 ip.ping_gateway_interval . . . . . . . . . . . . . . . . . . . . . . . . 770 ip.pop3.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145 ip.pop3.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146 ip.pop3.poll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147 ip.pop3.print_body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771 ip.pop3.print_headers . . . . . . . . . . . . . . . . . . . . . . . . . . 772 ip.pop3.save_attachments . . . . . . . . . . . . . . . . . . . . . . . 773 ip.pop3.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148 ip.pop3.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149 ip.pop3.verbose_headers . . . . . . . . . . . . . . . . . . . . . . . 774 ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1150 ip.port_alternate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151 ip.port_json_config . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1152 ip.port_single_conn . . . . . . . . . . . . . . . . . . . . . . . . . . 1153 ip.port_single_conn_idle_timeout . . . . . . . . . . . . . . . 1154 ip.primary_network . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155 ip.smtp.domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156 ip.smtp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157 ip.smtp.server_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158 ip.snmp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162 ip.snmp.get_community_name . . . . . . . . . . . . . . . . . . 1159 ip.snmp.set_community_name . . . . . . . . . . . . . . . . . . 1160 ip.snmp.trap_community_name . . . . . . . . . . . . . . . . . . 1161 ip.tcp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163 ip.tcp.nagle_algorithm . . . . . . . . . . . . . . . . . . . . . . . . 1165 ip.telnet.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164 ip.tls.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775 ip.tls.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777 ip.tls.port_json_config . . . . . . . . . . . . . . . . . . . . . . . . . . 778 ip.udp.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166 log.reboot.code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779 log.reboot.codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780 log.reboot.reason . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 log.reboot.report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 mcr.cancel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 mcr.crypt.algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 786 mcr.crypt.enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783 mcr.crypt.key_mgmt . . . . . . . . . . . . . . . . . . . . . . . . . . . 785 mcr.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 mcr.revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788 media.bar_location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789 media.cartridge.part_number . . . . . . . . . . . . . . . . . . . . . 790 media.cut_now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791 media.darkness_mode . . . . . . . . . . . . . . . . . . . . . . . . . . 792 media.draft_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793 media.feed_skip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794 media.media_low.external . . . . . . . . . . . . . . . . . . . . . . . 795 media.media_low.warning . . . . . . . . . . . . . . . . . . . . . . . 796 media.part_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797 media.present.cut_amount . . . . . . . . . . . . . . . . . . . . . . 798 media.present.cut_margin . . . . . . . . . . . . . . . . . . . . . . . 803 media.present.eject . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799 media.present.length_addition . . . . . . . . . . . . . . . . . . . . 800 media.present.loop_length . . . . . . . . . . . . . . . . . . . . . . . 801 P1099958-001 media.present.loop_length_max . . . . . . . . . . . . . . . . . . media.present.present_timeout . . . . . . . . . . . . . . . . . . . media.present.present_type . . . . . . . . . . . . . . . . . . . . . media.printmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . media.serial_number . . . . . . . . . . . . . . . . . . . . . . . . . . . media.speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . memory.flash_free . . . . . . . . . . . . . . . . . . . . . . . . . . . . memory.flash_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . memory.ram_free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . memory.ram_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . netmanage.avalanche.available_port . . . . . . . . . . . . . netmanage.avalanche.startup_update . . . . . . . . . . . . . netmanage.avalanche.agent_addr . . . . . . . . . . . . . . . . netmanage.avalanche.available_agent . . . . . . . . . . . . . netmanage.avalanche.encryption_type . . . . . . . . . . . . netmanage.avalanche.interval . . . . . . . . . . . . . . . . . . . netmanage.avalanche.interval_update . . . . . . . . . . . . . netmanage.avalanche.model_name . . . . . . . . . . . . . . . netmanage.avalanche.set_property . . . . . . . . . . . . . . . netmanage.avalanche.tcp_connection_timeout . . . . . . netmanage.avalanche.terminal_id . . . . . . . . . . . . . . . netmanage.avalanche.text_msg.beep . . . . . . . . . . . . . netmanage.avalanche.text_msg.display . . . . . . . . . . . netmanage.avalanche.text_msg.print . . . . . . . . . . . . . netmanage.avalanche.udp_timeout . . . . . . . . . . . . . . . netmanage.error_code . . . . . . . . . . . . . . . . . . . . . . . . netmanage.state_code . . . . . . . . . . . . . . . . . . . . . . . . netmanage.status_code . . . . . . . . . . . . . . . . . . . . . . . odometer.cut_marker_count . . . . . . . . . . . . . . . . . . . . odometer.headclean . . . . . . . . . . . . . . . . . . . . . . . . . . odometer.headnew . . . . . . . . . . . . . . . . . . . . . . . . . . . odometer.label_dot_length . . . . . . . . . . . . . . . . . . . . . . odometer.latch_open_count . . . . . . . . . . . . . . . . . . . . . odometer.media_marker_count . . . . . . . . . . . . . . . . . odometer.media_marker_count1 . . . . . . . . . . . . . . . . . odometer.media_marker_count2 . . . . . . . . . . . . . . . . . odometer.retracts_count . . . . . . . . . . . . . . . . . . . . . . . . odometer.rfid.valid_resettable . . . . . . . . . . . . . . . . . . . . odometer.rfid.void_resettable . . . . . . . . . . . . . . . . . . . . odometer.total_cuts . . . . . . . . . . . . . . . . . . . . . . . . . . odometer.total_label_count . . . . . . . . . . . . . . . . . . . . . odometer.total_print_length . . . . . . . . . . . . . . . . . . . . . odometer.user_label_count . . . . . . . . . . . . . . . . . . . . . odometer.user_label_count[1|2] . . . . . . . . . . . . . . . . . . parallel_port.mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . parallel_port.present . . . . . . . . . . . . . . . . . . . . . . . . . . . power.average_current . . . . . . . . . . . . . . . . . . . . . . . . . power.battery_led_blink_rate . . . . . . . . . . . . . . . . . . . power.battery_led_enable . . . . . . . . . . . . . . . . . . . . . . power.battery_led_off_duration . . . . . . . . . . . . . . . . . . power.battery_led_on_duration . . . . . . . . . . . . . . . . . . power.battery_replacement_cyclecount_threshold . . . power.dtr_power_off . . . . . . . . . . . . . . . . . . . . . . . . . . . power.energy_star.enable . . . . . . . . . . . . . . . . . . . . . . . power.energy_star.timeout . . . . . . . . . . . . . . . . . . . . . . power.label_queue.shutdown . . . . . . . . . . . . . . . . . . . power.power_on_mode . . . . . . . . . . . . . . . . . . . . . . . . . power.shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . print.tone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . print.troubleshooting_label_print . . . . . . . . . . . . . . . . . . rfid.adaptive_antenna . . . . . . . . . . . . . . . . . . . . . . . . . . rfid.antenna_sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programming Guide 802 804 805 806 809 808 810 811 812 813 816 822 814 815 817 818 819 820 821 823 824 825 826 827 828 829 830 831 832 833 834 835 847 836 837 838 839 840 841 842 844 843 845 846 848 849 851 852 853 854 855 856 857 859 861 862 863 864 865 866 867 868 1/31/18 Alphabetical List of Set/Get/Do Commands rfid.country_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870 rfid.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871 rfid.error.response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872 rfid.hop_table_version . . . . . . . . . . . . . . . . . . . . . . . . . . 873 rfid.position.program . . . . . . . . . . . . . . . . . . . . . . . . . . . 874 rfid.reader_1.antenna_port . . . . . . . . . . . . . . . . . . . . . . 876 rfid.reader_1.firmware_version . . . . . . . . . . . . . . . . . . . 882 rfid.reader_1.hardware_version . . . . . . . . . . . . . . . . . . . 883 rfid.reader_1.model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884 rfid.reader_1.power.read . . . . . . . . . . . . . . . . . . . . . . . . 879 rfid.reader_1.power.single_power . . . . . . . . . . . . . . . . . 881 rfid.reader_1.power.write . . . . . . . . . . . . . . . . . . . . . . . . 880 rfid.recipe_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885 rfid.region_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886 rfid.tag.calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887 rfid.tag.data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 rfid.tag.read.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889 rfid.tag.read.execute . . . . . . . . . . . . . . . . . . . . . . . . . . . 890 rfid.tag.read.result_line1 . . . . . . . . . . . . . . . . . . . . . . . . 891 rfid.tag.read.result_line1_alternate . . . . . . . . . . . . . . . . 893 rfid.tag.read.result_line2 . . . . . . . . . . . . . . . . . . . . . . . . 892 rfid.tag.read.result_line2_alternate . . . . . . . . . . . . . . . . 894 rfid.tag.test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 rfid.tag.test.content . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896 rfid.tag.test.execute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897 rfid.tag.test.result_line1 . . . . . . . . . . . . . . . . . . . . . . . . . 898 rfid.tag.test.result_line2 . . . . . . . . . . . . . . . . . . . . . . . . . 899 rfid.tag.type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900 ribbon.part_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904 ribbon.serial_number . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 rtc.timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905 sensor.cover_open . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 sensor.paper_supply . . . . . . . . . . . . . . . . . . . . . . . . . . 908 sensor.peeler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909 sensor.self_adjusting_enable . . . . . . . . . . . . . . . . . . . . 911 usb.device.device_id_string . . . . . . . . . . . . . . . . . . . . . . 912 usb.device.device_unique_id . . . . . . . . . . . . . . . . . . . . 913 usb.device.device_version . . . . . . . . . . . . . . . . . . . . . . . 914 usb.device.manufacturer_string . . . . . . . . . . . . . . . . . . . 915 usb.device.product_id . . . . . . . . . . . . . . . . . . . . . . . . . . 916 usb.device.product_string . . . . . . . . . . . . . . . . . . . . . . . 917 usb.device.serial_string . . . . . . . . . . . . . . . . . . . . . . . . . 918 usb.device.vendor_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 919 usb.halt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920 usb.host.fn_field_data . . . . . . . . . . . . . . . . . . . . . . . . . . 921 usb.host.fn_last_field . . . . . . . . . . . . . . . . . . . . . . . . . . . 922 usb.host.hid_count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923 usb.host.keyboard_input . . . . . . . . . . . . . . . . . . . . . . . . 924 usb.host.lock_out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925 usb.host.mass_storage_count . . . . . . . . . . . . . . . . . . . . 926 usb.host.read_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 usb.host.read_list_print_delay . . . . . . . . . . . . . . . . . . . . 928 usb.host.template_list . . . . . . . . . . . . . . . . . . . . . . . . . . 929 usb.host.template_print_amount . . . . . . . . . . . . . . . . . . 930 usb.host.write_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 usb.mirror.appl_path . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 usb.mirror.auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 usb.mirror.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 usb.mirror.enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935 usb.mirror.error_retry . . . . . . . . . . . . . . . . . . . . . . . . . . . 936 usb.mirror.feedback.auto . . . . . . . . . . . . . . . . . . . . . . . . 937 usb.mirror.feedback.odometer . . . . . . . . . . . . . . . . . . . . 938 1/31/18 usb.mirror.feedback.path . . . . . . . . . . . . . . . . . . . . . . . 939 usb.mirror.fetch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940 usb.mirror.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . 941 usb.mirror.last_time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 usb.mirror.path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943 usb.mirror.reset_delay . . . . . . . . . . . . . . . . . . . . . . . . . 944 usb.mirror.success . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945 usb.mirror.success_time . . . . . . . . . . . . . . . . . . . . . . . . 946 weblink.cloud_connect.enable . . . . . . . . . . . . . . . . . . 1167 weblink.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168 weblink.ip.conn[1|2].authentication.add . . . . . . . . . . 1169 weblink.ip.conn[1|2].authentication.entries . . . . . . . 1171 weblink.ip.conn[1|2].authentication.remove . . . . . . . . 1172 weblink.ip.conn[1|2].location . . . . . . . . . . . . . . . . . 1173 weblink.ip.conn[1|2].maximum_simultaneous_ connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175 weblink.ip.conn[1|2].num_connections . . . . . . . . . 1174 weblink.ip.conn[1|2].proxy . . . . . . . . . . . . . . . . . . . 1176 weblink.ip.conn[1|2].retry_interval . . . . . . . . . . . . . . 1178 weblink.ip.conn[1|2].retry_interval_random_max . . . . 1182 weblink.ip.conn[1|2].test.location . . . . . . . . . . . . . . 1179 weblink.ip.conn[1|2].test.retry_interval . . . . . . . . . . 1181 weblink.ip.conn[1|2].test.test_on . . . . . . . . . . . . . . . 1184 weblink.logging.clear . . . . . . . . . . . . . . . . . . . . . . 1185 weblink.logging.entries . . . . . . . . . . . . . . . . . . . . . 1186 weblink.logging.max_entries . . . . . . . . . . . . . . . . 1187 weblink.printer_reset_required . . . . . . . . . . . . . . . . 1188 weblink.restore_defaults . . . . . . . . . . . . . . . . . . . . 1189 weblink.zebra_connector.authentication.add . . . . . . 1190 weblink.zebra_connector.authentication.entries . . . 1192 weblink.zebra_connector.authentication.remove . . . 1193 weblink.zebra_connector.enable . . . . . . . . . . . . . . . . 1194 weblink.zebra_connector.proxy . . . . . . . . . . . . . . . . . 1195 weblink.zebra_connector.version . . . . . . . . . . . . . . . . 1197 wlan.11ac.80mhz_enable . . . . . . . . . . . . . . . . . . . . . . 1199 wlan.11d.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200 wlan.11n.20mhz_only . . . . . . . . . . . . . . . . . . . . . . . . . 1201 wlan.11n.aggregation . . . . . . . . . . . . . . . . . . . . . . . . . 1202 wlan.11n.greenfield . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203 wlan.11n.rifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204 wlan.11n.short_gi_20mhz . . . . . . . . . . . . . . . . . . . . . . 1206 wlan.11n.short_gi_40mhz . . . . . . . . . . . . . . . . . . . . . . 1205 wlan.8021x.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207 wlan.8021x.validate_peap_server_certificate . . . . . . . 1208 wlan.active_channels . . . . . . . . . . . . . . . . . . . . . . . . . 1209 wlan.adhoc_last_channel . . . . . . . . . . . . . . . . . . . . . 1210 wlan.adhocautomode . . . . . . . . . . . . . . . . . . . . . . . . . 1215 wlan.adhocchannel . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216 wlan.allowed_band . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214 wlan.associated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217 wlan.auth_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1218 wlan.authenticated . . . . . . . . . . . . . . . . . . . . . . . . . . 1211 wlan.authentication_error . . . . . . . . . . . . . . . . . . . . . 1212 wlan.available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213 wlan.bssid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1219 wlan.channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 wlan.channel_mask . . . . . . . . . . . . . . . . . . . . . . . . . . . 1221 wlan.country_code . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222 wlan.current_tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 wlan.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224 wlan.encryption_index . . . . . . . . . . . . . . . . . . . . . . . . . 1225 wlan.encryption_key[1|2|3|4]1 . . . . . . . . . . . . . . . . . . . 1226 Programming Guide P1099958-001 25 26 Alphabetical List of Set/Get/Do Commands wlan.encryption_mode . . . . . . . . . . . . . . . . . . . . . . . . . 1227 wlan.essid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1228 wlan.firmware_version . . . . . . . . . . . . . . . . . . . . . . . . . 1229 wlan.ip.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1230 wlan.ip.arp_interval . . . . . . . . . . . . . . . . . . . . . . . . . . . 1231 wlan.ip.default_addr_enable . . . . . . . . . . . . . . . . . . . . 1232 wlan.ip.dhcp.arp_verify . . . . . . . . . . . . . . . . . . . . . . . 1233 wlan.ip.dhcp.cache_ip . . . . . . . . . . . . . . . . . . . . . . . . . 1234 wlan.ip.dhcp.cid_all . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235 wlan.ip.dhcp.cid_enable . . . . . . . . . . . . . . . . . . . . . . . . 1236 wlan.ip.dhcp.cid_prefix . . . . . . . . . . . . . . . . . . . . . . . . . 1237 wlan.ip.dhcp.cid_suffix . . . . . . . . . . . . . . . . . . . . . . . . . 1238 wlan.ip.dhcp.cid_type . . . . . . . . . . . . . . . . . . . . . . . . . . 1239 wlan.ip.dhcp.lease.last_attempt . . . . . . . . . . . . . . . . . . 1240 wlan.ip.dhcp.lease.length . . . . . . . . . . . . . . . . . . . . . . . 1241 wlan.ip.dhcp.lease.server . . . . . . . . . . . . . . . . . . . . . . 1242 wlan.ip.dhcp.lease.time_left . . . . . . . . . . . . . . . . . . . . . 1243 wlan.ip.dhcp.option12 . . . . . . . . . . . . . . . . . . . . . . . . . 1244 wlan.ip.dhcp.option12_format . . . . . . . . . . . . . . . . . . . 1245 wlan.ip.dhcp.option12_value . . . . . . . . . . . . . . . . . . . . 1246 wlan.ip.dhcp.request_timeout . . . . . . . . . . . . . . . . . . . 1247 wlan.ip.dhcp.requests_per_session . . . . . . . . . . . . . . . 1248 wlan.ip.dhcp.session_interval . . . . . . . . . . . . . . . . . . . 1249 wlan.ip.dns.servers . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250 wlan.ip.gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251 wlan.ip.netmask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1252 wlan.ip.port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253 wlan.ip.port_alternate . . . . . . . . . . . . . . . . . . . . . . . . . . 1254 wlan.ip.port_json_config . . . . . . . . . . . . . . . . . . . . . . 1255 wlan.ip.protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256 wlan.ip.timeout.enable . . . . . . . . . . . . . . . . . . . . . . . . . 1257 wlan.ip.timeout.value . . . . . . . . . . . . . . . . . . . . . . . . . . 1258 wlan.ip.wins.addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1259 wlan.ip.wins.permanent_source . . . . . . . . . . . . . . . . . 1260 wlan.keep_alive.enable . . . . . . . . . . . . . . . . . . . . . . . . 1261 wlan.keep_alive.timeout . . . . . . . . . . . . . . . . . . . . . . . . 1262 wlan.kerberos.kdc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263 wlan.kerberos.mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264 wlan.kerberos.password . . . . . . . . . . . . . . . . . . . . . . . 1265 wlan.kerberos.realm . . . . . . . . . . . . . . . . . . . . . . . . . . . 1266 wlan.kerberos.username . . . . . . . . . . . . . . . . . . . . . . . 1267 wlan.leap_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1268 wlan.leap_password . . . . . . . . . . . . . . . . . . . . . . . . . . 1269 wlan.leap_username . . . . . . . . . . . . . . . . . . . . . . . . . . 1270 wlan.mac_addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1271 wlan.mac_raw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1272 wlan.operating_mode . . . . . . . . . . . . . . . . . . . . . . . . . . 1273 wlan.password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 wlan.permitted_channels . . . . . . . . . . . . . . . . . . . . . . . 1275 wlan.poor_signal_threshold . . . . . . . . . . . . . . . . . . . . . 1276 wlan.preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1277 wlan.private_key_password . . . . . . . . . . . . . . . . . . . . . 1278 wlan.region_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279 wlan.roam.interchannel_delay . . . . . . . . . . . . . . . . . . . 1280 wlan.roam.interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1281 wlan.roam.max_chan_scan_time . . . . . . . . . . . . . . . . 1282 wlan.roam.max_fail . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283 P1099958-001 wlan.roam.rssi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284 wlan.roam.signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285 wlan.rts_cts_enabled . . . . . . . . . . . . . . . . . . . . . . . . . 1286 wlan.security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287 wlan.signal_noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1294 wlan.signal_quality . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295 wlan.signal_strength . . . . . . . . . . . . . . . . . . . . . . . . . . 1296 wlan.station_name . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297 wlan.tx_power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1298 wlan.tx_rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 wlan.user_channel_list . . . . . . . . . . . . . . . . . . . . . . . . 1300 wlan.username . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1301 wlan.waveagent.enable . . . . . . . . . . . . . . . . . . . . . . . . 1302 wlan.waveagent.udp_port . . . . . . . . . . . . . . . . . . . . . . 1303 wlan.wep.auth_type . . . . . . . . . . . . . . . . . . . . . . . . . . 1304 wlan.wep.index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 wlan.wep.key_format . . . . . . . . . . . . . . . . . . . . . . . . . 1311 wlan.wep.key1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1306 wlan.wep.key2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307 wlan.wep.key3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308 wlan.wep.key4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1309 wlan.wpa.psk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1310 wlan.wpa.timecheck . . . . . . . . . . . . . . . . . . . . . . . . . . 1315 wlan.wpa.wpa_version . . . . . . . . . . . . . . . . . . . . . . . 1316 zbi.control.add_breakpoint . . . . . . . . . . . . . . . . . . . . . . 947 zbi.control.break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948 zbi.control.clear_breakpoints . . . . . . . . . . . . . . . . . . . . 949 zbi.control.delete_breakpoint . . . . . . . . . . . . . . . . . . . . 950 zbi.control.line_number . . . . . . . . . . . . . . . . . . . . . . . . . 951 zbi.control.restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952 zbi.control.run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953 zbi.control.step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954 zbi.control.terminate . . . . . . . . . . . . . . . . . . . . . . . . . . . 955 zbi.control.variable_name . . . . . . . . . . . . . . . . . . . . . . . 956 zbi.control.variable_value . . . . . . . . . . . . . . . . . . . . . . . 957 zbi.enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958 zbi.key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959 zbi.last_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960 zbi.program_list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961 zbi.reseller_key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962 zbi.revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963 zbi.running_program_name . . . . . . . . . . . . . . . . . . . . . 964 zbi.start_info.execute . . . . . . . . . . . . . . . . . . . . . . . . . . 965 zbi.start_info.file_name . . . . . . . . . . . . . . . . . . . . . . . . . 966 zbi.start_info.memory_alloc . . . . . . . . . . . . . . . . . . . . . 967 zbi.state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968 zpl.caret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969 zpl.control_character . . . . . . . . . . . . . . . . . . . . . . . . . . . 970 zpl.delimiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971 zpl.label_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972 zpl.left_position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973 zpl.relative_darkness . . . . . . . . . . . . . . . . . . . . . . . . . . 981 zpl.system_error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 zpl.system_status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 zpl.zpl_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979 zpl.zpl_override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980 Programming Guide 1/31/18 About This Document This section provides an overview of the entire document, contact information, and details on document structure and organization. Contents Contact Zebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Who Should Use This Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 How This Document Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1/31/18 Programming Guide P1099958-001 28 About This Document Contact Zebra Contact Zebra To contact Zebra or for technical support, visit www.zebra.com/contact. 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 printer’s firmware version by printing out a configuration label. For instructions to do so, see your printer’s 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, see the Glossary on page 1519. Who Should Use This Document This Programming Guide is for programmers who are familiar working with programming languages. P1099958-001 Programming Guide 1/31/18 About This Document How This Document Is Organized How This Document Is Organized The Programming Guide is set up as follows: 1/31/18 Section Description About This Document Provides a high-level overview about this guide and Zebra Programming Language (ZPL). ZPL Commands Provides an alphabetical, detailed description of each ZPL command. ZPL RFID Commands Provides an alphabetical, detailed description of each ZPL RFID command, and some examples of how to use them. ZPL Wireless Commands Provides new and modified ZPL commands for the wireless print server. ZBI Commands Provides details about the Zebra Basic Interpreter, its commands, descriptions, formats, and parameters. SGD Printer Commands Provides a high-level overview of printer setting Set / Get / Do (SGD) commands. SGD Wired Commands Provides a high-level overview of the wired Set / Get / Do (SGD) commands. SGD Wireless Commands Provides a high-level overview of the wireless Set / Get / Do (SGD) commands. Appendixes The appendixes include: Zebra Code Pages ASCII Fonts and Bar Codes Mod 10 and Mod 43 Check Digits Error Detection Protocol ZB64 Encoding and Compression Field Interactions Real Time Clock ZBI Character Set SGD Command Support Firmware Features Mirror Wireless Markup Language (WML) Using Weblink HTTP POST Alerts Advanced Techniques Glossary Glossary of terms. Programming Guide P1099958-001 29 30 About This Document How This Document Is Organized P1099958-001 Programming Guide 1/31/18 ZPL Commands This section contains the complete alphabetical listing of ZPL II commands. The first paragraph(s) provides an explanation of how the command is used, what it is capable of, and any defining characteristics it has. The 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. In the parameters table, if a command has values that can be defined to make its function more specific, these are outlined as parameters. Still using the ^B8 example, the h parameter is defined as: h = bar code height (in dots) Values: 1 to 32000 Default: value set by ^BY If the command has no parameters – for example ~JA (Cancel All) – the parameter heading is removed, indicating that the format of the command (~JA) is acceptable ZPL II code. Example: When the command is best clarified in context, an example of the ZPL II code is provided. Text indicating exact code entered is printed in an easily recognizable Courier font. An example of code using the ^B8 command looks like this: ^XA ^FO50,50 ^B8N,100,Y,N ^FD1234567^FS ^XZ Notice that the ^B8 parameter letters have been replaced with real values that apply to the command. In this example N,100,Y,N have been entered. A Comments section (if used) will show notes that are of value to a programmer, warnings of potential command interactions, or command-specific information that should be taken into consideration. 1/31/18 Programming Guide P1099958-001 32 ZPL Commands Basic ZPL Exercises and Examples Example: 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. Basic ZPL Exercises and Examples The purpose of these exercises is to introduce basic ZPL commands to novice ZPL users. Make sure this checklist is complete: Load the printer with labels that are big enough to give you ample space to work with. Print a configuration label (CANCEL test). Look at the configuration label and make sure that the LEFT POSITION is set to 000 and LABEL TOP is set to 000. Determine the printer’s resolution. It is listed on the configuration label. 8/MM = 200 dpi, 12/MM = 300 dpi and 24/MM = 600 dpi. Tips These are some tips when using ZPL: • Use the DOS text editor to write ZPL files. • Save the file as a .txt file and copy it to the printer from DOS command line. Before you begin Some things that are important to understand before you begin are: • 200 dpi means the resolution of the printhead is 200 dots per inch. If you program the printer to draw a line 100 dots long that equals a half inch. 100 dots on a 300 dpi printer prints a line 1/3 inch long. • The home position that all your coordinates are referencing is at the left-hand trailing edge of the label as the label comes out of the printer. (There are some exceptions to this.) 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands Basic ZPL Exercises and Examples 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. 3. Send this format to the printer: 1 ^XA ^FO50,50^ADN,36,20^FDxxxxxxxxxxx ^FS ^XZ 5 2 3 4 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. • 25,18 would not be a valid size. The printer rounds to the next recognizable size. 2. Check the font matrices tables for other fonts to try. See Fonts and Bar Codes on page 1335. 3. Try the zero scalable font ^A0N,x,x. This font is scalable, and you can choose any height and width. Rotation Commands 1. Change ^ADN to ^ADR, and then ^ADI, and then ^ADB. See how the print position changes. 2. Add more fields. 1/31/18 Programming Guide P1099958-001 33 34 ZPL Commands Basic ZPL Exercises and Examples 3. Add two more fields to print directly under your name using the ^ADN,36,20 font and size: Your street address Your city, state, zip 4. You must add two more lines of code that start off with: ^XA ^FO50,50^ADN,36,20^FDxxxxxxxxxxx^FS ^FO (fill in the rest) ^FO (fill in the rest) ^XZ Make sure all these fields print in the same font and size and left side of fields has same vertical alignment. Your name 1200 W Main Street Anytown, Il 60061 Special Effects commands The Graphic Box or ^GB command or is used in some of the speical effects commands. Reverse Printing a Field 1. Write the following format and send to the printer: ^XA ^PR1 ^FO100,100 ^GB70,70,70,,3^FS ^FO200,100 ^GB70,70,70,,3^FS ^FO300,100 ^GB70,70,70,,3^FS ^FO400,100 ^GB70,70,70,,3^FS ^FO107,110^CF0,70,93 ^FR^FDREVERSE^FS ^XZ 2. To see the effects, remove: ^FR^FDREVERSE^FS 3. To see the effects, try removing one of the ^GB lines of code. P1099958-001 Programming Guide 1/31/18 ZPL Commands Basic ZPL Exercises and Examples Label Reverse Print 1. Write the following format and send to the printer: ^XA^LRY ^FO100,50 ^GB195,203,195^FS ^FO180,110^CFG ^FDLABEL^FS ^FO130,170 ^FDREVERSE^FS ^XZ 2. To see the effects, remove: ^GB195,203,195^FS Mirror Image of Label 1. Write the following format and send to the printer: ^XA^PMY ^FO100,100 ^CFG ^FDMIRROR^FS ^FO100,160 ^FDIMAGE^FS ^XZ 2. To see the effects, in the first line of code change ^PMY to ^PMN. Print Orientation 1. Write the following format and send to the printer: ^XA^CFD ^POI ^LH330,10 ^FO50,50 ^FDZEBRA TECHNOLOGIES^FS ^FO50,75 ^FDVernon Hills, IL^FS ^XZ 2. To see the effects, in the second line of code change ^POI to ^PON. 1/31/18 Programming Guide P1099958-001 35 36 ZPL Commands Basic ZPL Exercises and Examples Exercise 2 Boxes and lines 1. Use the address format from Exercise 1. 2. Add this new line to your existing format: ^FO50,200^GB200,200,2^FS This prints a box one wide by one inch long and the thickness of the line is 2 dots. 3. Reposition and resize the square so that it goes around the name and address uniformly. 4. Print a line by adding: ^FO50,300^GB400,1,4,^FS This prints a horizontal line two inches wide by 4 dots thick. 5. Print a vertical line using this code: ^FO100,50^GB1,400,4^FS Exercise 3 Bar codes — ^B3 code 39 bar code 1. Write the following format and send to the printer: ^XA ^FO50,50^B3N,N,100,Y,N^FD123456^FS ^XZ 2. Try changing each of the parameters in the ^B3 string so you can see the effects. ^B3o,e,h,f,g ^BY Important • For valid parameter choices, see ^B3 on page 52. 3. Insert the ^BY command just before the ^B3 to see how the narrow bar width can be altered. ^FO50,50^BY2^B3..etc ^BYx, acceptable values for x are 1 through 10 4. Alter the ratio of the narrow to wide bar. ^FO50,50^BY2,3^B3..etc ^BY2,x acceptable values for x are 2.1 through 3 in .1 increments 5. Print out a ^B3 bar code with the interpretation line on top of the bar code and the bar code rotated 90 degrees. 6. Add a ^PQ just before the ^XZ to print several labels. ^PQ4 ^XZ ^PR Print rate (in inches per second) P1099958-001 Programming Guide 1/31/18 ZPL Commands Basic ZPL Exercises and Examples 7. Add a ^PR command after the ^XA at the beginning of the format to change the print rate (print speed). ^XA ^PR4 then try ^PR6 ^PRx acceptable values for x are 2 through 12 (check printer specs) See how the print speed affects the print quality of the bar code. You may need to increase the printer darkness setting at higher print speeds. Exercise 4 ^SN — Serial Number command 1. Send this format to the printer: ^XA ^FO100,100^ADN,36,20^SN001,1,Y^FS ^PQ3 ^XZ To vary the ^SNv,n,z to exercise increment/decrement and leading zeros functions, consult this guide. If your serial number contains alpha and numeric characters, you can increment or decrement a specific segment of the data even if it is in the middle, as this sample sequence shows: ABCD1000EFGH, ABCD1001EFGH, ABCD1002EFGH 2. Send this file to the printer and to see how it increments the serial number. The ^SF command can also work with alpha characters. ^XA ^FO100,100^ADN,36,20^FDABCD1000EFGH^SF%%%%dddd%%%%,10000^FS ^PQ15 ^XZ Notice how the field data character position aligns with the ^SF data string: ^ ^ 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 1 0 1 4 0 0 0 0 And on through… The last label prints ABCD1014EFGH. The % is placed in positions that you do not want to increment or decrement, d = decimal, 10000 = increment value. For more details on ^SF, see ^SF on page 309. 1/31/18 Programming Guide P1099958-001 37 38 ZPL Commands Basic ZPL Exercises and Examples 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. 1. Send this format to the printer: ^XA ^FO20,30^GB750,1100,4^FS ^FO20,30^GB750,200,4^FS ^FO20,30^GB750,400,4^FS ^FO20,30^GB750,700,4^FS ^FO20,226^GB325,204,4^FS ^FO30,40^ADN,36,20^FDShip to:^FS ^FO30,260^ADN,18,10^FDPart number #^FS ^FO360,260^ADN,18,10^FDDescription:^FS ^FO30,750^ADN,36,20^FDFrom:^FS ^ISR:SAMPLE.GRF^FS ^XZ 2. Send this format: ^XA ^ILR:SAMPLE.GRF^FS ^FO150,125^ADN,36,20^FDAcme Printing^FS ^FO60,330^ADN,36,20^FD14042^FS ^FO400,330^ADN,36,20^FDScrew^FS ^FO70,480^BY4^B3N,,200^FD12345678^FS ^FO150,800^ADN,36,20^FDMacks Fabricating^FS ^XZ In this way the template only needs to be sent one time to the printer’s 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. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands Basic ZPL Exercises and Examples Figure 1 • Download and Recall Format 1 ZPL II CODE GENERATED LABEL ^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 2 1 2 Exercise 7 Download format code Recall format call that generates the generated label in Figure 1. 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. 1/31/18 Programming Guide P1099958-001 39 40 ZPL Commands Basic ZPL Exercises and Examples 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 Example: This is an example of using the Unicode encoding, UTF-8: ZPL II CODE GENERATED LABEL P1099958-001 Programming Guide 1/31/18 ZPL Commands Allowed Characters in File Names Allowed Characters in File Names Files on the internal printer drives (R:, E:, etc.) can be created or accessed using several different commands (for example, ^DF, ^XF, ^TO, etc.). The names of the file can contain ONLY the characters shown in Table 1. Shaded areas indicate characters which cannot be used. The command and control characters (normally ^ and ~) cannot be used unless the control characters are changed to something else using the ^CC ~CC ZPL command. Table 1 • Char. DEC OCT HEX Char. DEC OCT HEX Char. DEC OCT HEX (sp) 32 0040 0x20 @ 64 0100 0x40 ` 96 0140 0x60 ! 33 0041 0x21 A 65 0101 0x41 a 97 0141 0x61 " 34 0042 0x22 B 66 0102 0x42 b 98 0142 0x62 # 35 0043 0x23 C 67 0103 0x43 c 99 0143 0x63 $ 36 0044 0x24 D 68 0104 0x44 d 100 0144 0x64 % 37 0045 0x25 E 69 0105 0x45 e 101 0145 0x65 & 38 0046 0x26 F 70 0106 0x46 f 102 0146 0x66 ' 39 0047 0x27 G 71 0107 0x47 g 103 0147 0x67 ( 40 0050 0x28 H 72 0110 0x48 h 104 0150 0x68 ) 41 0051 0x29 I 73 0111 0x49 i 105 0151 0x69 * 42 0052 0x2a J 74 0112 0x4a j 106 0152 0x6a + 43 0053 0x2b K 75 0113 0x4b k 107 0153 0x6b , 44 0054 0x2c L 76 0114 0x4c l 108 0154 0x6c - 45 0055 0x2d M 77 0115 0x4d m 109 0155 0x6d . 46 0056 0x2e N 78 0116 0x4e n 110 0156 0x6e / 47 0057 0x2f O 79 0117 0x4f o 111 0157 0x6f 0 48 0060 0x30 P 80 0120 0x50 p 112 0160 0x70 1 49 0061 0x31 Q 81 0121 0x51 q 113 0161 0x71 2 50 0062 0x32 R 82 0122 0x52 r 114 0162 0x72 3 51 0063 0x33 S 83 0123 0x53 s 115 0163 0x73 4 52 0064 0x34 T 84 0124 0x54 t 116 0164 0x74 5 53 0065 0x35 U 85 0125 0x55 u 117 0165 0x75 6 54 0066 0x36 V 86 0126 0x56 v 118 0166 0x76 7 55 0067 0x37 W 87 0127 0x57 w 119 0167 0x77 8 56 0070 0x38 X 88 0130 0x58 x 120 0170 0x78 9 57 0071 0x39 Y 89 0131 0x59 y 121 0171 0x79 : 58 0072 0x3a Z 90 0132 0x5a z 122 0172 0x7a ; 59 0073 0x3b [ 91 0133 0x5b { 123 0173 0x7b < 60 0074 0x3c \ 92 0134 0x5c 124 0174 0x7c = 61 0075 0x3d ] 93 0135 0x5d } 125 0175 0x7d > 62 0076 0x3e ^ 94 0136 0x5e ~ 126 0176 0x7e ? 63 0077 0x3f _ 95 0137 0x5f (del) 127 0177 0x7f 1/31/18 Programming Guide P1099958-001 41 42 ZPL Commands ^A ^A – Scalable/Bitmapped Font 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: Parameter Details f = font name Values: A through Z, and 0 to 9 Any font in the printer (downloaded, EPROM, stored fonts, fonts A through Z and 0 to 9). o = field orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: the last accepted ^FW value or the ^FW default h = Character Height (in dots) Scalable Values: 10 to 32000 Default: last accepted ^CF Bitmapped Values: multiples of height from 1 to 10 times the standard height, in increments of 1 Default: last accepted ^CF w = width (in dots) Scalable Values: 10 to 32000 Default: last accepted ^CF Bitmapped Values: multiples of width from 1 to 10 times the standard width, in increments of 1 Default: last accepted ^CF Important • Parameter f is required. If f is omitted it defaults to the last value of the ^CF command. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^A Scalable Font Command Example: This is an example of a scalable font command: ZPL II Code Generated Label ^XA ^FO50,50 ^A0,32,25 ^FDZEBRA^FS ^FO50,150 ^A0,32,25 ^FDPROGRAMMING^FS ^FO50,250 ^A0,32,25^FDLANGUAGE^FS Bitmap Font Command Example: This is an example of a bitmap font command: ZPL II Code Generated Label ^XA ^FO50,50 ^ADN,36,20 ^FDZEBRA^FS ^FO50,150 ^ADN,36,20 ^FDPROGRAMMING^FS ^FO50,250 ^ADN,36,20^FDLANGUAGE^FS For reference, see Standard Printer Fonts on page 1336, Zebra Code Page 850 — Latin Character Set on page 1317, Fonts and Bar Codes on page 1335, and ASCII on page 1331. 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 1369. 1/31/18 Programming Guide P1099958-001 43 44 ZPL Commands ^A@ ^A@ – Use Font Name to Call Font 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:f.x Parameter Details o = field orientation Values: N R I B = = = = normal rotates 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: N or the last ^FW value h = character height (in dots) Default: 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 font’s base height, then divided by the font’s base height to give a magnification nearest limit. w = width (in dots) Default: 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 font’s base width, then divided by the font’s base width to give a magnification nearest limit. d = drive location of font Values: R:, E:, B:, and A: f = font name Default: R: Values: any valid font Default: if an invalid or no name is entered, the default set by ^CF is used If no font has been specified in ^CF, font A is used. The font named carries over on all subsequent ^A@ commands without a font name. x = extension Values: .FNT = font .TTF = TrueType Font .TTE = TrueType Extension .TTE is only supported in firmware version V60.14.x, V50.14.x, or later. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^A@ Example: This example identifies the purpose of each line of code for this label: ZPL II Code 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Generated Label ^XA ^A2N,50,50,B:CYRI_UB.FNT ^FO100,100 ^FDZebra Printer Fonts^FS ^A2N,40,40 ^F0100,150 ^FDThis uses B:CYRI_UB.FNT^FS ^XZ 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 1317, Fonts and Bar Codes on page 1335, and ASCII on page 1331. 1/31/18 Programming Guide P1099958-001 45 46 ZPL Commands ^B0 ^B0 – Aztec Bar Code Parameters 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 Values: N R I B = = = = normal rotated inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value b = magnification factor c = extended channel interpretation code indicator Values: 1 to 10 Default: 1 on 150 dpi printers 2 on 200 dpi printers 3 on 300 dpi printers 6 on 600 dpi printers Values: Y = if data contains ECICs N = if data does not contain ECICs Default: N d = error control and symbol size/type indicator 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: 0 e = menu symbol indicator Values: Y = if this symbol is to be a menu (bar code reader initialization) symbol N = if it is not a menu symbol Default: N f = number of symbols for structured append g = optional ID field for structured append P1099958-001 Values: 1 through 26 Default: 1 The ID field is a text string with 24-character maximum Default: no ID Programming Guide 1/31/18 ZPL Commands ^B0 Example: This is an example of the ^B0 command: ZPL II CODE GENERATED LABEL ^XA ^B0R,7,N,0,N,1,0 ^FD 7. This is testing label 7^FS ^XZ 1/31/18 Programming Guide P1099958-001 47 48 ZPL Commands ^B1 ^B1 – Code 11 Bar Code 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. Important • If additional information about the Code 11 bar code is required, go to www.aimglobal.org. Format: ^B1o,e,h,f,g Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value e = check digit Values: Y = 1 digit N = 2 digits Default: N h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Default: Value set by ^BY Y = yes N = no Default: Y g = print interpretation line above code Values: Y = yes N = no Default: N P1099958-001 Programming Guide 1/31/18 ZPL Commands ^B1 Example: This is an example of the Code 11 bar code: ZPL II CODE CODE 11 BAR CODE ^XA ^FO100,100^BY3 ^B1N,N,150,Y,N ^FD123456^FS ^XZ CODE 11 BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 - Internal Start/Stop Character: When used as a stop character: is used with 1 check digit is used with 2 check digits 1/31/18 Programming Guide P1099958-001 49 50 ZPL Commands ^B2 ^B2 – Interleaved 2 of 5 Bar Code 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. Important • If additional information about the Interleaved 2 of 5 bar code is required, go to www.aimglobal.org. Format: ^B2o,h,f,g,e,j Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) f = print interpretation line Values: 1 to 32000 Default: value set by ^BY Values: Y = yes N = no Default: Y g = print interpretation line above code Values: Y = yes N = no Default: N e = calculate and print Mod 10 check digit Values: Y = yes N = no Default: N P1099958-001 Programming Guide 1/31/18 ZPL Commands ^B2 Example: This is an example of an Interleaved 2 of 5 bar code: ZPL II CODE INTERLEAVED 2 OF 5 BAR CODE ^XA ^FO100,100^BY3 ^B2N,150,Y,N,N ^FD123456^FS ^XZ INTERLEAVED 2 OF 5 BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 Start/Stop (internal) 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 1349. 1/31/18 Programming Guide P1099958-001 51 52 ZPL Commands ^B3 ^B3 – Code 39 Bar Code 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. Important • If additional information about the Code 39 bar code is required, go to www.aimglobal.org. Format: ^B3o,e,h,f,g Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value e = Mod-43 check digit Values: Y = yes N = no Default: N h = bar code height (in dots) f = print interpretation line Values: 1 to 32000 Default: value set by ^BY Values: Y = yes N = no Default: Y g = print interpretation line above code Values: Y = yes N = no Default: N P1099958-001 Programming Guide 1/31/18 ZPL Commands ^B3 Example 1: This is an example of a Code 39 bar code: ZPL II CODE CODE 39 BAR CODE ^XA ^FO100,100^BY3 ^B3N,N,100,Y,N ^FD123ABC^FS ^XZ CODE 39 BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z . $ / + % Space 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 GENERATED LABELS ^XA ^FO20,20 ^B3N,N,100,Y ^FDTEST+$$M$J-$^FS ^XZ Full ASCII Mode for Code 39 Code 39 can generate the full 128-character ASCII set using paired characters as shown in these tables: 1/31/18 Programming Guide P1099958-001 53 54 ZPL Commands ^B3 Table 2 • ASCII 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 P1099958-001 Code 39 ASCII SP ! “ # $ % & ‘ ( ) * ++ , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? $A $B $C $D $E $F $G $H $I $J $K $L $M $N $O $P $Q $R $S $T $U $V $W $X $Y $Z %A %B %C %D %E Programming Guide 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 1/31/18 ZPL Commands ^B3 Table 3 • 1/31/18 ASCII Code 39 ASCII Code 39 @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ %V A B C D E F G H I J K L M N O P Q R S T U V W X Y Z %K %L %M %N %O ‘ a b c d e f g h I j k l m n o p q r s t u v w x y z { | } ~ DEL %W +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z %P %Q %R %S %T, %X Programming Guide P1099958-001 55 56 ZPL Commands ^B4 ^B4 – Code 49 Bar Code 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. Important • For additional information about the Code 49 bar code is required, go to www.aimglobal.org. Format: ^B4o,h,f,m Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = height multiplier of individual rows f = print interpretation line Values: 1 to height of label Default: 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. Values: N = no line printed A = print interpretation line above code B = print interpretation line below code Default: N When the field data exceeds two rows, expect the interpretation line to extend beyond the right edge of the bar code symbol. m = starting mode Values: Regular Alphanumeric Mode Multiple Read Alphanumeric Regular Numeric Mode Group Alphanumeric Mode Regular Alphanumeric Shift 1 Regular Alphanumeric Shift 2 Automatic Mode. The printer determines the starting mode by analyzing the field data. 0 1 2 3 4 5 A = = = = = = = Default: A P1099958-001 Programming Guide 1/31/18 ZPL Commands ^B4 Example 1: This is an example of a Code 49 bar code: ZPL II CODE CODE 49 BAR CODE ^XA ^FO150,100^BY3 ^B4N,20,A,A ^FD12345ABCDE^FS ^XZ 1/31/18 Programming Guide P1099958-001 57 58 ZPL Commands ^B4 Table 4 • Field Data Set Unshifted Character Set Shift 1 Character Set Shift 2 Character Set 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z . SPACE $ / ++ % < (Shift 1) > (Shift 2) : (N.A.) ; (N.A.) ? (N.A.) = (Numeric Shift) 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z . SPACE $ / ++ % ’ ESC FS GS RS US ! “ # & SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ( ) Null * , : reserved ; < = > ? @ [ \ ] a b c d e f g h I j k l m n o p q r s t u v w x y z _ ‘ DEL { | } ~ Code 49 Shift 1 and 2 Character Substitutions Code 49 Field Data Character Set The ^FD data sent to the printer when using starting modes 0 to 5 is based on the Code 49 Internal Character Set. This is shown in the first column of the Code 49 table on the previous page. These characters are Code 49 control characters: : ; < = > ? Valid field data must be supplied when using modes 0 to 5. Shifted characters are sent as a twocharacter sequence of a shift character followed by a character in the unshifted character set. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^B4 Example 2: To encode a lowercase a, send a > (Shift 2) followed by an uppercase A. If interpretation line printing is selected, a lowercase a prints in the interpretation line. This reflects what the output from the scanner reads. Code 49 uses uppercase alphanumeric characters only. If an invalid sequence is detected, the Code 49 formatter stops interpreting field data and prints a symbol with the data up to the invalid sequence. These are examples of invalid sequences: • Terminating numeric mode with any characters other than 0 to 9 or a Numeric Space. • Starting in Mode 4 (Regular Alphanumeric Shift 1) and the first field data character is not in the Shift 1 set. • Starting in Mode 5 (Regular Alphanumeric Shift 2) and the first field data character is not in the Shift 2 set. • Sending Shift 1 followed by a character not in the Shift 1 set. • Sending Shift 2 followed by a character not in the Shift 2 set. • Sending two Shift 1 or Shift 2 control characters. Advantages of Using the Code 49 Automatic Mode Using the default (Automatic Mode) completely eliminates the need for selecting the starting mode or manually performing character shifts. The Automatic Mode analyzes the incoming ASCII string, determines the proper mode, performs all character shifts, and compacts the data for maximum efficiency. Numeric Mode is selected or shifted only when five or more continuous digits are found. Numeric packaging provides no space advantage for numeric strings consisting of fewer than eight characters. 1/31/18 Programming Guide P1099958-001 59 60 ZPL Commands ^B5 ^B5 – Planet Code bar code 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 Values: N R I B = = = = normal rotated inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 9999 Default: value set by ^BY Values: f = interpretation line N = no Y = yes Default: N g = determines if the interpretation line is printed above the bar code Values: N = no Y = yes Default: N Example: This is an example of a Planet Code bar code: ZPL II CODE GENERATED LABEL ^XA ^FO150,100^BY3 ^B5N,100,Y,N ^FD12345678901^FS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL Commands ^B7 ^B7 – PDF417 Bar Code 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 172. • 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 Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height for individual rows (in dots) Values: 1 to height of label s = security level Values: 1 to 8 (error detection and correction) Default: 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. Default: 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. c = number of data columns to encode Values: 1 to 30 r = number of rows to encode Values: 3 to 90 1/31/18 Default: 1:2 (row-to-column aspect ratio) You can specify the number of code-word columns giving control over the width of the symbol. Default: 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. Programming Guide P1099958-001 61 62 ZPL Commands ^B7 Parameters Details t = truncate right row indicators and stop pattern Values: N = no truncation Y = perform truncation Default: N Example 1: This is an example of a PDF417 bar code: ZPL II CODE PDF417 BAR CODE ^XA ^BY2,3 ^FO10,10^B7N,5,5,,83,N ^FDZebra Technologies Corporation strives to be the expert supplier of innovative solutions to speciality demand labeling and ticketing problems of business and government. We will attract and retain the best people who will understand our customer's needs and provide them with systems, hardware, software, consumables and service offering the best value, high quality, and reliable performance, all delivered in a timely manner. ^FS^XZ Example 2: This is an example of a PDF417 without and with truncation selected: P1099958-001 Programming Guide 1/31/18 ZPL Commands ^B7 Example 3: This example shows the ^B7 command used with field hex (^FH) characters: ZPL II CODE GENERATED LABEL ^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 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. Special Considerations for ^BY When Using PDF417 When used with ^B7, the parameters for the ^BY command are: w = module width (in dots) Values: 2 to 10 Default: 2 r = ratio Fixed Value: 3 (ratio has no effect on PDF417) h = height of bars (in dots) Values: 1 to 32000 Default: 10 PDF417 uses this only when row height is not specified in the ^B7 h parameter. Special Considerations for ^FD When Using PDF417 The character set sent to the printer with the ^FD command includes the full ASCII set, except for those characters with special meaning to the printer. See Zebra Code Page 850 — Latin Character Set on page 1317, ^CC ~CC on page 129, and ^CT ~CT on page 142. • CR and LF are also valid characters for all ^FD statements. This scheme is used: \& = carriage return/line feed \\ = backslash (\) • ^CI13 must be selected to print a backslash (\). 1/31/18 Programming Guide P1099958-001 63 64 ZPL Commands ^B8 ^B8 – EAN-8 Bar Code 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. Important • If additional information about the EAN-8 bar code is required, go to www.aimglobal.org. Format: ^B8o,h,f,g Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) f = print interpretation line Values: 1 to 32000 Default: value set by ^BY Values: N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: N P1099958-001 Programming Guide 1/31/18 ZPL Commands ^B8 Example: This is an example of an EAN-8 bar code: ZPL II CODE EAN-8 BAR CODE ^XA ^FO100,100^BY3 ^B8N,100,Y,N ^FD1234567^FS ^XZ EAN-8 BAR CODE CHARACTERS 0 1/31/18 1 2 3 4 Programming Guide 5 6 7 8 9 P1099958-001 65 66 ZPL Commands ^B9 ^B9 – UPC-E Bar Code 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 manufacturer’s 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. Important • If additional information about the UPC-E bar code is required, go to www.aimglobal.org. Format: ^B9,h,f,g,e Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Default: value set by ^BY N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: N e = print check digit Values: N = no Y = yes Default: Y P1099958-001 Programming Guide 1/31/18 ZPL Commands ^B9 Example: This is an example of a UPC-E bar code: UPC-E BAR CODE ZPL II CODE ^XA ^FO150,100^BY3 ^B9N,100,Y,N,Y ^FD1230000045^FS ^XZ UPC-E BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 Rules for Proper Product Code Numbers • If the last three digits in the manufacturer’s number are 000, 100, or 200, valid product code numbers are 00000 to 00999. • If the last three digits in the manufacturer’s number are 300, 400, 500, 600, 700, 800, or 900, valid product code numbers are 00000 to 00099. • If the last two digits in the manufacturer’s number are 10, 20, 30, 40, 50, 60, 70, 80, or 90, valid product code numbers are 00000 to 00009. • If the manufacturer’s number does not end in zero (0), valid product code numbers are 00005 to 00009. 1/31/18 Programming Guide P1099958-001 67 68 ZPL Commands ^BA ^BA – Code 93 Bar Code The ^BA command creates a variable length, continuous symbology. The Code 93 bar code is used in many of the same applications as Code 39. It uses the full 128-character ASCII set. ZPL II, however, does not support ASCII control codes or escape sequences. It uses the substitute characters shown below. Control Code ZPL II Substitute Ctrl $ & Ctrl % ‘ Ctrl / ( Ctrl + ) 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. Important • If additional information about the Code 93 bar code is required, go to www.aimglobal.org. Format: ^BAo,h,f,g,e Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Default: value set by ^BY N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: N e = print check digit Values: N = no Y = yes Default: N P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BA Example: This is an example of a Code 93 bar code: ZPL II CODE CODE 93 BAR CODE ^XA ^FO100,75^BY3 ^BAN,100,Y,N,N ^FD12345ABCDE^FS ^XZ CODE 93 BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z . $ / + % & ’ ( ) SPACE 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. Full ASCII Mode for Code 93 Code 93 can generate the full 128-character ASCII set using paired characters as shown in the following tables. 1/31/18 Programming Guide P1099958-001 69 70 ZPL Commands ^BA Table 5 • 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 P1099958-001 Code 93 ASCII SP ! “ # $ % & ‘ ( ) * ++ , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? ‘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 Programming Guide 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 1/31/18 ZPL Commands ^BA Table 6 • 1/31/18 ASCII Code 93 ASCII Code 93 @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ‘V A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ‘K ‘L ‘M ‘N ‘O ‘ a b c d e f g h I j k l m n o p q r s t u v w x y z { | } ~ DEL ‘W )A )B )C )D )E )F )G )H )I )J )K )L )M )N )O )P )Q )R )S )T )U )V )W )X )Y )Z ‘P ‘Q ‘R ‘S ‘T Programming Guide P1099958-001 71 72 ZPL Commands ^BB ^BB – CODABLOCK Bar Code 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. Important • If additional information about the CODABLOCK bar code is required, go to www.aimglobal.org. Format: ^BBo,h,s,c,r,m Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: N h = bar code height for individual rows (in dots) Values: 2 to 32000 s = security level Values: Default: 8 This number, multiplied by the module, equals the height of the individual row in dots. N = no Y = yes Default: Y Security level determines whether symbol check-sums are generated and added to the symbol. Check sums are never generated for single-row symbols. This can be turned off only if parameter m is set to A. c = number of characters per row (data columns) P1099958-001 Values: 2 to 62 characters This is used to encode a CODABLOCK symbol. It gives the you control over the width of the symbol. Programming Guide 1/31/18 ZPL Commands ^BB Parameters Details r = number of rows to encode 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 the s parameter is set to the default of Y, then the checksum characters that are included count as two data characters . For example, if c = 6, r is set to 3 and s is set to N, then up to 18 characters can be used (6 x 3). However, if s is set to Y, then only 16 character can be used. • m = mode 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. 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: F 1/31/18 Programming Guide P1099958-001 73 74 ZPL Commands ^BB Example: This is an example of a CODABLOCK bar code: 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 CODABLOCK BAR CODE Special Considerations for the ^BY Command When Using ^BB The parameters for the ^BYw,r,h command, when used with a ^BB code, are as follows: w = module width (in dots) Values: 2 to 10 (CODABLOCK A only) Default: 2 r = ratio Fixed Value: 3 (ratio has no effect on CODABLOCK E or F) h = height of bars (in dots) Values: 1 to 32,32000 Default: 10 CODABLOCK uses this as the overall symbol height only when the row height is not specified in the ^BB h parameter. Special Considerations for ^FD Character Set When Using ^BB The character set sent to the printer depends on the mode selected in parameter m. CODABLOCK A: CODABLOCK A uses the same character set as Code 39. If any other character is used in the ^FD statement, either no bar code is printed or an error message is printed (if ^CV is active). CODABLOCK E: The Automatic Mode includes the full ASCII set except for those characters with special meaning to the printer. Function codes or the Code 128 Subset A character can be inserted using of the ^FH command. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BB = 80 hex = 82 hex = 81 hex = 83 hex = 84 hex For any other character above 84 hex, either no bar code is printed or an error message is printed (if ^CV is active). CODABLOCK F: CODABLOCK F uses the full ASCII set, except for those characters with special meaning to the printer. Function codes or the Code 128 Subset A character can be inserted using of the ^FH command. = 80 hex = 82 hex = 81 hex = 83 hex = 84 hex 1/31/18 Programming Guide P1099958-001 75 76 ZPL Commands ^BC ^BC – Code 128 Bar Code (Subsets A, B, and C) 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. Important • If additional information about the Code 128 bar code is required, go to www.aimglobal.org. Format: ^BCo,h,f,g,e,m Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Y (yes) or N (no) g = print interpretation line above code Values: Y (yes) or N (no) e = UCC check digit Values: Y (turns on) or N (turns off) Default: value set by ^BY Default: Y The interpretation line can be printed in any font by placing the font command before the bar code command. Default: N 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: N P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BC Parameters Details m = mode 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: N Example 1: This is an example of a Code 128 bar code: ZPL II CODE CODE 128 BAR CODE ^XA ^FO100,100^BY3 ^BCN,100,Y,N,N ^FD123456^FS ^XZ Code 128 Subsets The Code 128 character subsets are referred to as Subset A, Subset B, and Subset C. A subset can be selected in these ways: • A special Invocation Code can be included in the field data (^FD) string associated with that bar code. • The desired Start Code can be placed at the beginning of the field data. If no Start Code is entered, Subset B are used. To change subsets within a bar code, place the Invocation Code at the appropriate points within the field data (^FD) string. The new subset stays in effect until changed with the Invocation Code. For example, in Subset C, >7 in the field data changes the Subset to A. Table 7 shows the Code 128 Invocation Codes and Start Characters for the three subsets. 1/31/18 Programming Guide P1099958-001 77 78 ZPL Commands ^BC Table 7 • Code 128 Invocation Characters Invocation Code >< >0 >= >1 >2 >3 >4 >5 >6 >7 >8 Decimal Value 62 30 94 95 96 97 98 99 100 101 102 Start Characters 103 >9 104 >: 105 >; Subset A Character Subset B Character Subset C Character > > ~ DEL FNC 3 FNC 2 SHIFT CODE C FNC 4 CODE A FNC 1 CODE B CODE A FNC 1 USQ FNC 3 FNC 2 SHIFT CODE C CODE B FNC 4 FNC 1 Start Code A Start Code B Start Code C (Numeric Pairs give Alpha/Numerics) (Normal Alpha/Numeric) (All numeric (00 - 99) Table 8 shows the character sets for Code 128: P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BC Table 8 • 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 1/31/18 Code A SP ! '' # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T Code B SP ! '' # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T 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 Programming Guide Value 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 Code 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) Code C 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 Code B Code A FNC1 P1099958-001 79 80 ZPL Commands ^BC 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. ^XA ^FO50,50 ^BY3^BCN,100,Y,N,N ^FD>;382436>6CODE128>752375152^FS ^XZ Figure C: Switching from Subset C to B to A 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. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BC 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 7 on page 78. 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 D and Figure E below are examples of Subset C. Notice that the bar codes are identical. In the program code for Figure F, 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 D: Subset C with normal data ^XA ^FO100,75^BY3 ^BCN,100,Y,N,N ^FD>;38D2436^FS ^XZ Figure E: Subset C with ignored alpha character ^XA ^FO100,75^BY3 ^BCN,100,Y,N,N ^FD>935473637171824^FS ^XZ Figure F: Subset A The UCC/EAN-128 Symbology The symbology specified for the representation of Application Identifier data is UCC/EAN-128, a variant of Code 128, exclusively reserved to EAN International and the Uniform Code Council (UCC). Note • It is not intended to be used for data to be scanned at the point of sales in retail outlets. 1/31/18 Programming Guide P1099958-001 81 82 ZPL Commands ^BC 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 selfchecking 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 9, UCC/EAN Application Identifier on page 85. 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. Using N for the mode (m) parameter Example 1: This example shows with application identifier 00 structure: ZPL II CODE N FOR THE M PARAMETER ^XA ^FO90,200^BY4 ^BCN,256,Y,N,Y,N ^FD>;>80012345123451234512^FS ^XZ P1099958-001 • >;>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 Programming Guide 1/31/18 ZPL Commands ^BC Using U for the mode (m) parameter Example 1: The example shows the application identifier 00 format: ZPL II CODE U FOR THE M PARAMETER ^XA ^FO90,200 ^BY4^BC,256,Y,N,,U ^FD0012345123451234512^FS ^XZ 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. Using D for the mode (m) parameter Example 1: This example shows application identifier 00 format ((x.11.x or later): ZPL II CODE D FOR THE M PARAMETER ^XA ^FO50,200^BCN,150,Y,N,,D ^FD(00)10084423 7449200940^FS ^XZ (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. 1/31/18 • 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. Programming Guide P1099958-001 83 84 ZPL Commands ^BC Printing the Interpretation Line Example 1: This example shows printing the interpretation in a different font with firmware x.11.x or later: ZPL II CODE INTERPRETATION LINE ^XA ^FO50,200 ^A0N,40,30^BCN,150,Y,N,Y ^FD>;>80012345123451234512^FS ^XZ The font command (^A0N,40,30) can be added and changed to alter the font and size of the interpretation line. With firmware version later than x.10.x • A separate text field needs to be written. • The interpretation line needs to be turned off. • ^A0N,50,40 is the font and size selection for the separate text field. • You have to make sure you enter the correct check digit in the text field. • Creating a separate text field allows you to format the interpretation line with parentheses and spaces. ZPL II CODE FIRMWARE OLDER THAN X.10.X ^XA ^FO25,25 ^BCN,150,N,N,Y ^FD>;>80012345123451234512^FS ^FO100,190 ^A0N,50,40 ^FD(00) 1 2345123 451234512 0^FS ^XZ Application Identifiers — UCC/EAN APPLICATION IDENTIFIER An Application Identifier is a prefix code used to identify the meaning and the format of the data that follows it (data field). There are AIs for identification, traceability, dates, quantity, measurements, locations, and many other types of information. For example, the AI for batch number is 10, and the batch number AI is always followed by an alphanumeric batch code not to exceed 20-characters. The UCC/EAN Application Identifiers provide an open standard that can be used and understood by all companies in the trading chain, regardless of the company that originally issued the codes. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BC I Table 9 • UCC/EAN Application Identifier AI Plus The Following Data Structure Serial Shipping Container Code (SSCC) 00 exactly 18 digits Shipping Container Code 01 exactly 14 digits Batch Numbers 10 up to 20 alpha numerics Production Date (YYMMDD) 11 exactly 6 digits Packaging Date (YYMMDD) 13 exactly 6 digits Sell By Date (YYMMDD) 15 exactly 6 digits Expiration Date (YYMMDD) 17 exactly 6 digits Product Variant 20 exactly 2 digits Serial Number 21 up to 20 alpha numerics HIBCC Quantity, Date, Batch and Link 22 up to 29 alpha numerics 23 a up to 19 alpha numerics Data Content Lot Number Quantity Each 30 Net Weight (Kilograms) 310 b exactly 6 digits Length, Meters 311 b exactly 6 digits Width or Diameter (Meters) 312 b exactly 6 digits Depths (Meters) 313 b exactly 6 digits Area (Sq. Meters) 314 b exactly 6 digits Volume (Liters) 315 b exactly 6 digits Volume (Cubic Meters) 316 b exactly 6 digits Net Weight (Pounds) 320 b exactly 6 digits Customer PO Number 400 up to 29 alpha numerics Ship To (Deliver To) Location Code using EAN 13 or DUNS Number with leading zeros 410 exactly 13 digits Bill To (Invoice To) Location Code using EAN 13 or DUNS Number with leading zeros 411 exactly 13 digits Purchase from 412 exactly 13 digits Ship To (Deliver To) Postal Code within single postal authority 420 up to 9 alpha numerics Ship To (Deliver To) Postal Code with 3-digit ISO Country Code Prefix 421 3 digits plus up to 9 alpha numerics Roll Products - width, length, core diameter, direction and splices 8001 exactly 14 digits Electronic Serial number for cellular mobile phone 8002 up to 20 alpha numerics a. Plus one digit for length indication. b. Plus one digit for decimal point indication. Note • Table 9 is a partial table showing the application identifiers. For more current and complete information, search the Internet for UCC Application Identifier. 1/31/18 Programming Guide P1099958-001 85 86 ZPL Commands ^BC For date fields that only need to indicate a year and month, the day field is set to 00. Chaining several application identifiers (firmware x.11.x or later) The FNC1, which is invoked by >8, is inserted just before the AI's so that the scanners reading the code sees the FNC1 and knows that an AI follows. Example 1: This is an example with the mode parameter set to A (automatic): ^XA ^BY2,2.5,193 ^FO33,400 ^BCN,,N,N,N,A ^FD>;>80204017773003486100008535>8910001>837252^FS ^FT33,625^AEN,0,0^FD(02)04017773003486(10)0008535(91)0001(37)2 52^FS ^XZ Example 2: This is an example with the mode parameter set to U: ^XA ^BY3,2.5,193 ^FO33,200 ^BCN,,N,N,N,U ^FD>;>80204017773003486>8100008535>8910001>837252^FS ^FT33,455^A0N,30,30^FD(02)04017773003486(10)0008535(91)0001(37 )252^FS ^XZ Example 3: This is an example with the mode parameter set to D*: ^XA ^PON ^LH0,0 ^BY2,2.5,145 ^FO218,343 ^BCB,,Y,N,N,D ^FD(91)0005886>8(10)0000410549>8(99)05^FS ^XZ D* — When trying to print the last Application Identifier with an odd number of characters, a problem existed when printing EAN128 bar codes using Mode D. The problem was fixed in firmware version V60.13.0.6. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BD ^BD – UPS MaxiCode Bar Code 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 Values: n = symbol number Values: 1 to 8 can be added in a structured document 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: 2 Default: 1 t = total number of symbols Values: 1 to 8, representing the total number of symbols in this sequence Default: 1 Example: This is an example of UPS MAXICODE - MODE 2 bar code: ZPL II CODE ^XA ^FO50,50 ^CVY ^BD^FH^FD001840152382802 [)>_1E01_1D961Z00004951_1DUPSN_ 1D_06X610_1D159_1D1234567_1D1/1_ 1D_1DY_1D634 ALPHA DR_ 1DPITTSBURGH_1DPA_1E_04^FS ^FO30,300^A0,30,30^FDMode2^FS ^XZ UPS MAXICODE - MODE 2 Special Considerations for ^FD when Using ^BD The ^FD statement is divided into two parts: a high priority message (hpm) and a low priority message (lpm). There are two types of high priority messages. One is for a U.S. Style Postal Code; the other is for a non-U.S. Style Postal Code. The syntax for either of these high priority messages must be exactly as shown or an error message is generated. Format: 1/31/18 ^FD Programming Guide P1099958-001 87 88 ZPL Commands ^BD Parameters Details = high priority message (applicable only in Modes 2 and 3) Values: 0 to 9, except where noted U.S. Style Postal Code (Mode 2) = 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) aaa bbb ccccc = low priority message (only applicable in Modes 2 and 3) = aaabbbcccccc = three-digit class of service = three-digit country zip code = 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 Header01GS96 Tracking Number* SCAC*GS UPS Shipper NumberGS Julian Day of PickupGS Shipment ID NumberGS Package n/xGS Package WeightGS Address ValidationGS Ship to Street AddressGS Ship to CityGS Ship to StateGS RSRS End of MessageEOT (* Mandatory Data for UPS) Comments • The formatting of and 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 for UPS, follow the data size and types specified in Guide to Bar Coding with UPS. • If you do not choose a mode, the default is Mode 2. If you use non-U.S. Postal Codes, you probably get an error message (invalid character or message too short). When using non-U.S. codes, use Mode 3. • ZPL II doesn’t 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 ( _ ). P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BE ^BE – EAN-13 Bar Code 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. 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. Format: ^BEo,h,f,g Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Default: value set by ^BY N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: N 1/31/18 Programming Guide P1099958-001 89 90 ZPL Commands ^BE Example: This is an example of an EAN-13 bar code: EAN-13 BAR CODE ZPL II CODE ^XA ^FO100,100^BY3 ^BEN,100,Y,N ^FD12345678^FS ^XZ EAN-13 BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 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 1349. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BF ^BF – MicroPDF417 Bar Code 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 PDF417’s 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 Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 9999 m = mode Values: 0 to 33 (see Table 10, MicroPDF417 Mode on page 92) Default: value set by ^BY or 10 (if no ^BY value exists). Default: 0 (see Table 10) Example: This is an example of a MicroPDF417 bar code: ZPL II CODE MICRO-PDF417 BAR CODE ^XA ^FO100,100^BY6 ^BFN,8,3 ^FDABCDEFGHIJKLMNOPQRSTUV^FS ^XZ To encode data into a MicroPDF417 bar code, complete these steps: 1. Determine the type of data to be encoded (for example, ASCII characters, numbers, 8-bit data, or a combination). 2. Determine the maximum amount of data to be encoded within the bar code (for example, number of ASCII characters, quantity of numbers, or quantity of 8-bit data characters). 1/31/18 Programming Guide P1099958-001 91 92 ZPL Commands ^BF 3. Determine the percentage of check digits that are used within the bar code. The higher the percentage of check digits that are used, the more resistant the bar code is to damage — however, the size of the bar code increases. 4. Use Table 10 with the information gathered from the questions above to select the mode of the bar code. Table 10 • MicroPDF417 Mode Mode (M) 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 P1099958-001 Number Number of Data of Data Columns Rows 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 Programming Guide 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 % of Max Cws for Alpha EC Characters 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 6 12 18 22 30 38 14 24 36 46 56 64 72 10 18 26 34 46 66 90 114 138 162 22 34 46 58 76 106 142 178 214 250 14 Max Digits 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 1/31/18 ZPL Commands ^BI ^BI – Industrial 2 of 5 Bar Codes The ^BI command is a discrete, self-checking, continuous numeric symbology. The Industrial 2 of 5 bar code has been in use the longest of the 2 of 5 family of bar codes. Of that family, the Standard 2 of 5 (^BJ) and Interleaved 2 of 5 (^B2) bar codes are also available in ZPL II. With Industrial 2 of 5, all of the information is contained in the bars. Two bar widths are employed in this code, the wide bar measuring three times the width of the narrow bar. • ^BI supports a print ratio of 2.0:1 to 3.0:1. • Field data (^FD) is limited to the width (or length, if rotated) of the label. Important • If additional information about the Industrial 2 of 5 bar code, go to www.aimglobal.org. Format: ^BIo,h,f,g Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Default: value set by ^BY N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: N 1/31/18 Programming Guide P1099958-001 93 94 ZPL Commands ^BI Example: This is an example of an Industrial 2 of 5 bar code: INDUSTRIAL 2 OF 5 BAR CODE ZPL II CODE ^XA ^FO100,100^BY3 ^BIN,150,Y,N ^FD123456^FS ^XZ INDUSTRIAL 2 OF 5 BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 Start/Stop (internal) P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BJ ^BJ – Standard 2 of 5 Bar Code The ^BJ command is a discrete, self-checking, continuous numeric symbology. With Standard 2 of 5, all of the information is contained in the bars. Two bar widths are employed in this code, the wide bar measuring three times the width of the narrow bar. • ^BJ supports a print ratio of 2.0:1 to 3.0:1. • Field data (^FD) is limited to the width (or length, if rotated) of the label. Important • If additional information about the Standard 2 of 5 bar code is required, go to www.aimglobal.org. Format: ^BJo,h,f,g Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Default: value set by ^BY N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: N Example: This is an example of a Standard 2 of 5 bar code: ZPL II CODE STANDARD 2 OF 5 BAR CODE ^XA ^FO100,100^BY3 ^BJN,150,Y,N ^FD123456^FS ^XZ STANDARD 2 OF 5 BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 Start/Stop (automatic) 1/31/18 Programming Guide P1099958-001 95 96 ZPL Commands ^BK ^BK – ANSI Codabar Bar Code The ANSI Codabar bar code is used in a variety of information processing applications such as libraries, the medical industry, and overnight package delivery companies. This bar code is also known as USD-4 code, NW-7, and 2 of 7 code. It was originally developed for retail price labeling. Each character in this code is composed of seven elements: four bars and three spaces. Codabar bar codes use two character sets, numeric and control (start and stop) characters. • ^BK supports a print ratio of 2.0:1 to 3.0:1. • Field data (^FD) is limited to the width (or length, if rotated) of the label. Important • If additional information about the ANSI Codabar bar code is required, go to www.aimglobal.org. Format: ^BKo,e,h,f,g,k,l Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value e = check digit Fixed Value: N h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Default: value set by ^BY N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: N Values: A,B, C, D k = designates a start character Default: A l = designates stop character Default: A P1099958-001 Values: A,B, C, D Programming Guide 1/31/18 ZPL Commands ^BK Example: This is an example of an ANSI Codabar bar code: ZPL II CODE ANSI CODABAR BAR CODE ^XA ^FO100,100^BY3 ^BKN,N,150,Y,N,A,A ^FD123456^FS ^XZ ANSI CODABAR BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 Control Characters - : . $ / + Start/Stop Characters A 1/31/18 B Programming Guide C D P1099958-001 97 98 ZPL Commands ^BL ^BL – LOGMARS Bar Code The ^BL command is a special application of Code 39 used by the Department of Defense. LOGMARS is an acronym for Logistics Applications of Automated Marking and Reading Symbols. • ^BL supports a print ratio of 2.0:1 to 3.0:1. • Field data (^FD) is limited to the width (or length, if rotated) of the label. Lowercase letters in the ^FD string are converted to the supported uppercase LOGMARS characters. Important • If additional information about the LOGMARS bar code is required, go to www.aimglobal.org. Format: ^BLo,h,g Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 32000 g = print interpretation line above code Values: Default: value set by ^BY N = no Y = yes Default: N Example: This is an example of a LOGMARS bar code: LOGMARS BAR CODE ZPL II CODE ^XA ^FO100,75^BY3 ^BLN,100,N ^FD12AB^FS ^XZ LOGMARS 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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BL 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 10 Check Digit on page 1349. 1/31/18 Programming Guide P1099958-001 99 100 ZPL Commands ^BM ^BM – MSI Bar Code The ^BM command is a pulse-width modulated, continuous, non-self- checking symbology. It is a variant of the Plessey bar code (^BP). Each character in the MSI bar code is composed of eight elements: four bars and four adjacent spaces. • ^BM supports a print ratio of 2.0:1 to 3.0:1. • For the bar code to be valid, field data (^FD) is limited to 1 to 14 digits when parameter e is B, C, or D. ^FD is limited to 1 to 13 digits when parameter e is A, plus a quiet zone. Important • If additional information about the MSI bar code is required, go to www.aimglobal.org. Format: ^BMo,e,h,f,g,e2 Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value e = check digit selection Values: A B C D = = = = no check digits 1 Mod 10 2 Mod 10 1 Mod 11 and 1 Mod 10 Default: B h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Default: value set by ^BY N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: N e2 = inserts check digit into the interpretation line P1099958-001 Values: N = no Y = yes Default: N Programming Guide 1/31/18 ZPL Commands ^BM Example: This is an example of a MSI bar code: MSI BAR CODE ZPL II CODE ^XA ^FO100,100^BY3 ^BMN,B,100,Y,N,N ^FD123456^FS ^XZ MSI BAR CODE CHARACTERS 1 1/31/18 2 3 4 5 Programming Guide 6 7 8 9 P1099958-001 101 102 ZPL Commands ^BO ^BO – Aztec Bar Code Parameters 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 Values: N R I B = = = = normal rotated inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value b = magnification factor Values: 1 to 10 c = extended channel interpretation code indicator Values: d = error control and symbol size/type indicator Values: Default: 1 on 150 dpi printers 2 on 200 dpi printers 3 on 300 dpi printers 6 on 600 dpi printers Y = if data contains ECICs N = if data does not contain ECICs. Default: N 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: 0 e = menu symbol indicator Values: Y = if this symbol is to be a menu (bar code reader initialization) symbol N = if it is not a menu symbol Default: N f = number of symbols for structured append Values: 1 through 26 g = optional ID field for structured append The ID field is a text string with 24-character maximum P1099958-001 Default: 1 Default: no ID Programming Guide 1/31/18 ZPL Commands ^BO Example: This is an example of the ^B0 command: ZPL II CODE GENERATED LABEL ^XA ^B0R,7,N,0,N,1,0 ^FD 7. This is testing label 7^FS ^XZ 1/31/18 Programming Guide P1099958-001 103 104 ZPL Commands ^BP ^BP – Plessey Bar Code The ^BP command is a pulse-width modulated, continuous, non-self- checking symbology. Each character in the Plessey bar code is composed of eight elements: four bars and four adjacent spaces. • ^BP supports a print ratio of 2.0:1 to 3.0:1. • Field data (^FD) is limited to the width (or length, if rotated) of the label. Important • If additional information about the Plessey bar code is required, go to www.aimglobal.org. Format: ^BPo,e,h,f,g Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value e = print check digit Values: N = no Y = yes Default: N h = bar code height (in dots) Values: N = no Y = yes Default: N f = print interpretation line Values: N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: N P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BP Example: This is an example of a Plessey bar code: ZPL II CODE PLESSEY BAR CODE ^XA ^FO100,100^BY3 ^BPN,N,100,Y,N ^FD12345^FS ^XZ PLESSEY BAR CODE CHARACTERS 0 1 2 3 A 1/31/18 4 B C Programming Guide 5 D 6 E 7 8 9 F P1099958-001 105 106 ZPL Commands ^BQ ^BQ – QR Code Bar Code 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 symbol’s four corners assists in determining bar code size, position, and inclination. A wide range of symbol sizes is possible, along with four levels of error correction. User-specified module dimensions provide a wide variety of symbol production techniques. QR Code Model 1 is the original specification, while QR Code Model 2 is an enhanced form of the symbology. Model 2 provides additional features and can be automatically differentiated from Model 1. Model 2 is the recommended model and should normally be used. This bar code is printed using field data specified in a subsequent ^FD string. Encodable character sets include numeric data, alphanumeric data, 8-bit byte data, and Kanji characters. Important • If additional information about the QR Code bar code is required, go to www.aimglobal.org. Format: ^BQa,b,c,d,e Parameters Details a = field orientation Values: normal (^FW has no effect on rotation) b = model Values: 1 (original) and 2 (enhanced – recommended) Default: 2 c = magnification factor Values: 1 to 10 d = error correction Values: Default: 1 on 150 dpi printers 2 on 200 dpi printers 3 on 300 dpi printers 6 on 600 dpi printers H Q M L = = = = ultra-high reliability level high reliability level standard level high density level Default: Q = if empty M = invalid values e = mask value Values: 0 - 7 Default: 7 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BQ Example 1: This is an example of a QR Code bar code: ZPL II CODE QR CODE BAR CODE ^XA ^FO100,100 ^BQN,2,10 ^FDMM,AAC-42^FS ^XZ On the pages that follow are specific commands for formatting the ^BQ command with the ^FD statements that contain the information to be coded. QR Switches (formatted into the ^FD field data) There are 4 switch fields that are allowed, some with associated parameters and some without. Two of these fields are always present, one is optional, and one’s presence depends on the value of another. The switches are always placed in a fixed order. The four switches, in order are: Mixed mode iijjxx,Optional (note that this switch ends with a comma “,”) Error correction level Mandatory Data input ,Mandatory (note that this switch ends with a comma “,”) Character Mode Conditional (present if data input is M) Mixed mode (Optional) = D - allows mixing of different types of character modes in one code. ii = code No. – a 2 digit number in the range 01 to 16 Value = subtracted from the Nth number of the divided code (must be two digits). jj = No. of divisions – a 2 digit number in the range 02 to 16 Number of divisions (must be two digits). xx = parity data – a 2 digit hexadecimal character in the range 00 to FF 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). , = the mixed mode switch, when present, is terminated with a comma Error correction level (Required) = H, Q, M, or L H = ultra-high reliability level Q = high reliability level M = standard level (default) L = high density level 1/31/18 Programming Guide P1099958-001 107 108 ZPL Commands ^BQ Data input (Required) = A or M followed by a comma A = Automatic Input (default). Character Mode is not specified. 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. Character Mode must be specified. 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. Character Mode (Required when data input = M) = N, A, Bxxxx, or K N = numeric: digits 0 – 9 A = alphanumeric: digits 0 – 9, upper case letters A – Z, space, and $%*+-./:) (45 characters) Bxxxx = 8-bit byte mode. The ‘xxxx’ is the number of characters and must be exactly 4 decimal digits. This handles the 8-bit Latin/Kana character set in accordance with JIS X 0201 (character values 0x00 to 0xFF). 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. The data to be encoded follows immediately after the last switch. Considerations for ^FD When Using the QR Code: QR Switches (formatted into the ^FD field data) mixed mode 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 P1099958-001 = = = = ultra-high reliability level high reliability level standard level (default) high density level Programming Guide 1/31/18 ZPL Commands ^BQ character Mode 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 Follows character mode or it is the last switch in the ^FD statement. data input 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. ^FD Field Data (Normal Mode) Automatic Data Input (A) with Switches ^FD A, ^FS Example 1: QR Code, normal mode with automatic data input. ^XA ^FO20,20^BQ,2,10^FDQA,0123456789ABCD 2D code^FS ^XZ 1 1 2 3 2 3 Q = error correction level A, = automatic setting data string character Manual Data Input (M) with Switches ^FD M, ^FS 1/31/18 Programming Guide P1099958-001 109 110 ZPL Commands ^BQ Example 1: QR Code, normal mode with manual data input: ZPL II CODE GENERATED LABEL ^XA ^FO20,20^BQ,2,10 ^FDHM,N123456789012345^FS ^XZ 1 2 3 1 2 3 4 4 H = error correction level (ultra-high reliability level M, = input mode (manual input) N = character mode (numeric data) data character string Example 2: QR Code, normal mode with standard reliability and manual data input: ZPL II CODE GENERATED LABEL ^XA ^FO20,20^BQ,2,10^FDMM,AAC-42^FS ^XZ 1 1 2 3 4 P1099958-001 2 3 4 M = error correction level (standard-high reliability level M, = manual input A = alphanumeric data AC-42 = data character string Programming Guide 1/31/18 ZPL Commands ^BQ ^FD Field Data (Mixed Mode – requires more switches) Automatic Data Input (A) with Switches ^FD
, A, , , < : >, ^FS Manual Data Input (M) with Switches ^FD
, M, , , < : > < : >, ^FS n** up to 200 in mixed mode Example: QR Code, mixed mode with manual data input: GENERATED LABEL ZPL II CODE ^XA ^FO,20,20^BQ,2,10 ^FDD03048F,LM,N0123456789,A12AABB,B0006qrcode^FS ^XZ D (mixed) M (code number)
D (divisions) M (0x0C) ‘ L (high-density level) M (manual input) ‘ 1/31/18 Programming Guide N (numeric data) P1099958-001 111 112 ZPL Commands ^BQ 0123456789 ‘ A (alphanumeric data) 12AABB ‘ B (8-bit byte data) 0006 (number of bytes) qrcode Example: This is an example of QR Code, mixed mode with automatic data input: ^XA ^FO20,20^BQ,2,10 ^FDD03040C,LA,012345678912AABBqrcode^FS ^XZ D D (mixed) M 03 (code number)
D 04 (divisions) M 0C (0x0C) L L (high-density level) A A (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 P1099958-001 Programming Guide GENERATED LABEL 1/31/18 ZPL Commands ^BR ^BR – GS1 Databar (formerly Reduced Space Symbology) 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 Values: N R I B = = = = Normal Rotated Inverted Bottom-up Default: R b = symbology type in the GS1 DataBar family Values: 1 2 3 4 5 6 7 8 9 10 11 12 = = = = = = = = = = = = GS1 DataBar Omnidirectional GS1 DataBar Truncated GS1 DataBar Stacked GS1 DataBar Stacked Omnidirectional GS1 DataBar Limited GS1 DataBar Expanded UPC-A UPC-E EAN-13 EAN-8 UCC/EAN-128 and CC-A/B UCC/EAN-128 and CC-C Default: 1 c = magnification factor Values: 1 to 10 d = separator height Values: 1 or 2 Default: 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 Default: 1 e = bar code height The bar code height only affects the linear portion of the bar code. Only UCC/EAN and CC-A/B/C. Values: 1 to 32000 dots Default: 25 f = the segment width (GS1 DataBar Expanded only) 1/31/18 Values: 2 to 22, even numbers only, in segments per line Default: 22 Programming Guide P1099958-001 113 114 ZPL Commands ^BR Example 1: This is an example of Symbology Type 7 - UPC-A: ZPL II CODE GENERATED LABEL ^XA ^FO10,10^BRN,7,5,2,100 ^FD12345678901|this is composite info^FS ^XZ Example 2: This is an example of Symbology Type 1 - GS1 DataBar Omnidirectional: ZPL II CODE GENERATED LABEL ^XA ^FO10,10^BRN,1,5,2,100 ^FD12345678901|this is composite info^FS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BS ^BS – UPC/EAN Extensions 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). • ^BS supports a fixed print ratio. • Field data (^FD) is limited to exactly two or five characters. ZPL II automatically truncates or pads on the left with zeros to achieve the required number of characters. Important • If additional information about the UPC/EAN bar code is required, go to www.aimglobal.org. Format: ^BSo,h,f,g Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Default: value set by ^BY N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: Y 1/31/18 Programming Guide P1099958-001 115 116 ZPL Commands ^BS Example 1: This is an example of a UPC/EAN Two-digit bar code: ZPL II CODE UPC/EAN 2-DIGIT BAR CODE ^XA ^FO100,100^BY3 ^BSN,100,Y,N ^FD12^FS ^XZ UPC/EAN 2-DIGIT BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 Example 2: This is an example of a UPC/EAN Five-digit bar code: ZPL II CODE UPC/EAN 5-DIGIT BAR CODE ^XA ^FO100,100^BY3 ^BSN,100,Y,N ^FD12345^FS ^XZ UPC/EAN 5-DIGIT BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 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. 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 Adjustment Y - Offset Normal 209 Dots 21 Dots Rotated 0 209 Dots Supplement Origin X - Offset Adjustment Y - Offset Normal 122 Dots 21 Dots Rotated 0 122 Dots This is an example of a UPC-E: P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BS 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 UPC-A BAR CODE WITH EXTENSION ^XA ^FO100,100^BY3 ^BUN,137 ^FD07000002198^FS ^FO400,121 ^BSN,117 ^FD04414^FS ^XZ 1/31/18 Programming Guide P1099958-001 117 118 ZPL Commands ^BT ^BT – TLC39 Bar Code 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 Values: N R I B w1 = width of the Code 39 bar code = = = = normal rotated inverted bottom up Values: (in dots): 1 to 10 Default: (600 dpi printers): 4 Default: (200- and 300 dpi printer): 2 r1 = wide to narrow bar width ratio the Code 39 bar code Values: 2.0 to 3.0(increments of 0.1) h1 = height of the Code 39 bar code Values: (in dots): 1 to 9999 Default: 2.0 Default: (600 dpi printer): 120 Default: (300 dpi printer): 60 Default: (200 dpi printer): 40 h2 = row height of the MicroPDF417 bar code Values: (in dots): 1 to 255 w2 = narrow bar width of the MicroPDF417 bar code Values: (in dots): 1 to 10 P1099958-001 Default: (600 dpi printer): 8 Default: (200- and 300 dpi printers): 4 Default: (600 dpi printer): 4 Default: (200- and 300 dpi printers): 2 Programming Guide 1/31/18 ZPL Commands ^BT Example: TLC39 Bar Code 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 3 1 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). • • • 2 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. • 3 Must be 6 digits. Firmware generates invalid character error if the firmware sees anything but 6 digits. This number is not padded. 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 GENERATED LABEL ^XA^FO100, 100^BT^FD123456, ABCd12345678901234, 5551212, 88899 ^FS^XZ 1/31/18 Programming Guide P1099958-001 119 120 ZPL Commands ^BU ^BU – UPC-A Bar Code 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. • ^BU supports a fixed print ratio. • Field data (^FD) is limited to exactly 11 characters. ZPL II automatically truncates or pads on the left with zeros to achieve required number of characters. Important • If additional information about the UPC-A bar code is required, go to www.aimglobal.org. Format: ^BUo,h,f,g,e Parameters Details o = orientation Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 9999 f = print interpretation line Values: Default: value set by ^BY N = no Y = yes Default: Y g = print interpretation line above code Values: N = no Y = yes Default: N e = print check digit Values: N = no Y = yes Default: Y 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BU • 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 UPC-A BAR CODE WITH EXTENSION ^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 1349. 1/31/18 Programming Guide P1099958-001 121 122 ZPL Commands ^BX ^BX – Data Matrix Bar Code 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 Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = dimensional height of individual symbol elements Values: 1 to the width of the label s = quality level Values: 0, 50, 80, 100, 140, 200 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. Default: 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 ReedSolomon 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 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 P1099958-001 Values: 9 to 49 Programming Guide 1/31/18 ZPL Commands ^BX Parameters Details f = format ID (0 to 6) — not used with quality set at 200 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: 6 g = escape sequence control character a = aspect ratio Values: any character Default: ~ (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. Values: 1 = square 2 = rectangular Default: 1 The a parameter is only supported in V60.16.5Z and V53.16.5Z or later. Table 11 • ECC LEVEL ID = 1 ID = 2 ID = 3 ID = 4 ID = 5 ID = 6 0 596 452 394 413 310 271 50 457 333 291 305 228 200 80 402 293 256 268 201 176 100 300 218 190 200 150 131 140 144 105 91 96 72 63 Maximum Field Sizes 1/31/18 Programming Guide P1099958-001 123 124 ZPL Commands ^BX Example 1: This is an example of a square Data Matrix bar code: ZPL II CODE DATA MATRIX BAR CODE ^XA ^FO100,100 ^BXN,10,200 ^FDZEBRA TECHNOLOGIES CORPORATION 333 CORPORATE WOODS PARKWAY VERNON HILLS, IL 60061-3109^FS ^XZ Example 2: This is an example of a rectangle Data Matrix bar code: ZPL II CODE DATA MATRIX BAR CODE ^XA ^FO100,100 ^BXN,10,200,,,,,2 ^FDZEBRA TECHNOLOGIES CORPORATION 333 CORPORATE WOODS PARKWAY ^FS ^XZ a1 Effects of ^BY on ^BX w = module width (no effect) r = ratio (no effect) h = height of symbol If the dimensions of individual symbol elements are not specified in the ^BY command, the height of symbol value is divided by the required rows/columns, rounded, limited to a minimum value of one, and used as the dimensions of individual symbol elements. Field Data (^FD) for ^BX Quality 000 to 140 • The \& and || can be used to insert carriage returns, line feeds, and the backslash, similar to the PDF417. Other characters in the control character range can be inserted only by using ^FH. Field data is limited to 596 characters for quality 0 to 140. Excess field data causes no symbol to print; if ^CV is active, INVALID-L prints. The field data must correspond to a user-specified format ID or no symbol prints; if ^CV is active, INVALID-C prints. • The maximum field sizes for quality 0 to 140 symbols are shown in the table in the g parameter. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BX • 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) 1/31/18 Programming Guide P1099958-001 125 126 ZPL Commands ^BY ^BY – Bar Code Field Default 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) Values: 1 to 10 r = wide bar to narrow bar width ratio Values: 2.0 to 3.0, in 0.1 increments This parameter has no effect on fixed-ratio bar codes. h = bar code height (in dots) Initial Value at Power Up: 2 Default: 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 12 on page 126. Module width and height (w and h) can be changed at anytime with the ^BY command, regardless of the symbology selected. 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. Table 12 • Shows Module Width Ratios in Dots Ratio Module Width in Dots (w) Selected (r) 1 2 3 4 5 6 7 8 9 10 2.0 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2.1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2:1 2.1:1 2.2 2:1 2:1 2:1 2:1 2.2:1 2.16:1 2.1:1 2.12:1 2.1:1 2.2:1 2.3 2:1 2:1 2.3:1 2.25:1 2.2:1 2.16:1 2.28:1 2.25:1 2.2:1 2.3:1 2.4 2:1 2:1 2.3:1 2.25:1 2.4:1 2.3:1 2.28:1 2.37:1 2.3:1 2.4:1 2.5 2:1 2.5:1 2.3:1 2.5:1 2.4:1 2.5:1 2.4:1 2.5:1 2.4:1 2.5:1 2.6 2:1 2.5:1 2.3:1 2.5:1 2.6:1 2.5:1 2.57:1 2.5:1 2.5:1 2.6:1 2.7 2:1 2.5:1 2.6:1 2.5:1 2.6:1 2.6:1 2.57:1 2.65:1 2.6:1 2.7:1 2.8 2:1 2.5:1 2.6:1 2.75:1 2.8:1 2.6:1 2.7:1 2.75:1 2.7:1 2.8:1 2.9 3.0 2:1 3:1 2.5:1 3:1 2.6:1 3:1 2.75:1 3:1 2.8:1 3:1 2.8:1 3:1 2.85:1 3:1 2.87:1 3:1 2.8:1 3:1 2.9:1 3:1 Comments Once a ^BY command is entered into a label format, it stays in effect until another ^BY command is encountered. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^BZ ^BZ – POSTAL Bar Code 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. • ^BZ supports a print ratio of 2.0:1 to 3.0:1. • Field data (^FD) is limited to the width (or length, if rotated) of the label and by the bar code specification. 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 Values: N R I B = = = = normal rotated 90 degrees (clockwise) inverted 180 degrees read from bottom up, 270 degrees Default: current ^FW value h = bar code height (in dots) Values: 1 to 32000 f = print interpretation line Values: Default: value set by ^BY N = no Y = yes Default: g = print interpretation line above code Values: N = no Y = yes Default: t = Postal code type N Values: Postnet bar code Plant Bar Code Reserved USPS Intelligent Mail bar code Default: 0 0 1 2 3 1/31/18 N = = = = Programming Guide P1099958-001 127 128 ZPL Commands ^BZ Example 1: This is an example of a POSTNET bar code: ZPL II CODE POSTNET BAR CODE ^XA ^FO100,100^BY3 ^BZN,40,Y,N ^FD12345^FS ^XZ POSTNET BAR CODE CHARACTERS 0 1 2 3 4 5 6 7 8 9 Example 2: This is an example of a USPS Intelligent Mail bar code: ZPL II CODE USPS INTELLIGENT MAIL BAR CODE ^XA ^FO100,040^BZ,40,,,3 ^FD00123123456123456789^FS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL Commands ^CC ~CC ^CC ~CC – Change Caret The ^CC command is used to change the format command prefix. The default prefix is the caret (^). Format: ^CCx or ~CCx Parameters Details x = caret character change Values: any ASCII character Default: a parameter is required. If a parameter is not entered, the next character received is the new prefix character. Example: This is an example of how to change the format prefix to / from a :: ^XA ^CC/ /XZ The forward slash (/) is set at the new prefix. Note the /XZ ending tag uses the new designated prefix character (/). Example: This is an example of how to change the format prefix from ~ to a /: ~CC/ /XA/JUS/XZ 1/31/18 Programming Guide P1099958-001 129 130 ZPL Commands ^CD ~CD ^CD ~CD – Change Delimiter 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 a = delimiter character change Values: any ASCII character Default: 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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^CF ^CF – Change Alphanumeric Default Font 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 Values: A through Z and 0 to 9 h = individual character height (in dots) Values: 0 to 32000 w = individual character width (in dots) Values: 0 to 32000 Initial Value at Power Up: A Initial Value at Power Up: 9 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 GENERATED LABEL ^XA ^CF0,89 ^FO20,50 ^FDA GUIDE TO^FS ^FO20,150 ^FDTHE ZPL II^FS ^FO20,250 ^FDPROGRAMMING^FS ^FO20,350 ^FDLANGUAGE^FS ^XZ 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. 1/31/18 Programming Guide P1099958-001 131 132 ZPL Commands ^CI ^CI – Change International Font/Encoding 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 a = desired character set Accepted values are 0 - 12 are Zebra Code Page 850 with specific character replacements. For details, see International Character Sets on page 134 and/or Zebra Code Page 850 — Latin Character Set on page 1317. Values: Note • These parameters are only valid when parameter a = 1 - 13 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) c. 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). d. 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. e. 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. f. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^CI Parameters a = desired character set (continued) Values 28 to 30 are only supported in firmware version V60.14.x, V50.14.x, or later. Values 31 to 36 are only supported in firmware version x.16.x or later. 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 1317) 14 = Double Byte Asian Encodings c 15 = Shift-JIS d 16 = EUC-JP and EUC-CN c 17 = Deprecated - UCS-2 Big Endian f 18 to 23 = Reserved 24 = Single Byte Asian Encodings c 25 = Reserved 26 = Multibyte Asian Encodings with ASCII Transparency c and e 27 = Zebra Code Page 1252 (see page 1322) 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 1320) 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 s1 = source 1 (character output image) Values: decimals 0 to 255 d1 = destination 1 (character input) Values: decimals 0 to 255 s2 = source 2 (character output image) Values: decimals 0 to 255 d2 = destination 2 (character input) Values: decimals 0 to 255 c. 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). d. 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. e. 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. f. 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. 1/31/18 Programming Guide P1099958-001 133 134 ZPL Commands ^CI Parameters Details … = continuation of pattern Up to 256 source and destination pairs can be entered in this command. c. 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). d. 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. e. 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. f. 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. 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 GENERATED LABEL ^XA ^CI0,21,36 ^FO100,200^A0N50,50^FD$0123^FS ^XZ The font selected determines the shape and resolution of the printed symbol. International Character Sets P1099958-001 Programming Guide 1/31/18 ZPL Commands ^CI Note • ^CI 13 = US keyboard Comments The space character cannot be remapped for any font. 1/31/18 Programming Guide P1099958-001 135 136 ZPL Commands ^CM ^CM – Change Memory Letter Designation The ^CM command allows you to reassign a letter designation to the printer’s 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: Default: B: b = memory alias for E: Default: E: c = memory alias for R: Values: B:, E:,R:, A:, and NONE Values: B:, E:,R:, A:, and NONE Values: B:, E:,R:, A:, and NONE Default: R: Values: B:, E:,R:, A:, and NONE d = memory alias for A: Default: A: e = multiple alias Values: M, or no value Default: 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. ^XA ^CME,B,R,A ^JUS ^XZ Example 2: This example designates that content sent to, or read from the B: or E: memory locations will be sent to or read from the E: memory location. ^XA ^CME,E,R,A,M ^JUS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL Commands ^CM Example 3: This example designates that content sent to, or read from the A: or E: memory locations will be sent to or read from the E: memory location. ^XA ^CMB,E,R,E,M ^JUS ^XZ Example 4: This example designates that content sent to, or read from the A:, B: or E: memory locations will be sent to or read from the E: memory location. ^XA ^CME,E,R,E,M ^JUS ^XZ Note • Examples 2, 3 and 4 are the only valid uses of the multiple alias parameter. 1/31/18 Programming Guide P1099958-001 137 138 ZPL Commands ^CN ^CN – Cut Now 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 275. Supported Devices • KR403 Format: ^CNa Parameters Details a = Cut Mode Override Values: 0 = Use the “kiosk cut amount” setting from ^KV 1 = Ignore “kiosk cut amount” from ^KV and do a full cut Default: none The command is ignored if parameters are missing or invalid. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^CO ^CO – Cache On 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. Format: ^COa,b,c Parameters Details a = cache on Values: N = no Y = yes Default: Y b = amount of additional memory to be added to cache (in K) Values: 1 to 9999 c = cache type Values: Default: 40 0 = cache buffer (normal fonts) 1 = internal buffer (recommended for Asian fonts) Default: 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 1/31/18 Programming Guide P1099958-001 139 140 ZPL Commands ^CO Print Cache Performance For printing large characters, memory added to the cache by the ^CO command is not physically added to the 22K cache already in the printer. In the second example above, the resulting 100K cache is actually two separate blocks of memory, 22K and 78K. Because large characters need contiguous blocks of memory, a character requiring a cache of 90K would not be completely stored because neither portion of the 100K cache is big enough. Therefore, if large characters are needed, the ^CO command should reflect the actual size of the cache you need. Increasing the size of the cache improves the performance in printing scalable fonts. However, the performance decreases if the size of the cache becomes large and contains too many characters. The performance gained is lost because of the time involved searching the cache for each character. Comments The cache can be resized as often as needed. Any characters in the cache when it is resized are lost. Memory used for the cache reduces the space available for label bitmaps, graphic, and fonts. Some Asian fonts require an internal working buffer that is much larger than the normal cache. Since most fonts do not require this larger buffer, it is now a selectable configuration option. Printing with the Asian fonts greatly reduces the printer memory available for labels, graphics, fonts, formats, and label bitmaps. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^CP ^CP – Remove Label 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 a = kiosk present mode Values: 0 = Eject presented page 1 = Retracts presented page 2 = Takes the action defined by c parameter of ^KV command. Default: none The command is ignored if parameters are missing or invalid. 1/31/18 Programming Guide P1099958-001 141 142 ZPL Commands ^CT ~CT ^CT ~CT – Change Tilde 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 a = change control command character Values: any ASCII character Default: 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 +: ^XA ^CT+ ^XZ +HS P1099958-001 Programming Guide 1/31/18 ZPL Commands ^CV ^CV – Code Validation 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: character not in character set check-digit incorrect data field too long data field too short parameter string contains incorrect data (occurs only on select bar codes) C E L S P = = = = = 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 Values: N = no Y = yes Default: N 1/31/18 Programming Guide P1099958-001 143 144 ZPL Commands ^CV 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 GENERATED LABEL ^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 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^CW ^CW – Font Identifier 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 Values: A through Z and 0 to 9 d = device to store font in (optional) Values: R:, E:, B:, and A: Default: R: o = name of the downloaded font to be substituted for the built-in, or as an additional font Values: any name up to 8 characters x = extension Values: .TTE is only supported in Default: a one-character entry is required Default: if a name is not specified, UNKNOWN is used .FNT = Font .TTF = TrueType Font .TTE = TrueType Extension firmware version V60.14.x, V50.14.x, or later. 1/31/18 Programming Guide P1099958-001 145 146 ZPL Commands ^CW Example: These examples show how to use: • MYFONT.FNT stored in DRAM whenever a format calls for Font A: • • ^XA ^CWA,R:MYFONT.FNT ^XZ MYFONT.FNT stored in DRAM additionally as Font Q: ^XA ^CWQ,R:MYFONT.FNT ^XZ NEWFONT.FNT stored in DRAM whenever a format calls for font F: ^XA ^CWF,R:NEWFONT.FNT ^XZ Label Listing Before Assignment P1099958-001 Programming Guide Label Listing After Assignment 1/31/18 ZPL Commands ~DB ~DB – Download Bitmap Font 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 Default: R: Values: R:, E:, B:, and A: o = name of font Values: 1 to 8 alphanumeric characters Default: if a name is not specified, UNKNOWN is used x = extension Format: a = orientation of native font Fixed Value: h = maximum height of cell (in dots) Values: 1 to 32000 w = maximum width of cell (in dots) Values: 1 to 32000 base = dots from top of cell to character baseline Values: 1 to 32000 space = width of space or non-existent characters Values: 1 to 32000 #char = number of characters in font Values: 1 to 256 (must match the characters being downloaded) © = copyright holder Values: 1 to 63 alphanumeric characters .FNT normal Default: a value must be specified Default: a value must be specified Default: a value must be specified Default: a value must be specified Default: a value must be specified Default: a value must be specified data = structured ASCII data that defines each character in the font 1/31/18 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 Programming Guide P1099958-001 147 148 ZPL Commands ~DB 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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ~DE ~DE – Download Encoding 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 d = location of table Values: R:, E:, B:, and A: Default: R: o = name of table Values: any valid name, up to 8 characters Default: if a name is not specified, UNKNOWN is used x = extension Format: s = table size Values: the number of memory bytes required to hold the Zebra downloadable format of the font Default: if an incorrect value or no value is entered, the command is ignored data = data string Values: a string of ASCII hexadecimal values Default: if no data is entered, the command is ignored .DAT Example: This is an example of how to download the required translation table: ~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). Example: This is an example of a .DAT table. The table below the example identifies the elements: ~DEE:EXAMPLE.DAT,16, 00310041 00320042 1 2 00330043 00340044 3 4 1/31/18 Programming Guide P1099958-001 149 150 ZPL Commands ~DE 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^DF ^DF – Download Format 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 saved—this 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 Default: R: Values: R:, E:, B:, and A: o = image name Values: 1 to 16 alphanumeric characters with a file type of 1 to 3 alphanumeric characters separated by a "." Default: if a name is not specified, UNKNOWN is used. x = extension Format: .ZPL For a complete example of the ^DF and ^XF command, see ^DF and ^XF — Download format and recall format on page 38. Example: This example is generated using the ^XF command to recall this format: ZPL II CODE GENERATED LABEL ^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 1/31/18 Programming Guide P1099958-001 151 152 ZPL Commands ~DG ~DG – Download Graphics 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 159. Format: ~DGd:o.x,t,w,data Parameters Details d = device to store image Values: R:, E:, B:, and A: Default: R: o = image name Values: 1 to 8 alphanumeric characters Default: if a name is not specified, UNKNOWN is used x = extension Format: .GRF t = total number of bytes in graphic See the formula in the examples below. w = number of bytes per row See the formula in the examples below. data = ASCII hexadecimal string defining image The data string defines the image and is an ASCII hexadecimal representation of the image. Each character represents a horizontal nibble of four dots. This is the key for the examples that follow: x y z 8 P1099958-001 = width of the graphic in millimeters = height of the graphic in millimeters = dots/mm = print density of the printer being programmed = bits/byte Programming Guide 1/31/18 ZPL Commands ~DG Examples: These are some example related to the ~DG command: To determine the t parameter use this formula: 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: 8 × 128 = 1024 t = 1024 Raise any portion of a byte to the next whole byte. To determine the w parameter (the width in terms of bytes per row) use this formula: xz ----- = ( totalbytes ) ⁄ ( row ) 8 w = 8 To determine the correct w parameter for a graphic 8 mm wide and a print density of 8 dots/mm, use this formula: 8----------× 8- = 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. 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 GENERATED LABEL ~DGR:SAMPLE.GRF,00080,010, FFFFFFFFFFFFFFFFFFFF 8000FFFF0000FFFF0001 8000FFFF0000FFFF0001 8000FFFF0000FFFF0001 FFFF0000FFFF0000FFFF FFFF0000FFFF0000FFFF FFFF0000FFFF0000FFFF FFFFFFFFFFFFFFFFFFFF ^XA ^FO20,20^XGR:SAMPLE.GRF,1,1^FS ^XZ 1/31/18 Programming Guide P1099958-001 153 154 ZPL Commands ~DG 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~DN ~DN – Abort Download Graphic 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. 1/31/18 Programming Guide P1099958-001 155 156 ZPL Commands ~DS ~DS – Download Intellifont (Scalable Font) 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 vendor-supplied 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 Default: R: o = image name Values: 1 to 8 alphanumeric characters Values: R:, E:, B:, and A: Default: if a name is not specified, UNKNOWN is used x = extension Fixed Value: .FNT s = size of font in bytes Fixed Value: this number is generated by ZTools and should not be changed data = ASCII hexadecimal string that defines font 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 157, ~DU on page 158, and ~DY on page 159. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~DT ~DT – Download Bounded TrueType Font 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 158. ZTools creates a downloadable file that includes a ~DT command. For information on converting and downloading Intellifont information, see ~DS on page 156. Format: ~DTd:o.x,s,data Parameters Details d = font location Values: R:, E:, B:, and A: Default: R: o = font name Values: any valid TrueType name, up to 8 characters Default: if a name is not specified, UNKNOWN is used x = extension Fixed Value: s = font size Values: the number of memory bytes required to hold the Zebra-downloadable format of the font Default: if an incorrect value or no value is entered, the command is ignored data = data string Values: a string of ASCII hexadecimal values (two hexadecimal digits/byte). The total number of two-digit values must match parameter s. .DAT Default: if no data is entered, the command is ignored Example: This is an example of how to download a true type font: ~DTR:FONT,52010,00AF01B0C65E... (52010 two-digit hexadecimal values) 1/31/18 Programming Guide P1099958-001 157 158 ZPL Commands ~DU ~DU – Download Unbounded TrueType Font 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 Zebradownloadable format. The Field Block (^FB) command cannot support the large TrueType fonts. Format: Parameters ~DUd:o.x,s,data Details d = font location Values: R:, E:, B:, and A: Default: R: o = font name Values: 1 to 8 alphanumeric characters Default: if a name is not specified, UNKNOWN is used x = extension Format: s = font size Values: the number of memory bytes required to hold the Zebra-downloadable format of the font Default: if no data is entered, the command is ignored data = data string Values: a string of ASCII hexadecimal values (two hexadecimal digits/byte). The total number of two-digit values must match parameter s. .FNT Default: if no data is entered, the command is ignored Example: This is an example of how to download an unbounded true type font: ~DUR:KANJI,86753,60CA017B0CE7... (86753 two-digit hexadecimal values) For similar commands, see ~DS on page 156, ~DT on page 157, and ~DY on page 159. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~DY ~DY – Download Objects 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 d = file location Details Values: R:, E:, B:, and A: Default: R: .NRD and .PAC files reside on E: in firmware versions V60.15.x, V50.15.x, or later. f = file name Values: 1 to 8 alphanumeric characters Default: if a name is not specified, UNKNOWN is used b = format downloaded in data field Values: .TTE and .TTF are only supported in firmware versions V60.14.x, V50.14.x, or later. Default: a value must be specified x = extension of stored file Values: .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. 1/31/18 A B C P = = = = B = E = G = P = T = X = NRD PAC C = F = H = uncompressed (ZB64, ASCII) uncompressed (.TTE, .TTF, binary) AR-compressed (used only by Zebra’s BAR-ONE® v5) portable network graphic (.PNG) - ZB64 encoded bitmap TrueType Extension (.TTE) raw bitmap (.GRF) store as compressed (.PNG) TrueType (.TTF) or OpenType (.OTF) Paintbrush (.PCX) = Non Readable File (.NRD) = Protected Access Credential (.PAC) User defined menu file (WML) User defined webpage file (HTM) Printer feedback file (GET) Default: a value other than the accepted values defaults to .GRF Programming Guide P1099958-001 159 160 ZPL Commands ~DY Parameters Details t = total number of bytes in file 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 .TTE is only supported in firmware versions V60.14.x, V50.14.x, or later. 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. w = total number of bytes per row .TTE is only supported in firmware version V60.14.x, V50.14.x, or later. Values: .GRF images: number of bytes per row .PNG images: value ignored .TTF images: value ignored .TTE images: value ignored .NRD images: value ignored .PAC images: value ignored .NRD and .PAC files are supported in firmware version V60.15.x, V50.15.x, or later. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~DY 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,, Examples: These examples show: • that when the ^IM command is used with the ^FO command, the ^IM command (see ^IM on page 220) 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 219) 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 1365. These are some important things to know about this command in firmware version V60.14.x, V50.14.x, or later: 1/31/18 • 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. Programming Guide P1099958-001 161 162 ZPL Commands ~EG ~EG – Erase Download Graphics See ^ID on page 217. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^FB ^FB – Field Block 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) Values: 0 to the width of the label b = maximum number of lines in text block Values: 1 to 9999 c = add or delete space between lines (in dots) Values: -9999 to 9999 d = text justification Values: Default: 0 If the value is less than font width or not specified, text does not print. Default: 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. Default: 0 Numbers are considered to be positive unless preceded by a minus sign. Positive values add space; negative values delete space. L C R J = = = = left center right justified Default: L If J is used the last line is left-justified. e = hanging indent (in dots) of the second and remaining lines 1/31/18 Values: 0 to 9999 Default: 0 Programming Guide P1099958-001 163 164 ZPL Commands ^FB Example: These are examples of how the ^FB command affects field data. ZPL II CODE GENERATED LABEL ^XA ^CF0,30,30^FO25,50 ^FB250,4,, ^FDFD command that IS\& preceded by an FB \&command. ^FS ^XZ ^XA ^CF0,30,30^FO25,50 ^FDFD command that IS NOT preceded by an FB command.^FS ^XZ 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. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^FB 1/31/18 Programming Guide P1099958-001 165 166 ZPL Commands ^FC ^FC – Field Clock 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 a = primary clock indicator character Values: any ASCII character Default: % b = secondary clock indicator character Values: any ASCII character Default: none—this value cannot be the same as a or c c = third clock indicator character Values: any ASCII character Default: none—this 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 GENERATED LABEL ^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 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 1375. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^FD ^FD – Field Data The ^FD command defines the data string for a field. The field data can be any printable character except those used as command prefixes (^ and ~). In RFID printers, it can also be used to specify passwords to write to tags. Format: ^FDa Parameters Details a = • data to be printed (all Values: any data string up to 3072 bytes Default: none—a string of characters must be entered • printers), or a password to be written to a RFID tag (rfid printers) Comments The ^ and ~ characters can be printed by changing the prefix characters—see ^CD ~CD on page 130 and ^CT ~CT on page 142. 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 164. 1/31/18 Programming Guide P1099958-001 167 168 ZPL Commands ^FH ^FH – Field Hexadecimal Indicator 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 Values: any character except current format and control prefix (^ and ~ by default) Default: _ (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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^FH Examples: These are examples of how ^FH works with UTF-8 and UTF-16BE: UTF-8 ZPL II CODE GENERATED LABEL ^XA ^CI28 ^LL500 ^FO100,100 ^AA,20,20 ^FH^FDU+00A1 in UTF8 = _C2_A1^FS ^XZ UTF-16BE ZPL II CODE GENERATED LABEL ^XA ^CI29 ^LL500 ^FO100,100 ^AA,20,20 ^FH^FDU+00A1 in UTF16BE = _00_A1^FS ^XZ 1/31/18 Programming Guide P1099958-001 169 170 ZPL Commands ^FL ^FL – Font Linking 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, use the font wizard in ZebraNet Bridge. Format: ^FL , , Parameters Details 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). The base font can be any of the following types: .FNT .TTF or .TTE From these font types you can only link to a .TTF or .TTE. The name of the base font can be expressed as a wild card; doing so will define multiple base fonts. The result will be that all base font files so defined will be linked to the file defined in the parameter. 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 linked with the specified 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: Values: 0 = is to be unlinked (disassociated) from the file(s) specified in 1 = is to be linked (associated) with the file(s) specified by Default: 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. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^FL 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 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 1/31/18 Programming Guide GENERATED LABEL P1099958-001 171 172 ZPL Commands ^FM ^FM – Multiple Field Origin Locations 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 x1 = x-axis location of first symbol (in dots) Values: 0 to 32000 e = exclude this bar code from printing Default: a value must be specified y1 = y-axis location of first symbol (in dots) Values: 0 to 32000 e = exclude this bar code from printing Default: a value must be specified x2 = x-axis location of second symbol (in dots) Values: 0 to 32000 e = exclude this bar code from printing Default: a value must be specified y2 = y-axis location of second symbol (in dots) Values: 0 to 32000 e = exclude this bar code from printing Default: a value must be specified … = continuation of X,Y pairs P1099958-001 Maximum number of pairs: 60 Programming Guide 1/31/18 ZPL Commands ^FM 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 GENERATED LABEL ^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 1 1 1/31/18 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. Programming Guide P1099958-001 173 174 ZPL Commands ^FM Example: This example assumes a maximum of three bar codes, with bar code 2 of 3 omitted: ZPL II CODE GENERATED LABEL ^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 1 1 The ellipse is not part of the code. It indicates that the text needs to be repeated seven times, as mentioned in the example description. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^FN ^FN – Field Number 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 # = number to be assigned to the field Values: 0 to 9999 "a" = optional parameter* Values: 255 alphanumeric characters maximum (a-z,A-Z,1-9 and space) Default: optional parameter Default: 0 * 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 38. 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 ^FN1"Name" would result in "Name" being used as the prompt on the KDU unit. 1/31/18 Programming Guide P1099958-001 175 176 ZPL Commands ^FO ^FO – Field Origin The ^FO command sets a field origin, relative to the label home (^LH) position. ^FO sets the upperleft 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 x = x-axis location (in dots) Values: 0 to 32000 y = y-axis location (in dots) Values: 0 to 32000 z = justification Values: The z parameter is only supported in firmware versions V60.14.x, V50.14.x, or later. Default: last accepted ^FW value or ^FW default Default: 0 Default: 0 0 = left justification 1 = right justification 2 = auto justification (script dependent) 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 1369. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^FP ^FP – Field Parameter 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 Values: H = horizontal printing (left to right) V = vertical printing (top to bottom) R = reverse printing (right to left) Default: H g = additional inter-character gap (in dots) Values: 0 to 9999 Default: 0 if no value is entered Example: This is an example of how to implement reverse and vertical print: For vertical and reverse printing directions, combining semantic clusters are used to place characters. This command interacts with the justification parameters of ^FO and ^FT and with the rotation parameter of ^A. For output and examples, see Field Interactions on page 1369. 1/31/18 Programming Guide P1099958-001 177 178 ZPL Commands ^FR ^FR – Field Reverse Print 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 GENERATED LABEL ^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 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^FS ^FS – Field Separator 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: 1/31/18 ^FS Programming Guide P1099958-001 179 ZPL Commands ^FT ^FT – Field Typeset 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 x = x-axis location (in dots) Values: 0 to 32000 y = y-axis location (in dots) Values: 0 to 32000 z = justification Values: Default: position after last formatted text field Default: position after last formatted text field 0 = left justification 1 = right justification 2 = auto justification (script dependent) Default: last accepted ^FW value or ^FW default The z parameter is only supported in firmware version V60.14.x, V50.14.x, or later. 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. Left Justified Table 13 • Typeset Justification Right Justified 180 P1099958-001 Text For examples, see Field Interactions on page 1369. Bar Codes Origin is base of bar code, at left edge Graphic Boxes Origin is bottom-left corner of the box Images Origin is bottom-left corner of the image area Text For examples, see Field Interactions on page 1369. Bar Codes Origin is base of bar code, at right edge Graphic Boxes Origin is bottom-right corner of the box Images Origin is bottom-right corner of the image area Programming Guide 1/31/18 ZPL Commands ^FT Example: This is an example of the ^FT command and concatenation: When a coordinate is missing, the position following the last formatted field is assumed. This remembering simplifies field positioning with respect to other fields. Once the first field is positioned, other fields follow automatically. There are several instances where using the ^FT command without specifying x and y parameters is not recommended: • when positioning the first field in a label format • at any time with the ^FN (Field Number) command • following an ^SN (Serialization Data) command • variable data • bidirectional text The right typeset justified is available only for printers with firmware version V60.14.x, V50.14.x, or later. This command interacts with the field direction parameters of ^FP and with the rotation parameter of ^A. For output and code examples, see Field Interactions on page 1369 1/31/18 Programming Guide P1099958-001 181 182 ZPL Commands ^FV ^FV – Field Variable ^FV replaces the ^FD (field data) command in a label format when the field is variable. Format: ^FVa Parameters Details a = variable field data to be printed Values: 0 to 3072 byte string Default: 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 GENERATED LABEL ^XA ^FO40,40 ^GB300,203,8^FS ^FO55,60^CF0,25 ^FVVARIABLE DATA #1^FS ^FO80,150 ^FDFIXED DATA^FS ^MCN ^XZ ^XA ^FO55,60^CF0,25 ^FVVARIABLE DATA #2^FS ^MCY ^XZ Comments ^FV fields are always cleared after the label is printed. ^FD fields are not cleared. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^FW ^FW – Field Orientation 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 Values: N R I B = = = = normal rotated 90 degrees inverted 180 degrees bottom-up 270 degrees, read from bottom up Initial Value at Power Up: N z = justification Values: The z parameter is available only with printers with firmware version V60.14.x, V50.14.x, or later. Default: auto for ^TB and left for all other commands 0 = left justification 1 = right justification 2 = auto justification (script dependent) Example: This example shows how ^FW rotation works in conjunction with ^FO. In this example, note that: • • the fields using A0N print the field in normal rotation the fields with no rotation indicated (A0) follow the rotation used in the ^FW command (^FWR). 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. 1/31/18 Programming Guide P1099958-001 183 184 ZPL Commands ^FW ^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 . P1099958-001 Programming Guide 1/31/18 ZPL Commands ^FX ^FX – Comment 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 c = non printing comment Creates a non-printable comment. Example: This is an example of how to use the ^FX command effectively: ZPL II CODE GENERATED LABEL ^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 Comments Correct usage of the ^FX command includes following it with the ^FS command. 1/31/18 Programming Guide P1099958-001 185 186 ZPL Commands ^GB ^GB – Graphic Box 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) Default: value used for thickness (t) or 1 h = box height (in dots) Values: value of t to 32000 Values: value of t to 32000 Default: value used for thickness (t) or 1 t = border thickness (in dots) Values: 1 to 32000 c = line color Values: Default: 1 B = black W = white Default: B r = degree of cornerrounding Values: 0 (no rounding) to 8 (heaviest rounding) Default: 0 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). P1099958-001 Programming Guide 1/31/18 ZPL Commands ^GB Examples: Here are a few examples of graphic boxes: Width: 1.5 inch; Height: 1 inch; Thickness: 10; Color: default; Rounding: default ZPL II CODE GENERATED LABEL ^XA ^FO50,50 ^GB300,200,10^FS ^XZ Width: 0 inch; Height: 1 inch; Thickness: 20; Color: default; Rounding: default: ZPL II CODE GENERATED LABEL ^XA ^FO50,50 ^GB0,203,20^FS ^XZ Width: 1 inch; Height: 0 inch; Thickness: 30; Color: default; Rounding: default ZPL II CODE GENERATED LABEL ^XA ^FO50,50 ^GB203,0,20^FS ^XZ Width: 1.5 inch; Height: 1 inch; Thickness: 10; Color: default; Rounding: 5 ZPL II CODE GENERATED LABEL ^XA ^FO50,50 ^GB300,200,10,,5^FS ^XZ 1/31/18 Programming Guide P1099958-001 187 188 ZPL Commands ^GC ^GC – Graphic Circle 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) Values: 3 to 4095 (larger values are replaced with 4095) t = border thickness (in dots) Values: 2 to 4095 c = line color Values: Default: 3 Default: 1 B = black W = white Default: B Example: This is an example of how to create a circle on the printed label: ZPL II CODE GENERATED LABEL ^XA ^FO50,50 ^GC250,10,B^FS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL Commands ^GD ^GD – Graphic Diagonal Line 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) Values: 3 to 32000 h = box height (in dots) Values: 3 to 32000 t = border thickness (in dots) Values: 1 to 32000 Default: 1 c = line color Values: Default: value of t (thickness) or 3 Default: value of t (thickness) or 3 B = black W = white Default: B o = orientation (direction of the diagonal) Values: R (or /) = right-leaning diagonal L (or \) = left-leaning diagonal Default: R Example: This is an example of how to create a diagonal line connecting one corner with the opposite corner of a box on a printed label: ZPL II CODE GENERATED LABEL ^XA ^FO150,100 ^GB350,203,10^FS ^FO155,110 ^GD330,183,10,,R^FS ^XZ 1/31/18 Programming Guide P1099958-001 189 190 ZPL Commands ^GE ^GE – Graphic Ellipse The ^GE command produces an ellipse in the label format. Format: ^GEw,h,t,c Parameters Details w = ellipse width (in dots) Values: 3 to 4095 (larger values are replaced with 4095) Default: value used for thickness (t) or 1 h = ellipse height (in dots) Values: 3 to 4095 Default: value used for thickness (t) or 1 t = border thickness (in dots) Values: 2 to 4095 Default: 1 c = line color Values: B = black W = white Default: B Example: This is an example of how to create a ellipse on a printed label: ZPL II CODE GENERATED LABEL ^XA ^FO100,100 ^GE300,100,10,B^FS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL Commands ^GF ^GF – Graphic Field The ^GF command allows you to download graphic field data directly into the printer’s 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 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 Zebra’s compression algorithm. The data is then decompressed and placed directly into the bitmap.) Default: A b = binary byte count 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: command is ignored if a value is not specified c = graphic field count 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: command is ignored if a value is not specified d = bytes per row Values: 1 to 99999 This is the number of bytes in the downloaded data that comprise one row of the image. Default: command is ignored if a value is not specified data = data 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 1/31/18 Programming Guide P1099958-001 191 192 ZPL Commands ^GF 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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^GS ^GS – Graphic Symbol The ^GS command enables you to generate the registered trademark, copyright symbol, and other symbols. Format: ^GSo,h,w Parameters Details o = field orientation Values: N R I B = = = = normal rotate 90 degrees clockwise inverted 180 degrees bottom-up, 270 degrees Default: N or last ^FW value h = character height proportional to width (in dots) Values: 0 to 32000 Default: last ^CF value w = character width proportional to height (in dots) Values: 0 to 32000 Default: last ^CF value Example: Use the ^GS command followed by ^FD and the appropriate character (A through E) within the field data to generate the desired character: ZPL II CODE GENERATED LABEL ^XA^CFD ^FO50,50 ^FDZEBRA PROGRAMMING^FS ^FO50,75 ^FDLANGUAGE II (ZPL II )^FS ^FO280,75 ^GS^FDC^FS ^XZ 1/31/18 Programming Guide P1099958-001 193 194 ZPL Commands ~HB ~HB – Battery Status When the ~HB command is sent to the printer, a data string is sent back to the host. The string starts with an control code sequence and terminates by an control code sequence. Important • This command only responds to mobile printers. Format: ~HB Parameters: when the printer receives the command, it returns: bb.bb,hh.hh,bt bb.bb hh.hh bt = = = = = = = 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~HD ~HD – Head Diagnostic 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: 1/31/18 Programming Guide P1099958-001 195 196 ZPL Commands ^HF ^HF – Host Format The ^HF command sends stored formats to the host. Format: ^HFd,o,x Parameters Details d = device to recall image Values: R:, E:, B:, and A: Default: R: o = image name Values: 1 to 8 alphanumeric characters Default: if a name is not specified, UNKNOWN is used x = extension Fixed Value: .ZPL Example: This example shows the sequence and results. Using a terminal emulator, you download this code to the printer: ^XA ^DFB:FILE1.ZPL ^FO100,100^A0,100 ^FDTEST^FS ^XZ Then you send this code to the printer: ^XA ^HFB:FILE1.ZPL ^XZ The terminal emulator returns this code: ^XA^DFFILE1, ^FO100,100^A0,100^FDTEST^FS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL Commands ^HG ^HG – Host Graphic 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 d = device location of object Default: search priority o = object name Values: 1 to 8 alphanumeric characters Values: R:, E:, B:, and A: Default: if a name is not specified, UNKNOWN is used x = extension Fixed Value: .GRF Comments For more information on uploading graphics, see ^HY on page 215. 1/31/18 Programming Guide P1099958-001 197 198 ZPL Commands ^HH ^HH – Configuration Label Return 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: P1099958-001 Programming Guide 1/31/18 ZPL Commands ~HI ~HI – Host Identification 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-permillimeter setting, memory size, and any detected options. 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 options only options specific to printer are shown (cutter, options, et cetera.) 1/31/18 Programming Guide P1099958-001 199 200 ZPL Commands ~HM ~HM – Host RAM Status Sending ~HM to the printer immediately returns a memory status message to the host. Use this command whenever you need to know the printer’s 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 1 2 3 1024,0780,0780 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~HQ ~HQ – Host Query 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 202. Values: ES = requests the printer’s status - see Table 14 on page 201 and Table 15 HA JT MA MI OD PH PP SN UI = = = = = = = = = on page 202 hardware address of the internal wired print server requests a summary of the printer’s printhead test results maintenance alert settings maintenance information odometer printhead life history printer’s Plug and Play string printer’s serial number USB product ID and BDC release version Default: 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. Table 14 • Error Flags (~HQES) Group 2 Error Flags Flag Group 1 (X = Value can be any hexadecimal number [0-9, A-F]) Nibbles16-9 Nibble 8 Nibble 7 Nibble 6 Nibble 5 Nibble 4 Nibble 3 Nibble 2 Nibble 1 No Error 0 00000000 0 0 0 0 0 0 0 0 Error Present 1 00000000 X X X X X X X X Printhead Thermistor Open 1 00000000 X X X X X 2 X X Invalid Firmware Config. 1 00000000 X X X X X 1 X X Printhead Detection Error 1 00000000 X X X X X X 8 X Bad Printhead Element 1 00000000 X X X X X X 4 X Motor Over Temperature 1 00000000 X X X X X X 2 X Printhead Over Temperature 1 00000000 X X X X X X 1 X g. This error flag is supported only on KR403 printers. 1/31/18 Programming Guide P1099958-001 201 202 ZPL Commands ~HQ Table 14 • Error Flags (~HQES) Group 2 Error Flags Flag Group 1 (X = Value can be any hexadecimal number [0-9, A-F]) Nibbles16-9 Nibble 8 Nibble 7 Nibble 6 Nibble 5 Nibble 4 Nibble 3 Nibble 2 Nibble 1 Cutter Fault 1 00000000 X X X X X X X 8 Head Open 1 00000000 X X X X X X X 4 Ribbon Out 1 00000000 X X X X X X X 2 1 00000000 X X X X X X X 1 00000000 X X X X 8 X X X 00000000 X X X X 4 X X X X X X Media Out g Clear Paper Path Failed Paper Feed Error 1 g 1 Presenter Not Running g Paper Jam during Retract 1 g 1 Black Mark Calabrate Error Retract Function timed out Paused 1 g Black Mark not Found g g g 1 1 1 g g g g g g g g 00000000 X X X X 00000000 X X X 00000000 X X X 8 00000000 X X X 4 00000000 00000000 X X X X X X X 2 1 g g g g 2 1 g g g g X X X X X X X X X X X X X X X X X X X g. This error flag is supported only on KR403 printers. Table 15 • Warning Flags (~HQES) Group 2 Error Flags Flag Nibbles16-9 Group 1 Nibble 8 Nibble 7 (X = Value can be any hexadecimal number [0-9, A-F]) Nibble 6 Nibble 5 Nibble 4 Nibble 3 Nibble 2 Nibble 1 No Warning 0 00000000 0 0 0 0 0 0 0 0 Warning Present 1 00000000 X X X X X X X X 00000000 X X X X X X X Paper-near-end Sensor h 1 h 8 h Replace Printhead 1 00000000 X X X X X X X 4 Clean Printhead 1 00000000 X X X X X X X 2 Need to Calibrate Media 1 00000000 X X X X X X X 1 X Sensor 1 (Paper before head) h Sensor 2 (Black mark) h 1 Sensor 3 (Paper after head) Sensor 4 (loop ready) Sensor 5 (presenter) Sensor 7 (in retract) Sensor 8 (at bin) h h h h 1 h 1 h Sensor 6 (retract ready) h 1 h 1 h h h 1 h h 1 1 h 00000000 X X X X X X h 1 00000000 X X X X X X 2 X h 4 X X X h 8 X X X X X X X X X 00000000 X 00000000 X X X X X X X X 00000000 X X X X X h 1 00000000 X X X X X 2 X h 4 00000000 X 00000000 X X X X X X X X 8 h h h X h. This error flag is supported only on KR403 printers. ~HQ Examples This section provides detail examples of all the available parameters. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~HQ Example 1: This example shows how to request the printer’s status. a. To request the printer’s status, type ~HQES The printer responds with data similar to this: PRINTER STATUS ERRORS: WARNINGS: 1 00000000 00000005 1 00000000 00000002 In this example, the Printer Status resolves to these conditions: • The cover/printhead is open (value = 4). • Media is out or not loaded into the printer (value = 1). • The printhead needs to be cleaned (value = 2). • Error nibble 1 is equal to 5 when the error status values are added together (4 + 1). This illustration identifies the printer status definitions: 3 1 PRINTER STATUS ERRORS: WARNINGS: 1 00000000 00000005 1 00000000 00000002 2 1 2 3 4 5 6 5 4 6 Flag Nibble 16-9 Nibble 8-4 Nibble 3 Nibble 2 Nibble 1 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 The printer responds with data similar to this: PRINTER STATUS ERRORS: 1 00000000 0000000B WARNINGS: 0 00000000 00000000 In this example, the printer status resolves to the following conditions: • The cutter has a fault (value = 8). • Ribbon is out or not loaded into the printer (value = 2). • Media is out or not loaded into the printer (value = 1). • Error byte 1 is equal to B when the error status values are added together (8 + 2 + 1 = hexadecimal B). 1/31/18 Programming Guide P1099958-001 203 204 ZPL Commands ~HQ Example 3: This is an example of how to retrieve the hardware address of the internal wired print server. a. To get the hardware address of the internal wired print server, type ~HQHA The printer responds with data similar to this: MAC ADDRESS 00:07:4d:2c:e0:7a Example 4: This is an example of how to request a summary of the printer’s 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 248. a. To request a summary of the printer’s printhead test, type ~HQJT The printer responds with data similar to this: PRINT HEAD TEST RESULTS 0,A,0000,0000,0000 When the printer has printed enough labels to trigger a printhead test, the initial data changes. b. To request a summary of the printer’s printhead test, type ~HQJT The printer responds with data similar to this: PRINT HEAD TEST RESULTS: 0,A,0015,0367,0000 This illustration identifies the printhead test field definitions: 0,A,0000,0000,0000 1 2 1 2 3 4 5 P1099958-001 3 4 5 Element failure Manual (M) or automatic (A) range First test element Last test element Failure count Programming Guide 1/31/18 ZPL Commands ~HQ 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 0 0 0 km M M 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 The printer responds with data similar to this: MAINTENANCE ALERT MESSAGES CLEAN: PLEASE CLEAN PRINT HEAD REPLACE: PLEASE REPLACE PRINT HEAD 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: 8560 " USER RESETTABLE CNTR1: 9 " USER RESETTABLE CNTR2: 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: 1/31/18 21744 cm 24 cm 21744 cm Programming Guide P1099958-001 205 206 ZPL Commands ~HQ 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 # 1: 2: 3: DISTANCE 257 " 1489 " 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. Example 9: This is an example of how to request the printer’s Plug and Play string. a. To request the printer’s Plug and Play string, type ~HQPP The printer responds with data similar to this: PLUG AND PLAY MESSAGES MFG: Zebra Technologies CMD: ZPL MDL: GX420t Example 10: This is an example of how to retrieve the printer’s serial number. a. To get the printer’s serial number, type ~HQSN The printer responds with data similar to this: SERIAL NUMBER 41A06440023 1 Example 11: This is an example of how to retrieve the printer’s USB product ID and BCD 2 release version. a. To get the printer’s USB product ID and BCD release version, type ~HQUI The printer responds with data similar to this: USB INFORMATION PID: RELEASE VERSION: P1099958-001 Programming Guide 0085 15.01 1/31/18 ZPL Commands ~HS ~HS – Host Status Return When the host sends ~HS to the printer, the printer sends three data strings back. Each string starts with an control code and is terminated by an 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 aaa,b,c,dddd,eee,f,g,h,iii,j,k,l aaa b c dddd eee f g h iii j k l = communication (interface) settingsa = 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) i. This string specifies the printer’s 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 eightbit binary number. To evaluate this parameter, first convert the decimal number to a binary number. The nine-digit binary number is read according to this table: 1/31/18 Programming Guide P1099958-001 207 208 ZPL Commands ~HS aaa = a8 a7 a6 a5 a 4 a3 a2 a1 a0 a 7 = Handshake 0 = Xon/Xoff 1 = DTR a 8 a 2 a 1 a 0 = Baud 6 a = Parity Odd/Even 0 = Odd 1 = Even a 5 = Disable/Enable 0 = Disable 1 = Enable a 4 = Stop Bits 0 = 2 Bits 1 = 1 Bit 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 a 3 = Data Bits 0 = 7 Bits 1 = 8 Bits String 2 mmm,n,o,p,q,r,s,t,uuuuuuuu,v,www mmm = function settings j n o p q r = = = = = 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 = Linerless Peel 7 = Linerless Rewind 8 = Partial Cutter 9 = RFID K = Kiosk S = Stream 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 = = = = = j. This string specifies the printer’s 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. k. These values are only supported on the ZE500, Xi4, RXi4, ZM400/ZM600, and RZ400/RZ600 printers. The eight-digit binary number is read according to this table: P1099958-001 Programming Guide 1/31/18 ZPL Commands ~HS mmm = m7 m6 m5 m4 m3 m2 m1 m0 m7 = Media Type 0 = Die-Cut 1 = Continuous m4 m3 m2 m1 = Unused 0 = Off 1 = On m6 = Sensor Profile 0 = Off m0 = Print Mode 0 = Direct Thermal 1 = Thermal Transfer m5 = Communications Diagnostics 0 = Off 1 = On String 3 xxxx,y xxxx = password y = 0 (static RAM not installed) 1 (static RAM installed) 1/31/18 Programming Guide P1099958-001 209 210 ZPL Commands ^HT ^HT – Host Linked Fonts List This command is available only for printers with firmware version V60.14.x, V50.14.x, or later. 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 DATA RETURNED LIST OF FONT LINKS E:SWISS721.TTF E:ANMDJ.TTF E:MSGOTHIC.TTF ^XA ^HT ^XZ 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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ~HU ~HU – Return ZebraNet Alert Configuration 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 324 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. 1/31/18 Programming Guide P1099958-001 211 212 ZPL Commands ^HV ^HV – Host Verification 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 Parameters Details # = field number specified with another command The value assigned to this parameter should be the same as the one used in another command. Values: 0 to 9999 Default: 0 n = number of bytes to be returned Values: 1 to 256 h = header to be returned with the data Delimiter characters terminate the string. This field is Field Hex (^FH) capable. Values: 0 to 3072 bytes Default: 64 Default: no header t = termination This field is Field Hex (^FH) capable. Values: 0 to 3072 characters a = command applies to When ^PQ is greater than 1 or if a void label occurs, send one response for a label format or one for every label printed. Values: F = Format L = Label Default: F Example: The following code: ^XA . . . ^FH_^HV0,8,EPC[,]_0D_0A,L^FS ^PQ2 ^XZ Would return data similar to this: EPC[12345678] EPC[55554444] P1099958-001 Programming Guide 1/31/18 ZPL Commands ^HW ^HW – Host Directory List ^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: DIR R: *Name.ext(2sp.)(6 obj. sz.)(2sp.)(3 option flags) *Name.ext(2sp.)(6 obj. sz.)(2sp.)(3 option flags) -xxxxxxx bytes free = start of text = carriage return/line feed = 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 d = location to retrieve object listing Values: R:, E:, B:, A:and Z: Default: R: o = object name Values: 1 to 8 alphanumeric characters Default: asterisk (*). A question mark (?) can also be used. x = extension Values: any extension conforming to Zebra conventions Default: asterisk (*). A question mark (?) can also be used. f = format Values: c = column format d = default format Default: d 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: ^XA ^HWR:*.* ^XZ 1/31/18 Programming Guide P1099958-001 213 214 ZPL Commands ^HW 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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^HY ^HY – Upload Graphics 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 d = location of object Default: search priority o = object name Values: 1 to 8 alphanumeric characters Values: R:, E:, B:, and A: Default: an object name must be specified x = extension Values: G = .GRF (raw bitmap format) P = .PNG (compressed bitmap format) Default: 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. 1/31/18 Programming Guide P1099958-001 215 216 ZPL Commands ^HZ ^HZ – Display Description Information 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 b = display description to return Values: a f l o r = = = = = display all information display printer format setting information display object directory listing information display individual object data information display printer status information Default: if the value is missing or invalid, the command is ignored Format: ^HZO,d:o.x,l Parameters Details d = location of stored object Default: R: o = object name Values: R:, E:, B:, and A: Values: 1 to 8, or 1 to 16 alphanumeric characters based on parameter l. Default: if a name is not specified, UNKNOWN is used. x = extension Supported extensions for objects (parameter o) include: .FNT — font .GRF — graphic .PNG — compressed graphic .ZPL — stored format .DAT — encoding table .ZOB — downloadable object .STO — Alert data file l = long filename support Values: Y = Yes If Y, the object data stores the filename as 16 characters. The data is only compatible with firmware version V60.13.0.5, or later. N = No If N, the object data stores the filename as 8 characters. The data is forward and backward compatible with all versions of firmware. Default: N Example: This example shows the object data information for the object SAMPLE.GRF located on R:. ^XA ^HZO,R:SAMPLE.GRF ^XZ P1099958-001 Programming Guide 1/31/18 ZPL Commands ^ID ^ID – Object Delete 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 d = location of stored object Default: R: o = object name Values: any 1 to 8 character name Values: R:, E:, B:, and A: Default: if a name is not specified, UNKNOWN is used x = extension Values: any extension conforming to Zebra conventions Default: .GRF Example 1: To delete stored formats from DRAM: ^XA ^IDR:*.ZPL^FS ^XZ Example 2: To delete formats and images named SAMPLE from DRAM, regardless of the extension: ^XA ^IDR:SAMPLE.*^FS ^XZ Example 3: To delete the image SAMPLE1.GRF prior to storing SAMPLE2.GRF: ^XA ^FO25,25^AD,18,10 ^FDDelete^FS ^FO25,45^AD,18,10 ^FDthen Save^FS ^IDR:SAMPLE1.GRF^FS ^ISR:SAMPLE2.GRF^FS^XZ Example 4: In this the * is a wild card, indicating that all objects with the .GRF extension are deleted: ^XA ^IDR:*.GRF^FS ^XZ 1/31/18 Programming Guide P1099958-001 217 218 ZPL Commands ^ID 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^IL ^IL – Image Load 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 221. 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 d = location of stored object Values: R:, E:, B:, and A: Default: R: o = object name Values: 1 to 8 alphanumeric characters Default: if a name is not specified, UNKNOWN is used x = extension 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 221 command. ZPL II CODE GENERATED LABEL ^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 1/31/18 Programming Guide P1099958-001 219 220 ZPL Commands ^IM ^IM – Image Move 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 d = location of stored object Values: R:, E:, B:, and A: Default: search priority Values: 1 to 8 alphanumeric characters o = object name Default: if a name is not specified, UNKNOWN is used Fixed Value: .GRF, .PNG x = extension 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^IS ^IS – Image Save 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. \ Important • See ^IL on page 219. Format: ^ISd:o.x,p Parameters Details d = location of stored object Values: R:, E:, B:, and A: o = object name Default: R: Values: 1 to 8 alphanumeric characters Default: if a name is not specified, UNKNOWN is used x = extension Values: .GRF or .PNG Default: .GRF p = print image after storing 1/31/18 Values: N = no Y = yes Default: Y Programming Guide P1099958-001 221 222 ZPL Commands ^IS 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 GENERATED LABEL ^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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ~JA ~JA – Cancel All 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: 1/31/18 ~JA Programming Guide P1099958-001 223 224 ZPL Commands ^JB ^JB – Initialize Flash Memory 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 Values: A = Option Flash memory B = Flash card (PCMCIA) E = internal Flash memory Default: a device must be specified Example: This is an example of initializing the different types of flash memory: ^JBA – initializes initial Compact Flash memory when installed in the printer. ^JBB – initializes the optional Flash card when installed in the printer. ^JBE – initializes the optional Flash memory when installed in the printer. Note • Initializing memory can take several minutes. Be sure to allow sufficient time for the initialization to complete before power cycling the printer. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~JB ~JB – Reset Optional Memory 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. 1/31/18 Programming Guide P1099958-001 225 226 ZPL Commands ~JC ~JC – Set Media Sensor Calibration 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~JD ~JD – Enable Communications Diagnostics 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: 1/31/18 ~JD Programming Guide P1099958-001 227 228 ZPL Commands ~JE ~JE – Disable Diagnostics The ~JE command cancels Diagnostic Mode and returns the printer to normal label printing. Format: P1099958-001 ~JE Programming Guide 1/31/18 ZPL Commands ~JF ~JF – Set Battery Condition 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-bylabel 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 p = pause on low voltage 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: Y 1/31/18 Programming Guide P1099958-001 229 230 ZPL Commands ~JG ~JG – Graphing Sensor Calibration 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 a series of labels resembling this image: GENERATED LABELS Comments The HC100™ printer does not perform a calibration, but does print a sensor profile label. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^JH ^JH – Early Warning Settings The ^JH command configures the early warning messages that appear on the LCD. Supported Devices • ZE500 series • 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) This parameter is for XiIIIPlus, Xi4, RXi4, PAX3, and PAX4 printers only. Values: E = enable D = disable b = labels per roll This parameter is for XiIIIPlus, PAX3, and PAX4 printers only. Values: 100 to 9999 Default: D Default: 900 c = media replaced This parameter is for XiIIIPlus, PAX3, and PAX4 printers only. Values: Y = yes N = no Default: N 1/31/18 Programming Guide P1099958-001 231 232 ZPL Commands ^JH Parameter Details d = ribbon length This parameter is for XiIIIPlus, PAX3, PAX4, and ZE500 printers only. Values: XiIIIPlus series printers: N 0 1 2 3 = = = = = 0M 100M 150M 200M 250M 4 5 6 7 = = = = 300M 350M 400M 450M PAX series printers: N 0 1 2 3 4 5 6 = = = = = = = = 7 = 450M 10 = 600M 11 = 650M 12 = 700M 13 = 750M 14 = 800M 15 = 850M 16 = 900M 0M 100M 150M 200M 250M 300M 350M 400M ZE500 series printers: N 0 1 2 3 = = = = = 4 = 300M 5 = 350M 6 = 400M 7 = 450M 10 = 600M 0M 100M 150M 200M 250M Default: 1 - for 96XiIIIPlus 7 - for all other printers e = ribbon replaced This parameter is for XiIIIPlus, PAX3, and PAX4 printers only. Values: Y = yes N = no Default: N f = early warning maintenance This parameter is for Xi4, RXi4, PAX4, ZM400, ZM600, RZ400, RZ600, and S4M printers only. Values: E = enabled D = disabled Default: D Important • On G-Series printers, this parameter must be enabled for the ^MA driven system to work. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^JH Parameter Details g = head cleaning interval Accepted value exceptions: accepted values for XiIII printer are 100M through 450M; accepted values for 600 dpi XiIII printers are 100M through 150M; accepted values for PAX4 series printers are up to 900M by increments of 50M; accepted values for ZM400/ZM600, RZ400/RZ600, and S4M printers are 0M through 450M. Values: 0 = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10= 100M 150M 200M 250M 300M 350M 400M 450M 500M 550M 600M 11 12 13 14 15 16 = = = = = = 650M 700M 750M 800M 850M 900M Default: 1 - for 96XiIIIPlus 7 - for all other printers h = head clean Values: N = No Y = Yes Default: N i = head life threshold Values: 0 – 0 in or off 100-3500000 in Default: 1000000 j = head replaced Values: N = no Y = yes Default: N Comments To permanently save the changes to the ^JH command, send ^XA^JUS^XZ. 1/31/18 Programming Guide P1099958-001 233 234 ZPL Commands ^JI ^JI – Start ZBI (Zebra BASIC Interpreter) Identifies features that are available in printers with firmware version V60.16.2Z, V53.16.2Z, or later. ^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 Values: R:, E:, B:, and A: program to run after initializatio n o = name of program to run after initializatio n x = extension of Default: location must be specified Values: any valid program name Default: name must be specified Fixed Value: .BAS, .BAE program to run after initializatio n .BAE is only supported in firmware version V60.16.0Z or later Values: b = console Y = console on N = console off Default: Y control Values: c = echoing Y = echo on N = echo off Default: Y control Values: 20K to 1024K d = memory allocation for ZBI * Default: 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^JI Only one ZBI interpreter can be active in the printer at a time. If a second ^JI or ~JI command is received while the interpreter is running, the command is ignored. The interpreter is deactivated by entering one of two commands: ZPL at the ZBI prompt ~JQ at an active ZPL port 1/31/18 Programming Guide P1099958-001 235 236 ZPL Commands ~JI ~JI – Start ZBI (Zebra BASIC Interpreter) Identifies features that are available in printers with firmware version V60.16.2Z, V53.16.2Z, or later. ~JI works much like the ^JI command. Both commands are sent to the printer to initialize the Zebra BASIC Interpreter. In interactive mode, ~JI can be sent through one of the communication ports (serial, parallel, or Ethernet) to initialize the printer to receive ZBI commands. This command can be sent from one of the Zebra software utilities, such as ZTools, or from a standard PC program, such as Hyper terminal. When the command is received, the printer responds by sending a ZBI header back to the console, along with the program version number. This indicates that the interpreter is active. Format: ~JI Comments While receiving commands, the printer echoes the received characters back to the source. This can be toggled on and off with the ZBI ECHO command. When the printer is turned on, it can receive ZPL II commands and label formats. However, for the printer to recognize ZBI commands and formats, it must be initialized using ^JI or ~JI. Only one ZBI interpreter can be active in the printer at a time. If a second ~JI or ^JI command is received while the interpreter is running, the command is ignored. The interpreter is deactivated by entering one of these commands: ZPL at the ZBI prompt ~JQ at an active ZPL port P1099958-001 Programming Guide 1/31/18 ZPL Commands ^JJ ^JJ – Set Auxiliary Port The ^JJ command allows you to control an online verifier or applicator device. Format: ^JJa,b,c,d,e,f Parameters Details a = operational mode for auxiliary port Values: 0 = off 1 = reprint on error—the 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 throughput—the 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: 0 b = application mode 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: 0 Note • The Set/Get/Do command device.applicator.end_print on page 621 controls the same setting as the b parameter. c = application mode start signal print 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: 0 d = application label error mode Values: e = error mode—the 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 Mode—a blank label prints when the web is not found where expected to sync the printer to the media. Default: f 1/31/18 Programming Guide P1099958-001 237 238 ZPL Commands ^JJ Parameters Details e = reprint mode Values: e = enabled—the 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 = disabled—printer ignores the Reprint signal. Default: d f = ribbon low mode Values: e = enabled – printer warning issued when ribbon low. d = disabled – printer warning not issued when ribbon low. Default: e P1099958-001 Programming Guide 1/31/18 ZPL Commands ~JL ~JL – Set Label Length 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: 1/31/18 ~JL Programming Guide P1099958-001 239 240 ZPL Commands ^JM ^JM – Set Dots per Millimeter The ^JM command lowers the density of the print—24 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 n = set dots per millimeter 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: A Example: This example of the affects of alternating the dots per millimeter: ZPL II CODE GENERATED LABEL ^XA ^JMA^FS ^FO100,100 ^B2N,50,Y,N,N ^FD1234567890^FS ^XZ ^XA ^JMB^FS ^FO100,100 ^B2N,50,Y,N,N ^FD1234567890^FS ^XZ Comments If ^JMB is used, the UPS MaxiCode bar code becomes out of specification. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~JN ~JN – Head Test Fatal 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. 1/31/18 Programming Guide P1099958-001 241 242 ZPL Commands ~JO ~JO – Head Test Non-Fatal 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: P1099958-001 ~JO Programming Guide 1/31/18 ZPL Commands ~JP ~JP – Pause and Cancel Format 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: 1/31/18 ~JP Programming Guide P1099958-001 243 244 ZPL Commands ~JQ ~JQ – Terminate Zebra BASIC Interpreter Identifies features that are available in printers with firmware version V60.16.2Z, V53.16.2Z, or later. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~JR ~JR – Power On Reset The ~JR command resets all of the printer’s 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: 1/31/18 ~JR Programming Guide P1099958-001 245 246 ZPL Commands ^JS ^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 Values: A = auto select R = reflective sensor T = transmissive sensor Default: Z series = A S4M = R P1099958-001 Programming Guide 1/31/18 ZPL Commands ~JS ~JS – Change Backfeed Sequence 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 b = backfeed order in relation to printing 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: 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. 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. 1/31/18 Programming Guide P1099958-001 247 248 ZPL Commands ^JT ^JT – Head Test Interval 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 printer’s 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 Values: 0000 to 9999 If a value greater than 9999 is entered, it is ignored. a = manually select range of elements to test Values: Default: 0000 (off) N = no Y = yes Initial Value at Power Up: N b = first element to check when parameter a is Y Values: 0 to 9999 c = last element to check when parameter a is Y Values: 0 to 9999 Initial Value at Power Up: 0 Initial Value at Power Up: 9999 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). P1099958-001 Programming Guide 1/31/18 ZPL Commands ^JU ^JU – Configuration Update The ^JU command sets the active configuration for the printer. Format: ^JUa Parameters Details a = active configuration 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: a value must be specified 1/31/18 Programming Guide P1099958-001 249 250 ZPL Commands ^JW ^JW – Set Ribbon Tension ^JW sets the ribbon tension for the printer it is sent to. Format: ^JWt Parameters Details t = tension Values: L = low M = medium H = high Default: a value must be specified Comments ^JW is used only for PAX series printers. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~JX ~JX – Cancel Current Partially Input Format 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: 1/31/18 ~JX Programming Guide P1099958-001 251 252 ZPL Commands ^JZ ^JZ – Reprint After Error 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 a = reprint after error Values: N = no Y = yes Initial Value at Power Up: Y 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~KB ~KB – Kill Battery (Battery Discharge Mode) 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. 1/31/18 Programming Guide P1099958-001 253 254 ZPL Commands ^KD ^KD – Select Date and Time Format (for Real Time Clock) The ^KD command selects the format that the Real-Time Clock’s 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 a = value of date and time format Values: 0 1 2 3 4 = = = = = normal, displays Version Number of firmware MM/DD/YY (24-hour clock) MM/DD/YY (12-hour clock) DD/MM/YY (24-hour clock) DD/MM/YY (12-hour clock) Default: 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 1375. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^KL ^KL – Define Language The ^KL command selects the language displayed on the control panel. Format: ^KLa Parameters Details a = language 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 l 15 = Simplified Chinese l 16 = Traditional Chinese l 17 = Russian l 18 = Polish l 19 = Czech l 20 = Romanian l Default: 1 l. These values are only supported on the ZT200 Series, ZE500 Series, Xi4, RXi4, ZM400/ ZM600, and RZ400/RZ600 printers. 1/31/18 Programming Guide P1099958-001 255 256 ZPL Commands ^KN ^KN – Define Printer Name The printer’s 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 Note • If you issue the command ^KN, (without the a and b parameters) you are setting the printer name and description to a blank string. To cause the printer name and printer description settings controlled by the ^KN command to be saved, you must issue the ^JUS command. Parameters Details a = printer name Values: up to 16 alphanumeric characters Default: • If no printer name is specified in a printer with a MAC address, the printer name will default to "ZBRxxx," where xxx is the last three octets of the MAC address converted into ASCII text. • For printers without a MAC address, 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. b = printer description Values: up to 35 alphanumeric characters Default: 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 printer’s web page in parentheses. Example: This is an example of how to change the printer’s network name and description: This shows how a configuration looks before using this command and after using this command: ^XA ^KNZebra1,desk_printer ^XZ Before using this command: P1099958-001 Programming Guide After using this command: 1/31/18 ZPL Commands ^KP ^KP – Define Password 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 a = mandatory fourdigit password Values: any four-digit numeric sequence Default: 1234 b = password level Values: 1, 2, 3, 4 Default: 3 Note • The b parameter applies only to the S4M printers. Example 1: This example shows how to set a new control panel password: ^XA ^KP5678 ^XZ Example 2: This example shows how to set a new control panel password (5678) at a 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 printer’s User Guide for the procedure. 1/31/18 Programming Guide P1099958-001 257 258 ZPL Commands ^KV ^KV – Kiosk Values 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 a = kiosk cut amount Values: 0 = normal cut 10-60 = partial cut, value = mm of media left uncut Default: 0 This parameter is ignored if it is missing or invalid. The current value of the parameter remains unchanged. b = kiosk cut margin Values: 2 - 9 = mm of distance Default: 9 = mm of distance This parameter is ignored if it is missing or invalid. The current value of the parameter remains unchanged. c = kiosk present type 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: 0 This parameter is ignored if it is missing or invalid. The current value of the parameter remains unchanged. d = kiosk present timeout 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. Default: 0 This parameter is ignored if it is missing or invalid. The current value of the parameter remains unchanged. e = presenter loop length Values: 0 = paper is fed straight through the presenter 3-1023 = loop length in mm. Default: 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^KV Kiosk Printing Examples The following examples demonstrate the use of the ^KV, ^CN, ^PN and ^CP commands with 80mm wide continuous media and the printer set to Kiosk Mode (^MMK). Example 1: In this example, the ^KV command is set to the following: • • • • • 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 ^XA ^MMK ^KV0,9,0,6,0 ^FO50,50^A0N,50,50^FDZebra Technologies^FS ^CN1 ^PN0 ^XZ Note • The ^CN1 command (Cut Now) is included to ensure that a full cut is done. The ^PN0 (Present Now) command is included to ensure that the media is ejected when the user pulls on the leading edge of the media. In this example, if the user does not pull on the leading edge of the second document, it will be retracted. 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. ^XA ^MMK ^KV0,9,2,6,100 ^FO50,50^A0N,50,50^FDZebra Technologies^FS ^CN1^PN0 ^PQ2 ^XZ Example 3: In this example, two documents will be printed, each one will be ejected from the printer. ^XA ^MMK ^KV0,9,2,6,100 ^FO50,50^A0N,50,50^FDZebra Technologies^FS ^CN1^CP0 ^PQ2 ^XZ 1/31/18 Programming Guide P1099958-001 259 260 ZPL Commands ^KV 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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^KV 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 1/31/18 Programming Guide P1099958-001 261 262 ZPL Commands ^LF ^LF – List Font Links This command is available only for printers with firmware version V60.14.x, V50.14.x, or later. 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 first linked font, and MSGOTHIC.TTF is the second linked extension: ZPL II CODE GENERATED LABEL ^XA ^LF ^XZ 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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^LH ^LH – Label Home 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 x = x-axis position (in dots) Values: 0 to 32000 y = y-axis position (in dots) Values: 0 to 32000 Initial Value at Power Up: 0 or last permanently saved value 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. 1/31/18 Programming Guide P1099958-001 263 264 ZPL Commands ^LL ^LL – Label Length 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 y = y-axis position (in dots) 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: 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... Label length in inches x 152.4 (dots/inch) = y For 8 dot/mm printheads... Label length in inches x 203.2 (dots/inch) = y For 12 dot/mm printheads... Label length in inches x 304.8 (dots/inch) = y For 24 dot/mm printheads... Label length in inches x 609.6 (dots/inch) = y 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^LR ^LR – Label Reverse Print 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 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 GENERATED LABEL ^XA^LRY ^FO100,50 ^GB195,203,195^FS ^FO180,110^CFG ^FDLABEL^FS ^FO130,170 ^FDREVERSE^FS ^XZ 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. Only fields following this command are affected. 1/31/18 Programming Guide P1099958-001 265 266 ZPL Commands ^LS ^LS – Label Shift 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 a = shift left value (in dots) Values: -9999 to 9999 Initial Value at Power Up: 0 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^LT ^LT – Label Top 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 x = label top (in dot rows) Values: HC100: 0 to 120 XiIIIPlus 600dpi: -240 to 240 All other Zebra printers: -120 to 120 Default: 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. 1/31/18 Programming Guide P1099958-001 267 268 ZPL Commands ^MA ^MA – Set Maintenance Alerts This command is available only for printers with firmware version V60.15.x, V50.15.x, or later. 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 type = type of alert Values: R = head replacement C = head cleaning Default: This parameter must be specified as R or C for print, printlabel_threshold, and frequency to be saved. However, units will always be set. print = determines if the alert prints a label Values: printlabel threshold= distance where the first alert occurs Values: Y = print a label N = do not print label Default: N R = head replacement (unit of measurement for head is km with a range of 0 to 150 km) C = clean head with a range of 100 to 2000 meters. 0 = off (when set to 0, the selected alert is disabled; otherwise it is enabled. Default: R = 50 km (1,968,500 inches) and C = 0 (off). frequency = distance before reissuing the alert P1099958-001 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: 0 (print on power-up). Programming Guide 1/31/18 ZPL Commands ^MA Parameters Details units = odometer and printhead maintenance commands The units parameter reports units of the odometer and printhead maintenance commands, as follows: ~HQOD,~HQPH,~WQOD, ~WQPH. Values: C = centimeters (displays as: cm) I = inches (displays as: ") M = meters (displays as: M) Default: 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 202. 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. 1/31/18 Programming Guide P1099958-001 269 270 ZPL Commands ^MC ^MC – Map Clear 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 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^MD ^MD – Media Darkness The ^MD command adjusts the darkness relative to the current darkness setting. Format: ^MDa Parameters Details a = media darkness level 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 across power cycles. 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) 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. 1/31/18 Programming Guide P1099958-001 271 272 ZPL Commands ^MF ^MF – Media Feed 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 p = feed action at power-up Values: F C L N S = = = = = feed to the first web after sensor (see ~JC on page 226 definition) (see ~JL on page 239 definition) no media feed short calibration m Default: C h = feed action after closing printhead Values: F C L N S = = = = = feed to the first web after sensor (see ~JC on page 226 definition) (see ~JL on page 239 definition) no media feed short calibration m Default: C m. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^MI ^MI – Set Maintenance Information Message This command is available only for printers with firmware version V60.15.x, V50.15.x, or later. 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 type = identifies the type of alert Values: R = head replacement C = head cleaning Default: R message = message that prints on the label when a maintenance alert occurs The maximum length of each message is 63 characters. All characters following the comma and preceding the next tilde (~) or carat (^) define the message string. Commas (,) are not allowed in the message. Default: HEAD CLEANING = please clean printhead HEAD REPLACEMENT = please replace printhead Example: This example sets the printhead (head) replacement warning message. Printing of this message is controlled by the ^MA command. 1. To customize the text of this label, type something like this: ^XA^MIR,PRINT HEAD NEEDS REPLACEMENT - CALL EXT 1000^XZ The label prints whatever you program it to say. 2. For this example, the message on the label looks like this: 1/31/18 Programming Guide P1099958-001 273 274 ZPL Commands ^ML ^ML – Maximum Label Length The ^ML command lets you adjust the maximum label length. Note • This command does not apply when in continuous mode. Format: ^MLa Parameters Details a = maximum label length (in dot rows) Values: the dpi of the printer multiplied by two, up to the maximum length of label Default: 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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^MM ^MM – Print Mode 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 supported by your printer. Format: ^MMa,b Parameters Details a = desired mode Values: T P R A C D F L U K = = = = = = = = = = Tear-off n Peel-off (not available on S-300) n Rewind (depends on printer model) Applicator (depends on printer model) n Cutter (depends on printer model) Delayed cutter n RFID n Reserved n, o Reserved n, o Kiosk p Default: The values available for parameter a depend on the printer being used and whether it supports the option. For RFID printers: A = R110PAX4 print engines F = other RFID printers b = prepeel select Values: N = no Y = yes Default: N The command is ignored if parameters are missing or invalid. The current value of the command remains unchanged. n. This value is not supported on the KR403 or ZD500R printer. o. This value is supported only on the ZM400 and ZM600 printers. p. This value is supported only the KR403 printer. This list identifies the different modes of operation: • Tear-off — after printing, the label advances so the web is over the tear bar. The label, with liner attached, can be torn off manually. • 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. 1/31/18 Programming Guide P1099958-001 275 276 ZPL Commands ^MM • 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 printer’s 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^MN ^MN – Media Tracking This command specifies the media type being used and the black mark offset in dots. 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 a = media being used Values: N = continuous media Y = non-continuous media web sensing q, r W = non-continuous media web sensing q, r M = non-continuous media mark sensing A = auto-detects the type of media during calibration q, s V = continuous media, variable length t Default: a value must be entered or the command is ignored b = black mark offset in dots 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. Values: -80 to 283 for direct-thermal only printers -240 to 566 for 600 dpi printers -75 to 283 for KR403 printers -120 to 283 for all other printers Default: 0 q. r. s. t. Provides the same result. This value is not supported on the KR403 printer. This parameter is supported only on G-series printers. This parameter is supported only on the KR403 printer. Comments This command is ignored on the HC100™ printer. 1/31/18 Programming Guide P1099958-001 277 278 ZPL Commands ^MP ^MP – Mode Protection 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 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 F X M = = = = disable Pause disable Feed disable Cancel disable menu changes Default: a value must be entered or the command is ignored P1099958-001 Programming Guide 1/31/18 ZPL Commands ^MP Example: This example shows the ZPL code that disables modes D and C. It also shows the effects on the configuration label before and after the ZPL code is sent: ^XA ^MPD ^MPC ^XZ Before After 1/31/18 Programming Guide P1099958-001 279 280 ZPL Commands ^MT ^MT – Media Type 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 a = media type used Values: T = thermal transfer media D = direct thermal media Default: a value must be entered or the command is ignored Comments This command is ignored on the HC100™ printer. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^MU ^MU – Set Units of Measurement 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 Values: b = format base in dots per inch Values: 150, 200, 300 c = desired dots-perinch conversion Values: 300, 600 D = dots I = inches M = millimeters Default: D Default: a value must be entered or the command is ignored Default: a value must be entered or the command is ignored Example 1: This is an example of Setting Units: Assume 8 dot/millimeter (203 dot/inch) printer. Field based on dots: ^MUd^FO100,100^GB1024,128,128^FS Field based on millimeters: ^MUm^FO12.5,12.5^GB128,16,16^FS Field based on inches: ^MUi^FO.493,.493^GB5.044,.631,.631^FS Example 2: This is an example of Converting dpi Values. Convert a 150 dpi format to a 300 dpi format with a base in dots: ^MUd,150,300 Convert a 150 dpi format to a 600 dpi format with a base in dots: ^MUd,150,600 Convert a 200 dpi format to a 600 dpi format with a base in dots: ^MUd,200,600 To reset the conversion factor to the original format, enter matching values for parameters b and c: ^MUd,150,150 ^MUd,200,200 ^MUd,300,300 ^MUd,600,600 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. 1/31/18 Programming Guide P1099958-001 281 282 ZPL Commands ^MW ^MW – Modify Head Cold Warning The ^MW command allows you to set the head cold warning indicator based on the operating environment. Format: ^MWa Parameters Details a = enable head cold warning Values: Y = enable head cold warning N = disable head cold warning Important • When a parameter is not given, the instruction is ignored. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^NC ^NC – Select the Primary Network Device 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 16 outlines priorities and identifies which device becomes the active print server when multiple print servers are installed. Table 16 • Effect of Primary Network Setting on Active Print Server Installed and Connected to a Live Ethernet Network If the Primary Network is set to: Internal External Wireless u X X X Internal X X External X Wireless X Wireless Wired Wireless Then, the Active Print Server will be: X X X X Internal X External u. A wireless option board must have an active radio that can properly associate to an access point. Format: ^NCa Parameters Details a = primary network device Values: 1 = wired primary 2 = wireless primary Default: 1 must be an accepted value or it is ignored 1/31/18 Programming Guide P1099958-001 283 284 ZPL Commands ~NC ~NC – Network Connect The ~NC command is used to connect a particular printer to a network by calling up the printer’s network ID number. Format: ~NC### Parameters Details ### = network ID number assigned (must be a three-digit entry) Values: 001 to 999 Default: 000 (none) 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^ND ^ND – Change Network Settings 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 a = the device that is being modified Values: b = IP resolution Values: 1 = external wired 2 = internal wired 3 = wireless All BOOTP DHCP and BOOTP DHCP Gleaning only (Not recommended when the Wireless Print Server or Wireless Plus Print Server is installed.) R = RARP P = Permanent A B C D G = = = = = Default: A c = IP address Values: Any properly formatted IP address in the xxx.xxx.xxx.xxx format. d = subnet mask Values: Any properly formatted subnet mask in the xxx.xxx.xxx.xxx format. e = default gateway Values: Any properly formatted gateway in the xxx.xxx.xxx.xxx format. f = WINS server address Values: Any properly formatted WINS server in the xxx.xxx.xxx.xxx format. g = connection timeout checking Values: Y = yes N = no Default: Y h = timeout value Time, in seconds, before the connection times out. Values: 0 through 9999 Default: 300 i = ARP broadcast interval Time, in minutes, that the broadcast is sent to update the device’s ARP cache. Values: 0 through 30 Default: 0 (no ARP sent) 1/31/18 Programming Guide P1099958-001 285 286 ZPL Commands ^ND Parameters Details j = base raw port number The port number that the printer should use for its RAW data. Values: 1 through 65535 Default: 9100 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^NI ^NI – Network ID Number 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 ### = network ID number assigned (must be a three-digit entry) Values: 001 to 999 Default: 000 (none) 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. 1/31/18 Programming Guide P1099958-001 287 288 ZPL Commands ~NR ~NR – Set All Network Printers Transparent 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^NS ^NS – Change Wired Networking Settings 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 Values: A B C D G R P = = = = = = = ALL BOOTP DHCP AND BOOTP DHCP GLEANING ONLY RARP PERMANENT Default: A Use of GLEANING ONLY is not recommended when the Wireless Print Server or Wireless Plus Print Server is installed. b = IP address Values: Any properly formatted IP address in the xxx.xxx.xxx.xxx format. c = subnet mask Values: Any properly formatted subnet mask in the xxx.xxx.xxx.xxx format. d = default gateway Values: Any properly formatted gateway in the xxx.xxx.xxx.xxx format. e = WINS server address Values: Any properly formatted WINS server in the xxx.xxx.xxx.xxx format. f = connection timeout checking Values: Y = Yes N = No Default: Y g = timeout value Time, in seconds, before the connection times out. Values: 0 through 9999 Default: 300 h = ARP broadcast interval Time, in minutes, that the broadcast is sent to update the device’s ARP cache. Values: 0 through 30 Default: 0 (no ARP sent) i = base raw port number The port number that the printer should use for its RAW data. Values: 1 through 65535 Default: 9100 Example: ^XA ^NSa,192.168.0.1,255.255.255.0,192.168.0.2 ^XZ Comments For the Xi4, RXI4, ZM400/ZM600, and RZ400/RZ600 printers, Zebra recommends that you use the ^ND command instead of the ^NS command. 1/31/18 Programming Guide P1099958-001 289 290 ZPL Commands ~NT ~NT – Set Currently Connected Printer Transparent 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^PA ^PA – Advanced Text Properties This command is available only for printers with firmware version V60.14.x, V50.14.x, or later. 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. 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: 0 b = bidirectional text layout This determines whether the bidirectional text layout is turned on or off. Values: 0 = off 1 = on Default: 0 c = character shaping This determines whether character shaping is turned on or off. Values: 0 = off 1 = on Default: 0 d = OpenType table support This determines whether the OpenType support is turned on or off. Values: 0 = off 1 = on Default: 0 1/31/18 Programming Guide P1099958-001 291 292 ZPL Commands ^PF ^PF – Slew Given Number of Dot Rows 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 # = number of dots rows to slew Default: a value must be entered or the command is ignored P1099958-001 Values: 0 to 32000 Programming Guide 1/31/18 ZPL Commands ^PH ~PH ^PH ~PH – Slew to Home Position 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: 1/31/18 ^PH or ~PH Programming Guide P1099958-001 293 294 ZPL Commands ~PL ~PL – Present Length Addition 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 a = additional eject length Values: 000-255 = additional mm of media to eject Default: 000 The command is ignored if parameters are missing or invalid. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^PM ^PM – Printing Mirror Image of Label 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 a = print mirror image of entire label Values: N = no Y = yes Default: N Example: This is an example of printing a mirror image on a label: ZPL II CODE GENERATED LABEL ^XA^PMY ^FO100,100 ^CFG ^FDMIRROR^FS ^FO100,160 ^FDIMAGE^FS ^XZ 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. 1/31/18 Programming Guide P1099958-001 295 296 ZPL Commands ^PN ^PN – Present Now 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 294). Supported Devices • KR403 Format: ^PNa Parameters Details a = media eject length Values: 0-255 = additional mm of media to eject Default: none The command is ignored if parameters are missing or invalid. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^PO ^PO – Print Orientation 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 a = invert label 180 degrees Values: N = normal I = invert Default: N Example: This is an example of printing a label at 180 degrees: ZPL II CODE GENERATED LABEL ^XA^CFD ^POI ^LH330,10 ^FO50,50 ^FDZEBRA TECHNOLOGIES^FS ^FO50,75 ^FDVernon Hills, IL^FS ^XZ 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. 1/31/18 Programming Guide P1099958-001 297 298 ZPL Commands ^PP ~PP ^PP ~PP – Programmable Pause 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: P1099958-001 ^PP or ~PP Programming Guide 1/31/18 ZPL Commands ^PQ ^PQ – Print Quantity 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,e Parameters Details q = total quantity of labels to print Values: 1 to 99,999,999 p = pause and cut value (labels between pauses) Values: 1 to 99,999,999 r = replicates of each serial number Values: 0 to 99,999,999 replicates Default: 1 Default: 0 (no pause) Default: : 0 (no replicates) o = override pause count Values: e = cut on error label (RFID void is an error label) Values: N = no Y = yes Default: N N = no - if a cutter is installed, a cut will be made after a voided RIFD label ONLY if a cut would be made after the non-voided label and this was the last retry. Y = yes - if a cutter is installed, a cut will be made after ANY voided RFID label. Default: Y 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. 1/31/18 Programming Guide P1099958-001 299 300 ZPL Commands ~PR ~PR – Applicator Reprint If the ~PR command is enabled (see ^JJ on page 237), the last label printed reprints, similar to the applicator asserting the Reprint signal on the applicator port. This command is similar to device.applicator.reprint on page 625. Supported Devices • ZE500 • 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^PR ^PR – Print Rate 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 Values: 1 = 25.4 mm/sec. (1 inch/sec.) v 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.) 7 = 177.8 mm/sec. (7 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 w 14 = 14 in/sec w Default: A s = slew speed 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.) 7 = 177.8 mm/sec. (7 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 w 14 = 14 in/sec w Default: D v. This value is supported only on the 110Xi4-600dpi, 110XiIIIPlus-600dpi , and RXi printers. w. This value is supported only on the Xi4 and RXi4 printers. 1/31/18 Programming Guide P1099958-001 301 302 ZPL Commands ^PR Parameters Details b = backfeed speed 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.) 7 = 177.8 mm/sec. (7 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 w 14 = 14 in/sec w Default: A v. This value is supported only on the 110Xi4-600dpi, 110XiIIIPlus-600dpi , and RXi printers. w. 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 printer’s User Guide for specifics on performance. This command is ignored on the HC100 printer. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~PS ~PS – Print Start 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: 1/31/18 ~PS Programming Guide P1099958-001 303 304 ZPL Commands ^PW ^PW – Print Width The ^PW command allows you to set the print width. Format: ^PWa Parameters Details a = label width (in dots) Values: 2, to the width of the label If the value exceeds the width of the label, the width is set to the label’s maximum size. Default: last permanently saved value Comments This command is ignored on the HC100™ printer. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~RO ~RO – Reset Advanced Counters 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 Values: 1 2 3 4 C R = = = = reset counter 1 reset counter 2 reset valid RFID label counter reset voided RFID label counter = reset head cleaned counter x = reset head replaced counter and head cleaned counter x Default: a value must be specified or the command is ignored x. 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 1/31/18 Programming Guide P1099958-001 305 306 ZPL Commands ^SC ^SC – Set Serial Communications 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 Values: 110 y; 300; 600; 1200; 2400; 4800; 9600; 14400; 19200; 28800; 38400; or 57600; 115200 Default: must be specified or the parameter is ignored b = word length (in data bits) Values: 7 or 8 c = parity Values: N (none), E (even), or O (odd) Default: must be specified Default: must be specified d = stop bits Values: 1 or 2 Default: must be specified e = protocol mode Values: X D R M = = = = XON/XOFF DTR/DSR RTS DTR/DSR XON/XOFF z Default: must be specified f = Zebra protocol Values: A = ACK/NAK N = none Z = Zebra Default: must be specified y. This value is not supported on Xi4, RXi4, ZM400/ZM600, RZ400/RZ600, and S4M printers. z. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~SD ~SD – Set Darkness 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 ## = desired darkness setting (twodigit number) Values: 00 to 30 Default: last permanently saved value 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. 1/31/18 Programming Guide P1099958-001 307 308 ZPL Commands ^SE ^SE – Select Encoding Table The ^SE command is used to select the desired ZPL or ZPL II encoding table. Format: ^SEd:o.x Parameters Details d = location of encoding table Values: R:, E:, B:, and A: o = name of encoding table Values: 1 to 8 alphanumeric characters Default: a value must be specified x = extension Fixed Value: Default: R: .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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^SF ^SF – Serialization Field (with a Standard ^FD String) 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 0–9 H or h – Hexadecimal 0–9 plus a-f or A-F O or o – Octal 0–7 A or a – Alphabetic A–Z or a–z N or n – Alphanumeric 0–9 plus A–Z or a–z % – 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. 1/31/18 Programming Guide P1099958-001 309 310 ZPL Commands ^SF Example 1: This is an example of serializing a ^FD string. The ZPL II code generates three separate labels as seen in Generated Labels: ZPL II CODE GENERATED LABELS ^XA ^FO100,100 ^CF0,100 ^FD12A^SFnnA,F^FS ^PQ3 ^XZ 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^SF 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 a–z or A–Z (36 positions overall). With each completed cycle, the second cluster (nn) increments one position (from 00, 01, 02 …) per cycle: ZPL II CODE GENERATED LABELS ^XA ^FO100,50^A0N,50,50^FDzzZ^SFnnN,I^FS ^PQ10 ^XZ 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 GENERATED LABELS ^XA ^FO100,50^A0N,50,50^FDzzZ^SFnnN,i^FS ^PQ10 ^XZ 1/31/18 Programming Guide P1099958-001 311 312 ZPL Commands ^SI ^SI – Set Sensor Intensity This command is available only for printers with firmware versions V53.15.x or later. 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 printer’s user’s 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 a = indicates the setting to modify Values: 1 = transmissive sensor brightness setting 2 = transmissive sensor baseline setting Default: must be an accepted value or the entire command is ignored b = the value to use for the sensor being configured P1099958-001 The ranges for this parameter are the same for the accepted values in parameter a. Values: 0 to 196 Default: must be an accepted value or the entire command is ignored Programming Guide 1/31/18 ZPL Commands ^SL ^SL – Set Mode and Language (for Real-Time Clock) The ^SL command is used to specify the Real-Time Clock’s 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 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: S Values: b = language Value 13 is only supported in firmware versions V60.14.x, V50.14.x, or later. 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 aa 15 = Simplified Chinese aa 16 = Traditional Chinese aa 17 = Russian aa 18 = Polish aa Default: the language selected with ^KL or the control panel aa.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. 1/31/18 Programming Guide P1099958-001 313 314 ZPL Commands ^SL • 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 1375. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^SN ^SN – Serialization Data 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 right- most 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 Values: 12-digits maximum for the portion to be indexed Default: 1 n = increment or decrement value Values: 12-digit maximum Default: 1 To indicate a decrement value, precede the value with a minus (–) sign. z = add leading zeros (if needed) Values: 1/31/18 N = no Y = yes Default: N Programming Guide P1099958-001 315 316 ZPL Commands ^SN Example: This example shows incrementing by a specified value: ZPL II CODE GENERATED LABELS ^XA ^FO260,110 ^CFG ^SN001,1,Y^FS ^PQ3 ^XZ 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. Using Leading Zeros In the ^SN command, the z parameter determines if leading zeros are printed or suppressed. Depending on which value is used (Y = print leading zeros; N = do not print leading zeros), the printer either prints or suppresses the leading zeros. The default value for this parameter is N (do not print leading zeros). Print Leading Zeros In x.13 and earlier, the starting value consists of the right-most consecutive sequence of digits. In x.14 and later, the starting value consists of the first number working backwards in the backing store consecutive sequence of digits. The width (number of digits in the sequence) is determined by scanning from right to left until the first non-digit (space or alpha character) is encountered. To create a specific width, manually place leading zeros as necessary. Suppressing Leading Zeros In x.13 and earlier, the starting value consists of the right-most consecutive sequence of digits, including any leading spaces. In x.14 or later, the starting value consists of the first number working backwards in the backing store consecutive sequence of digits, including any leading spaces. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^SO ^SO – Set Offset (for Real-Time Clock) 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 required, SO3 must be used. Format: ^SOa,b,c,d,e,f,g Parameters Details a = clock set Values: 2 = secondary 3 = third Default: value must be specified b = months offset Values: –32000 to 32000 Default: 0 c = days offset Values: –32000 to 32000 Default: 0 d = years offset Values: –32000 to 32000 Default: 0 e = hours offset Values: –32000 to 32000 Default: 0 f = minutes offset Values: –32000 to 32000 Default: 0 g = seconds offset Values: –32000 to 32000 Default: 0 For more detail on set offset, see Real Time Clock on page 1375. 1/31/18 Programming Guide P1099958-001 317 318 ZPL Commands ^SP ^SP – Start Print 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 a = dot row to start printing Values: 0 to 32000 Default: 0 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 Dot position 500 Label Segment 1 Dot position 800 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^SQ ^SQ – Halt ZebraNet Alert The ^SQ command is used to stop the ZebraNet Alert option. Format: ^SQa,b,c Parameters Details a = condition type Values: A B C D E F G H I J K L M N O Q R S T U V W * b = destination Values: A B C D E F * c = halt messages 1/31/18 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = paper out ribbon out printhead over-temp printhead under-temp head open power supply over-temp ribbon-in warning (Direct Thermal Mode) rewind full cut error printer paused PQ job completed label ready head element out ZBI (Zebra BASIC Interpreter) runtime error ZBI (Zebra BASIC Interpreter) forced error clean printhead media low ribbon low replace head battery low RFID error (in RFID printers only) all errors (in RFID printers only) all errors (in non-RFID printers) serial port parallel port e-mail address TCP/IP UDP/IP SNMP trap wild card to stop alerts for all destinations Values: Y = halt messages N = start messages Default: Y Programming Guide P1099958-001 319 320 ZPL Commands ^SR ^SR – Set Printhead Resistance The ^SR command allows you to set the printhead resistance. Format: ^SR#### Parameters Details #### = resistance value (fourdigit numeric value) Values: 0488 to 1175 Default: 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^SS ^SS – Set Media Sensors 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 printer’s user’s guide. Format: ^SSw,m,r,l,m2,r2,a,b,c Parameters Details w = web (three-digit value) Values: 000 to 100 m = media (threedigit value) Values: 000 to 100 r = ribbon (threedigit value) Values: 000 to 100 l = label length (in dots, four-digit value) Values: 0001 to 32000 m2 = intensity of media LED (three-digit value) Values: 000 to 255 r2 = intensity of ribbon LED (three-digit value) Values: 000 to 255 a = mark sensing (three-digit value) Values: 000 to 100 b = mark media sensing (threedigit value) Values: 000 to 100 c = mark LED sensing (three-digit value) Values: 000 to 255 1/31/18 Default: value shown on the media sensor profile or configuration label Default: value shown on the media sensor profile or configuration label Default: value shown on the media sensor profile or configuration label Default: value calculated in the calibration process Default: value calculated in the calibration process Default: value calculated in the calibration process Default: value calculated in the calibration process Default: value calculated in the calibration process Default: value calculated in the calibration process Programming Guide P1099958-001 321 322 ZPL Commands ^SS 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-tomedia. 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^ST ^ST – Set Date and Time (for Real-Time Clock) The ^ST command sets the date and time of the Real-Time Clock. Format: ^STa,b,c,d,e,f,g Parameters Details a = month Values: 01 to 12 Default: current month b = day Values: 01 to 31 Default: current day c = year Values: 1998 to 2097 Default: current year d = hour Values: 00 to 23 Default: current hour e = minute Values: 00 to 59 Default: current minute f = second Values: 00 to 59 Default: current second g = format Values: A = a.m. P = p.m. M = 24-hour military Default: M For more details on set date and time, see Real Time Clock on page 1375. 1/31/18 Programming Guide P1099958-001 323 324 ZPL Commands ^SX ^SX – Set ZebraNet Alert 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 Values: A B C D E F G H I J K L M N O P Q R S T U V * = = = = = = = = = = = = = = = = = = = = = = = paper out ribbon out printhead over-temp printhead under-temp head open power supply over-temp ribbon-in warning (Direct Thermal Mode) rewind full cut error printer paused PQ job completed label ready head element out ZBI (Zebra BASIC Interpreter) runtime error ZBI (Zebra BASIC Interpreter) forced error power on clean printhead media low ribbon low replace head battery low RFID error (in RFID printers only) all errors Default: if the parameter is missing or invalid, the command is ignored b = destination for route alert Values: A = serial port B* = parallel port C = e-mail address D = TCP/IP E = UDP/IP F = SNMP trap Default: If this parameter is missing or invalid, the command is ignored. * Requires bidirectional communication. c = enable condition set alert to this destination P1099958-001 Values: N = no Y = yes Values: Y or previously configured value Programming Guide 1/31/18 ZPL Commands ^SX Parameters Details d = enable condition clear alert to this destination Values: N = no Y = yes Values: 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. e = destination setting Values: Internet e-mail address (e.g. user@company.com) IP address (for example, 10.1.2.123) SNMP trap IP or IPX addresses f = port number Values: TCP port # (0 to 65535) UPD port # (0 to 65535) 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). 1/31/18 Programming Guide P1099958-001 325 326 ZPL Commands ^SZ ^SZ – Set ZPL Mode 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 Values: 1 = ZPL 2 = ZPL II Default: 2 Comments If the parameter is missing or invalid, the command is ignored. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~TA ~TA – Tear-off Adjust Position 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.) Values: –120 to 120 0 to 120 (on the HC100) Default: last permanent value saved Comments If the parameter is missing or invalid, the command is ignored. 1/31/18 Programming Guide P1099958-001 327 328 ZPL Commands ^TB ^TB – Text Blocks This command is available only for printers with firmware version V60.14.x, V50.14.x, or later. 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 Values: N R I B = = = = normal rotate 90 degrees clockwise invert 180 degrees read from bottom up-270 degrees Default: whatever was specified by the last ^A (which has the default of ^FW) Values: b = block width in dots 1 to the width of the label in dots Default: 1 dot c = block height in dots Values: 1 to the length of the label in dots Default: 1 dot Comments Facts about the ^TB command: P1099958-001 • 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; for example, << > will print < . • The ^TB command has an automatic word-wrap function. Soft hyphens do not print and are not used as a line break position. Programming Guide 1/31/18 ZPL Commands ^TO ^TO – Transfer Object 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 s = source device of stored object Values: R:, E:, B:, and A: o = stored object name Values: any existing object conforming to Zebra conventions Default: if a name is not specified, * is used — all objects are selected x = extension Values: any extension conforming to Zebra conventions Default: if an extension is not specified, * is used — all extensions are selected d = destination device of the stored object Values: R:, E:, B:, and A: o = name of the object at destination Values: up to 8 alphanumeric characters Default: if a name is not specified, the name of the existing object is used x = extension Values: any extension conforming to Zebra conventions Default: if an extension is not specified, the extension of the existing object is used Default: if a drive is not specified, all objects are transferred to the drive set in parameter s Default: a destination must be specified 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. 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: ^XA ^TOR:ZLOGO.GRF,B:ZLOGO1.GRF ^XZ 1/31/18 Programming Guide P1099958-001 329 330 ZPL Commands ^TO Example 2: To copy the object SAMPLE.GRF from an optional Memory Card to DRAM and keep the same name, write this format: ^XA ^TOB:SAMPLE.GRF,R:SAMPLE.GRF ^XZ Transferring Multiple Objects The asterisk (*) can be used to transfer multiple object files (except *.FNT) from DRAM to the Memory Card. For example, assume you have several object files that contain logos. These files are named LOGO1.GRF, LOGO2.GRF, and LOGO3.GRF. To transfer all these files to the memory card using the name NEW instead of LOGO, place an asterisk after the names NEW and LOGO in the transfer command. This copies all files beginning with LOGO in one command. ^XA ^TOR:LOGO*.GRF,B:NEW*.GRF ^XZ During a multiple transfer, if a file is too big to be stored on the memory card, that file is skipped. All remaining files attempt to be transferred. All files that can be stored within the space limitations are transferred, while other files are ignored. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~WC ~WC – Print Configuration Label 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. 1/31/18 Programming Guide P1099958-001 331 332 ZPL Commands ^WD ^WD – Print Directory Label 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 d = source device optional — o = object name — optional x = extension — optional .TTF and .TTE are only supported in firmware version V60.14.x, V50.14.x, or later. Values: R:, E:, B:, A: and Z: Default: R: Values: 1 to 8 alphanumeric characters Default: * The use of a ? (question mark) is also allowed. 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 .BAE = ZBI encrypted program .STO = data storage .PNG = PNG graphic * = all objects .TTF = TrueType Font .TTE = True Type Extension Default: * The use of a ? (question mark) is also allowed. Example 1: To print a label listing all objects in DRAM, enter: ^XA ^WDR:*.* ^XZ Example 2: To print a label listing all resident bar codes, enter: ^XA ^WDZ:*.BAR ^XZ Example 3: To print a label listing all resident fonts, enter: ^XA ^WDZ:*.FNT ^XZ P1099958-001 Programming Guide 1/31/18 ZPL Commands ~WQ ~WQ – Write Query 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 334. Values: ES = requests the printer’s status. For details see, Table 17 on page 333 HA JT MA MI OD PH PP SN UI = = = = = = = = = and Table 18 on page 334. hardware address of the internal wired print server requests a summary of the printer’s printhead test results maintenance alert settings maintenance information odometer printhead life history printer’s Plug and Play string printer’s serial number printer’s USB product ID and BCD release version Default: must be an accepted value or the command is ignored Table 17 • Error Flags (~WQES) Group 2 Error Flags Flag Nibbles16-9 Group 1 Nibble 8 Nibble 7 (X = Value can be any hexadecimal number [0-9, A-F]) Nibble 6 Nibble 5 Nibble 4 Nibble 3 Nibble 2 Nibble 1 No Error 0 00000000 0 0 0 0 0 0 0 0 Error Present 1 00000000 X X X X X X X X Printhead Thermistor Open 1 00000000 X X X X X 2 X X Invalid Firmware Config. 1 00000000 X X X X X 1 X X Printhead Detection Error 1 00000000 X X X X X X 8 X Bad Printhead Element 1 00000000 X X X X X X 4 X Motor Over Temperature 1 00000000 X X X X X X 2 X Printhead Over Temperature 1 00000000 X X X X X X 1 X Cutter Fault 1 00000000 X X X X X X X 8 Head Open 1 00000000 X X X X X X X 4 ab.This error flag is supported only on KR403 printers. 1/31/18 Programming Guide P1099958-001 333 334 ZPL Commands ~WQ Table 17 • Error Flags (~WQES) (Continued) Group 2 Error Flags Flag Ribbon Out Media Out ab Clear Paper Path Failed Paper Feed Error 1 ab 1 Presenter Not Running ab Paper Jam during Retract Black Mark not Found 1 ab ab 1 1 Black Mark Calabrate Error 1 Retract Function timed out ab 1 ab Paused ab 1 Group 1 (X = Value can be any hexadecimal number [0-9, A-F]) Nibbles16-9 Nibble 8 Nibble 7 Nibble 6 Nibble 5 Nibble 4 Nibble 3 Nibble 2 Nibble 1 1 00000000 X X X X X X X 2 1 00000000 X X X X X X X 1 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 ab ab ab ab ab ab ab ab 00000000 X X X X 8 00000000 X X X X 4 00000000 X X X X 2 00000000 00000000 X X X X X X X 8 00000000 X X X 4 00000000 X X X 2 00000000 X X X 1 ab ab ab ab 1 ab ab ab ab ab.This error flag is supported only on KR403 printers. Table 18 • Warning Flags (~WQES) Group 2 Error Flags Flag Group 1 (X = Value can be any hexadecimal number [0-9, A-F]) Nibbles16-9 Nibble 8 Nibble 7 Nibble 6 Nibble 5 Nibble 4 Nibble 3 Nibble 2 Nibble 1 No Warning 0 00000000 0 0 0 0 0 0 0 0 Warning Present 1 00000000 X X X X X X X X ac Paper-near-end Sensor ac 00000000 X X X X X X X 1 8 ac Replace Printhead 1 00000000 X X X X X X X 4 Clean Printhead 1 00000000 X X X X X X X 2 Need to Calibrate Media 1 00000000 X X X X X X X 1 X Sensor 1 (Paper before head) ac Sensor 2 (Black mark) ac Sensor 3 (Paper after head) Sensor 4 (loop ready) Sensor 5 (presenter) ac ac Sensor 6 (retract ready) Sensor 7 (in retract) Sensor 8 (at bin) ac ac ac 1 1 ac ac ac 1 1 ac ac 1 ac ac 1 ac 1 1 ac 00000000 X X X X X X ac 1 00000000 X X X X X X 2 ac X 00000000 X X X X X X ac 4 00000000 X X X X X X 8 X ac 1 X X X ac 2 X X X X X X 00000000 X 00000000 X X X X X X X 00000000 X X X X X ac 4 00000000 X X X X X 8 ac ac X X ac.This error flag is supported only on KR403 printers. ~WQ Examples This section provides detailed examples of all the available parameters. P1099958-001 Programming Guide 1/31/18 ZPL Commands ~WQ Example 1: This example shows how to request the printer’s status. 1. To request the printer’s status, type ~WQES A label similar to this prints out: 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: 4 6 2 1 1 2 3 4 5 6 3 5 Flag Nibble 16-9 Nibble 8-4 Nibble 3 Nibble 2 Nibble 1 Example 2: This example shows how to request the printer’s status. 1. To request the printer’s status, type ~WQES A label similar to this prints out: • • • • 1/31/18 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). Programming Guide P1099958-001 335 336 ZPL Commands ~WQ 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 A label similar to this prints out: Example 4: This is an example of how to print a summary of the printer’s 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 248. 1. To request a summary of the printer’s 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 printer’s printhead test, type ~WQJT A label similar to this prints out: This illustration identifies the printhead test field definitions: 1 2 1 2 3 4 5 P1099958-001 3 4 5 Element failure Manual (M) or automatic (A) range First test element Last test element Failure count Programming Guide 1/31/18 ZPL Commands ~WQ 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 A label similar to this prints out: 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 A label similar to this prints out: 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 A label similar to this prints out: 1/31/18 Programming Guide P1099958-001 337 338 ZPL Commands ~WQ 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 A label similar to this prints out: 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 printer’s Plug and Play string. 1. To print the printer’s Plug and Play string, type ~WQPP A label similar to this prints out: Example 10: This is an example of how to print the printer’s serial number. 1. To get the printer’s serial number, type ~WQSN A label similar to this prints out: Example 11: This is an example of how to print the printer’s USB product ID and BCD release version. 1. To print the printer’s USB product ID and BCD release version, type ~WQUI A label similar to this prints out: P1099958-001 Programming Guide 1/31/18 ZPL Commands ^XA ^XA – Start Format 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. 1/31/18 Programming Guide P1099958-001 339 340 ZPL Commands ^XB ^XB – Suppress Backfeed 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 ^XB in the Tear-off Mode Normal Operation: backfeed, print, and feed to rest ^XB Operation: print (Rewind Mode) ^XB in Peel-off Mode Normal Operation: backfeed, print, and feed to rest ^XB Operation: print (Rewind Mode) Note • To prevent jamming in cutter mode, ^XB suppresses backfeed and cutting. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^XF ^XF – Recall Format 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 d = source device of stored image Values: R:, E:, B:, and A: o = name of stored image Values: 1 to 8 alphanumeric characters Default: if a name is not specified, UNKNOWN is used x = extension l Fixed Value: .ZPL Default: search priority (R:, E:, B:, and A:) For a complete example of the ^DF and ^XF command, see ^DF and ^XF — Download format and recall format on page 38. 1/31/18 Programming Guide P1099958-001 341 342 ZPL Commands ^XG ^XG – Recall Graphic 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 d = source device of stored image Values: R:, E:, B:, and A: Default: search priority (R:, E:, B:, and A:) Values: 1 to 8 alphanumeric characters o = name of stored image Default: if a name is not specified, UNKNOWN is used x = extension l Fixed Value: mx = magnification factor on the xaxis Values: 1 to 10 my = magnification factor on the yaxis Values: 1 to 10 .GRF Default: 1 Default: 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 P1099958-001 Programming Guide 1/31/18 ZPL Commands ^XS ^XS – Set Dynamic Media Calibration 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 length = dynamic Values: length calibration Y = enable N = disable Default: Y threshold = dynamic threshold calibration Values: Y = enable N = disable Default: Y gain = dynamic gain calibration (to be in a future implementation) 1/31/18 Values: Y = enable N = disable Default: Y Programming Guide P1099958-001 343 344 ZPL Commands ^XZ ^XZ – End Format 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. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^ZZ ^ZZ – Printer Sleep The ^ZZ command places the printer in an idle or shutdown mode. Format: ^ZZt,b Parameters Details t = number of second (idle time) prior to shutdown Values: 0 to 999999 – setting 0 disables automatic shutdown b = label status at shutdown Values: Default: last permanently saved value or 0 Y = indicates to shutdown when labels are still queued N = indicates all labels must be printed before shutting down Default: N Comments The ^ZZ command is only valid on the PA400 and PT400 battery-powered printers. 1/31/18 Programming Guide P1099958-001 345 346 ZPL Commands ^ZZ P1099958-001 Programming Guide 1/31/18 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. 1/31/18 Programming Guide P1099958-001 348 ZPL RFID Commands RFID Command Overview RFID Command Overview In addition to reading or encoding RFID tags, the RFID ZPL commands also provide for RFID exception handling, such as setting the number of read/write retries before declaring a transponder defective (set with ^RR, ^RT, and ^WT) or setting the number of labels that will be attempted if an error occurs (set with ^RS). For example, if an RFID label fails to program correctly or if the transponder cannot be detected, the printer ejects the label and prints VOID across it. The printer will try to print another label with the same data and format for the number of RFID labels specified by the ^RS command. If the problem persists, the printer follows the error handling instructions specified by the ^RS command: the printer may remove the problematic format from the print queue and proceed with the next format (if one exists in the buffer), or it may place the printer in Pause or Error mode. If a parameter is designated as not applicable for a particular printer, any value entered for the parameter will be ignored, but the place holder for the field is required. P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands Printer and Firmware Compatibility Printer and Firmware Compatibility Before using a particular command, verify that it is compatible with your printer and firmware version. See the following tables: • Table 19, ZD500R Series Printer Command and Firmware Compatibility on page 349 • Table 20, RXi Series Printer Command and Firmware Compatibility on page 350 • Table 21, RZ Series and R110PAX4 Printer Command and Firmware Compatibility on page 351 • Table 22, R4Mplus, RP4T, and R2844-Z Printer Command and Firmware Compatibility on page 352 ZD500R Table 19 • ZD500R Series Printer Command and Firmware Compatibility Command Function all Firmware ^HL or ~HL on page 353 Return RFID Data Log to Host * ^HR on page 354 Calibrate RFID Tag Position * ^HV on page 212 Host Verification * ^RA on page 361 Read AFI or DSFID Byte — ^RB on page 362 Define EPC Data Structure * ^RE on page 364 Enable/Disable E.A.S. Bit — ^RF on page 365 Read or Write RFID Format * ^RI on page 369 Get RFID Tag ID — ^RL on page 370 Lock/Unlock RFID Tag Memory * ^RM on page 372 Enable RFID Motion — ^RN on page 373 Detect Multiple RFID Tags in Encoding Field — ~RO on page 305 Reset Advanced Counters * ^RQ on page 374 Quick Write EPC Data and Passwords — ^RR on page 376 Specify RFID Retries for a Block or Enable Adaptive Antenna Selection — ^RS on page 378 Set Up RFID Parameters * ^RT on page 383 Read RFID Tag — ^RU on page 385 Read Unique RFID Chip Serialization * ~RV on page 387 Report RFID Encoding Results — ^RW on page 388 Set RF Power Levels for Read and Write * ^RZ on page 392 Set RFID Tag Password and Lock Tag — ^WF on page 395 Encode AFI or DSFID Byte — ^WT on page 396 Write (Encode) Tag — ^WV on page 398 Verify RFID Encoding Operation — * — a. b. 1/31/18 = 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. Programming Guide P1099958-001 349 ZPL RFID Commands Printer and Firmware Compatibility Function R110Xi and R170Xi Command R110Xi HF R110Xi4 Table 20 • RXi Series Printer Command and Firmware Compatibility all all Firmware all 350 ^HL or ~HL on page 353 Return RFID Data Log to Host * * * ^HR on page 354 Calibrate RFID Tag Position * * * ^RA on page 361 Read AFI or DSFID Byte — * — ^RB on page 362 Define EPC Data Structure * * * ^RE on page 364 Enable/Disable E.A.S. Bit — * — ^RF on page 365 Read or Write RFID Format * * * ^RI on page 369 Get RFID Tag ID * * * (R60.13.0.13ZD or later) ^RL on page 370 Lock/Unlock RFID Tag Memory — — — ^RM on page 372 Enable RFID Motion * * * ^RN on page 373 Detect Multiple RFID Tags in Encoding Field * * * (R60.13.0.3 or later) ~RO on page 305 Reset Advanced Counters * * * ^RQ on page 374 Quick Write EPC Data and Passwords * — * (R60.15.7Z or later) ^RR on page 376 Specify RFID Retries for a Block or Enable Adaptive Antenna Selection * * * ^RS on page 378 Set Up RFID Parameters * * * ^RT on page 383 Read RFID Tag — *a *a ^RU on page 385 Read Unique RFID Chip Serialization — — — ~RV on page 387 Report RFID Encoding Results * — * ^RW on page 388 Set RF Power Levels for Read and Write * * * ^RZ on page 392 Set RFID Tag Password and Lock Tag * — * ^WF on page 395 Encode AFI or DSFID Byte — * — ^WT on page 396 Write (Encode) Tag — *b *b ^WV on page 398 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. P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands Printer and Firmware Compatibility Command Function R110PAX4 RZ400 and RZ600 Table 21 • RZ Series and R110PAX4 Printer Command and Firmware Compatibility V53.17.7Z or later R53.16.X R62.X.X R63.X.X Firmware ^HL or ~HL on page 353 Return RFID Data Log to Host * * * * ^HR on page 354 Calibrate RFID Tag Position * * * * ^RA on page 361 Read AFI or DSFID Byte — — — — ^RB on page 362 Define EPC Data Structure * * * * ^RE on page 364 Enable/Disable E.A.S. Bit — — — — ^RF on page 365 Read or Write RFID Format * * * * ^RI on page 369 Get RFID Tag ID * * * (R62.13.0.13ZC or later) * (R63.13.0.11Z or later) ^RL on page 370 Lock/Unlock RFID Tag Memory — — — — ^RM on page 372 Enable RFID Motion * * * * ^RN on page 373 Detect Multiple RFID Tags in Encoding Field * * * — ~RO on page 305 Reset Advanced Counters * * * * ^RQ on page 374 Quick Write EPC Data and Passwords * * * (R62.15.7Z or later) — ^RR on page 376 Specify RFID Retries for a Block or Enable Adaptive Antenna Selection * * * * ^RS on page 378 Set Up RFID Parameters * * * * ^RT on page 383 Read RFID Tag *a *a *a *a ^RU on page 385 Read Unique RFID Chip Serialization — — — — ~RV on page 387 Report RFID Encoding Results * * * * ^RW on page 388 Set RF Power Levels for Read and Write * * * * ^RZ on page 392 Set RFID Tag Password and Lock Tag * * * * ^WF on page 395 Encode AFI or DSFID Byte — — — — ^WT on page 396 Write (Encode) Tag *b *b *b *b ^WV on page 398 Verify RFID Encoding Operation * * * * * — a. b. c. = 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. 1/31/18 Programming Guide P1099958-001 351 ZPL RFID Commands Printer and Firmware Compatibility R2844-Z SP1056X SP1082X all all Firmware SP1027X Function SP999X Command RP4T R4Mplus Table 22 • R4Mplus, RP4T, and R2844-Z Printer Command and Firmware Compatibility SP994X 352 ^HL or ~HL on page 353 Return RFID Data Log to Host * * * * * * — ^HR on page 354 Calibrate RFID Tag Position * * * * * * — ^RA on page 361 Read AFI or DSFID Byte — — — — — — — ^RB on page 362 Define EPC Data Structure * * * * * * — ^RE on page 364 Enable/Disable E.A.S. Bit — — — — — — * ^RF on page 365 Read or Write RFID Format * * * * * * — ^RI on page 369 Get RFID Tag ID * * * * * * * ^RL on page 370 Lock/Unlock RFID Tag Memory ^RM on page 372 Enable RFID Motion * * * * * * — ^RN on page 373 Detect Multiple RFID Tags in Encoding Field — — — — — * — ~RO on page 305 Reset Advanced Counters * * * * * * — ^RQ on page 374 Quick Write EPC Data and Passwords — — — — — * — ^RR on page 376 Specify RFID Retries for a Block or Enable Adaptive Antenna Selection * * * * * * — ^RS on page 378 Set Up RFID Parameters * * * * * *c * ^RT on page 383 Read RFID Tag *a *a *a *a *a *a * ^RU on page 385 Read Unique RFID Chip Serialization — — — — — — — ~RV on page 387 Report RFID Encoding Results * (SP994J or later) * (SP999C or later) * * * * — ^RW on page 388 Set RF Power Levels for Read and Write * * * * * * — ^RZ on page 392 Set RFID Tag Password and Lock Tag * * * * * * — ^WF on page 395 Encode AFI or DSFID Byte — — — — — — — ^WT on page 396 Write (Encode) Tag *b *b *b *b *b *b * ^WV on page 398 Verify RFID Encoding Operation * * * * * * — * — a. b. c. = 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. P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^HL or ~HL ^HL or ~HL – Return RFID Data Log to Host The printer continually logs RFID data and stores it in the printer’s 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. The ~HL command is processed immediately, while the ^HL command is processed after all of the previous formats (^XA ... ^XZ) have been processed. Format: ^HL or ~HL In the log, RFID data displays in this format: [RFID operation],[program position],[antenna element], [read or write power],[RFID status],[data] where [RFID operation] R = read W = write L = lock S = RFID settings E = log file reset [program position],[antenna element],[read or write power]* Additional information about the program position, the antenna, and the read or write power follows the RFID operation. Such as: R,F1,D3,27,00000000,DATA where F1 = the program position, D3 = the antenna, and 27 is the write power. * With some older versions of firmware, these parameters do not display. [RFID status] #### or ######## = an RFID error code (See the RFID Programming Guide for your printer for more information on error codes. 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.) RPWR = read power WPWR = write power ANT = antenna PPOS = program position FFFFFFFF (or limited to length FFFF for some printers) = indicates that the log file was reset [data] the data read or written Comments • Data is shown in the format specified by the ^RFW command (ASCII, Hex, or EPC). • If the log exceeds 64K (approximately 1500 operations), the data log is cleared automatically, and data recording restarts. When this happens, the following appears in the log: E,FFFFFFFF,Logfile automatically reset • If the printer loses power, the log is lost. If the log results are important to you, retrieve the information frequently. 1/31/18 Programming Guide P1099958-001 353 354 ZPL RFID Commands ^HR ^HR – Calibrate RFID Tag Position Use this command to initiate tag calibration for RFID media. During the tag calibration process (which can take up to 5 minutes on some printers, depending on the type of RFID inlay and the label size) the printer moves the media, reads the tag’s TID to determine chip type, calibrates the RFID tag position, and determines the optimal settings for the RFID media being used. Depending on the printer, these settings include the programming position, the antenna element to use, and the read/write power level to use. Important • Consider the following before using this command: • • • This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 349 for the list of printers and firmware with which you can use this command. For the R110Xi4 and ZD500R printers, leave all transponders before and after the tag that is being calibrated. This allows the printer to determine RFID settings which do not encode the adjacent tag. Allow a portion of media to extend out the front of the printer to allow for backfeed during the tag calibration procedure. With some printers, you should not perform transponder calibration for RFID media that meets the transponder placement specifications for your printer because doing so will slow the printer’s throughput unnecessarily. For more information about tag calibration, 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. Results of the ^HR tag calibration are returned to the host computer. The "run" option in the rfid.tag.calibrate SGD command performs the same calibration but does not create a results table. To restore the printer’s default programming position at any time, use the "restore" option in the rfid.tag.calibrate SGD command (see rfid.tag.calibrate on page 887). Format: ^HRa,b,c,d,e Parameters Details a = start string This parameter specifies the user text to appear before the results table. Values: any string less than 65 characters Default: start b = end string This parameter specifies the user text to appear after the results table. Values: any string less than 65 characters Default: end P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^HR 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. 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 (Not valid on the RP4T printer.) 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: For the R110Xi4 and ZD500R: B20 —The printer backfeeds 20 mm before starting transponder calibration. For the ZT400 with RFID option: B30 —The printer backfeeds 30 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. d = end position 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. 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 (Not valid on the RP4T printer.) 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 and ZD500R printers.) The printer automatically ends the transponder calibration process after successfully reading and encoding a consecutive range of 5 mm on the label. The ZD500R also ensures that no other tags can be programmed at the programming positiion with the calibrationdetermined power levels. Default: For the R110Xi4 and ZD500R: A For all other supported printers: Label length as shown on the printer configuration label 1/31/18 Programming Guide P1099958-001 355 356 ZPL RFID Commands ^HR Parameters Details e = antenna and read/write power level detection Note • • This parameter is valid only on the R110Xi4, ZD500R, and ZT400 printers. • The ZD500R printer has only one antenna, so this parameter applies only to the read/write power level settings. This parameter specifies whether to select the antenna and read/write power levels automatically or manually. 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: A P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^HR 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. 1/31/18 Programming Guide P1099958-001 357 358 ZPL RFID Commands ^HR 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 tag 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. Example 3: When the ^HR command is sent to the printer, the printer performs tag calibration and returns a results table such as the following: P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^HR start position=B14 MM,A1,18,25 tid information=E200.3414:Alien leading edge Tag 1 ,Tag 2 ,Tag 3 ,Tag 4 ,Tag 5 EPC,7109 ,BA29 ,6FD0 ,58AE ,9CDE B30,A1,12,18,A1,29, ,A1, , ,A1, , ,A1, , B29,A1,13,18,A1,25, ,A1, , ,A1, , ,A1, , B28,A1,15,20,A1,23,29,A1, , ,A1, , ,A1, , B27,A1,17,22,A1,23,29,A1, , ,A1, , ,A1, , B26,A1,19,25,A1, , ,A1, , ,A1, , ,A1, , B25,A1,22,28,A1,22,27,A1, , ,A1, , ,A1, , B24,A1,26, ,A1,13,19,A1, , ,A1, , ,A1, , B23,A1, , ,A1,08,14,A1, , ,A1, , ,A1, , B22,A1, , ,A1,05,11,A1, , ,A1, , ,A1, , B21,A1, , ,A1,05,11,A1, , ,A1, , ,A1, , B20,A1, , ,A1,06,12,A1, , ,A1, , ,A1, , B19,A1, , ,A1,08,15,A1, , ,A1, , ,A1, , B18,A1, , ,A1,15,22,A1, , ,A1, , ,A1, , B17,A1, , ,A1,22,28,A1, , ,A1, , ,A1, , B16,A1, , ,A1,16,23,A1, , ,A1, , ,A1, , B15,A1, , ,A1,13,19,A1, , ,A1, , ,A1, , B14,A1, , ,A1,12,19,A1, , ,A1, , ,A1, , --****A1 B13,A1, , ,A1,14,20,A1,24,30,A1, , ,A1, , B12,A1, , ,A1,15,22,A1,22,29,A1, , ,A1, , B11,A1, , ,A1,18,25,A1,26, ,A1, , ,A1, , B10,A1, , ,A1,21,27,A1,26, ,A1, , ,A1, , B09,A1, , ,A1,24, ,A1,15,21,A1, , ,A1, , B08,A1, , ,A1,28, ,A1,09,15,A1, , ,A1, , B07,A1, , ,A1, , ,A1,06,11,A1, , ,A1, , B06,A1, , ,A1, , ,A1,05,11,A1, , ,A1, , B05,A1, , ,A1, , ,A1,05,11,A1, , ,A1, , B04,A1, , ,A1, , ,A1,08,14,A1, , ,A1, , B03,A1, , ,A1, , ,A1,12,18,A1, , ,A1, , B02,A1, , ,A1, , ,A1,20,26,A1, , ,A1, , B01,A1, , ,A1, , ,A1,18,24,A1, , ,A1, , F00,A1, , ,A1, , ,A1,14,21,A1, , ,A1, , F01,A1, , ,A1, , ,A1,13,19,A1, , ,A1, , F02,A1, , ,A1, , ,A1,13,19,A1,27, ,A1, , F03,A1, , ,A1, , ,A1,14,21,A1,26,29,A1, , F04,A1, , ,A1, , ,A1,17,24,A1,27, ,A1, , F05,A1, , ,A1, , ,A1,19,26,A1, , ,A1, , F06,A1, , ,A1, , ,A1,22,29,A1,23,26,A1, , F07,A1, , ,A1, , ,A1,26, ,A1,15,19,A1, , F08,A1, , ,A1, , ,A1, , ,A1,10,14,A1, , F09,A1, , ,A1, , ,A1, , ,A1,08,12,A1, , F10,A1, , ,A1, , ,A1, , ,A1,08,11,A1, , trailing edge end ,Tag 1 ,7109 ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,Tag 2 ,Tag 3 ,Tag 4 ,BA29 ,6FD0 ,58AE ,B1,17,24,B1, , ,B1, , ,B1,14,19,B1, , ,B1, , ,B1,09,15,B1, , ,B1, , ,B1,08,14,B1, , ,B1, , ,B1,09,15,B1,28, ,B1, , ,B1,11,18,B1,26, ,B1, , ,B1,15,21,B1,27, ,B1, , ,B1,18,24,B1, , ,B1, , ,B1,21,28,B1,19,24,B1, , ,B1,25, ,B1,11,17,B1, , ,B1,30, ,B1,07,13,B1, , ,B1, , ,B1,05,11,B1, , ,B1, , ,B1,05,10,B1, , ,B1, , ,B1,05,11,B1, , ,B1, , ,B1,07,13,B1, , ,B1, , ,B1,13,20,B1, , ,B1, , ,B1,18,23,B1, , ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,Tag 5 ,9CDE ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , ,B1, , , , , , , , , , , , , , , , , , , , ,<- ,B1,10,16,B1, , ,B1, , , ,B1,08,14,B1, , ,B1, , , ,B1,08,14,B1, , ,B1, , , ,B1,11,17,B1,26, ,B1, , , ,B1,14,20,B1,25, ,B1, , , ,B1,17,23,B1, , ,B1, , , ,B1,20,26,B1,27,30,B1, , , ,B1,24,30,B1,16,19,B1, , , ,B1,28, ,B1,10,14,B1, , , ,B1, , ,B1,07,11,B1, , , ,B1, , ,B1,06,11,B1, , , ,B1, , ,B1,06,10,B1, , , ,B1, , ,B1,09,13,B1, , , ,B1, , ,B1,12,17,B1, , , ,B1, , ,B1,20,25,B1, , , ,B1, , ,B1,16,20,B1, , , ,B1, , ,B1,11,16,B1, , , ,B1, , ,B1,11,15,B1, , , ,B1, , ,B1,12,16,B1,25, , ,B1, , ,B1,15,18,B1,23,28, ,B1, , ,B1,17,22,B1,23,29, ,B1, , ,B1,20,25,B1, , , ,B1, , ,B1,24,28,B1,21,26, ,B1, , ,B1,27, ,B1,13,18, In the results table, the tags visible to the antenna elements are numbered, and the EPC number that is unique to each tag is displayed. Each line in the results table gives a row number followed by readings associated with RFID tags that are visible at that row. Multiple values on a line indicate that multiple tags were visible. The order of the RFID tags is arbitrary. [Row],[Antenna Element],[Min Read Power],[Min Write Power], [Antenna Element],[Min Read Power],[Min Write Power] ... 1/31/18 Programming Guide P1099958-001 359 360 ZPL RFID Commands ^HR where • Row = the position from the leading edge of the label where calibration occurred • Antenna Element = the antenna used (the ZD500R only has A1) • Minimum Read Power = calibration results (0 – 30) for a tag visible from that row • Minimum Write Power = calibration results (0 – 30) for the same tag The read and write power values are left empty (such as A1, , ,) when no tag is found. In the sample results table for this example, at position B25 (25 mm behind the print line), two RFID tags are visible to the printer at antenna A1. Tag 1 (EPC 7109) can be read at power level 22 and written to at power level 28. Tag 2 (EPC BA29) can be read at power level 22 and written to at power level 27. At that position, Tags 2 and 3 are visible to antenna B1 while Tag 1 is not. Tag 1 ,Tag 2 ,Tag 3 EPC,7109 ,BA29 ,6FD0 ... B25,A1,22,28,A1,22,27,A1, , B24,A1,26, ,A1,13,19,A1, , B23,A1, , ,A1,08,14,A1, , B22,A1, , ,A1,05,11,A1, , B21,A1, , ,A1,05,11,A1, , ... ,Tag 4 ,58AE ,A1, ,A1, ,A1, ,A1, ,A1, , , , , , ,Tag 5 ,9CDE ,Tag 1 ,7109 ,Tag 2 ,BA29 ,A1, ,A1, ,A1, ,A1, ,A1, ,B1, ,B1, ,B1, ,B1, ,B1, ,B1,11,18,B1,26, ,B1, ,B1,15,21,B1,27, ,B1, ,B1,18,24,B1, , ,B1, ,B1,21,28,B1,19,24,B1, ,B1,25, ,B1,11,17,B1, , , , , , , , , , , ,Tag 3 ,6FD0 ,Tag 4 ,58AE , , , , , ,Tag 5 ,9CDE , , ,B1, ,B1, ,B1, ,B1, ,B1, , , , , , , , , , , At position B23, only Tag 2 is visible to antenna A1. Tag 1 is no longer visible. Tag 1 ,Tag 2 ,Tag 3 EPC,7109 ,BA29 ,6FD0 ... B25,A1,22,28,A1,22,27,A1, , B24,A1,26, ,A1,13,19,A1, , B23,A1, , ,A1,08,14,A1, , B22,A1, , ,A1,05,11,A1, , B21,A1, , ,A1,05,11,A1, , ... ,Tag 4 ,58AE ,A1, ,A1, ,A1, ,A1, ,A1, , , , , , ,Tag 5 ,9CDE ,Tag 1 ,7109 ,A1, ,A1, ,A1, ,A1, ,A1, ,B1, ,B1, ,B1, ,B1, ,B1, , , , , , ,Tag 2 ,BA29 , , , , , ,Tag 3 ,6FD0 ,Tag 4 ,58AE ,B1,11,18,B1,26, ,B1, ,B1,15,21,B1,27, ,B1, ,B1,18,24,B1, , ,B1, ,B1,21,28,B1,19,24,B1, ,B1,25, ,B1,11,17,B1, ,Tag 5 ,9CDE , , , , , ,B1, ,B1, ,B1, ,B1, ,B1, , , , , , , , , , , , , At position B13, Tag 3 (EPC 6FD0) becomes visible to antenna A1 and can be read with at power level 24 and written to at power level 30. Tag 1 EPC,7109 ... B16,A1, , B15,A1, , B14,A1, , --****A1 B13,A1, , ... ,Tag 2 ,BA29 ,Tag 3 ,6FD0 ,Tag 4 ,58AE ,Tag 5 ,9CDE ,Tag 1 ,7109 ,Tag 2 ,BA29 ,Tag 3 ,6FD0 ,Tag 4 ,58AE ,Tag 5 ,9CDE , , ,A1,16,23,A1, , ,A1, , ,A1, , ,B1, , ,B1, , ,B1,07,13,B1, , ,B1, , , ,A1,13,19,A1, , ,A1, , ,A1, , ,B1, , ,B1, , ,B1,13,20,B1, , ,B1, , , ,A1,12,19,A1, , ,A1, , ,A1, , ,B1, , ,B1, , ,B1,18,23,B1, , ,B1, , ,<,A1,14,20,A1,24,30,A1, , ,A1, , ,B1, , ,B1, , ,B1,10,16,B1, , ,B1, , , The arrow (<---****) in the table indicates that a valid program position and power levels were found during calibration. The program position is identified at the top of the table as position=B14 MM (backfeed 14 millimeters). The optimal antenna element at that position is A1. The optimal read power is 18, and the optimal write power is 25. start position=B14 MM,A1,18,25 tid information=E200.3414:Alien leading edge ... B14,A1, , ,A1,12,19,A1, , ,A1, , ,A1, , ,B1, , ,B1, , ,B1,18,23,B1, , ,B1, , ,<--****A1 ... P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RA ^RA – Read AFI or DSFID Byte Important • This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 349 for the list of printers and firmware with which you can use this command. 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 # = field number specified with another command The value assigned to this parameter should be the same as the one used in the ^RT command. Values: 0 to 9999 Default: 0 f = format Values: 0 = ASCII 1 = Hexadecimal Default: 0 r = number of retries Values: 0 to 10 Default: 0 m = motion Values: 0 = Feed label after writing. 1 = No Feed after writing. Other ZPL may cause a feed. Default: 0 b = type of byte to read Values: A = AFI byte D = DSFID byte Default: A Example 1: This example reads the AFI byte in ASCII format and returns AFI Byte:x to the host. The printer will retry the command five times if necessary. A voided label is generated if the read is unsuccessful after these retries. The data read will go into the ^FN1 location of the recalled format. ^XA ^FO20,120^A0N,60^FN1^FS ^RA1,0,5,0^FS ^HV1,,AFI Byte:^FS ^XZ 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 1/31/18 Programming Guide P1099958-001 361 362 ZPL RFID Commands ^RB ^RB – Define EPC Data Structure Important • This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 349 for the list of printers and firmware with which you can use this command. Use this command to define the structure of EPC data, which can be read from or written to an RFID tag. 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 tags 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 n = total bit size of the partitions Specify the number of bits to include in the partitions. Values: 1 to n, where n is the bit size of the tag. Default: 96 p0 ... p15 = partition sizes Specify the number of bits to include in the individual partitions. The partition sizes must add up to the bit size specified for the previous parameter. The largest individual partition size is 64 bits. Values: 1 to 64 Default: 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. 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. P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RB Example 3: This example uses the SGTIN-96 standard, which defines 96-bit structure in the following way: SGTIN-96 Header Filter Value Partition Company Prefix Index Item Reference Serial Number 8 bits 3 bits 3 bits 20–40 bits 24 bits 38 bits 10 (binary value) 8 (decimal capacity) 8 (decimal capacity) 16,383 (decimal capacity) 9 to 1,048,575 (decimal capacity*) 33,554,431 (decimal capacity) * Capacity of Item Reference field varies with the length of the company prefix. The ZPL code to encode a tag with this format would look like this: ^XA ^RB96,8,3,3,20,24,38^FS ^RFW,E^FD48,1,6,770289,10001025,1^FS ^XZ These commands would put • 48 in the header • 1 as the filter value • 6 as the partition (indicates a 20-bit prefix and 24-bit item reference) • 770289 as the company prefix • 10001025 as the item reference • 1 as the serial number To read this EPC data and print the results on the label, you would use the following code: ^XA ^RB96,8,3,3,20,24,38^FS ^FO50,50^A0N,40^FN0^FS ^FN0^RFR,E^FS ^XZ The resulting label would look like this: 48.1.6.770289.10001025.1 1/31/18 Programming Guide P1099958-001 363 364 ZPL RFID Commands ^RE ^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 349 for the list of printers and firmware with which you can use this command. 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 t = Enable/disable the E.A.S. bit in the ISO15693 transponder Values: r = number of retries Values: 0 to 10 Default: 0 N = Disable E.A.S. Y = Enable E.A.S. Default: N Example: This example enables the E.A.S. bit in the transponder. It will retry the command five times if necessary. ^XA ^REy,5 ^XZ P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RF ^RF – Read or Write RFID Format Use this command to read or write to (encode) an RFID tag or to specify the access password. 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. 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. Not supported on all Gen 2 printers, including the ZD500R printer.) S = specify the access password Default: W f = format Values: A = ASCII H = Hexadecimal E = EPC (ensure proper setup with the ^RB command) Default: H 1/31/18 Programming Guide P1099958-001 365 366 ZPL RFID Commands ^RF Parameters Details For Gen 2 tag type only: For Gen 2 tag type only: b = password OR b = starting block number What you specify for this parameter depends on what you enter for other parameters. For tag types other than Gen 2: b = starting block number If the Operation parameter value is... Then... W Note • When the memory bank parameter is set to E (EPC 96-bit) or A (EPC and Auto adjust PC bits), this value is always set to 2. • • Values: P, which indicates that an access password, a kill password, or both follow in a ^FD command. Each password must be 8 hex characters. If the password is omitted, it is not written. An access password is used in subsequent lock commands in the format. 0 to n, which specifies the 16-bit starting block number, where n is the maximum number of blocks for the bank specified in the memory bank parameter. Default: 0 R Note • When the memory bank parameter is set to E (EPC 96-bit) or A (EPC and Auto adjust PC bits), this value is always set to 2. • Values: 0 to n, which specifies the 16-bit starting block number, where n is the maximum number of blocks for the bank specified in the memory bank parameter. Default: 0 S This parameter must be P and must be followed by the access password in a ^FD command. For tag types other than Gen 2: Specifies the starting block number. Values: 0 to n, where n is the maximum number of blocks for the tag. Default: 0 P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RF Parameters Details n = number of bytes to read or write Specifies the number of bytes to read or write. For high-frequency (HF) printers: Values: 1 to n, where n is the maximum number of bytes for the tag. Default: 1 For Gen 2 tag type only: When E or A is specified for the memory bank parameter, this value is not required. Values: 1 to n, where n is the maximum number of bytes for the tag. Default: 1 For all other printers and tag types: This parameter applies only when the starting block number is 1. Values: 1 to n, where n is the maximum number of bytes for the tag. For UCODE EPC 1.19, n is 32. Default: 1 m = Gen 2 memory bank Note • This parameter applies to Gen 2 tags only. Specifies the Gen 2 memory bank. For more information about Gen 2 memory, refer to the RFID Programming Guide for your printer. Values: E = EPC 96-bit (When writing data, this parameter performs the A 0 1 2 3 operation on Gen 2 bit address 20h and accesses 12 bytes of the EPC memory bank. When reading data, this parameter reads the amount of data specified in the PC bits on the tag.) = EPC and Auto adjust PC bits (When writing data, this parameter performs the operation on Gen 2 bit address 20h of the EPC memory bank and accesses the number of bytes specified in the ^FD. The PC bits will be updated to match the amount of data written to the tag. When reading data, this parameter reads the amount of data specified in the PC bits on the tag.) NOTE: This value is supported only by the ZD500R™ printer and ZT400™ Series RFID printers. = Reserved = EPC = TID (Tag ID) = User Default: E Example 1: This example encodes 96-bit data in ASCII format. (The ^RS command can be ommited for printers that use Gen 2 tag types only.) ^XA ^RS8 ^RFW,A^FD00 my data^FS ^XZ 1/31/18 Programming Guide P1099958-001 367 368 ZPL RFID Commands ^RF Example 2: This example encodes 96-bit EPC data, as specified by the ^RB command. ^XA ^RB96,8,3,3,20,24,38 ^RFW,E^FD16,3,5,78742,146165,1234567891^FS ^XZ Example 3: This example encodes 4 bytes of hexadecimal formatted data, starting in block 3 of Gen 2 EPC bank 1. (The ^RS command can be omitted for printers that use Gen 2 tag types only.) ^XA ^RS8 ^RFW,H,3,4,1^FD11112222^FS ^XZ Example 4: This example reads the extended Gen 2 tag ID (TID), which is not read by the ^RI command, and returns the results to the host computer. The results are labeled with the header “8-byte Tag ID Data.” (The ^RS command can be omitted for printers that use Gen 2 tag types only.) ^XA ^RS8 ^RFR,H,0,8,2^FN1^FS^HV1,,8-byte Tag ID Data:^FS ^XZ Example 5: This command writes and specifies both the access password (12345678) and the kill password (88887777) separated by a comma. ^RFW,H,P^FD12345678,88887777^FS This command writes the access password only: ^RFW,H,P^FD12345678^FS This command writes the kill password only (a comma must be used before it to distinguish it from an access password): ^RFW,H,P^FD,88887777^FS See the examples for ^RL on page 370 for how this command would be used in a format. Example 6: This command writes 1122334455667788 to the bit address 20h of the EPC memory and updates the PC bits bit address 10h to 14h to reflect 8 bytes (4 words) of data. ^RFW,H,,,A^FD1122334455667788^FS Example 7: This command specifies the access password for the tag, which will be used in subsequent lock commands in the format. The access password specified must match the one stored on the tag. This command does not write the password to the tag. See the examples for ^RL on page 370 for how this command would be used in a format. ^RFS,H,P^FD12345678^FS P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RI ^RI – Get RFID Tag ID Important • This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 349 for the list of printers and firmware with which you can use this command. 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 365 to access the TID memory bank. Format: ^RIa,b,c,d Parameters Details a = number to be assigned to the field Values: 0 to 9999 Default: 0 b = specify data order Note • This parameter applies only to the R110Xi HF and R2844-Z printers. 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: 0 c = number of retries Values: 0 to 10 Default: 0 d = motion Values: 0 = Feed label after writing 1 = No Feed after writing (other ZPL commands may cause a feed) Default: 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 1/31/18 Programming Guide P1099958-001 369 370 ZPL Commands ^RL ^RL – Lock/Unlock RFID Tag Memory The ^RL command has two distinct formats and functions: • ^RLM – Lock/Unlock the Specified Memory Bank Locks a password or an entire memory bank in a writeable or unwriteable state. These locks/unlocks can be permanent or reversible. • ^RLB – Permanently Lock Specified Memory Sections Locks blocks of user memory in an unwriteable state. ^RLM – Lock/Unlock the Specified Memory Bank The ^RLM command locks/unlocks the specified password or memory bank on an RFID tag. You can use this command to do the following: • lock individual passwords, thereby preventing or allowing subsequent reads or writes of that password • lock individual memory banks, thereby preventing or allowing subsequent writes to those banks • Permanently lock (permalock) the lock status for a password or memory bank Format: ^RLM,k,a,e,u Parameters Details k = kill password function Values: a = access password function Values: e = EPC memory bank function Values: u = USER memory bank function Values: U L O P U L O P U L O P U L O P = = = = = = = = = = = = = = = = unlock the kill password* lock the kill password* permanently unlock (Open) the kill password permanently lock (Protected) the kill password unlock the access password* lock the access password* permanently unlock (Open) the access password permanently lock (Protected) the access password unlock the EPC memory bank* lock the EPC memory bank* permanently unlock (Open) the EPC memory bank permanently lock (Protected) the EPC memory bank unlock the USER memory bank* lock the USER password bank* permanently unlock (Open) the USER memory bank permanently lock (Protected) the USER memory bank * The access password must be set to something other than the default of 00000000 to use this value. See Example 4 on page 371 for an example. ^RLB – Permanently Lock Specified Memory Sections The ^RLB command permanently locks (permalocks) one or more sections (individual sub-portions) in a tag’s user memory. The section sizes for each tag is defined by the tag manufacturer. P1099958-001 Programming Guide 1/31/18 ZPL Commands ^RL Format: ^RLB,s,n Parameters Details s = starting section Specify the starting section of memory to lock. n = number of sections Specify the number of sections to lock. Example 1: The following command locks all memory banks using a previously specified access password. ^RLM,L,L,L,L^FS Example 2: The following command locks the user memory banks using a previously specified access password. ^RLM,,,,L^FS Example 3: The following command permalocks sections 0 to 4 of user memory using a previously specified access password. ^RLB,0,4^FS Example 4: This code does the following: • • • • writes 12 bytes to user memory writes “12345678” to the access password and “11223344” to the kill password permalocks 6 sections of user memory using “12345678” as the access password locks the kill and access passwords and permanently unlocks the EPC memory, using “12345678” as the access password ^XA ^RFW,H,0,12,3^FD112233445566778899001122^FS ^RFW,H,P^FD12345678,11223344^FS ^RLB,0,6^FS ^RLM,L,L,O^FS ^XZ Example 5: This code does the following: • • • writes 12 bytes to user memory permalocks 6 sections of user memory using “00000000” as the access password permalocks the kill password and access password using “00000000” as the access password ^XA ^RFW,H,0,12,3^FD112233445566778899001122^FS ^RLB,0,6^FS ^RLM,P,P^FS ^XZ 1/31/18 Programming Guide P1099958-001 371 372 ZPL RFID Commands ^RM ^RM – Enable RFID Motion Important • This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 349 for the list of printers and firmware with which you can use this command. 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 Values: Y = Yes, move the label N = No, do not move the label Default: Y P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RN ^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 349 for the list of printers and firmware with which you can use this command. 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. Note • This parameter is persistent across labels (carried over from label to label), but is NOT persistent across power cycles. Format: ^RNe Parameters Details e = Values: enable Y = Yes, check for multiple tags N = No, do not check for multiple tags Default: Y = Printers with firmware R60.13.0.5 and earlier N = Printers with firmware R60.13.0.7 and later Note • If an invalid parameter value is entered, the default value will be used. 1/31/18 Programming Guide P1099958-001 373 374 ZPL RFID Commands ^RQ ^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 349 for the list of printers and firmware with which you can use this command. 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 this command. Format: ^RQf,c,o[data] Parameters Details f = format Values: A = ASCII H = Hexadecimal E = EPC Default: H Values: 0 (Higgs IC tag) c = chip type Default: 0 Values: 0 (write 96-bit EPC) o = option Default: 0 data = the EPC data, access password, and kill password Use the ^FD command to specify the passwords in the following format: ^FD[EPC],[access],[kill] where: EPC = the EPC data in the format specified by the f parameter. The data should match what would be programmed with the ^RF command. access = an optional access password in hexadecimal format. If this field is left blank, 0x00000000 is written as the access password. kill = an optional kill password in hexadecimal format. If this field is left blank, 0x00000000 is written as the kill password. Example 1: This example writes the EPC data to the tag in hexadecimal format. The unspecified access and kill passwords are written as zeroes (0x00000000). ^XA^RQ^FD112233445566778899001122^XZ Example 2: This example writes the EPC data to the tag in hexadecimal format. The access password is written as 0xAAAAAAAA, and the kill password is written as 0xBBBBBBBB. ^XA^RQ^FD112233445566778899001122,AAAAAAAA,BBBBBBBB^XZ Example 3: This example writes the EPC data to the tag in EPC format. The unspecified access and kill passwords are written as zeroes (0x00000000). ^XA^RB96,30,30,30,6^RQE^FD1234.5678.9012.12^XZ P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RQ 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 1/31/18 Programming Guide P1099958-001 375 376 ZPL RFID Commands ^RR ^RR – Specify RFID Retries for a Block or Enable Adaptive Antenna Selection Important • This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 349 for the list of printers and firmware with which you can use this command. Use this command for the following: • to change the number of times that the printer attempts to read or write to a particular block of a single RFID tag (Not applicable to printers with firmware V75.19.7Z or later.) • to enable the adaptive antenna element selection feature This command is persistent and will be used in subsequent formats if not provided. Note • This command’s function is different than the “number of labels” parameter in the ^RS command. Format: Parameters ^RRn,a Details n = number of retries Note • This parameter does not apply to the ZT400 printer. Values: 0 to 10 Default: 6 a = adaptive antenna element selection Note • This parameter is valid only on R110Xi4 and ZT400 printers with a label that is 2 in. (51 mm) or longer. If the printer cannot find RFID tags with the antenna element specified during the number of retries specified (if applicable), the printer may try neighboring antenna elements. 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. 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. Default: 0 Example 1: This example sets the read block retries to 5. ^XA ^FN1^RR5^RFR,H^FS ^HV1^FS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RR Example 2: This example sets the write block retries to 2. ^XA ^RR2^RFW,H^FD1234^FS ^XZ Example 3: On an R110Xi4 printer, this example sets the write retries to 2 and allows the printer to try neighboring antennas in the event that the current antenna cannot write to the RFID tag. ^XA ^RR2,1^RFW,H^FD1234^FS ^XZ 1/31/18 Programming Guide P1099958-001 377 378 ZPL RFID Commands ^RS ^RS – Set Up RFID Parameters Use this command to set up RFID parameters including tag type; programming position; and error handlingIn addition to reading or encoding RFID tags, the RFID ZPL commands also provide for RFID exception handling, such as setting the number of read/write retries before declaring a transponder defective (set with ^RR, ^RT, and ^WT) or setting the number of labels that will be attempted if an error occurs (set with ^RS). For example, if an RFID label fails to program correctly or if the transponder cannot be detected, the printer ejects the label and prints VOID across it. The printer will try to print another label with the same data and format for the number of labels specified (parameter n). If the problem persists, the printer follows the error handling instructions specified by the error handling parameter (parameter e): the printer may remove the problematic format from the print queue and proceed with the next format (if one exists in the buffer), or it may place the printer in Pause or Error mode. 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 tag 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 23 on page 381. Values: UHF Printers 0 1 2 3 4 5 6 7 8 9 = = = = = = = = = = None 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 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 Technology’s) F or 5 = ISO 15693 G or 6 = EPC tag (13.56 MHz) H or 7 = UID Tag I or 8 = Mifare UltraLight Default: varies by printer (see Table 23 on page 381) P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RS Parameters Details p = read/write position of the tag (programming position) This parameter sets the read/write position of the tag. 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 tag calibration procedure is run. Values: For the ZD500R only: F0 to Fxxx (where xxx is the label length in millimeters or 999, whichever is less) The printer prints the first part of a label until it reaches the specified distance and then begins programming. After programming, the printer prints the remainder of the label. B0 to B30 The printer backfeeds the label for the specified distance and then begins programming. To account for the backfeed, allow empty media liner to extend out of the front of the printer when using a backward programming position. up = move to the next value down = move to the previous value For other RFID printers: Absolute Mode (all firmware versions): 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 tag is already in the effective area without moving the media. Relative Mode (firmware versions V53.17.6 and later): F0 to Fxxx (where xxx is the label length in millimeters or 999, whichever is less) The printer prints the first part of a label until it reaches the specified distance and then begins programming. After programming, the printer prints the remainder of the label. B0 to B30 (Does not apply to the RP4T printer.) The printer backfeeds the label for the specified distance and then begins programming. To account for the backfeed, allow empty media liner to extend out of the front of the printer when using a backward programming position. Default: For the R2844-Z and RPAX: 0 (no movement) For printers using V53.17.6, V74.19.6Z, 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.) v = length of void printout Sets the length of the void printout in vertical (Y axis) dot rows. Values: 0 to label length Default: label length 1/31/18 Programming Guide P1099958-001 379 380 ZPL RFID Commands ^RS Parameters Details n = number of labels to try encoding The number of labels that will be attempted in case of read/encode failure. Values: 1 to 10 Default: 3 e = error handling If an error persists after the specified number of labels are tried, perform this error handling action. 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: 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. a = signals on applicator Note • This parameter does not apply to the R2844-Z. For the R4Mplus, this parameter applies only to printers with firmware version SP994X (R4Mplus European version). 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). 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: S c = reserved s = void print speed Not applicable. Note • This parameter does not apply to the R2844-Z printer. For the R4Mplus printer, 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. Values: any valid print speed Default: the printer’s maximum print speed P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RS Supported Tag Types Table 23 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 printer’s firmware (see http://www.zebra.com/firmware). Table 23 • Supported Tag Types and Default Values R62.13.X R62.15.X and later R63.13.X R63.15.X and later SP994O, SP999E, SP1027E, SP1082E, and earlier SP994P, SP999F, SP1027F, SP1082F, and later SP1056D and earlier SP1056E and later R53.16.X and later R65.13.X R65.15.X and later all R2844-Z R110Xi HF R60.15.X and later R4Mplus R110PAX4 R60.13.X R110Xi R170Xi V53.17.7 and later R110Xi4 V74.19.6Z and later ZD500R Printer HF Printers RZ400/ RZ600 UHF Printers 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 — — * a * — * # * # * # * — — — — Impinj Class 0 Plus — — * * * * — — — — — — — — — — ISO 18000-06A — — — — * — — * * * — — — — — — EPC Class 1, Generation 2 (Gen 2) # # * # * # — # * # * # # — — — ISO 18000-06B — — * * * * — * * * * * — — — — Auto-detect the tag type by querying the tag — — — — — — — — — — — — — — — # Tag*It (Texas Instruments Tagit tags) — — — — — — — — — — — — — — — * I*code (Phillips Icode tags) — — — — — — — — — — — — — — — * Pico Tag (Inside Technology’s) — — — — — — — — — — — — — — — * ISO 15693 — — — — — — — — — — — — — # # * EPC tag — — — — — — — — — — — — — — — * UID Tag — — — — — — — — — — — — — — — — Mifare UltraLight — — — — — — — — — — — — — * * — Firmware Version Tag Type UHF Tag Types and Options HF Tag Types and Options # = Default value * = Accepted value — = Not supported a. Requires R60.13.0.13ZD or later. 1/31/18 Programming Guide P1099958-001 381 382 ZPL RFID Commands ^RS Example 1: The following are examples of Absolute Mode and Relative Mode for the tag position parameter (parameter p). Absolute Mode 1. ^RS,520 sets the encode position at 520 dots from the top edge of the label. 2. ^RS,0 programs the tag without moving the media. Relative Mode 1. ^RS,F1 sets the encode position 1 mm forward from the leading edge of the label. 2. ^RS,B10 sets the encode position 10 mm backwards from the leading edge of the label. 3. ^RS,F0 sets the encode position at the leading edge of the label. 4. ^RS,B0 sets the encode position at the leading edge of the label. Example 2: The following shows the difference between absolute and relative programming positions for the tag 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 encoding area 1 print line tear bar 2 1 2 P1099958-001 ^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 Programming Guide 1/31/18 ZPL RFID Commands ^RT ^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 349 for the list of printers and firmware with which you should not use this command. 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 Values: 0 to 9999 Default: 0 b = starting block number Values: 0 to n, where n is the maximum number of blocks for the tag. Default: 0 n = number of blocks/bytes to read 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: 1 f = format Values: r = number of retries Changes the number of times that the printer attempts to read a particular block of a single RFID tag. (Same retry rules as the ^RR command.) Values: 0 to 10 Default: 0 m = motion Enables or disables RFID motion for the current field. Values: 0 = Feed label after writing. 1 = No feed after writing. Other ZPL may cause a feed. 0 = ASCII 1 = Hexadecimal Default: 0 Default: 0 s = special mode Note • This parameter is used only for the printers referenced here. For R4Mplus printers with firmware version SP920X (U.S. version): Specify actions for mismatched checksums. For EPC Class 1 (Alien reader) only. Not applicable for EPC class 0. Default: 0 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: 0 Values: 0 = least significant byte first 1 = most significant byte first 1/31/18 Programming Guide P1099958-001 383 384 ZPL RFID Commands ^RT 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. ^XA ^FO20,120^A0N,60^FN1^FS ^FO20,100^A0N,20^FN2^FS ^RT1,7,3,,5^FS ^RT2,3,2,,5^FS ^XZ The first ^RT command starts at block 7 and reads three blocks of data in ASCII format. The data read will go into the ^FN1 location of the format. The printer will retry the command five times, if necessary. The second ^RT command starts at block 2 and reads two blocks of data in ASCII format. The data read will go into the ^FN2 location of the format. The printer will retry the command five times, if necessary. P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RU ^RU – Read Unique RFID Chip Serialization Use this command to read the TID (Tag ID) data from the current chip and format a unique 38-bit serial number, which will be placed in the lower (least significant) 38 bits of the EPC code. Format: ^RUa,b Parameters Details a = prefix Specifies the prefix in ASCII Binary Values: Only ASCII characters 1 and 0 are accepted. Maximum of 38 characters. The number of bits in the value specifies the length of the prefix. The prefix is placed as the left-most (most significant) bits in the unique serial number. If nothing is specified, the default value will be used. Default: The MCS prefix is determined by the MDID in the TID of the chip read: 100 = EM Micro Impinj = 101 Alien = 110 NXP = 111 • • • • b = special character Special character for serial number inclusion. Values: Any ASCII character other than the current Command character, Control character, Delimiter character, or any of the Real-Time Clock (RTC) characters. Default: # Note • Serial number inclusion: One of several data elements can be included into any ^FD data string in the same way that Real Time Clock data is included. Use any of the commands below to include a data pattern based on the serial number. These are defined using the default value for the Special Character. #S = include 38-bit serial number derived from TID in decimal form. #H = include 38-bit serial number derived from TID in hexadecimal form. #E = include the entire 96-bit EPC code, including the 38-bit serial number derived from TID in decimal form. #F = include the entire 96-bit EPC code, including the 38-bit serial number derived from TID in hexadecimal form. #P = include the entire 96-bit EPC code, but use the tag’s preprogrammed, 38-bit SGTIN serial number in decimal form.* #Q = include the entire 96-bit EPC code, but use the tag’s preprogrammed, 38-bit SGTIN serial number in hexadecimal form.* * If the EPC has been preprogrammed (typically by the manufacturer) with the chip-based RFID serialization scheme, then the serialized data does not have to be written back to the EPC memory, which saves time. #P and #Q simply format the data that is read from the EPC memory bank. Example 1: Read the TID from the tag, create a serial number based on the tag type, write 12 000000000000 to the 96-bit EPC field, and print the serial number (in hex format) on the label. ^XA ^RU ^FO10,10^A0N,50,50^FDSerial Number: #H^FS ^RFW,H^FD12#H^FS ^XZ 1/31/18 Programming Guide P1099958-001 385 386 ZPL RFID Commands ^RU Example 2: Read the TID from the tag, create a serial number based on the tag type, write the serial number to the EPC field (lower 38 bits) while maintaining the contents of the rest of the EPC memory, print Serial Number: on the label, and return Serial Number: to the host. Perform this operation on three label formats. ^XA ^RU ^FO10,10^A0N,50,50^FN1^FS ^FN1^FDSerial Number: #H^FS ^FH^HV1,24, ,_0D_0A,L^FS ^RFW,H^FD#F^FS ^PQ3 ^XZ Example 3: Read the full EPC (already serialized) from the tag, print Serial Number: on the label, and return Serial Number: to the host. ^XA ^RU ^FO10,10^A0N,50,50^FN1^FS ^FN1^FDSerial Number: #P^FS ^FH^HV1,44, ,_0D_0A,L^FS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ~RV ~RV – Report RFID Encoding Results Important • This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 349 for the list of printers and firmware with which you can use this command. 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 = Enables or disables the results reporting feature. Values: E = Enable D = Disable enable/disable Default: D Example 1: Assume that the following code is sent and that there is no RFID tag in the field. ~RVE ^XA ^RS8,0,,3 ^RMY ^RFR,H ^XZ The printer attempts to program a tag three times and then returns the following to the host: _-,3_ The minus sign indicates that the programming attempt failed entirely and voided three labels. Example 2: Assume that the same code is sent and that the first two attempts at programming a tag are unsuccessful. The third attempt succeeds. ~RVE ^XA ^RS8,0,,3 ^RMY ^RFR,H ^XZ The printer attempts to program a tag three times and then returns the following to the host: _+,2_ The plus sign indicates that the programming attempt was successful and voided two labels. 1/31/18 Programming Guide P1099958-001 387 388 ZPL RFID Commands ^RW ^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 349 for the list of printers and firmware with which you can use this command. Use this command to set the RFID read and write power levels if the desired levels are not achieved through RFID tag calibration. If not enough power is applied, the tag 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 or may cause the wrong tag to be programmed. Note • For the R110Xi4, ZT400, and ZD500R printers: During RFID tag calibration, the printer automatically selects the best read/write power levels and the best antenna element (not appllicable to the ZD500R) for the media being used. The R110Xi4 printer may also set the levels during an adaptive antenna sweep. Use the ~HL command (see ^HL or ~HL on page 353) to view the antenna element and power settings being used. Note • For the R110Xi4, ZT400, and ZD500R printers: During RFID tag calibration, the printer automatically selects the best read/write power levels and the best antenna element (not appllicable to the ZD500R) for the media being used. The R110Xi4 printer may also set the levels during an adaptive antenna sweep. Use the ~HL command (see ^HL or ~HL on page 353) to view the antenna element and power settings being used. Format: ^RWr,w,a Parameters Details r = This parameter sets the power level to match the desired output as calibrated in the factory. read power R53.16.3, V53.17.5, and later: Values: 0 to 30 Default: 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: L R65.X and older versions of other firmware: Values: H = high M = medium L = low Default: L P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RW Parameters w = Details write power Note • This parameter is ignored on the R110Xi HF printer (firmware 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.5, and later: Values: 0 to 30 Default: 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: L Older versions of firmware: Values: H = high M = medium L = low Default: L 1/31/18 Programming Guide P1099958-001 389 390 ZPL RFID Commands ^RW Parameters Details a = ZD500R: RFID antenna element selection This printer only has one antenna element, so the value used is always A1. ZT400: This parameter selects an antenna element from the printer’s antenna array. Values: E1, E2, E3, E4 D1, D2, D3, D4 C1, C2, C3, C4 B1, B2, B3, B4 A1, A2, A3, A4 Default: A4 (Continued on next page) P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RW Parameters Details a = (Continued from previous page) RFID antenna element selection R110Xi4 (V53.17.5 and later): This parameter selects an antenna element from the printer’s antenna array. 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: A4 R110Xi HF (R65.X): This parameter selects the antenna port that provides the best results for reading and writing. Values: 1 = antenna port 1 2 = antenna port 2 Default: 1 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 1/31/18 Programming Guide P1099958-001 391 392 ZPL RFID Commands ^RZ ^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 349 for the list of printers and firmware with which you can use this command. Use this command to define a password for a tag during writing. With Gen 2 tags, you can lock a tag’s 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. Values: 00 to FF (hexadecimal) Default: 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 365 to read the passwords. Values: 00000000 to FFFFFFFF (hexadecimal) Default: none m = memory bank Note • This parameter applies to Gen 2 tags only. This parameter specifies the type of RFID tag password. Values: K A E T U = = = = = kill password access password EPC tag identifier (TID) user Default: none P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^RZ Parameters Details l = lock style Note • This parameter applies to Gen 2 tags only. This parameter specifies the RFID tag password status. Values: U L O P W = = = = = unlocked locked permanently unlocked (open) permanently locked (protected) write value (used only for the kill password memory bank) Default: none Example 1: On a tag that is not Gen 2, this example encodes 5A as the tag password. ^XA ^RZ5A^FS ^XZ Example 2: On a Gen 2 tag, this example encodes EPC data 112233445566778899001122 to the tag in Hex format, write protects the tag’s EPC data with password 1234ABCD, and leaves the tag’s access password unlocked. ^XA ^RFW,H^FD112233445566778899001122^FS ^RZ1234ABCD,E,L^FS ^XZ Example 3: On a Gen 2 tag, this example encodes EPC data 112233445566778899001122 to the tag in Hex format, write protects the tag’s EPC data with password 1234ABCD, and makes the tag’s access password unreadable. ^XA ^RFW,H^FD112233445566778899001122^FS ^RZ1234ABCD,E,L^FS ^RZ1234ABCD,A,L^FS ^XZ The following code unprotects EPC data 112233445566778899001122 using the password 1234ABCD, encodes EPC data newdata to the tag in ASCII format, and then write protects the tag’s new EPC data. The access password and its lock state are not changed, so the access password remains unreadable. ^XA ^RZ1234ABCD,E,U^FS ^RFW,A^FDnewdata^FS ^RZ1234ABCD,E,L^FS ^xz 1/31/18 Programming Guide P1099958-001 393 394 ZPL RFID Commands ^RZ Example 4: This example unlocks the locked access password from the previous example. ^XA ^RZ1234ABCD,A,U^FS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^WF ^WF – Encode AFI or DSFID Byte Use this command to encode the AFI or DSFID byte to a tag. Error handling is set by the ^RS command. Important • This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 349 for the list of printers and firmware with which you can use this command. Format: ^WFr,m,w,f,b Parameters Details r = number of retries Values: 0 to 10 Default: 0 m = motion Values: 0 = Feed label after writing. 1 = No Feed after writing. Other ZPL may cause a feed. Default: 0 w = write protect Values: 0 = Not write protected 1 = Write protect Default: 0 Values: 0 = ASCII 1 = Hexadecimal f = data format Default: 0 b = type of byte to read Values: A = AFI byte D = DSFID byte Default: A Example 1: This example encodes data “R” (hex 52) as the AFI byte. The printer will try the command up to five times, if necessary. ^XA ^WF5^FDR ^XZ Example 2: This example encodes data hex 66 as the AFI byte. The printer will try the command up to three times, if necessary. ^XA ^WF3,,,1^FD66 ^XZ Example 3: This example encodes data hex 77 as the DSFID byte. The printer will try the command up to four times, if necessary. ^XA ^WF4,,,1,D^FD77 ^XZ 1/31/18 Programming Guide P1099958-001 395 396 ZPL RFID Commands ^WT ^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 349 for the list of printers and firmware with which you should not use this command. 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. Values: 0 to n, where n is the maximum number of blocks for the tag. Default: 0 r = number of retries Changes the number of times that the printer attempts to encode a particular block of a single RFID tag. (Same function as the ^RR command.) Values: 0 to 10 Default: 0 m = motion Enables or disables RFID motion. (Same function as the ^RM command.) Values: 0 = Feed label after writing 1 = No feed after writing (other ZPL may cause a feed) Default: 0 w = write protect Values: 0 = Not write protected 1 = Write protected Default: 0 f = data format Values: 0 = ASCII 1 = Hexadecimal Default: 0 P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^WT 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. 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: 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.) Values: N = Do not verify Y = Verify valid data before writing Default: N Example: This sample encodes data “RFIDRFID” and will try writing up to five times, if necessary. ^XA ^WT,5^FDRFIDRFID^FS ^XZ 1/31/18 Programming Guide P1099958-001 397 398 ZPL RFID Commands ^WV ^WV – Verify RFID Encoding Operation Important • This command is not supported by all printers or firmware. See Printer and Firmware Compatibility on page 349 for the list of printers and firmware with which you can use this command. 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 Values: Y or N Default: N P1099958-001 Programming Guide 1/31/18 ZPL RFID Commands ^WV 1/31/18 Programming Guide P1099958-001 399 400 ZPL RFID Commands ^WV Notes • ____________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands This section contains ZPL commands for the Wireless and Wireless Plus print servers. 1/31/18 Programming Guide P1099958-001 402 ZPL Wireless Commands ^KC ^KC – Set Client Identifier (Option 61) 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 Values: 0 1 2 3 = = = = disable (default) enabled, use MAC address enabled, ASCII value enabled, HEX value Default: b = device Values: 0 1 2 3 = = = = all devices wireless external wired ad internal wired Default: c = prefix (optional) 0 Values: 1 11 ASCII characters or 22 hexadecimal values. The prefix can be cleared by defaulting the network settings on the printer. d = identifier 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. ad.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. P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ^NB ^NB – Search for Wired Print Server during Network Boot 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 24 identifies which device becomes the active print server under different conditions. Table 24 • Results of Check for Wired Print Server If the Check for Wired Print Server is set to: Skip Check Installed and Connected to a Live Ethernet Network Then, the Active Print Server will be: Wired Wireless ae X X Wireless X — Wired — X Wireless X X Wired X — Wired — X Wireless ae.A wireless option board must have an active radio that can properly associate to an access point. Format: ^NBa Parameters Details a = check for wired print server at boot time Values: C = CHECK S = SKIP CHECK Default: S 1/31/18 Programming Guide P1099958-001 403 404 ZPL Wireless Commands ^NN ^NN – Set SNMP Use this command to set the Simple Network Management Protocol (SNMP) parameters. Format: ^NNa,b,c,d,e,f Parameters Details a = system name Same as printer name. Values: Up to 17 alphanumeric characters b = system contact Any contact information as desired (such as a name or phrase) Values: Up to 50 alphanumeric characters c = system location The printer’s model information. Values: Up to 50 alphanumeric characters d = get community name Values: Up to 19 alphanumeric characters Default: public e = set community name Values: Up to 19 alphanumeric characters Default: public f = trap community name Values: Up to 20 alphanumeric characters Default: public P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ^NP ^NP – Set Primary/Secondary Device Use this command to specify whether to use the printer’s or the print server’s LAN/WLAN settings at boot time. The default is to use the printer’s 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 403). Format: ^NPa Parameters Details a = device to use as primary Values: P = printer M = MPS/Printserver Default: P 1/31/18 Programming Guide P1099958-001 405 406 ZPL Wireless Commands ^NT ^NT – Set SMTP 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 Values: Any properly formatted server address in the xxx.xxx.xxx.xxx format b = print server domain 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 P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ^NW ^NW – Set Web Authentication Timeout Value 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. Values: 0 (no secure pages can be accessed without entering the printer password) to 255 minutes Default: 5 1/31/18 Programming Guide P1099958-001 407 408 ZPL Wireless Commands ^WA ^WA – Set Antenna Parameters Use this command to set the values for the receive and transmit antenna. Format: ^WAa,b Parameters Details a = receive antenna Values: D = diversity L = left R = right Default: D b = transmit antenna Values: D = diversity L = left R = right Default: D P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ^WE ^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 419 to set the security type and related parameters. 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 a = encryption mode Values: OFF 40 = 40-bit encryption 128 = 128-bit encryption Default: OFF b = encryption index Tells the printer which encryption key to use. Values: 1 = Key 1 2 = Key 2 3 = Key 3 4 = Key 4 Default: 1 c = authentication type Values: O (Open System), S (Shared Key) O = Open System S = Shared Key Default: O Note • If you enable Shared Key authentication with Encryption Mode set to OFF, this value resets to O (Open). d = encryption key storage Values: H (Hex key storage), S (string key storage) H = Hex key storage S = String key storage Default: H e, f, g, h = encryption keys 1 through 4 1/31/18 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. Programming Guide P1099958-001 409 410 ZPL Wireless Commands ^WE Example 1: This example sets encryption to 40-bit, activates encryption key 1, and sets encryption key 1 to the string 12345. ^WE40,,,,12345 In this example, the Encryption Index, Authentication Type, and Encryption Key Storage parameters are left blank with commas as placeholders for the fields. The printer uses the default values for these parameters. Example 2: This example sets encryption to 128-bit, activates encryption key 2, and sets encryption keys 1 and 2 to hex values. ^WE128,2,,H,12345678901234567890123456,98765432109876543210987654 The value for encryption key 1 is stored and can be activated in the future by the following command: ^WE128,1 Example 3: This example sets encryption to 128-bit, activates encryption key 4, and sets encryption key 4 to a hex value. ^WE128,4,,H,,,,98765432109876543210987654 Values are not required for encryption keys 1 through 3 when setting encryption key 4. In this example, commas are used as placeholders for the fields for encryption keys 1 through 3. Any previously stored values for these encryption keys do not change. Important • Make sure that you include the exact number of commas required to get to the slot for encryption key 4 (parameter h). P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ^WI ^WI – Change Wireless Network Settings Use this command to change the wireless network settings. Zebra recommends using ^ND on page 285 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 Values: All BOOTP DHCP and BOOTP DHCP Gleaning only (Not recommended when the Wireless Print Server or Wireless Plus Print Server is installed.) R = RARP P = Permanent A B C D G = = = = = Default: A b = IP address Values: Any properly formatted IP address in the xxx.xxx.xxx.xxx format. Default: 000.000.000.000 c = subnet mask Values: Any properly formatted subnet mask in the xxx.xxx.xxx.xxx format. Default: 000.000.000.000 d = default gateway Values: Any properly formatted gateway in the xxx.xxx.xxx.xxx format. Default: 000.000.000.000 e = WINS server address Values: Any properly formatted WINS server in the xxx.xxx.xxx.xxx format. Default: 000.000.000.000 f = connection timeout checking Values: Y = yes N = no Default: Y g = timeout value Time, in seconds, before the connection times out. Values: 0 through 9999 Default: 300 h = ARP broadcast interval Time, in minutes, that the broadcast is sent to update the device’s ARP cache. Values: 0 through 30 Default: 0 (no ARP sent) i = base raw port number The port number that the printer should use for its RAW data. Values: 1 through 65535 Default: 9100 1/31/18 Programming Guide P1099958-001 411 412 ZPL Wireless Commands ^WL ^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 419 to set the security type and related parameters. 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 a = mode Values: OFF, ON Default: OFF b = user name Values: Any 1 to 32 alphanumeric including special characters Default: user c = password Values: Any 1 to 32 alphanumeric including special characters Default: password P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ~WL ~WL – Print Network Configuration Label Generates a network configuration label (Figure 2). Format: ~WL Figure 2 • Network Configuration Label Wireless Print Server Wireless Plus Print Server and Internal Wireless Plus Print Server Xi4, R110Xi4, ZM400, ZM600, RZ400, RZ600 1/31/18 Programming Guide Other Printers/ Print Engines P1099958-001 413 414 ZPL Wireless Commands ^WP ^WP – Set Wireless Password Note • This command does not apply to the S4M. 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 a = old wireless password Values: 0000 through 9999 Default: 0000 b = new wireless password Values: 0000 through 9999 Default: 0000 P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ^WR ^WR – Set Transmit Rate Use this command to change the transmission rate for 802.11b wireless print servers. Format: ^WRa,b,c,d,e Parameters Details a = rate 1 Sets the 1 Mb/s transmit rate. Values: Y (On), N (Off) b = rate 2 Sets the 2 Mb/s transmit rate. Values: Y (On), N (Off) c = rate 5.5 Sets the 5.5 Mb/s transmit rate. Values: Y (On), N (Off) d = rate 11 Sets the 11 Mb/s transmit rate. Values: Y (On), N (Off) e = transmit power Values: 1, 5, 20, 30, 50, 100 1/31/18 Programming Guide P1099958-001 415 416 ZPL Wireless Commands ~WR ~WR – Reset Wireless Radio Card and Print Server 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 P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ^WS ^WS – Set Wireless Radio Card Values 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 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: 125 o = operating mode Values: I (Infrastructure), A (Adhoc) Default: I p = wireless radio card preamble Values: L = long S = short Default: L h = wireless pulse 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 Adds a pulse to the network traffic generated by the printer. This pulse is necessary with some network configurations to keep the printer online. Values: 0 = disabled 1 = enabled Default: 1 Sets the interval at which the wireless pulse is sent when the wireless pulse feature is enabled. Values: 5 to 300 seconds Default: 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 25. Values: 4 Hexadecimal digits preceded by “0x” (0x0000 to 0xFFFF) Default: 0x7FF This parameter is supported in firmware version X60.15.x, V50.15.x, or later. k = international mode In international mode, the printer uses the channel set by the access point. Values: 0 (Disabled), 1 (Enabled) Default: 0 This parameter is supported in firmware version X60.15.x, V50.15.x, or later. 1/31/18 Programming Guide P1099958-001 417 418 ZPL Wireless Commands ^WS Table 25 • Channel Mask Settings Region P1099958-001 Channel Mask United States, Canada, Latin America 0x7FF Europe, Middle East, Africa, other 0x1FFF Japan 0x3FFF Programming Guide 1/31/18 ZPL Wireless Commands ^WX ^WX – Configure Wireless Securities 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. The ^WX command replaces individual ZPL commands for different security types. 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 supporting parameters that are required vary based on the security type that you select. See Supporting Parameters for Different Security Types on page 421 for instructions for each security type. Important • When using certificate files, the time on the printer must be set correctly for the websocket connection to succeed, as the time is used in the certificate validation. Format: ^WXa,[zero or more supporting parameters] 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 421. Note • Configuring the printer for WPA also allows the printer to be used in WPA2 environments. Values: 01 to 15 01 = No wireless security is active09= WPA PSK (R6x15.x, R53.15.x, ZSPx, 02 = 03 = 04 = 05 = 06 = 07 = 08 = and later.) WEP 40-bit10= WPA EAP-TLS WEP 128-bit11= WPA EAP-TTLS EAP-TLS12= WPA EAP-FAST EAP-TTLS13= WPA PEAP EAP-FAST14= WPA LEAP PEAP15=Kerberos LEAP Default: 01 b = WEP encryption index* Specifies which encryption key to use for WEP encryption. A value must be specified if using WEP 40-bit or WEP 128-bit. Values: 1, 2, 3, 4 Default: 1 c = WEP authentication type* Enables the WEP key authentication type. A value must be specified if using WEP 40-bit or WEP 128-bit. Values: O or S O = open system S = shared key Default: O * Not used for all security types 1/31/18 Programming Guide P1099958-001 419 420 ZPL Wireless Commands ^WX Parameters Details d = WEP key type* Specifies the format of the WEP key. A value must be specified if using WEP 40-bit or WEP 128-bit. Values: H or S H = hex key storage S = string key storage Default: S e,f,g,h = WEP encryption keys 1 through 4* 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. Values: The actual value for the encryption key Default: 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 Values: The actual value for the user ID. Default: user j = password* Specifies a password for security types that require one. A value specified if using the following security types: must be • • • • • • • EAP-TTLS LEAP WPA LEAP PEAP WPA PEAP WPA EAP-TTLS Kerberos Values: The actual value for the password. Default: password * Not used for all security types P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ^WX Parameters Details k = optional private key password* value must be specified if using the following security types: Specifies an optional private key password for security types that require one. A • • • • EAP-TLS EAP-FAST WPA EAP-TLS WPA EAP-FAST Values: The actual value for the optional private key. Default: None l = realm* Specifies the realm for security types that require it. A value must be specified if using Kerberos. Values: The actual value for the realm. Default: kerberos m = Key Distribution Center (KDC)* Specifies the KDC for security types that require it. A value must be specified if using Kerberos. Values: The actual value for the KDC. Default: krbtgt" n = Pre-Shared Key (PSK) value* 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. Values: a minimum of 64 hexadecimal digits Default: None * Not used for all security types Supporting Parameters for Different Security Types The supporting parameters required for this command vary based on the security type that you select. You should not use all of the supporting parameters each time that you use this command, nor will you use extra commas to separate unused fields. Follow the example and format for your specific security type in this section, substituting your own wireless network data. Security Type 01: No Wireless Security Active Format: ^WX01 Example: This example turns off all wireless securities controlled under this command, but it does not reset the printer’s wireless settings to their defaults. ^XA ^WX01 ^JUS^XZ 1/31/18 Programming Guide P1099958-001 421 422 ZPL Wireless Commands ^WX Security Type 02: WEP 40-Bit Format: ^WX02,b,c,d,e,f,g,h Example: This example configures the printer for WEP 40-bit encryption using index key 1, open authentication, and a hexadecimal WEP key with a value of “A1B2C3D4F5.” ^XA ^WX02,1,O,H,A1B2C3D4F5,,, ^JUS ^XZ Security Type 03: WEP 128-Bit Format: ^WX03,b,c,d,e,f,g,h Example: This example configures the printer for WEP 128-bit encryption using index key 2, open authentication, and four hexadecimal WEP keys. ^XA ^WX03,2,O,H,001122334455667788,112233445566778899,223344556677889 900,334455667788990011 ^JUS ^XZ Security Type 04: EAP-TLS Format: ^WX04,k Example: This example configures the printer for EAP-TLS authentication with an optional private key password with a value of “private.” ^XA ^WX04,private ^JUS ^XZ Security Type 05: EAP-TTLS Format: ^WX05,i,j P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ^WX Example: This example configures the printer for EAP-TTLS authentication, including a user ID of “user” and a password of “password.” ^XA ^WX05,user,password ^JUS ^XZ Security Type 06: EAP-FAST Format: ^WX06,i,j,k Example: This example configures the printer for EAP-FAST authentication, including a user ID of “user,” a password of “password,” and an optional private key of “private.” ^XA ^WX06,user,password,private ^JUS ^XZ Security Type 07: PEAP Format: ^WX07,i,j Example: This example configures the printer for PEAP authentication, including a user ID with a value of “user” and a password with a value of “password.” ^XA ^WX07,user,password ^JUS ^XZ Security Type 08: LEAP Format: ^WX08,i,j Example: This example configures the printer for LEAP authentication, including a user ID with a value of “user” and a password with a value of “password.” ^XA ^WX08,user,password ^JUS ^XZ 1/31/18 Programming Guide P1099958-001 423 424 ZPL Wireless Commands ^WX Security Type 09: WPA PSK Note • Configuring the printer for WPA also allows the printer to be used in WPA2 environments (R6x15.x, R53.15.x, ZSPx, and later.) Format: ^WX09,n Example: This example configures the printer for WPA PSK authentication with a PSK value of all zeroes (64 hexadecimal digits). ^XA ^WX09,00000000... ^JUS ^XZ Security Type 10: WPA EAP-TLS Note • Configuring the printer for WPA also allows the printer to be used in WPA2 environments. Format: ^WX10,k Example: This example configures the printer for WPA EAP-TLS authentication with an optional private key password with a value of “private.” ^XA ^WX10,private ^JUS ^XZ Security Type 11: WPA EAP-TTLS Note • Configuring the printer for WPA also allows the printer to be used in WPA2 environments. Format: ^WX11,i,j 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.” ^XA ^WX11,user,password ^JUS ^XZ P1099958-001 Programming Guide 1/31/18 ZPL Wireless Commands ^WX Security Type 12: WPA EAP-FAST Note • Configuring the printer for WPA also allows the printer to be used in WPA2 environments. Format: ^WX12,i,j,k 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.” ^XA ^WX12,user,password,private ^JUS ^XZ Security Type 13: WPA PEAP Note • Configuring the printer for WPA also allows the printer to be used in WPA2 environments. Format: ^WX13,i,j Example: This example configures the printer for WPA PEAP authentication, including a user ID with a value of “user” and a password with a value of “password.” ^XA ^WX13,user,password ^JUS ^XZ Security Type 14: WPA LEAP Note • Configuring the printer for WPA also allows the printer to be used in WPA2 environments. Format: ^WX14,i,j Example: This example configures the printer for WPA LEAP authentication, including a user ID with a value of “user” and a password with a value of “password.” ^XA ^WX14,user,password ^JUS ^XZ 1/31/18 Programming Guide P1099958-001 425 426 ZPL Wireless Commands ^WX Security Type 15: Kerberos Format: ^WX15,i,j,l,m Example: This example configures the printer for Kerberos encryption, including a Kerberos user ID with a value of “user,” a Kerberos password with a value of “password,” a realm of “zebra,” and a KDC of “krbtgt.” ^XA ^WX15,user,password,zebra,krbtgt ^JUS ^XZ P1099958-001 Programming Guide 1/31/18 ZBI Commands This section explains the Zebra Basic Interpreter, its commands, descriptions, formats, and parameters. Contents Introduction to Zebra Basic Interpreter (ZBI) ............................................................................ 428 Command and Function Reference Format .............................................................................. 429 Section Organization ................................................................................................................. 430 Editing Commands..................................................................................................................... 431 Running and Debugging Commands ......................................................................................... 439 Base Types and Expressions ...................................................................................................... 450 Control and Flow ....................................................................................................................... 459 Input and Output....................................................................................................................... 467 File System................................................................................................................................. 488 Comma Separated Values (CSV) ................................................................................................ 493 Events ........................................................................................................................................ 498 Systems...................................................................................................................................... 509 String Functions......................................................................................................................... 520 Math Functions.......................................................................................................................... 536 Array Functions ......................................................................................................................... 544 Time and Date Functions........................................................................................................... 552 Set/Get/Do Interactions ............................................................................................................ 557 Example Programs..................................................................................................................... 559 1/31/18 Programming Guide P1099958-001 428 ZBI Commands Introduction to Zebra Basic Interpreter (ZBI) Introduction to Zebra Basic Interpreter (ZBI) What is ZBI and why is it for me? ZBI is an "on-the-printer" programing language that offers many of the functions found in ANSI BASIC. The ZBI language allows the user to create applications that are run on the printer to manipulate data streams. By using ZBI, it is possible to have the printer perform the same functions that a computer or programmable terminal might otherwise be used for. With the connectivity options available on Zebra printers, you may not need a separate computer. Simply load a ZBI program on your printers, add them to your network, and let the printers serve as the gateway for moving data. Here are some of the applications that can be written using ZBI: • Connect a barcode scanner to the printer. Based on scanned data, reprint tags, verify printed output, and manage a list of items. • Connect a scale to the printer and print labels, tags, or receipts based on the weight of an item. • Connect the printer to a PC-based database and send queries from the printer to retrieve or upload data. • Convert incoming data into the commands that can be used to print a label. This is useful for replacing other brands of printers with new Zebra units. • Provide fail-over to another printer when the target printer is in an error state. Printers, ZBI Keys, & ZBI Versions Information about ZBI 1.x and ZBI 2.x: ZBI versions 1.0 through 1.5: ZBI 1.x was available on printers with X.10 or higher firmware (such as V48.10.x). To determine if the printer supports ZBI version 1, check the firmware version loaded on the printer. This can be determined by the absence of a “Z” in the firmware version number (for example, firmware V60.13.0.12 supports ZBI version 1, while V60.13.0.12Z does not). The following printers support the ZBI 1.x firmware: • LP/TLP 284x-Z and 384x-Z • S300/S400/S500/S600 • Z4000/Z6000 • Z4M/Z6M • Z4Mplus/Z6Mplus • 105SL • PAX3 • XiII • XiIII P1099958-001 Programming Guide 1/31/18 ZBI Commands Command and Function Reference Format ZBI-Developer can be used to create programs for use on printers that support ZBI version 1.x., however, the features that are only available in ZBI v2.x cannot be used with printers running ZBI v1.x. For example, “on-printer” debugging advanced file encryption and commands added in ZBI 2 are not supported in printers running ZBI 1.x. If you do not have a printer that meets this requirement, contact your reseller. Note • Support for ZBI versions 1.0 through 1.5 is limited to syntax checking only. 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 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 printer’s E: memory location with the name ZBI.nrd. The file is persistent. It cannot be deleted even if the printer’s 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 printer’s 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 printer’s 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. Command and Function Reference Format This section describes how commands and functions are presented in this document. 1/31/18 Programming Guide P1099958-001 429 430 ZBI Commands Section Organization Command/Function NAME Describes 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 ,. The and 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 parameter is defined as: = number used to start the auto-numbering sequence Return Value (functions only) The return value is the result of evaluating the function or expression. Example When a command is best clarified in a programming context, an example of the ZBI code is provided. Text indicating parameters, exact code to be entered, or data returned from the host is printed in the Courier font to be easily recognizable. Example: An example of PRINT code is: 10 PRINT "HELLO WORLD" RUN HELLO WORLD Comments 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. An example comment could be: This is a program command and must be preceded by a line number. 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. Section Organization The sections in this guide are arranged based on programming topics. A brief description of the sections is listed below. P1099958-001 Programming Guide 1/31/18 ZBI Commands Editing Commands 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 Writing ZBI Programs There are two main ways to develop ZBI programs. The preferred method is to use the ZBI-Developer application. ZBI-Developer allows you to create and test programs before a printer is even turned on. In addition, many features of this program allow for quicker program creation and more meaningful debugging. ZBI-Developer can be downloaded from the Zebra web site. An alternate method for developing a program is through a direct connection to the printer using a terminal emulation program. 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 1/31/18 Programming Guide P1099958-001 431 432 ZBI Commands Editing 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: Entered automatically when AUTONUM is used NEW AUTONUM 10,5 10 REM "Hello World" Application 15 PRINT "Hello World" ! comment... 20 A blank line stops AUTONUM LIST 10 REM "Hello World" Application 15 PRINT "Hello World" NEW LIST Preview when viewed in ZBI-Developer AUTONUM 10,5 REM "Hello World" Application PRINT "Hello World" ! comment... P1099958-001 Programming Guide 1/31/18 ZBI Commands Editing Commands NEW This command clears the interpreter’s 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. 1/31/18 Programming Guide P1099958-001 433 434 ZBI Commands Editing Commands REM A numbered remark line starts with REM and includes text in any form after it. This line is ignored by the interpreter. Format REM Parameters The comment string can contain any character and is terminated by a carriage return. Example 1: This is an example of how to use the REM command: 10 REM COMMAND LINES 20-100 PRINT A LABEL Comments Remarks are used for program description and are included as a separate program line. To append a comment to the end of a program line, use the exclamation mark (!). A useful method to keep comments in a stored file (but not in the printer) is to always start the REM line with the number 1. When all of the lines are sent to the printer, only the last REM line will stay resident in the printer. This will require less RAM for large programs. Example 2: This is an example of how to re-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 P1099958-001 Programming Guide 1/31/18 ZBI Commands Editing Commands ! (EXCLAMATION MARK) 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 ! 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: 10 LET A=10 ! Indicates number of labels to print Comments None 1/31/18 Programming Guide P1099958-001 435 436 ZBI Commands Editing Commands LIST This command lists the program lines currently in memory. Format LIST LIST LIST - Parameters default = lists all lines in memory = line to start listing the program = line to stop listing the program. If not specified, only the line at will print. Example: This is an example of how to use the LIST 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 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. P1099958-001 Programming Guide 1/31/18 ZBI Commands Editing Commands AUTONUM This command automatically generates sequential program line numbers. Format AUTONUM , 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 new line number. Type the following at the prompt: AUTONUM 10,5 SUB START PRINT "HELLO WORLD" GOTO START LIST Will produce: AUTONUM 10,5 10 SUB START 15 PRINT "HELLO WORLD" 20 GOTO START The three lines are automatically started with the AUTONUM parameters; in this case, the first line starts with 10 and each subsequent line increments by 5. Comments This feature is disabled by overwriting the current line number and entering the desired interactive mode commands, or leaving the line blank. Use of the SUB command allows for GOTO and GOSUB statements that do not require line numbers in your program. This is an interactive command that takes effect as soon as it is received by the printer. 1/31/18 Programming Guide P1099958-001 437 438 ZBI Commands Editing Commands RENUM 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 , Parameters = the number to start the renumbering sequence = 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. P1099958-001 Programming Guide 1/31/18 ZBI Commands Running and Debugging Commands ECHO 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 = 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. Running and Debugging Commands The following commands were written before the development of the ZBI-Developer application. With that application, and when using ZBI version 1, the following commands are essentially obsolete. However, for those who started developing ZBI applications before ZBI-Developer, the following reference will be helpful. RUN – Starts executing the program currently in memory at the first line of the program CTRL-C Sends an end-of-transmission character, ETX , to the console to terminate the ZBI program currently running. RESTART – Starts executing the program currently in memory where it was last stopped STEP – Executes one line of the program in memory where it was last stopped DEBUG – This mode controls whether or not the TRACE and BREAK commands are processed TRACE – Shows which lines have been executed and which variables have been changed BREAK – Stops the currently running program ADDBREAK – Adds a break to an existing line DELBREAK – Deletes an existing break ZPL Terminates and exits the ZBI environment. 1/31/18 Programming Guide P1099958-001 439 440 ZBI Commands Running and Debugging Commands This example shows many of the Running and Debug Commands in practice. Example: Preview: ZBI Program 10 PRINT "TEN" 20 PRINT "TWENTY" 30 PRINT "THIRTY" RUN Runs the whole program TEN TWENTY THIRTY STEP TEN RESTART TWENTY THIRTY Runs one line Completes running the program where STEP left off Adds a breakpoint on line 20 ADDBREAK 20 RUN TEN on line: 20 Turn Trace On P1099958-001 DEBUG ON TRACE ON RESTART 20 TWENTY 30 THIRTY Programming Guide 1/31/18 ZBI Commands Running and Debugging Commands RUN 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. 1/31/18 Programming Guide P1099958-001 441 442 ZBI Commands Running and Debugging Commands CTRL-C 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. P1099958-001 Programming Guide 1/31/18 ZBI Commands Running and Debugging Commands RESTART 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 on line: 20 DEBUG ON TRACE ON RESTART 20 TWENTY 30 THIRTY 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. 1/31/18 Programming Guide P1099958-001 443 444 ZBI Commands Running and Debugging Commands STEP 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. P1099958-001 Programming Guide 1/31/18 ZBI Commands Running and Debugging Commands DEBUG 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 446 and BREAK on page 447. Comments This command has no effect on the processing of break points in ZBI-Developer. It is recommended that you avoid using the DEBUG command when writing programs in the ZBI-Developer environment, instead use the Debug capabilities of ZBI-Developer. 1/31/18 Programming Guide P1099958-001 445 446 ZBI Commands Running and Debugging Commands TRACE 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 = controls whether TRACE is active (ON) or disabled (OFF). If DEBUG is activated and the TRACE command is on, trace details are displayed. When any variables are changed, the new value displays as follows: Variable = New Value Every line processed has its line number printed as follows: Line Number Example: An example of TRACE command in use: 10 LET A=5 20 GOTO 40 30 PRINT "Error" 40 PRINT A DEBUG ON TRACE ON RUN 10 A=5 20 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. P1099958-001 Programming Guide 1/31/18 ZBI Commands Running and Debugging Commands BREAK 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 10 A=5 20 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. 1/31/18 Programming Guide P1099958-001 447 448 ZBI Commands Running and Debugging Commands ADDBREAK Description This command allows you to stop the program when the program reaches a specified line. Format ADDBREAK 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. 10 LET A=5 20 PRINT A ADDBREAK 20 RUN ON LINE:20 RESTART 5 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. This is the command used internally by ZBI-Developer when the user right-clicks over a program line and adds a Breakpoint via the "Toggle Breakpoint" selection. It is the recommended method for setting breakpoints in ZBI. 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. P1099958-001 Programming Guide 1/31/18 ZBI Commands Running and Debugging Commands DELBREAK This command allows you to remove existing breakpoints. Format DELBREAK 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 10 A=5 ON LINE:20 RESTART 20 5 DELBREAK 20 RUN 10 A=5 20 5 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. 1/31/18 Programming Guide P1099958-001 449 450 ZBI Commands Base Types and Expressions ZPL This command terminates and exits the ZBI environment. Format ZPL Parameters N/A Example: An example of the ZPL command. ZPL ZBI TERMINATED Comments This is an interactive command that takes effect as soon as it is received by the printer. Base Types and Expressions There are two base types in the ZBI language. These types are Integers and Strings. Integers are whole numbers that contain no fractional part. The range of values for integers is: -2,147,483,648 to +2,147,483,647 Strings are character arrays. The string length is only limited by the amount of memory in the system (version 2.0 and higher). Each character can have a value between 0 and 255 (version 2.0 and higher). The use of control characters (0-31) may be difficult to debug based on the handling of control characters in different communications programs. In addition the ETX (3) will terminate a ZBI application when it is received on the console port. Use the CHR$ function when control characters must be placed into strings. Note • In ZBI version 1.4 and lower, there was a string length limit of 255 characters. This section is organized as follows: • Variable Names • Variable Declarations • Constants • Arrays • Assignment • Numeric Expressions • String Concatenation (&) • Sub-strings • Boolean Expressions • Combined Boolean Expressions P1099958-001 Programming Guide 1/31/18 ZBI Commands Base Types and Expressions 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: I, J, K, VARNAME, VARSTR$, MYSTR$,MY_STR9$ Invalid Names: STR$ = Reserved word ORD = Reserved word VAL = Reserved word W# = Invalid character (# ) 9THSTR = Variable can not start with a number 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 DECLARE STRING If the variable existed before the DECLARE statement, it will be defaulted. Implicit: LET = NUMERIC EXPRESSION LET = 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->”<-. 1/31/18 Programming Guide P1099958-001 451 452 ZBI Commands Base Types and Expressions 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 re-dimensioned 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 ( ) DECLARE STRING ( , ) DECLARE NUMERIC ( ) DECLARE NUMERIC ( , ) Parameters = number of entries in a single dimension array = number of rows in a two dimensional array = 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. 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. P1099958-001 Programming Guide 1/31/18 ZBI Commands Base Types and Expressions Example: An ASSIGNMENT example: 10 LET A=5 20 LET B$="HELLO" 30 LET B$(5:5)=B$ 1/31/18 Programming Guide P1099958-001 453 454 ZBI Commands Base Types and Expressions LET 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 452. Format LET [, ]* = 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. 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: + 5+2 result = 7 VAL ("25") +2 result =27 P1099958-001 Programming Guide 1/31/18 ZBI Commands Base Types and Expressions 2. – (subtraction) Subtraction expressions use this format: - 5-2 result = 3 VAL ("25") -2 result =23 3. * (multiplication) Multiplication expressions use this format: * 5*2 result = 10 VAL ("25") *2 result =50 4. / (division) Division expressions use this format: / 5/2 result = 2 VAL ("25") /2 result =12 5. ^ (exponentiation) Exponentiation expressions use this format: ^ 5^2 result = 25 VAL ("25") ^2 result =625 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. 1/31/18 Programming Guide P1099958-001 455 456 ZBI Commands Base Types and Expressions String Concatenation (&) The basic string expression may be either a constant or a variable, and concatenation (&) is supported. Using the concatenation operator (&) adds the second string to the first string. & Example: This is an example of how to use the STRING CONCATENATION (&) command: 10 LET A$= "ZBI-" 20 LET B$= "Programming" 30 LET C$= A$ & B$ 40 PRINT C$ RUN ZBI-Programming Sub-strings 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 (:)= LET = (:) Parameters = the position of the first character in the desired string = the position of the last character in the desired string. = 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. P1099958-001 Programming Guide 1/31/18 ZBI Commands Base Types and Expressions Example 1: This is an example of a sub-string reference: LET A$="Zebra Quality Printers" LET B$=A$(1:13) PRINT B$ Zebra Quality This is an example of a sub-string assignment. 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. Boolean Expressions A Boolean expression holds 0 (zero) as false and non-zero as true. Formats NOT( ) Parameters = a string variable, string constant or any combination with concatenation = 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) 1/31/18 Expression Result 1< 2 true 2<2 false 2<1 false Programming Guide P1099958-001 457 458 ZBI Commands Base Types and Expressions 2. <= (less than or equal to) Expression Result 1<=2 true 2<=2 true 2<=1 false 3. > (greater than) Expression Result 1> 2 false 2>2 false 2>1 true 4. >= (greater than or equal to) Expression Result 1>=2 false 2>=2 true 2>=1 true 5. = (equal to) Expression Result 1=2 false 2=2 true "A"="AA" false "A"="A" true 6. <> (not equal to) Expression Result 1<>2 true 2<>2 false "A"<>"AA" true "A"<>"A" false Combined Boolean Expressions AND, OR, and NOT can be used in conjunction with base Boolean expressions to recreate expanded Boolean expressions. P1099958-001 Programming Guide 1/31/18 ZBI Commands Control and Flow 1. NOT — Negate the target expression. Expression Result NOT 1=2 true NOT 1=1 false 2. AND — Both expressions must be true for a true result. Expression Result 1=2 AND 1=2 false 2=2 AND 1=2 false 1=2 AND 2=2 false 2=2 AND 2=2 true 3. OR — If either expression is true, the result will be true. Expression Result 1=2 OR 1=2 false 1=2 OR 2=2 true 2=2 OR 1=2 true 2=2 OR 2=2 true Order of Precedence The order of precedence is listed below: Expressions and Functions Parenthetical expressions () <, <=, <>, =, =>, > NOT, AND, OR Control and Flow This section outlines the commands to conditionally execute code and control the flow of the program. Here is a quick list of these commands: IF Statements Executes or skips a sequence of statements, depending on the value of a Boolean expression. DO Loops Repeats instructions based on the results of a comparison. FOR Loops A control flow statement which allows code to be executed iteratively. GOTO/GOSUB Causes an unconditional jump or transfer of control from one point in a program to another. 1/31/18 Programming Guide P1099958-001 459 460 ZBI Commands Control and Flow SUB Allows you to “substitute” names instead of actual line numbers as the target of GOSUBs and GOTOs. EXIT Used to exit the DO and FOR loops. END Terminates any program currently running. P1099958-001 Programming Guide 1/31/18 ZBI Commands Control and Flow IF Statements If the value of the 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 THEN ~~BODY~~ [ELSE IF THEN ~~BODY~~]* [ELSE ~~BODY~~] END IF Parameters N/A Example: This is an example of how to use the IF statement command: 10 20 30 40 50 60 70 80 90 1/31/18 IF A$="0" THEN PRINT "ZBI IS FUN" ELSE IF A$="1" THEN PRINT "ZBI IS EASY" ELSE IF TIME=1 THEN PRINT "It is one second past midnight" ELSE PRINT "X=0" END IF Programming Guide P1099958-001 461 462 ZBI Commands Control and Flow DO Loops Processing of the loop is controlled by a 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 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 statement, the loop continues indefinitely. Some notes about DO-LOOPs: • can be nested • cannot overlap • have two formats Format DO [ ] ~~BODY~~ LOOP [ ] Example: This is an example of how to use the DO-LOOP command with the conditional on the DO line: 10 DO WHILE A$="70" 20 INPUT A$ 30 LOOP Example: This is an example of how to use the DO UNTIL LOOP command with conditional on the LOOP line: 10 DO 20 INPUT A$ 30 LOOP UNTIL A$="EXIT" Comments This is a program command that is preceded by a line number. P1099958-001 Programming Guide 1/31/18 ZBI Commands Control and Flow FOR Loops 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 = TO [STEP ] ~~BODY~~ NEXT Parameters = indicates a numeric variable is used. increments each time through the FOR-LOOP. = the value assigned to the first time through the loop