105 008 02 Programming Manual HTML RevC2
105 008 02 Programming Manual HTML RevC2
Language (CPL)
Programmer's Guide
105-008-02 Revision C2 – 3/17/2006
*105-008-02*
Copyright © 2006, Cognitive.
Cognitive™, Cxi™, and Ci™ are trademarks of Cognitive. Microsoft® and Windows™ are
trademarks of Microsoft Corporation. Other product and corporate names used in this
document may be trademarks or registered trademarks of other companies, and are used only
for explanation and to their owner’s benefit, without intent to infringe.
All information in this document is subject to change without notice, and does not represent a
commitment on the part of Cognitive. No part of this document may be reproduced for any
reason or in any form, including electronic storage and retrieval, without the express
permission of Cognitive. All program listings in this document are copyrighted and are the
property of Cognitive and are provided without warranty.
To contact Cognitive:
E-Mail: info@cognitive.com
Telephone: +1.800.525.2785
Fax: +1.303.273.1414
Table of Contents
Introduction .............................................................................................. 1
Label Format Organization .................................................................. 2
Command Syntax ................................................................................ 2
Important Programming Rules............................................................. 3
Related Publications............................................................................ 4
Printer Command Compatibility ............................................................. 5
Printer Models ..................................................................................... 5
Compatibility Tables ............................................................................ 6
Table 1. Printer Command Compatibility....................................... 6
Table 2. Printer Bar Code Support .............................................. 12
Table 3. Printer Font Support...................................................... 14
Standard Printer Commands ................................................................ 17
Standard Printer Command List ........................................................ 17
ADJUST ...................................................................................... 18
ADJUST_DUP ............................................................................ 20
AREA_CLEAR ............................................................................ 21
BARCODE .................................................................................. 22
BARCODE_FONT....................................................................... 27
BARCODE PDF417 .................................................................... 29
BARCODE PDF417 .................................................................... 30
BARCODE UPS .......................................................................... 34
COMMENT ................................................................................. 38
DOUBLE ..................................................................................... 39
DRAW_BOX ............................................................................... 40
END ............................................................................................ 42
FILL_BOX ................................................................................... 43
GRAPHIC.................................................................................... 45
Graphics mode............................................................................ 47
HALT........................................................................................... 50
Header line.................................................................................. 51
INDEX ......................................................................................... 55
JUSTIFY ..................................................................................... 56
LOGO mode................................................................................ 58
MULTIPLE .................................................................................. 60
NOINDEX.................................................................................... 62
PITCH ......................................................................................... 63
QUANTITY .................................................................................. 65
QUERY FIRMWARE REVISION................................................. 66
QUERY PRINTER STATUS........................................................ 67
Status Query Response Messages............................................. 68
ROTATE R90, R180, R270 ......................................................... 72
STRING....................................................................................... 74
TEXT ........................................................................................... 78
TIME ........................................................................................... 81
Universal Clear............................................................................ 86
ULTRA_FONT............................................................................. 87
Wake-up string ............................................................................ 90
WIDTH ........................................................................................ 92
Storing Data in the Printer Memory ...................................................... 95
Before Using Data Storage Commands............................................. 95
Data Storage Commands .................................................................. 96
Delete Stored Object ................................................................... 97
Format Recall.............................................................................. 98
Format Store ............................................................................... 99
GRAPHIC STORE .................................................................... 103
RECALL GRAPHIC ................................................................... 103
Initialize Storage........................................................................ 105
List Stored Objects.................................................................... 106
DELIMIT .................................................................................... 107
DEFINE VARIABLE .................................................................. 108
Recall Menu .............................................................................. 113
Recall Variable .......................................................................... 114
Menu Commands ................................................................................. 115
Menu Operation............................................................................... 115
Menu Programming ......................................................................... 117
Menu Command List........................................................................ 118
MENU ACTION ......................................................................... 119
MENU CONTROL ..................................................................... 122
MENU END ............................................................................... 124
MENU EXIT............................................................................... 125
MENU ITEM .............................................................................. 126
MENU MESSAGE ..................................................................... 128
MENU START........................................................................... 129
Recall Menu .............................................................................. 131
Printer Setup (VARIABLE) Commands .............................................. 133
Variable Command Rules................................................................ 133
Variable Command List ................................................................... 135
VARIABLE ALLOCATE............................................................. 136
VARIABLE AUTOCUT .............................................................. 137
VARIABLE AUXPOWER........................................................... 138
VARIABLE BACKLIGHT ........................................................... 139
VARIABLE BEEPER ................................................................. 140
VARIABLE BUFFER_TIMED_RESET ...................................... 141
VARIABLE COMM .................................................................... 143
VARIABLE CONTRAST............................................................ 144
VARIABLE DARKNESS............................................................ 146
VARIABLE ENERGY ................................................................ 148
VARIABLE FEED_TYPE........................................................... 149
VARIABLE HIGHSPEED .......................................................... 150
VARIABLE INDEX..................................................................... 152
VARIABLE INDEX SETTING .................................................... 153
VARIABLE IRDA ....................................................................... 156
VARIABLE IRDA COMM........................................................... 157
VARIABLE IRDA PROTOCOL.................................................. 158
VARIABLE LOWSPEED ........................................................... 159
VARIABLE MEDIA_ADJUST .................................................... 160
VARIABLE MODE..................................................................... 164
VARIABLE NO_MEDIA............................................................. 166
VARIABLE NORMAL ................................................................ 167
VARIABLE OFF AFTER............................................................ 168
VARIABLES ON/OFF................................................................ 169
VARIABLE PITCH..................................................................... 170
VARIABLE POSITION .............................................................. 171
VARIABLE PRESENTLABEL ................................................... 172
VARIABLE PRINT_MODE ........................................................ 175
VARIABLE READ...................................................................... 176
VARIABLE RECALIBRATE....................................................... 177
VARIABLE REPORT_LEVEL ................................................... 178
VARIABLE RESET.................................................................... 179
VARIABLE SLEEP_AFTER ...................................................... 180
VARIABLE SHIFT LEFT ........................................................... 181
VARIABLE TEXT BUFFER ....................................................... 182
VARIABLE USER_FEEDBACK ................................................ 184
VARIABLE WIDTH.................................................................... 185
VARIABLE WRITE .................................................................... 186
PROMPTS ................................................................................ 188
DATASKIP ................................................................................ 189
Using VARIABLE Commands ............................................................. 191
Blazer Compatibility ......................................................................... 192
Setting DT or TT Print Method......................................................... 193
Setting Bar or Gap Index Type ........................................................ 194
Optimizing Index Detection.............................................................. 194
Direct Thermal Printing.............................................................. 194
Thermal Transfer Printing with Standard Wax Ribbon .............. 195
Thermal Transfer Printing with Resin Ribbon............................ 195
Automatic Detect....................................................................... 195
Calibrate the Index .................................................................... 196
Setting Print Width........................................................................... 196
RFID Commands .................................................................................. 197
Programming Overview ................................................................... 197
Programming Rules .................................................................. 198
RFID Command Name Structure .............................................. 198
RFID Command Structure Example.......................................... 199
RFID Commands ............................................................................. 200
RF ID_GET ............................................................................... 201
RF HOST .................................................................................. 202
RF VAR_CLEAR ....................................................................... 203
RT ............................................................................................. 204
WT ............................................................................................ 205
WTLOCK................................................................................... 206
RF_TYPE .................................................................................. 208
RF_IDNUM................................................................................ 209
RF_BLKSZ ................................................................................ 210
RF LOCATION .......................................................................... 211
!RFID ?...................................................................................... 212
!RFID CONFIRM ....................................................................... 213
!RFID HOST.............................................................................. 214
!RFID LEDFLSH........................................................................ 215
!RFID LEDTIME ........................................................................ 216
!RFID MARK ............................................................................. 217
!RFID RDAFTWT ...................................................................... 218
!RFID RETRY............................................................................ 219
!RFID SSONCMD ..................................................................... 220
!RFID TAGTYPE ....................................................................... 221
!RFID TIMEOUT........................................................................ 222
!RFID TXAFTER ....................................................................... 224
!RFID VOID............................................................................... 225
Ethernet Printer Information ............................................................... 227
Ethernet Interface ............................................................................ 227
Ethernet Link Indicator .............................................................. 227
Ethernet Connector ................................................................... 227
Physical Address ...................................................................... 227
Network Protocols ..................................................................... 228
Network Applications................................................................. 228
LPD ........................................................................................... 228
TFTP ......................................................................................... 228
RTEL......................................................................................... 228
TELNET .................................................................................... 228
BOOTP ..................................................................................... 229
DHCP........................................................................................ 229
Printer Configuration........................................................................ 230
Configuration Options ............................................................... 230
Manual Configuration ................................................................ 230
Operation......................................................................................... 231
Self Test.................................................................................... 231
Variable Commands ........................................................................ 232
Ethernet Variable Commands ......................................................... 233
VARIABLE ETHERNET BOOTP............................................... 234
VARIABLE ETHERNET DHCP ................................................. 235
VARIABLE ETHERNET DHCP_CRIT....................................... 236
VARIABLE ETHERNET DHCP_OFFERS................................. 237
VARIABLE ETHERNET FIRMWARE........................................ 238
VARIABLE ETHERNET GATEWAY ......................................... 239
VARIABLE ETHERNET JOBSOKINERROR ............................ 240
VARIABLE ETHERNET LPD .................................................... 241
VARIABLE ETHERNET TELNET.............................................. 242
VARIABLE ETHERNET IP........................................................ 243
VARIABLE ETHERNET RESET ............................................... 244
VARIABLE ETHERNET RESET COMMUNITY ........................ 245
VARIABLE ETHERNET RTEL .................................................. 246
VARIABLE ETHERNET RTEL PORT ....................................... 247
VARIABLE ETHERNET RTEL TIMEOUT ................................. 248
VARIABLE ETHERNET TEXT BUFFER................................... 249
VARIABLE ETHERNET NETMASK .......................................... 250
VARIABLE ETHERNET SERVER............................................. 251
Bar Code Information .......................................................................... 253
Uniform Product Code (UPC) .......................................................... 253
I2OF5 AND D2OF5 ......................................................................... 254
CODE39 and CODE39+.................................................................. 254
CODE93 .......................................................................................... 254
EAN, EAN8, and EAN13.................................................................. 255
ADD2, ADD5 ................................................................................... 255
CODABAR....................................................................................... 255
PLESSEY AND MSI1 ...................................................................... 256
MAXICODE ..................................................................................... 256
PDF417 ........................................................................................... 256
POSTNET........................................................................................ 257
CODE128 A, B, C............................................................................ 258
CODE16K........................................................................................ 260
Media Tips and Tricks.......................................................................... 261
Label/tag Size and Shape................................................................ 261
Adhesives ........................................................................................ 262
Print Method (Direct Thermal or Thermal Transfer) ......................... 262
Cut Type (Butt Cut, Gap Cut, or Continuous Form)......................... 263
Media Sensitivity.............................................................................. 264
Troubleshooting................................................................................... 265
Common Issues............................................................................... 267
Graphics Programming Issues ........................................................ 275
Chapter
1
Introduction
Bar code printers are programmable devices. Most Cognitive Solutions
printers use the same command language, which has become an
industry standard.
NOTE: Pinnacle printers are an exception. The information in this file is not
applicable to Pinnacle. If you are programming a Pinnacle printer, contact our
Sales Department and order a copy of the Pinnacle Programmer’s Guide, CSI
P/N 10-00-0133.
One label format can print many similar labels. Label formats may be
sent to the printer individually or in batches, in multiple file uploads.
You may combine several different ASCII label formats in a single file,
with each format capable of producing a different label.
IMPORTANT: If you are using Microsoft Windows and preparing and printing
label formats directly from Notepad or another Windows-based program, be
aware that most Windows printer drivers will not work with Cognitive printers.
The "generic ASCII" printer driver (supplied with Windows) will pass ASCII
label formats to the printer without interference. Please install and use this
driver when sending ASCII label formats to the printer from the Windows
environment. Do not use the Cognitive Windows Driver when sending ASCII
formats to the printer. The Cognitive Windows Driver converts Windows
documents to ASCII label formats; thus, your label formats will print as they
appear in the text editor rather than directly control the printer as intended.
Command Syntax
Cognitive printers will accept most commands in either an explicit
(long) or implicit (abbreviated) form. Both command forms, where
supported, are shown in the command descriptions. The command
descriptions use the following format:
Command
Function The purpose of the command is described here.
End every command line with a line feed or a carriage return and line
feed. If you create labels using a word processor, confirm that your
system uses "hard" carriage returns (inserts ASCII characters 10 and 13
at the end of each line).
Begin every label format with a header line. End every format with an
END statement, unless otherwise noted in the command descriptions. (A
few commands are "stand alone" and should not be followed by an END
statement or any other commands.)
Not all printers support all commands, and there may be some variation
in command use depending on the printer model. Review your printer's
User's Guide and the compatibility information in Tables 1, 2, and 3
before you begin writing label formats or software.
Related Publications
Every printer has a User's Guide, which covers hardware issues like
installation, setup, and troubleshooting. We strongly recommend that
you familiarize yourself with your User's Guide before attempting to
program the printer.
2
Printer Command Compatibility
All commands, bar codes, and fonts do not work with all printers.
Commands are added with the introduction of new printers and new
firmware releases. Command usage can also vary, depending on the
printer's firmware. The tables following provide some general command
compatibility guidelines. Y indicates that the command is supported in
the current firmware version for the listed printer.
Printer Models
Printer models in the tables are designated as follows:
Compatibility Tables
Use the tables to determine command and functional compatibilities.
ADVANTAGE/LX
CODE RANGER
DEL SOL/LX
SOLUS
BD/BT
BD/BT
BL42
CXI
CI
ADJUST Y Y Y Y Y Y Y Y Y Y
variable parameter for - - - Y Y Y Y Y
above
ADJUST_DUP Y Y Y Y Y Y Y Y Y Y
AREA_CLEAR Y Y Y Y Y Y Y Y Y Y
BARCODE Y Y Y Y Y Y Y Y Y Y
BARCODE PDF417 Y - Y Y Y Y Y Y Y Y
BARCODE UPS Y - Y - Y Y Y Y Y Y
BARCODE_FONT Y Y Y Y Y Y Y Y Y Y
COMMENT Y Y Y Y Y Y Y Y Y Y
DELIMIT - - - Y Y Y Y Y Y Y
DEFINE_VAR - - - Y Y Y Y Y Y Y
DOUBLE - - - - Y Y Y Y Y Y
DRAW_BOX Y Y Y Y Y Y Y Y Y Y
END Y Y Y Y Y Y Y Y Y Y
FILL_BOX Y Y Y Y Y Y Y Y Y Y
GRAPHIC - Y Y Y Y Y Y Y Y Y
Graphics mode Y Y Y Y Y Y Y Y - -
CODE COURIER
ADVANTAGE/LX
CODE RANGER
DEL SOL/LX
SOLUS
BD/BT
BD/BT
BL42
CXI
CI
Background graphics Y Y Y Y Y Y Y Y Y Y
HALT Y Y Y Y Y Y Y Y Y Y
Header line Y Y Y Y Y Y Y Y Y Y
variable dot time Y - Y Y Y Y Y Y Y Y
!A automatic header - - - Y Y Y Y Y Y Y
line
INDEX Y Y Y don't Y Y Y Y Y Y
use
JUSTIFY Y Y Y Y Y Y Y Y Y Y
LOGO mode Y Y Y Y Y Y Y Y - -
MULTIPLE Y Y Y Y Y Y Y Y Y Y
NOINDEX Y Y Y Y Y Y Y Y Y Y
PITCH Y Y Y Y Y Y Y Y Y Y
QUANTITY - - - Y Y Y Y Y Y Y
QUERY FIRMWARE - Y Y Y Y Y Y Y Y Y
REVISION
QUERY PRINTER Y Y Y Y Y Y Y Y Y Y
STATUS
R90, R180, R270 Y Y Y Y Y Y Y Y Y Y
STRING Y Y Y Y Y Y Y Y Y Y
TEXT - Y Y Y Y Y Y Y Y Y
TIME SET Y Y Y Y Y Y Y
TIME ADD Y Y Y Y Y Y Y
TIME GET Y Y Y Y Y Y Y
TIME QUERY Y Y Y Y Y Y Y
ULTRA_FONT Y Y Y Y Y Y Y Y Y Y
Universal clear Y Y Y Y Y Y Y Y - -
Wake-up string Y no no no no no no no no no
effect effect effect effect effect effect effect effect effect
WIDTH Y Y Y Y Y Y Y Y Y Y
Data storage commands:
Delete Stored Object - - - Y Y Y Y Y Y Y
Recall Format - - - Y Y Y Y Y Y Y
Store Format - - - Y Y Y Y Y Y Y
Store Enhanced Format - - - Y Y Y Y Y Y Y
CODE COURIER
ADVANTAGE/LX
CODE RANGER
DEL SOL/LX
SOLUS
BD/BT
BD/BT
BL42
CXI
CI
Store Graphic - - - Y Y Y Y Y Y Y
Recall Graphic - - - Y Y Y Y Y Y Y
Graphic Y Y Y Y Y Y Y Y Y
Initialize Storage Y Y Y Y Y Y Y Y Y Y
List Stored Objects Y Y Y Y Y Y Y Y Y Y
Recall Menu - - - Y Y Y Y Y Y Y
Recall Variable - - - Y Y Y Y Y - Y
HEADER commands:
Standard Header Line Y Y Y Y Y Y Y Y Y Y
MENU commands:
MENU START Y Y Y Y Y Y
MENU END Y Y Y Y Y Y
MENU EXIT Y Y Y Y Y Y
MENU CONTROL Y Y Y Y Y Y
MENU ACTION Y Y Y Y Y Y
MENU ITEM Y Y Y Y Y Y
MENU MESSAGE Y Y Y Y Y Y
OBJECT MAINTENANCE commands:
Delete Object Y Y Y Y Y Y Y Y Y Y
Delete All Objects Y Y Y Y Y Y Y Y Y Y
Print Object List Y Y Y Y Y Y Y Y Y Y
Object List out Serial Y Y Y Y Y Y Y Y Y Y
Port/USB
VARIABLE commands:
Recall Variable Y Y Y Y
Prompts Y Y Y Y
DataSkip Y Y Y Y
VARIABLE ALLOCATE - - - Y Y Y Y Y - -
CODE COURIER
ADVANTAGE/LX
CODE RANGER
DEL SOL/LX
SOLUS
BD/BT
BD/BT
BL42
CXI
CI
VARIABLE AUTOCUT - - - Y - Y - Y Y Y
VARIABLE AUXPOWER Y Y Y
VARIABLE BACKLIGHT Y Y
VARIABLE BEEPER Y Y
VARIABLE Y Y Y Y - - - Y Y Y
BUFFER_TIMED_RESET
VARIABLE COMM Y Y Y Y Y Y Y Y Y Y
VARIABLE Y Y
COMPATIBLE
VARIABLE CONTRAST Y Y
VARIABLE DARKNESS Y Y Y Y Y Y Y Y Y Y
VARIABLE ENERGY Y Y
VARIABLE ETHERNET Y Y
FIRMWARE
VARIABLE ETHERNET Y Y
DHCP
VARIABLE ETHERNET Y Y
DHCP_CRIT
VARIABLE ETHERNET Y Y
DHCP_OFFERS
VARIABLE ETHERNET Y Y
LPD
VARIABLE ETHERNET Y Y
JOBSOKINERROR
VARIABLE ETHERNET Y Y
TELNET
VARIABLE ETHERNET Y Y
RTEL
VARIABLE ETHERNET Y Y
RTEL PORT
CODE COURIER
ADVANTAGE/LX
CODE RANGER
DEL SOL/LX
SOLUS
BD/BT
BD/BT
BL42
CXI
CI
VARIABLE ETHERNET Y Y
RTEL TIMEOUT
VARIABLE ETHERNET Y Y Y Y Y Y Y Y
BOOTP
VARIABLE ETHERNET Y Y
IP
VARIABLE ETHERNET Y Y
NETMASK
VARIABLE ETHERNET Y Y
GATEWAY
VARIABLE ETHERNET Y Y Y Y
RESET
VARIABLE ETHERNET Y Y Y Y
RESET COMMUNITY
VARIABLE ETHERNET Y Y
SERVER
VARIABLE ETHERNET Y Y Y Y
TXTBFR
VARIABLE FEED Y Y
VARIABLE FEED_TYPE Y Y Y don't Y Y Y Y Y Y
use
VARIABLE HIGHSPEED Y Y Y Y Y Y Y Y Y Y
VARIABLE INDEX - Y Y Y Y Y Y Y - -
SETTING
VARIABLE INDEX Y Y Y Y Y
SETTING CALIBRATE
VARIABLE INDEX Y Y Y Y Y Y Y Y Y
VARIABLE IRDA Y - -
VARIABLE IRDA Y - -
PROTOCOL
VARIABLE IRDA COMM Y - -
VARIABLE LOWSPEED Y Y Y Y Y Y Y Y Y Y
VARIABLE Y - - - - - - - - -
LOW_BATTERY
CODE COURIER
ADVANTAGE/LX
CODE RANGER
DEL SOL/LX
SOLUS
BD/BT
BD/BT
BL42
CXI
CI
VARIABLE MEDIA - - - Y Y Y Y Y - -
_ADJUST
VARIABLE MODE - - Y - Y Y Y Y - -
VARIABLE NO_MEDIA - Y Y Y Y Y Y Y Y Y
VARIABLE NORMAL Y Y Y - Y Y Y Y Y Y
VARIABLE OFF_AFTER Y - -
VARIABLES ON/OFF - Y Y Y Y Y Y - - -
VARIABLE PITCH Y Y Y Y Y Y Y Y Y Y
VARIABLE POSITION Y Y Y Y Y Y Y Y Y Y
VARIABLE Y Y Y Y Y Y
PRESENTLABEL
VARIABLE Y Y Y Y Y Y Y Y Y Y
PRINT_MODE
VARIABLE READ Y Y Y Y Y Y Y Y Y Y
VARIABLE - - - - Y - Y - Y Y
RECALIBRATE
VARIABLE - - - - Y Y Y Y Y Y
REPORT_LEVEL
VARIABLE RESET - Y Y Y Y Y Y Y Y Y
VARIABLE SHIFT_LEFT - Y Y Y Y Y Y Y Y Y
VARIABLE Y - - - - - - Y - -
SLEEP_AFTER
VARIABLE TEXT Y Y Y Y Y Y Y Y Y Y
BUFFER
VARIABLE Y Y Y Y Y Y Y Y Y Y
USER_FEEDBACK
VARIABLE WIDTH - Y Y Y Y Y Y Y Y Y
VARIABLE WRITE Y Y Y Y Y Y Y Y Y Y
NOTE: On the Del Sol, the WIDTH command is mandatory or errors will occur.
ADVANTAGE/LX
CODE RANGER
DEL SOL/LX
BD/BT 04/05
PW/PT 42
BD/BT 02
SOLUS
BL42
CXI
CI
ADD2 Y Y Y Y Y Y Y Y Y Y
ADD5 Y Y Y Y Y Y Y Y Y Y
CODE16K Y - Y - - - - - - -
CODE39 Y Y Y Y Y Y Y Y Y Y
CODE93 - - - Y Y Y Y Y Y Y
CODE128A Y Y Y Y Y Y Y Y Y Y
CODE128B Y Y Y Y Y Y Y Y Y Y
CODE128C Y Y Y Y Y Y Y Y Y Y
CODABAR Y Y Y Y Y Y Y Y Y Y
EAN8 Y Y Y Y Y Y Y Y Y Y
EAN13 Y Y Y Y Y Y Y Y Y Y
EAN128 Y Y Y Y Y Y Y Y Y Y
MAXICODE Y - Y Y Y Y Y Y Y Y
MSI Y Y Y Y Y Y Y Y Y Y
MSI1 Y Y Y Y Y Y Y Y Y Y
PDF417 Y - Y Y Y Y Y Y Y Y
PLESSEY Y Y Y Y Y Y Y Y Y Y
POSTNET - - - Y Y Y Y Y Y Y
UPCA Y Y Y Y Y Y Y Y Y Y
UPCE Y Y Y Y Y Y Y Y Y Y
UPCE1 Y Y Y Y Y Y Y Y Y Y
UPCA+ Y Y Y Y Y Y Y Y Y Y
I2OF5 Y Y Y Y Y Y Y Y Y Y
D2OF5 - - - Y Y Y Y Y Y Y
S2OF5 - - - Y Y Y Y Y Y Y
ADVANTAGE/LX
CODE RANGER
DEL SOL/LX
BD/BT 04/05
PW/PT 42
BD/BT 02
SOLUS
BL42
CXI
CI
ADD2 Y Y Y Y Y Y Y Y Y Y
ADD5 Y Y Y Y Y Y Y Y Y Y
CODE16K Y - Y - - - - - - -
CODE39 Y Y Y Y Y Y Y Y Y Y
CODE93 - - - Y Y Y Y Y Y Y
CODE128A Y Y Y Y Y Y Y Y Y Y
CODE128B Y Y Y Y Y Y Y Y Y Y
CODE128C Y Y Y Y Y Y Y Y Y Y
CODABAR Y Y Y Y Y Y Y Y Y Y
EAN8 Y Y Y Y Y Y Y Y Y Y
EAN13 Y Y Y Y Y Y Y Y Y Y
EAN128 Y Y Y Y Y Y Y Y Y Y
MAXICODE Y - Y Y Y Y Y Y Y Y
MSI Y Y Y Y Y Y Y Y Y Y
MSI1 Y Y Y Y Y Y Y Y Y Y
PDF417 Y - Y Y Y Y Y Y Y Y
PLESSEY Y Y Y Y Y Y Y Y Y Y
POSTNET - - - Y Y Y Y Y Y Y
UPCA Y Y Y Y Y Y Y Y Y Y
UPCE Y Y Y Y Y Y Y Y Y Y
UPCE1 Y Y Y Y Y Y Y Y Y Y
UPCA+ Y Y Y Y Y Y Y Y Y Y
I2OF5 Y Y Y Y Y Y Y Y Y Y
D2OF5 - - - Y Y Y Y Y Y Y
S2OF5 - - - Y Y Y Y Y Y Y
ADVANTAGE/LX
CODE RANGER
DEL SOL/LX
BD/BT 04/05
PW/PT 42
BD/BT 02
SOLUS
BL42
CXI
CI
STRING 3X5
Y Y Y Y Y Y Y Y Y Y
STRING 5X7
Y Y Y Y Y Y Y Y Y Y
STRING 8X8
Y Y Y Y Y Y Y Y Y Y
STRING 9X12
Y Y Y Y Y Y Y Y Y Y
STRING 12X16
Y Y Y Y Y Y Y Y Y Y
STRING 18X23
Y Y Y Y Y Y Y Y Y Y
STRING 24X31
Y - Y Y Y Y Y Y Y Y
ULTRA_FONT A
Y Y Y Y Y Y Y Y Y Y
ULTRA_FONT B
Y Y Y Y Y Y Y Y Y Y
ULTRA_FONT C
Y - Y - Y Y Y Y Y Y
TEXT 0
- Y Y Y Y Y Y Y Y Y
TEXT 1
- Y Y Y Y Y Y Y Y Y
TEXT 2
- Y Y Y Y Y Y Y Y Y
TEXT 3
- Y Y Y Y Y Y Y Y Y
TEXT 4
- Y Y Y Y Y Y Y Y Y
TEXT 5
- - Y Y Y Y Y Y Y Y
TEXT 6
- - Y Y Y Y Y Y Y Y
BARCODE_FONTS
- - - Y Y Y Y Y Y Y
STORED FONTS
- - - Y Y Y Y Y Y Y
DOUBLE byte
(Kanji) fonts
- - - - Y Y Y Y Y Y
ADVANTAGE/LX
CODE RANGER
DEL SOL/LX
BD/BT 04/05
PW/PT 42
BD/BT 02
SOLUS
BL42
CXI
CI
STRING 3X5
Y Y Y Y Y Y Y Y Y Y
STRING 5X7
Y Y Y Y Y Y Y Y Y Y
STRING 8X8
Y Y Y Y Y Y Y Y Y Y
STRING 9X12
Y Y Y Y Y Y Y Y Y Y
STRING 12X16
Y Y Y Y Y Y Y Y Y Y
STRING 18X23
Y Y Y Y Y Y Y Y Y Y
STRING 24X31
Y - Y Y Y Y Y Y Y Y
ULTRA_FONT A
Y Y Y Y Y Y Y Y Y Y
ULTRA_FONT B
Y Y Y Y Y Y Y Y Y Y
ULTRA_FONT C
Y - Y - Y Y Y Y Y Y
TEXT 0
- Y Y Y Y Y Y Y Y Y
TEXT 1
- Y Y Y Y Y Y Y Y Y
TEXT 2
- Y Y Y Y Y Y Y Y Y
TEXT 3
- Y Y Y Y Y Y Y Y Y
TEXT 4
- Y Y Y Y Y Y Y Y Y
TEXT 5
- - Y Y Y Y Y Y Y Y
TEXT 6
- - Y Y Y Y Y Y Y Y
TEXT and
ULTRA_FONT
BARCODE_FONTS - - - Y Y Y Y Y Y Y
STORED FONTS
- - - Y Y Y Y Y Y Y
DOUBLE byte
(Kanji) fonts
- - - - Y Y Y Y Y Y
3
Standard Printer Commands
This chapter describes standard printer commands.
ADJUST
Function Increments or decrements a variable value or numeric
data on the preceding command line.
ADJUST_DUP
Function Used with the ADJUST command to print non-
incremented duplicates of incremented labels.
Example ! 0 100 50 2
STRING 8X8 0 0 1000
ADJUST 0001
ADJUST_DUP 2
END
AREA_CLEAR
Function Clears an area of a label for replotting. AREA_CLEAR
may be used in a normal label format, or with the !+
header mode to combine ASCII and graphics.
Implicit Form AR x y w h
BARCODE
Function Prints a bar code, specifying type, position, height, and
characters to be coded.
IMPORTANT!
Follow the rules of the bar code in use. For example,
UPCA and several other codes do not support characters
A-Z. Attempting to print unsupported characters will
produce bar codes that will not scan. Incorrect bar width
ratios can also produce unscannable bar codes. Please
refer to Chapter 10 - Bar Code information.
Example 1 ! 0 100 90 1
PITCH 100
BARCODE I2OF5 1 20 20 0123456789
BARCODE CODE39W- 1 50 20 34A
END
Example 6 The following label formats print the same bar code using
different dot times and bar width ratios. (Please note,
though, that these formats use variable dot time. This
feature is not supported in all printers.)
! 0 100 190 1
PITCH 100
BARCODER CODE39(2:6)- 10 0 30 1A2
END
! 0 100 90 1
PITCH 100
BARCODER CODE39(1:3)- 10 0 30 1A2
END
BARCODE_FONT
Function Allows selection of the font type, size, and position of
the human-readable characters printed below the
bar-coded information.
Comments The default subtext font for all bar codes except
UPCA+, EAN8+, EAN13+, and UPCE is an 8x8 string
font. The excepted codes use a 5x7 string font, to
allow extra space for extender bars. Unless modified
using the horadj and vertadj modifiers, the bar
code subtext is placed two dot rows below the bar
code block.
Example 3 ! 0 100 95 1
PITCH 100
BARCODE_FONT 8X8(00,-73,1,1,1,1)
BARCODE ADD5 20 90 61 34028
END
BARCODE PDF417
Function Prints a two-dimensional bar code on a label, using
the PDF417 symbology.
BARCODE UPS
Function Prints a two-dimensional bar code on a label, using
the MaxiCode symbology. Cognitive printers may
implement this bar code two ways, as described
below.
Gs = ASCII 29 (decimal)
Rs = ASCII 30 (decimal)
! 0 100 570 1
PITCH 200
BARCODE UPS 0 0 2 CrLF[)>Rs01Gs96841706672
Gs001Gs1Z12345675GsUPSNGs12345EGs089GsGs
1/1Gs10.1GsYGsGsGsUTRsEot
END
Rs End Of Format
COMMENT
Function This command is used for documenting label
formats. Comment lines do not affect label printing.
DOUBLE
Function Prints "double byte" text characters from a selected
font set. Double byte fonts are used for characters
that require greater resolution than can be provided
in a single byte (specifically, Kanji characters).
DRAW_BOX
Function Draws a hollow rectangle on the label.
Implicit Form D x y w h t
END
Function Signals the end of a label format
Implicit Form E
Parameters None
Comments The END command tells the printer that all data
required for the current label format has been sent.
When the END command reaches the printer, the
label format is processed and printing begins.
Printing normally continues until all the labels
specified in the label format have printed, but it
may be temporarily paused with the HALT
command (or by enabling label taken mode in
printers so equipped).
IMPORTANT!
Place an END statement at the end of every ASCII label
format unless otherwise noted in specific command
instructions. The printer will not print the label format
until it receives an END command.
FILL_BOX
Function This command inverts every dot in the specified
rectangular area. Where the existing field is white,
the FILL_BOX command fills it in black, while areas
already black are flipped to white.
Implicit Form F x y w h
IMPORTANT!
You can print black labels with white text on them using
the FILL_BOX command, but this is not
recommended. Printing large dark areas causes
excessive heat buildup and is very hard on the print
head. Long horizontal boxes are most strenuous to
print. They may adversely affect print quality, and also
place considerable drain on a portable printer's battery.
Example 2 ! 0 100 90 1
PITCH 100
ULTRA_FONT B25 (6,0,0) 70 5 SHELL 1
FILL_BOX 65 1 130 20
ULTRA_FONT B25 (4,2,0) 71 6 SHELL 1
FILL_BOX 65 1 130 30
ULTRA_FONT B25 (6,0,0) 70 40 SHELL 2
FILL_BOX 65 36 130 20
ULTRA_FONT B25 (4,2,0) 71 40 SHELL 2
END
GRAPHIC
Function Initializes the printer to receive graphics data, and
positions the received graphic on a label. This
ASCII command allows you to send standard PCX
or BMP format graphics directly from a file.
Format 1
! 0 100 600 0
JUSTIFY RIGHT
GRAPHIC PCX 416 14
Format 2
!+ 0 100 590 1
END
Graphics mode
Function Initializes the printer to receive binary data for
printing bitmapped graphics. Unlike most
commands, this command is not sent as ASCII text.
Send all graphics data, including the header line, to
the printer in a continuous binary data stream.
IMPORTANT!
Dot time values that result in aspect ratios less than 0.8
are not recommended, as poor print quality can result.
Binary:
0010100001000000000000000100000000000000000
000100000…
HALT
Function Pauses the printer after it prints one label. If there
are more labels left to print in the current batch,
pressing the printer's feed switch will signal the
printer to print the next label. The HALT command
also activates the label cutter in printers so
equipped.
Implicit Form H
Parameters None
Header line
Function Initializes the printer to receive a label format.
Example ! 0 100 60 13
COMMENT ASCII FOREGROUND, X START=0,
COMMENT DOTTIME=100, MAX Y=60, 13 LABELS
INDEX
Function Enables automatic label indexing. When printing is
finished the printer feeds the label stock until the
next label's first dot row is positioned under the
printhead burn line (based on the position of the
label's indexing cue; i.e., the black bar or gap
location). This is the default operating mode. Label
indexing remains on unless disabled with a
NOINDEX command.
IMPORTANT!
Do not use this command when using continuous-form
media. Continuous-form media has no indexing cues
and will feed continuously if automatic label indexing is
enabled.
Implicit Form I
Parameters None
NOTE: Because INDEX positions the first dot row of the
next label at the burn line, with butt-cut label stock the
label perforation may be under the edge of the print
head.
The exact index position may vary slightly from printer
to printer due to calibration differences. The VARIABLE
POSITION command can adjust the index position.
Example ! 0 0 0 0
C This format will turn indexing on and feed a
label
INDEX
END
JUSTIFY
Function Positions Ultra Font and TEXT printing, PDF417
and MAXICODE bar codes, and GRAPHIC command
images either left, right, or center of their horizontal
coordinate (X coordinate for non-rotated text and
bar codes, Y coordinate for rotated text and bar
codes). Once invoked, the justification remains in
effect for the rest of the label format or until
changed by another JUSTIFY command
LOGO mode
Function Allows placement of bitmapped graphics in specific label
areas, or windows. You specify the window sizes and
locations individually. Any number of graphics windows
is allowed, providing they do not overlap.
MULTIPLE
Function Causes the printer to print duplicate labels side-by-
side.
Example ! 0 130 70 2
PITCH 100
WIDTH 224
MULTIPLE 2
STRING 8X8 7 0 ADIDAS 4446
STRING 8X8 7 10 JOGGING
STRING 8X8 7 20 SHORTS
STRING 8X8 37 30 $14.00
BARCODE I2OF5- 17 60 20 3445478940
END
NOINDEX
Function Disables index detection. The printer will stop
feeding the label after printing the last dot row.
With most printers, this command remains in effect
until you turn the printer off or issue an INDEX
command. Portable printers are an exception: in
these printers, NOINDEX shuts off when the printer
goes to sleep.
Implicit Form N
Parameters None
Example ! 0 100 60 1
NOINDEX
PITCH
Function Sets the print density in dots per inch.
150 150 75
Example ! 0 100 90 1
PITCH 200
JUSTIFY CENTER
ULTRA_FONT B20 (5,0,0) 400 10 UFONT B20 AT
200 PITCH
END
! 0 100 45 1
PITCH 100
JUSTIFY CENTER
ULTRA_FONT B20 (5,0,0) 200 10 UFONT B20 AT
100 PITCH
END
QUANTITY
Function Sets the quantity of labels to be printed by the label
format.
Parameters None
Example !QR
END
IMPORTANT!
Use this command exactly as shown in the example.
Do not use other commands (except the END
command) with the QUERY REVISION command.
Parameters None
Example !QS
END
IMPORTANT!
Use this command exactly as shown in the example.
Do not use other commands (except the END
command) with the QUERY STATUS command.
R180 type(eximage,exspace,xmultiplier,
ymultiplyer) x y characters
R270 type(eximage,exspace,xmultiplier,
ymultiplyer) x y characters
R1 type(eximage,exspace,xmultiplier,
ymultiplyer) x y characters
R2 type(eximage,exspace,xmultiplier,
ymultiplyer) x y characters
STRING
Function Prints text (ASCII characters) on a label using CSI
fonts. These are non-proportional, non-compressed
bitmapped fonts.
TEXT
Function Prints text on a label using compressed bitmapped
fonts.
TIME
Function Sets or gets data from the real-time clock in printers
so equipped. Data derived from the clock resides in
the system variable TIME.
IMPORTANT!
Not all printers support the TIME command, and not all
printers that support the command have a real-time clock
(this is a hardware option). Without a real-time clock, the
TIME variable will remain at zero or in an undefined
state. TIME ADD will change the value stored in TIME,
but the results are unpredictable if there is no installed
clock.
Comments You access the data provided by the clock using the
system variable TIME. This variable has formatting
parameters, allowing you to extract time data in a
variety of forms. Format the variable output by
placing a format string after the variable name and
bounding the variable and its format string with the
variable delimiter (see DELIMIT).
Parameter Returns
%% % character
%p AM or PM
example, 05/21/98)
Example 2 The following label format will read the current time
from the clock, placing the value in the variable
TIME. It will then print a label showing that time,
add 4 days, 6 hours, and 17 minutes to it, and print
the result:
! 0 100 500 1
DELIMIT ~
TIME GET
TEXT 2 20 50 The current date and time are
~TIME %c~
TIME ADD 0000 00 04 06 17 00
TEXT 2 20 100 In 4 days, 6 hours, 17 minutes it
will be ~TIME %c~
END
Universal Clear
Function Resets the printer to its initial power on state,
effectively the same as cycling printer power.
Explicit Form 23 23 23 23 23 67 76 69 65 82 23 23 23 23 23
(ASCII)
Parameters None
ULTRA_FONT
Function Prints text on a label, using Ultra Fonts (stroke
fonts). Unlike STRING fonts, Ultra Fonts maintain
their shape in any size and boldness. Font modifiers
can change character bolding, spacing, and rotation.
Font type C may also be italicized and "grayed."
Wake-up string
Function Switches the printer from idle to active mode in
preparation for incoming data.
Parameters None
WIDTH
Function Sets the width of the printed label. Typically, this
command is for printing on label stock that is
narrower than the printhead.
! 0 100 100 1
WIDTH 80
STRING 8X8 0 0 THIS IS
STRING 8X8 0 10 WITH
STRING 8X8 0 20 THE WIDTH
STRING 8X8 0 30 COMMAND
END
4
Storing Data in the Printer
Memory
Commands discussed in this section allow you to store label formats and
graphics in the printer's memory for later use. Internal data storage can
help improve label throughput and may also simplify programming in
some applications.
NOTE: Internal data storage capability is an optional feature. Not all printers
accept these commands, and due to hardware limitations, some printers that
accept the commands may not successfully store data. Refer to Table 1,
Printer Command Compatibility for more information.
NOTE: Cognitive does not recommend using volatile RAM for stored objects,
since objects stored in volatile RAM is lost when the printer is turned off.
However, you may want to use volatile RAM to store variables or objects that
will change frequently.
• When using volatile RAM for object storage, you must allocate
space for that purpose. Refer to the VARIABLE ALLOCATE
command for more information.
• You must assign an alphanumeric identifier to every stored
object. The identifier can be from one to eight characters long,
using any combination of letters and numbers (no
punctuation). If an object in memory already uses the
specified identifier, the printer deletes the existing object
before storing the new one, even if the two objects would
reside in different memory areas.
Also notice that some of these commands are used in place of the normal
label format header line, rather than as ASCII commands within a label
format. Commands starting with an exclamation point (!) should be
treated as header line replacements.
Format Recall
Function Recalls a stored format from memory, merges any
incoming variable data with the stored data, and
prints labels as required.
Format Store
Function Stores a label format in a specified memory area.
The stored format can be recalled and printed with
the Format Recall command.
GRAPHIC STORE
Function Stores the graphics file following the command in
the specified memory area
RECALL GRAPHIC
Initialize Storage
Function Clears all stored objects from the specified memory
area in preparation for new data.
Explicit Form !I xx
Explicit Form !L
Example !L
DELIMIT
Function Specifies the delimiter used to isolate variables
within command lines.
DEFINE VARIABLE
Function Defines a variable for use within printer commands
in a label format. When the printer encounters a
variable in a command line, it replaces the variable
name with entered or stored data. It can also
(optionally) send a prompt for data to the user via the
serial port.
Recall Menu
Function Recalls a stored menu from memory and initiates
its execution.
Recall Variable
Function Recalls a stored variable for user input. The printer
will send the associated prompt to the serial port
and await user input when it encounters this
command.
5
Menu Commands
A menu lets the user control the printer at print time through a set of
predefined choices. Menus are typically used when the printer is
connected to a simple controlling device, such as a keyboard/display
unit.
IMPORTANT!
Menu programming is inherently complex, and is only useful if the user must
control the printer with a non-programmable device (such as a dumb terminal
or keyboard). As a general rule, Cognitive does not recommend programming
menus in the printer if there is processing power available in the host.
Menus are stored objects. Familiarize yourself with the proper use of stored
objects before attempting to program menus.
Menu Operation
During menu execution, the printer sends text descriptions associated
with menu items ("prompts") to the printer serial port and waits for
user input. The user responds to the menu by making a selection, which
the controller then sends back to the printer by way of the serial port.
Choose a menu using one of the following methods:
Scroll to the item and selecting it using keys as defined by the MENU
CONTROL command.
Enter the number of a menu item. All menu items have a single-digit
number associated with them. The printer assigns this number
automatically, based upon the menu item location within the menu.
Menu items that do not have a visible prompt are still selectable by item
number.
behaving much like stored label formats. Menus can call other menus,
and can also recall and print stored objects or data.
Menu Programming
Menus generally conform to the following structure:
! 0 0 0 0
MENU CONTROL cn nx pr sl
MENU START x menuname
MENU ITEM "item1"
MENU ACTION command parameters
MENU ACTION command parameters
MENU EXIT
MENU ITEM "item2"
MENU ACTION command parameters
MENU ITEM "item3"
MENU ACTION command parameters
...
MENU END
END
MENU CONTROL is an optional command that defines the four keyboard
keys that scroll the menu, select menu items, and exit the menu. If
used, it must appear before the MENU START command. MENU START
signals the beginning of the menu, and MENU END signals the end of the
menu. All commands bounded by MENU START and MENU END define
menu prompts and actions.
Menus cannot be nested within other menus, but they can call other
menus.
Menus are stored objects. They must be stored in memory before they
are called by the Recall Menu command. They follow all of the usual
rules for stored objects.
MENU ACTION
Function Specifies one or more commands that the printer
will execute when the user selects the associated
MENU ITEM. Any legitimate printer commands are
allowed (including the Recall Menu command).
The printer commands and associated parameters
embedded within the MENU ACTION command
must be bounded by quotation marks.
Example 2 The following line will recall and print one copy of a
stored label format called LBL_ONE when the user
selects its associated menu item:
MENU ACTION "!R F LBL_ONE 0 100 570 1\n"
MENU CONTROL
Function Specifies the characters used to exit, "scroll," or
select an item from a menu. In most applications,
these characters are chosen by pressing the four
keys on the external keyboard that correspond to
keyboard functions "cancel," next," "previous," and
"select."
MENU END
Function Signals the end of the menu definition. The printer
will store the menu defined by the commands
between MENU START and MENU END under
the identifier specified in MENU START.
Parameters None
MENU EXIT
Function Signals the printer to terminate menu processing.
The printer then processes any remaining
commands in the label format that called the menu.
Parameters None
MENU ITEM
Function Marks the beginning of a sequence of commands
that will execute when the user selects the item
from a programmed printer menu, and (optionally)
defines text the printer will display when offering
the menu to the user. The printer will send this text
to the serial port when processing the stored menu,
allowing the user to select the item either by item
number or by menu scrolling.
MENU MESSAGE
Function This causes text to be output to the serial port. It
can be used to provide instructions to the user.
Parameters None
Comments
See also
FUNCID=MENUMESSAGEFUNCID=17
STDBUFFERSIZE
ImpMenuMessage
MENU START
Function Signals the beginning of a menu definition and
specifies the menu storage location and identifier.
0 Volatile RAM
1 Reserved
2 Expanded Memory
3 Nonvolatile RAM
Recall Menu
Function Recalls a stored menu from memory and initiates
its execution
6
Printer Setup (VARIABLE)
Commands
VARIABLE commands let you change some of the printer's
characteristics. These changes stay in effect until the printer is turned
off or until they are changed by another VARIABLE command.
NOTE: Do not confuse VARIABLE commands that control the printer with
variable values which are used to represent data.
VARIABLE ALLOCATE
Function Reserves space in the image buffer for stored
objects.
VARIABLE AUTOCUT
Function Enables or disables automatic label cutting in
printers so equipped. With automatic label cutting
enabled, the printer will cut the label after printing
the last dot row. With automatic label cutting
disabled, the printer will not cut the label unless
there is a HALT command in the label format.
VARIABLE AUXPOWER
Function This command turns is used to control the 5 volt
power applied to pin 9 of the serial port connector.
This voltage can supply up to 400 milliamps at 5
volts to equipment attached to the serial port
connector such as a scanner or keyboard.
Parameters
Comments •
Example
cpEnumStack[0] on/off/? (OnOffStat)
FUNCID=VARAUXPOWERID=114
NOBUFFER
ImpAuxPower
VARIABLE BACKLIGHT
Function This command indicates whether the LCD
backlight should come on when a button is pressed
or the display text changes. If enabled, the
backlight only stays on for 3 seconds.
Parameters
Comments •
Example
cpEnumStack[0] on/off/? (OnOffStat)
FUNCID=VARBACKLIGHTID=166
NOBUFFER
ImpVarBacklight
VARIABLE BEEPER
Function This command sets the volume and duration of the
beeper.
Comments •
Example
lLongStackCount 0, 1 or 2
lEnumStackCount 1
FUNCID=VARBEEPERID=164
NOBUFFER
ImpVarBeeper
VARIABLE BUFFER_TIMED_RESET
Function Enables or disables the memory reset timer.
Example ! 0 0 0 0
VARIABLE BUFFER_TIMED_RESET OFF
VARIABLE WRITE
END
VARIABLE COMM
IMPORTANT!
Do not experiment with this command! Improper use can cause a loss of serial
communication with the printer.
Implicit Form
V COMM speed,parity,length,stop, R
Example ! 0 0 0 0
VARIABLE COMM 9600,N,8,2
VARIABLE WRITE
END
VARIABLE CONTRAST
Parameters
Comments •
Example
lLongStackCount 1 or 0 (query form)
lpLongStack[0] level (ContrastLevelRange)
FUNCID=VARCONTRASTID=165
NOBUFFER
ImpVarBeeper
VARIABLE DARKNESS
Function This command changes the printhead heat, thereby
adjusting the darkness at which labels are printed.
Always use the lightest acceptable VARIABLE
DARKNESS setting to extend the life of the
printhead.
Implicit Form V D n
VARIABLE ENERGY
Function The printer maintains a fixed energy density of 200
mJoules independent of print speed. This command
adjusts the energy density (in units of mJoules). It
is intended to be used to compensate for media that
requires more or less energy to create images of the
proper optical density. VARIABLE DARKNESS
may be used by the customer, but this command is
intended to be an easier to use, more precise optical
density control command for the C-series printer.
Parameters
Comments •
Example
lLongStackCount 0 (query form) or 1
FUNCID=VARENERGYID=170
NOBUFFER
ImpUserEnergy
VARIABLE FEED_TYPE
Function Selects black bar or gap indexing.
VARIABLE HIGHSPEED
Function Changes the print speed to its highest available
setting. The maximum print speed varies among
printer models; consult your printer's User's Guide
for more information.
Parameters None
VARIABLE INDEX
Function This command turns indexing on or off.
Parameters
Comments •
Example
cpEnumStack[0] on/off/? (OnOffStat)
FUNCID=INDEXONOFFID=48
NOBUFFER
ImpVarIndexOnOff
VARIABLE IRDA
Function This command turns the IrDa communications on
or off.
Parameters
Comments •
Example
cpEnumStack[0] on/off/? (OnOffStat)
FUNCID=IRDAENABLEID=103
NOBUFFER
dummyFunc
Parameters
Comments •
Example
cpEnumStack[0] baud (BaudRange)
FUNCID=IRDACOMMSETTINGID=104
NOBUFFER
dummyFunc
Parameters
Comments •
Example
cpEnumStack[0] protocol (IrDAProtocolEnumSet)
FUNCID=IRDAPROTOCOLID=102
NOBUFFER
dummyFunc
VARIABLE LOWSPEED
Function Changes the printer speed to its lowest allowable
value.
Parameters None
VARIABLE MEDIA_ADJUST
Function Adjusts print contrast on object leading edges for
optimum print quality. Adjustment of this
parameter is not normally required, but may
improve rotated bar code reliability in some
circumstances. Printers that support this command
employ an advanced "dot history" algorithm, which
tracks the activity of each printhead dot from one
dot row to the next. If a given dot was off prior to
being commanded on, the printer will apply a little
extra energy to the dot to force it to come up to full
temperature faster. This can significantly improve
the reliability of rotated bar codes. This setting is
independent of the VARIABLE DARKNESS setting,
and only affects the first dot row of each object (or
for rotated bar codes, the leading edge of each bar in
the code).
PITCH 200
END
Example ! 0 0 0 0
VARIABLE MEDIA_ADJUST 1000
VARIABLE WRITE
END
VARIABLE MODE
Function Selects Blazer Emulation Mode in printers that
support variable dot time, or sets the default print
pitch in all other printers except the Code Courier
and the C Series printers which do not support the
command.
Example ! 0 0 0 0
VARIABLE MODE 1
VARIABLE WRITE
END
VARIABLE NO_MEDIA
Function Specifies how long the printer will run without
detecting a label before assuming that it is out of
media. This only applies to gap indexing mode
Example ! 0 0 0 0
VARIABLE NO_MEDIA 3
VARIABLE WRITE
END
VARIABLE NORMAL
Function Changes the printer speed to a speed approximately
halfway between the LOWSPEED and HIGHSPEED
settings, or in printers with only two allowable
speeds, sets the printer to the lowest speed. Your
printer's User's Guide lists available print speeds.
Parameters None
Parameters
Comments •
Example
lLongStackCount 0 (query form) or 1
lpLongStack[0] time (SleepRange)
FUNCID=OFFAFTERID=71
NOBUFFER
ImpOff (not functional)
VARIABLES ON/OFF
Function Enables and disables access to certain protected
VARIABLE values.
Example ! 0 0 0 0
VARIABLES OFF
VARIABLE WRITE
END
VARIABLE PITCH
Function Selects the default print pitch.
Example ! 0 0 0 0
VARIABLE PITCH 100
VARIABLE WRITE
END
VARIABLE POSITION
Function Moves the first printed dot row on the label up or
down with respect to its last position.
Example ! 0 0 0 0
VARIABLE POSITION -10
VARIABLE WRITE
END
VARIABLE PRESENTLABEL
Function Controls the dispensing of labels for application.
VARIABLE PRESENTLABEL ensures a second set of
labels is not printed before the operator is ready,
and enables the user to change the distance fed
forward and backward after printing.
V PRESENTLABEL Action
Implicit Form
VARIABLE PRINT_MODE
Function Sets the printer up for direct thermal or thermal
transfer printing. The command adjusts print
darkness and gap indexing parameters and enables
or disables the ribbon-out detector as needed for the
selected print method.
Example ! 0 0 0 0
VARIABLE PRINT_MODE TT
VARIABLE WRITE
END
VARIABLE READ
Function Reads the last saved variable values in permanent
storage and uses them as the current values. The
effect is the same as turning the printer off and
then on again.
Parameters None
VARIABLE RECALIBRATE
Function Turns automatic index calibration on or off. If
enabled, automatic index calibration causes the
printer to enter a recalibrate sequence when an
indexing error is detected.
Parameters
Comments •
Example
cpEnumStack[0] on/off/? (OnOffStat)
FUNCID=VARRECALID=141
NOBUFFER
ImpVarRecalibrate
VARIABLE REPORT_LEVEL
Function Sets the manner in which the printer reports
recoverable errors.
Example The label format below will tell the printer to send
an error message to the printer serial port and print
an error label when it encounters a recoverable
error:
! 0 0 0 0
VARIABLE REPORT_LEVEL 2
VARIABLE WRITE
END
VARIABLE RESET
Function Returns user-accessible VARIABLE parameters to
known values. Affected parameters and their
default values vary among printer models. The
command writes the known values to nonvolatile
RAM.
Parameters None
Example ! 0 0 0 0
VARIABLES RESET
END
VARIABLE SLEEP_AFTER
Function Sets the amount of time a portable printer will stay
awake after completing a print job.
Example The following label format sets the text buffer size
to 4 kilobytes:
! 0 0 0 0
VARIABLE TXTBFR 4096
VARIABLE WRITE
END
VARIABLE USER_FEEDBACK
Function Enables or disables the transmission of certain
status messages to the host computer. With this
feature enabled, the printer regularly sends some
status messages via the serial port. The printer will
not send messages if the host computer is busy, (as
indicated by the condition of its serial port CTS line.
VARIABLE WIDTH
Function Sets the default print width.
VARIABLE WRITE
Function Writes the current variable values to nonvolatile
storage. Values in effect when VARIABLE WRITE is
executed are retained in memory while the printer
power is off.
Parameters None
PROMPTS
Function
Implicit Form
Parameters
Comments •
Example
cpEnumStack[0] ON,OFF,? (OnOffStat)
FUNCID=PROMPTSFUNCID=9
NOBUFFER
ImpPrompts
DATASKIP
Function
Implicit Form
Parameters
Comments •
Example
lpLongStack[0] = count
lpLongStack[0] = repeat
cpCharStack[0] = char
FUNCID=DATASKIPID=131
NOBUFFER
dummyFunc
7
Using VARIABLE Commands
Printer configuration must be handled through VARIABLE commands.
The sample label formats in this section are provided for your
convenience, to help you set the printer up for some common
configurations. To use these label formats, copy the format to Windows
Notepad or a similar ASCII text editor, edit the label format as
required, and then print the label format.
NOTE: If you are printing the files directly from Notepad or another Windows-
based program, be aware that most Windows printer drivers will not work with
Cognitive printers.
The "generic ASCII" printer driver supplied with Windows will pass the label
format to the printer without interference. Please install and use this driver
when sending these sample formats to the printer.
Do not use the Cognitive Windows driver when sending these formats to the
printer from Windows. The Cognitive Windows driver converts Windows
documents to ASCII label formats; thus, your label formats will print as they
appear in the text editor rather than directly control the printer as intended.
Blazer Compatibility
As shipped, Barcode Blaster, Solus, and Blaster Advantage printers are
not compatible with older Barcode Blazers, or with enhanced Blazers
operating in nonlinear dot time mode. High speed Blasters can closely
emulate Barcode Blazers. Solus and Advantage printers are more
limited in their Blazer emulation.
As a rule, only use Blazer emulation mode if you are replacing an older
Barcode Blazer and must avoid modifying any label formats or software.
Do not use Blazer emulation mode if you can print successfully without
it.
The following label format will set up a high speed Blaster to emulate a
non-enhanced Blazer or an enhanced Blazer operating in nonlinear dot
time mode. Adjust the second parameter in the VARIABLE MODE
command to compensate for the speed of the Blazer that you are
replacing. The value shown (70) will vertically scale all labels to 70% of
their normal height.
! 0 0 0 0
VARIABLE MODE 2 70
VARIABLE WRITE
END
The following label format disables Blazer emulation mode and returns
the printer to normal operation:
! 0 0 0 0
VARIABLE MODE 0
VARIABLE WRITE
END
Use one of the following label formats to set the print method:
When using gap indexing in thermal transfer mode, the index detector
must "see" through the ribbon and detect the difference in opacity
between the label and the label backing. Variations in print media may
necessitate index detector adjustment in some cases. The VARIABLE
INDEX SETTING command controls the index detector sensitivity.
Automatic Detect
The following label format causes the printer to automatically set the
index detector to mode 1 or 2 in response to the current print method
(DT or TT) as set by the VARIABLE PRINT_MODE command. This is the
default setting:
! 0 0 0 0
VARIABLE INDEX SETTING 0
VARIABLE WRITE
END
NOTE: You do not need to use VARIABLE WRITE when using the
CALIBRATE mode. CALIBRATE automatically writes its data to nonvolatile
RAM.
NOTE: The C Series printers use only the CALIBRATE parameter and not any
of the other parameters.
Use the following format to change the default print width. Replace the
224 following the VARIABLE WIDTH command with the desired print
width, measured in hundredths of an inch:
! 0 0 0 0
VARIABLE WIDTH 224
VARIABLE WRITE
END
8
RFID Commands
Specific RFID commands have been added to the CPL language to
support the RFID functionality of the Advantage RFID Thermal
Printer.
Programming Overview
Most Cognitive printers use the same command language, which has
become an industry standard. RFID commands are broken into three
types:
Programming Rules
Use blank spaces exactly as shown in the command descriptions,
examples, and syntax. Blank spaces are the delimiters between
parameters. Omitting a necessary space may result in incorrect
programming or a failure to recognize commands.
Explicit Form Proper sequence for using the command and its
parameters
RFID Commands
Use the following commands to program RFID features of the
Advantage RDIF printers.
WT !RFID LEDTIME
!RFID RDAFTWT
!RFID RETRY
!RFID SSONCMD
!RFID TAGTYPE
!RFID TIMEOUT
!RFID TXAFTER
!RFID VOID
RF ID_GET
Function This command is defined as "RFID Function", ID
GET. This command retrieves the current RFID
tag's unique identification number and returns it to
the host.
Parameters None
Example To Printer:
! 0 0 0 0
DELIMIT $
RF ID_GET
RF HOST "Here the Variables:"
RF HOST "$RF_TYPE$"
RF HOST "$RF_IDNUM$"
RF HOST "$RF_BLKSZ$"
END
From Printer:
TAG_ID: E0:07:00:00:01:F3:06:10
Here the Variables:
[ISO15693]
[E0:07:00:00:01:F3:06:10]
[4]
RF HOST
Function This command instructs the Printer to transmit the
specified ASCII string to the Host Machine using
the serial port. When used in conjunction with the
printer "Delimit" command in a label format,
certain variable values can also be returned to the
host.
Parameters The data placed inside the " " can be either a
variable such as RF TYPE or other ASCII data.
Response The Static or Derived Variable valued string is
transmitted to the Host Machine via the printer’s
serial port.
Command Type RFID Standard Command
Example To Printer:
! 0 0 0 0
DELIMIT $
RF ID_GET
RF HOST "Here the Variables:"
RF HOST "$RF_TYPE$"
RF HOST "$RF_IDNUM$"
RF HOST "$RF_BLKSZ$"
END
From Printer:
TAG_ID: E0:07:00:00:01:F3:06:10
Here the Variables:
[ISO15693]
[E0:07:00:00:01:F3:06:10]
[4]
RF VAR_CLEAR
Function This command instructs the Printer to clear and
reset all of the internal RFID Read-Tag Data-
Handler Variables. After executing this command,
no ‘RF nn’ Variables are defined
Parameters None
Response None
Example To Printer:
! 0 0 0 0
DELIMIT $
RF VAR_CLEAR
RT 0 3 "A" 33
RF HOST "$RF 33$"
END
From Printer:
123-1234-123
RT
Function Read Tag. This command retrieves RFID-tag data
from the tag currently positioned over RFID
Reader/Writer H/W.
Example To Printer:
! 0 0 0 0
DELIMIT $
RF VAR_CLEAR
RT 0 3 "A" 33
RF HOST "$RF 33$"
END
From Printer:
123-1234-123
WT
Function Write Tag. This command stores the quoted data to
the RFID-Tag currently positioned over RFID
Reader/Writer H/W. The data begins storage at the
ss Tag-block and extends to and zero pads any
unused bytes within the ending block.
Example To Printer:
! 0 100 800 0
DELIMIT $
WT 0 "123-1234-123"
WT 4 "John Q. Public"
WT 10 "Cardiac Care Unit"
RT 0 3 "A" 33
RF HOST "$RF 33$"
END
From Printer:
123-1234-123
WTLOCK
Function Write and Lock Tag. The command permanently
writes data to a tag. As with the WT command, the
user is responsible for maintaining the 63 byte
requirement. Refer to the note in the Example
section.
Example To Printer:
! 0 100 800 0
DELIMIT $
WTLOCK 0 "123-1234-123"
WT 4 "John Q. Public"
WT 10 "Medical Information"
RT 0 3 "A" 33
RF HOST "$RF 33$"
END
From Printer:
123-1234-123
RF_TYPE
Function This is an RFID reserved and internal variable
contains the last RFID-Tag’s Type. This variable is
often used in conjunction with the RF HOST
command.
Parameters None
Example To Printer:
! 0 0 0 0
DELIMIT $
RF ID_GET
RF HOST "Here the Variables:"
RF HOST "$RF_TYPE$"
RF HOST "$RF_IDNUM$"
RF HOST "$RF_BLKSZ$"
END
From Printer:
TAG_ID: E0:07:00:00:01:F3:06:10
Here the Variables:
[ISO15693]
[E0:07:00:00:01:F3:06:10]
[4]
RF_IDNUM
Function This command is defined as "Reference Find" ID
Number. This command returns the unique tag
identification number and is often used in
conjunction with the RF HOST command.
Parameters None
Example To Printer:
! 0 0 0 0
DELIMIT $
RF ID_GET
RF HOST "Here the Variables:"
RF HOST "$RF_TYPE$"
RF HOST "$RF_IDNUM$"
RF HOST "$RF_BLKSZ$"
END
From Printer:
TAG_ID: E0:07:00:00:01:F3:06:10
Here the Variables:
[ISO15693]
[E0:07:00:00:01:F3:06:10]
[4]
RF_BLKSZ
Function This command is defined as "Reference Find", Block
Size. The command returns the block size for a
specific tag type. This variable is often used in
conjunction with the RF HOST command to return
the tag block size to the host.
Parameters None
Example To Printer:
! 0 0 0 0
DELIMIT $
RF ID_GET
RF HOST "Here the Variables:"
RF HOST "$RF_TYPE$"
RF HOST "$RF_IDNUM$"
RF HOST "$RF_BLKSZ$"
END
From Printer:
TAG_ID: E0:07:00:00:01:F3:06:10
Here the Variables:
[ISO15693]
[E0:07:00:00:01:F3:06:10]
[4]
RF LOCATION
Function This command is defined as "Reference Find",
Variable at Location #. The command returns the
value that was stored in a printer variable with the
RT command where nn is an argument to be
specified.
Example To Printer:
! 0 0 0 0
DELIMIT $
RF VAR_CLEAR
RT 0 3 "A" 33
RF HOST "$RF 33$"
END
From Printer:
123-1234-123
!RFID ?
Function This command queries the printer for a summary of
the existing printer settings for RFID functionality.
Parameters None
!RFID CONFIRM
Function Controls the transmission of a ‘Success’ or ‘Failure’
indication at the very end of any CPL-RFID
command’s execution.
Example To Printer:
!RFID CONFIRM ON
From Printer:
[RFID:SUCCESS]
!RFID HOST
Function This command instructs the Printer to transmit the
specified ASCII string to the Host Machine using
the serial port. When used in conjunction with the
printer "Delimit" command in a label format,
certain variable values can also be returned to the
host.
Parameters The data placed inside the " " must be ASCII data.
Data length must be between 0 and 240 characters.
Response The static string is transmitted to the Host
Machine by way of the printer’s serial port.
Command Type RFID Standard Command
Example To Printer:
!RFID HOST “Setting RFID Power-Up Defaults”
!RFID CONFIRM OFF
From Printer:
Setting RFID Power-Up Defaults
!RFID LEDFLSH
Function Controls the transmission of a ‘Success’ or ‘Failure’
indication to the LED display during and at the
very end of any CPL-RFID command’s execution.
Example To Printer:
!RFID LEDFLSH OFF
!RFID LEDTIME
Function Regulates the interval of LED illumination and
LED OFF time used in generation of an LED Flash
on ‘Success’ or ‘Failure’.
Explicit Form !RFID LEDTIME nn
Example To Printer:
!RFID LEDTIME 100
!RFID ?
From Printer:
Setup/Config Parameters:
Assigned Tag Type: ISO15693
Mark/OverRide State: OFF
VOID Stamp Message: <NoStampMsg>
LED Flash Control: ON
LED Flash Duration: 250 MSecs
SelecTag before Cmd: ON
!RFID MARK
Function This command sets whether or not to print a
defined mark on a label that fails to write expected
data to an RFID tag.
Example To Printer:
!RFID MARK OFF
!RFID RDAFTWT
Function This command initiates an integrity test following a
WT command. Data is read and undergoes a byte-
by-byte comparison with the initial data. The
comparison occurs before the WT command is
returned as successful or failed.
Example To Printer:
!RFID RDAFTWT OFF
!RFID RETRY
Function This command sets the number of retries that the
printer will perform on a RT, WT, or WTLOCK
command. To enter the retry loop, the printer must
fail a specific command after reading the tag
identification and type.
Example To Printer:
!RFID RETRY 1
!RFID ?
From Printer:
Setup/Config Parameters:
Assigned Tag Type: ISO15693
| | |
Confirm Commands: OFF
Retry Command: 1 Times
Base Cmd Timeout: 10 MSecs
Select Tag Timeout: 70 MSecs
Read Tag Timeout: 16 MSecs
Write Tag Timeout: 32 MSecs
Lock Tag Timeout: 26 MSecs
!RFID SSONCMD
Function This command controls the automatic execution of
a Select-Tag command prior to the Host Command
to RT, WT, or WTLOCK an RFID tag.
Explicit Form !RFID SSONCMD ON/OFF
Example To Printer:
!RFID SSONCMD OFF
!RFID ?
From Printer:
Setup/Config Parameters:
Assigned Tag Type: ISO15693
| | |
LED Flash Duration: 250 MSecs
SelecTag before Cmd: ON
TxPowerRF after Cmd: ON
!RFID TAGTYPE
Function This command verifies a tag type. Enter the tag
type and verify the change with the !RFID ?
command.
Example To Printer:
!RFID TAGTYPE ISO
!RFID ?
From Printer:
Setup/Config Parameters:
Assigned Tag Type: ISO15693
Mark/OverRide State: OFF
VOID Stamp Message: <NoStampMsg>
LED Flash Control: ON
| | |
!RFID TIMEOUT
Function This command sets the time delay, in milliseconds,
to wait before considering a command a failure.
Example To Printer:
!RFID 20,,,,50
!RFID ?
From Printer:
Setup/Config Parameters:
| | |
Base Cmd Timeout: 20 Msecs
Select Tag Timeout: 70 Msecs
Read Tag Timeout: 16 MSecs
Write Tag Timeout: 32 MSecs
Lock Tag Timeout: 50 Msecs
!RFID TXAFTER
Function This command controls the state of the hardware’s
RF carrier transmission after any Host Command
to read, write or write and lock an RFID-Tag
Example To Printer:
!RFID TXAFTER OFF
!RFID ?
From Printer:
Setup/Config Parameters:
Assigned Tag Type: ISO15693
| | |
LED Flash Duration: 250 MSecs
SelecTag before Cmd: ON
TxPowerRF after Cmd: OFF
| | |
!RFID VOID
Function This command instructs the printer to use this
specified ASCII string to stamp or print on failing
RFID-Tags if and only if !RFID MARK ON is
selected.
Example To Printer:
!RFID VOID “<<<BAD RFID TAG>>>”
!RFID MARK ON
!RFID ?
From Printer:
Setup/Config Parameters:
Assigned Tag Type: ISO15693
Mark/OverRide State: ON
VOID Stamp Message: <<<BAD RFID TAG>>>
LED Flash Control: ON
LED Flash Duration: 250 MSecs
SelecTag before Cmd: ON
| | |
9
Ethernet Printer Information
Ethernet printers are full-featured bar code label and tag printers
designed to interface directly with the Ethernet network. The printer
works with any TCP/IP system. Additionally, it has a Centronics
parallel interface for connection to a standalone computer or terminal.
Many models also have a serial port or USB port.
Note: A special cable is necessary for the C Series parallel and serial ports.
Ethernet Interface
Ethernet Link Indicator
A green LED on the printer rear panel illuminates when there is a
proper Ethernet connection to the hub.
Ethernet Connector
The printer is physically attached to the network by Ethernet cabling,
using a 10Base-T (twisted pair) connection. The Ethernet connector is a
type RJ45 on the printer rear panel. Its pinout is shown below.
Physical Address
The physical address (MAC address) of each printer is assigned at the
factory, and cannot be changed. Each printer's physical address is
indicated on a label affixed to the bottom of the printer.
Network Protocols
The printer will work with any system having TCP/IP support. It will
not work with Netware IPX, Microsoft NetBEUI protocol, Appletalk,
LAN Manager, or Microsoft Windows Network.
Network Applications
Cognitive Ethernet equipped printers utilize TCP/IP for their
communications protocol. The printer acts as a remote host, providing
the following application level interfaces:
LPD
The printer acts as an LPD (Line Printer Daemon) to accept print jobs,
and will accept one connection at a time for incoming data. A second
connection is available for status checks. This is the recommended
method for sending print jobs to the printer.
You must use TCP port 515 to connect to the printer using LPR.
TFTP
A TFTP (Trivial File Transfer Protocol) daemon implemented on top of
the UDP (User Datagram Protocol) provides a fast way to upload new
code and objects to the printer. You can use TFTP in conjunction with
bootp/DHCP to automatically update the printer firmware or stored
objects.
RTEL
An RTEL (Reverse Telnet) daemon is implemented on top of TCP. This
is a user definable TCP port, allowing a direct socket connection to the
TCP port without data processing. Connection via RTEL is effectively
the same as sending data directly to the printer’s serial or parallel port.
TELNET
A Telnet daemon is implemented on top of TCP, and can be used to
monitor the printer. The printer will not accept print jobs using the
Telnet port.
Use TCP port 23 for Telnet connection to the printer. the port supports
the following commands:
BOOTP
Bootp (Boot protocol) is provided to enable dynamic IP address
assignment. Bootp requests are broadcast via UDP port 67. Port 68 will
listen for a response. When Bootp is enabled it will cause a 5 second
delay at turn-on. The printer supports the following Bootptab variables;
all other variables are ignored.
DHCP
Dynamic Host Configuration Protocol (DHCP) provides a more flexible
dynamic IP address assignment than BOOTP. DHCP requests are
broadcast via UDP port 67, and responses listened for on UDP port 68.
When DHCP is enabled it will cause a slight delay at turn-on
(configurable via the “VARIABLES ETHERNET DHCP_OFFERS”
command) as the printer gets offers of IP addresses and decides which
to use. The printer will request the following DHCP options:
3 Router required
Printer Configuration
The printer supports several print methods. Select the print method
appropriate for your application.
Configuration Options
You must configure the printer for your network environment before
using it. Your network administrator should be involved in the process.
If your network supports the DHCP protocol, you may enable DHCP,
then cycle power on the printer with the Ethernet cable plugged in and
the printer will automatically setup by the DHCP server on the
network. If DHCP is disabled, you must select and set the printers’ IP
address, Subnet Mask and Gateway IP address. You may also set the
default Server address if FTP or TFTP transfers will be made to the
printer.
Manual Configuration
To send configuration data to the printer manually:
You may disconnect the USB, serial, or parallel port and connect the
printer to your network after sending the configuration data to the
printer. A sample configuration file follows:
! 0 0 0 0
V ETHERNET IP 130.10.50.105
V ETHERNET NETMASK 255.255.0.0
V ETHERNET GATEWAY 130.10.250.1
V WRITE
V ETHERNET RESET
END
The new configuration settings will not take effect until you reset the
printer. In the above example, the VARIABLE ETHERNET RESET
command resets the printer. Turning the printer off and on will also
reset the printer and enable the new settings.
Operation
Printer operation and use is as described in the user's guide, except for
the Ethernet Link Indicator described on page 227 and the printer self
test.
Self Test
To print a printer selftest label, press and hold in the FEED button
while turning the printer on. The printer should print a label showing
the NVRAM settings, including the Ethernet configuration and physical
address (MAC address) as in the following format:
The label will show “Ethernet not Communicating” to indicate that the
printer is not operational over the network. The settings printed may
change after a DHCP initialization allows the printer to start
communicating over the network. Changing the settings manually via
SNMP or by downloading a format containing “VARIABLE
Note: Turn the printer off and back on again to clear Hex Dump mode and
resume normal operation.
Variable Commands
Several VARIABLE commands support configuration of the Ethernet
printer. Most of these commands execute simple on-off functions, and
accept ON or OFF as their associated parameters. Follow these rules
when using the VARIABLE commands:
You must reset the printer for the commands to take effect. The
VARIABLE ETHERNET RESET command allows you to easily reset
the printer from a remote location via the Ethernet bus.
Note: The Advantage LX and Del Sol models uses this command to control its
DHCP protocol. All other printer models that have this command when BOOTP
is enabled (ON) will use the BOOTP protocol to configure the printer’s Ethernet
settings after a power-cycle.
VARIABLE ETHERNET IP
Function Sets the static Ethernet IP address. This is used if
DHCP is not in use..
Note: In printers that support bootp; this command will not work if bootp is
enabled.
Parameters None
Parameters None
Parameters bfr size= Total size of the memory buffer used for
Ethernet communications.
ovrflw size= Number of free bytes in the memory
buffer when the printer declares itself
busy.
10
Bar Code Information
All rules of bar code symbologies must be followed when creating bar
code commands. Some of the rules for the most commonly used bar code
symbologies are listed below. For more information on bar codes as
supported in Cognitive printers, refer to the BARCODE command
description and Table 2, Printer bar code support.
UPCA consists of a number system digit, ten numbers for the product
identification, and a checksum digit. All Cognitive printers
automatically calculate the checksum. The checksum is not printed in
the bar code subtext.
UPCA+ is like UPCA except that extender bars are printed as per
UPCA specification, and the checksum is printed in the bar code
subtext. If a minus sign modifier is specified, the bar code is the same
but the checksum is removed from the bar code subtext.
UPCE1 is the same as UPCE, except that it always uses number system
one.
CODE93
CODE93 is similar to Code 39. It can encode 48 different characters,
and with the use of control characters, typically encodes the entire 128
ASCII characters. Each encoded character in a Code 93 symbol is
represented by three variable width bars and spaces.
ADD2, ADD5
ADD2 is a two digit add-on for UPC and EAN. ADD5 is a five digit add-
on for UPC and EAN.
NOTE: Although ADD2 and ADD5 are add-ons to UPC and EAN, they must be
entered in label formats as separate bar codes. Placement and size of ADD2
and ADD5 is independent of the UPC or EAN code.
CODABAR
CODABAR supports numbers 0-9 and the special characters ":", ".", "$",
"+" and "-". It requires you to frame the numeric data with valid
start/stop character pairs; for example, A0123B, where A is the start
and B is the stop character. The valid start characters are designated A,
B, C, and D. The valid stop characters are designated T, N, *, and E.
Since you may use any of the four start/stop characters on either end of
the symbol, there are 16 possible combinations. These combinations can
identify the product type or other information.
MSI is a modified PLESSEY code that uses two check digits. The
printer automatically calculates and adds the check digits. The check
digits are not printed in the bar code subtext.
MSI1 is another modified PLESSEY code that uses one check digit.
Again, the printer will automatically calculate and add the check digit.
The check digits are not printed in the bar code subtext.
MAXICODE
MAXICODE is a fixed-size, two-dimensional bar code symbology
consisting of a matrix of hexagonal elements arranged around a bull’s-
eye "finder pattern." MaxiCode uses five code sets (designated A
through E) to encode all 256 characters of the extended ASCII character
set. Cognitive’s implementation of MaxiCode only supports code set A at
present. This code set can represent the uppercase characters A - Z,
numerals 0 - 9, most common punctuation marks, and a few special
symbols.
PDF417
PDF417 (an abbreviation for Portable Data File 417), originally
developed by Symbol Technologies, Inc., is a two-dimensional stacked
bar code symbology. It is a highly compact medium for encoding any
data representable by the 256 characters of the International Character
Set.
The codeword is the basic unit of a PDF417 bar code. All data encoded
using PDF417 is first converted to a decimal value between 0 and 928
inclusive, since there are 928 discrete symbols that can be represented
PDF417 provides error detection and correction within the bar code
block. The thoroughness of the automatic error checking is called the
security level of the code. There are eight security levels, numbered 0-8,
as shown below.
Security Error
Level Limit
0 0
1 2
2 6
3 14
4 30
5 62
6 126
7 254
8 510
A high security level provides very reliable data encoding. However, the
bar code block gets bigger with increasing security, since more
codewords are needed to provide the necessary error checking data.
Processing speed also increases significantly with increasing security,
since more error checking calculations are performed.
POSTNET
POSTNET is designed for use with the nine digit ZIP + 4 postal code.
Each character to be encoded is represented by five bar code elements,
with each element being either a short or tall bar followed by a space.
The bar and space widths are constant.
Postnet uses a start and stop bar and a modulo 10 check digit. Cognitive
printers automatically calculate and add this digit to the code.
CODE128 A, B, C
CODE128 uses 106 unique characters in three character sets to
represent the numerals 0 through 9, the English alphabet in both upper
and lowercase, some punctuation, and some special characters.
Cognitive Solutions printers automatically calculate and add the
checksum character, as well as any required start and stop characters.
CODE128A, CODE128B, and CODE128C are the three character sets
of the CODE128 symbology.
Cognitive printers can handle special characters like the bell character
that are contained in the CODE128 specification by using the caret (^)
character followed by the two digit number of the character to be
printed. The caret character works only with numbers between 0 and
38. The first 32 characters (0 to 31) will print the character represented
by its ASCII number; for instance, ^07 will print the BELL character
and ^13 will print the carriage return character. The two digit numbers
from 32 to 38 will print the special characters shown below.
If you want a caret to actually appear on the label, place a caret before
every caret you want printed. For example, ^^ prints one caret, and
^^^^ prints two carets.
CODE16K
CODE16K is a multi-row symbology based on CODE128. It offers the
features of CODE128 with the added density of a two-dimensional bar
code. Each CODE16K symbol consists of from two to sixteen rows. Each
row consists of a leading quiet zone, a start character, a guard bar, five
symbol characters, a stop character, and a trailing quiet zone. Rows are
separated from each other by a separator bar, and there are separator
bars at the top and bottom of the symbol as well.
You can encode special characters, such as the bell, using the caret
character as with CODE128. The special character assignments for
some characters differ slightly, as shown below.
2 Digit Code Function
33 FNC3
34 FNC3
35 N/A
36 N/A
37 FNC4
38 FNC4
39 FNC1
11
Media Tips and Tricks
Labels are available in a large variety of types and sizes. Some label
characteristics must be taken into account when programming the
printer.
Adhesives
Labels can come without adhesive (e.g. tag or receipt stock), or with
many different types of adhesive, including:
Media Sensitivity
Different media types exhibit different heat sensitivity. The
VARIABLE_DARKNESS command controls the amount of printhead heat.
Different media types can also exhibit different response times. The
media is in motion while the printhead dots are heating and cooling, so
areas of the label that theoretically should stay white are subjected to
temperatures close to their darkening temperature. This can result in
some bleeding of dark areas into light areas. This can adversely affect
the reliability of rotated bar codes. Increasing print speed and print
darkness tend to increase bleeding, so speed and darkness can interact
to affect the reliability of rotated bar codes.
12
Troubleshooting
Most programming problems quickly resolve themselves with careful
examination of the offending label format or program code. When you
cannot solve a problem by simply reviewing your work, your best
approach is to start troubleshooting using the information in your User’s
Guide.
If you know or suspect that you have a hardware problem, refer to your
User’s Guide. If you aren’t sure, try these preliminary tests to help
isolate the problem:
If the printer will not print a self-test label, follow the procedures in
the User’s Guide to resolve that problem first. The printer will not
respond to incoming data if it will not print a self-test label.
9. Print a proven label format.
When a particular label format will not print or is cut off at the
bottom, the trouble is frequently in the header line. Check the
header line before continuing. Especially check that the header line
begins with the proper mode character and specifies the correct
number of dot rows. When programming portable printers, the
header line should be preceded by the wake-up string.
12. "Comment out" portions of the nonworking label format until
your results improve.
Common Issues
This section describes printing issues that you may encounter and
suggestions for resolving them.
13. Cause: The label format does not terminate with a proper END
command.
Cure: Precede every label format sent to a 4.25" portable with the
proper wake-up string.
Printer prints the label format text rather than the intended
label.
Cause: You are sending the label format to the printer from
Microsoft Windows, and the current printer driver is converting the
label format to ASCII commands. For example, you are using the
Cognitive Windows driver or a similar printer driver.
Cure: Use the "generic ASCII" driver when sending label formats to
the printer from Windows.
Cure: Instead of printing the files from Windows, invoke MS-DOS
and copy the files to the printer port using the DOS COPY command.
Printer prints one label, then stops.
Cure: Remove the HALT command, or press the printer’s feed button
to print the next label.
19. Cause: The printer’s Label Taken mode is enabled, in printers so
equipped.
Cure: Load the correct print media for your printer and application.
Confirm that the software is setting the printer for the correct print
method.
25. Cause: Using Value Grade media in a printer set up for standard
media.
Cure: Try another value for dot time. If designing a turnkey software
package, provide for user adjustment of dot time. Allow for printer
limitations in this regard. For example, Barcode Blaster LS and
Blaster Advantage printers only support dot time 100.
Cure: Send the printer an INDEX command. Confirm that your label
format does not contain an unwanted NOINDEX.
32. Cause: For printers that can use both black bar and gap
indexing, the printer may be set for the wrong index type.
Cure: Change print media or set the printer up for the proper
indexing mode. See the sample printer configuration files for more
information.
33. Cause: The printer index detector needs calibration.
Cure: If you are using a Code Courier printer, calibrate the index
detector according to the instructions in your User's Guide. If using a
Barcode Blaster or Blaster Advantage, refer to the VARIABLE
INDEX SETTING command for index calibration information.
34. Cause: Butt-cut label stock is loaded. The printer may be
indexing properly, but with butt-cut stock the labels may not
index to the label perforation, depending on the black bar
position.
41. Cause: If you are using a high speed Barcode Blaster, the printer
may have received one of the following commands or command
parameters:
MULTIPLE
OFFSET
WIDTH
VARIABLE MODE 1 or VARIABLE MODE 2
Nonzero header line X parameter
These will cause the printer to reduce speed while printing.
Cause: The label format contains more than one PITCH command.
Cure: Remove any extraneous PITCH commands.
42. Cause: The numeric value you wish to adjust has more digits
than the parameter specified in the ADJUST command.
Cure: This may be acceptable, but the ADJUST command can only
increment numeric data. If alpha characters follow the numeric
data, you must follow the ADJUST parameter with enough zeros to
pad the increment value away from the alpha characters.
Bar code or string positioning is incorrect.
Cause: A required space was left out or an extra space was inserted
somewhere in the BARCODE or STRING command, causing the
printer to interpret the parameters incorrectly.
Cure: Use blank spaces as shown in the command descriptions.
Ultra Font or TEXT font positioning is incorrect.
Cause: The label format has a JUSTIFY command in it that you have
not accounted for.
Cure: Each JUSTIFY command in a format will remain in effect for
the rest of the format or up to the next JUSTIFY. Insert new
JUSTIFY commands where required.
Cause: The memory area containing the STRING or TEXT fonts has
been unintentionally initialized, erasing the fonts. See the
INITIALIZE STORAGE command for more information.
Cure: You will have to reload the fonts into nonvolatile RAM.
Contact the factory for assistance.
Printed bar codes will not scan.
46. Cause: The bar code block is located too near the label edge, or
too close to another label component.
Cure: Use the information here and in the printer’s User’s Guide to
assure that you are following the rules of the selected bar code
symbology.
FILL_BOX does not produce reversed (black to white) text as
expected.
Cure: Check the label format syntax, especially that of the first
ignored command.
49. Cause: The label format was written for a different printer model
or firmware revision, and the ignored commands are not
supported by your printer.
If you can successfully print ASCII format files, try printing a proven
graphics label format file. If a proven graphics file will not print, suspect
a printer/host communications problem. Continue troubleshooting using
the information below if a proven graphics file prints satisfactorily.
50. Cause: You are not sending pure binary data to the printer.
Cure: Do not try to send graphics data to the printer using a text
editor or word processor. Text editors format their output as
printable characters rather than pure binary. Program graphics
using software that is designed to handle pure binary data.
51. Cause: the graphics file does not start with the proper character.
Cure: Always send exactly enough data to fill the number of rows
specified in the format header line. Consider reducing print width or
use the LOGO command when printing small graphics.
Printer prints a random pattern instead of the expected bitmap.
53. Cause: The printer is set for a different pitch or width than the
graphics file was designed for.
54. Cause: The graphics file is too large for the available memory
space.
Cure: Print your graphics format to a file and then upload the file to
the printer instead of sending the data directly to the printer.
Cure: Check your development platform’s documentation to see how
you can control end-of-line termination.
56. Cause: The graphics file is too large for the available memory
space.
Cause: The graphics file is too large for the available memory space.
Cure: Rewrite the file as required.
Graphics labels print, but are reversed.
Index
! E
!D · 97 END · 42
!I · 105 Ethernet Commands
!L · 106 BOOTP · 234
!R · 98 VARIABLE ETHERNET DHCP · 235
!R M · 113 VARIABLE ETHERNET DHCP_CRIT · 236
!R V · 114 VARIABLE ETHERNET DHCP_OFFERS · 237
!S · 99 VARIABLE ETHERNET FIRMWARE · 238
VARIABLE ETHERNET GATEWAY · 239
VARIABLE ETHERNET IP · 243
A VARIABLE ETHERNET JOBSOKINERROR ·
240
VARIABLE ETHERNET LPD · 241
ADJUST · 18
VARIABLE ETHERNET NETMASK · 250
ADJUST_DUP · 20
VARIABLE ETHERNET RESET · 244
AREA_CLEAR · 21
VARIABLE ETHERNET RESET COMMUNITY ·
245
VARIABLE ETHERNET RTEL · 246
B VARIABLE ETHERNET RTEL PORT · 247
VARIABLE ETHERNET RTEL TIMEOUT · 248
BARCODE · 22 VARIABLE ETHERNET SERVER · 251
BARCODE PDF417 · 30 VARIABLE ETHERNET TELNET · 242
BARCODE UPS · 34 VARIABLE ETHERNET TEXT BUFFER · 249
BARCODE_FONT · 27
F
C
FILL_BOX · 43
commands Format Recall · 98
menu · 115 Format Store · 99
printer setup · 133
RFID · 197
standard printer · 17 G
VARIABLE · 133, 191
COMMENT · 38
GRAPHIC · 45
compatibility · 5
GRAPHIC STORE · 103
contact · iii
Graphics mode · 47
D H
DATASKIP · 189
HALT · 50
DEFINE VARIABLE · 108
Header line · 51
Delete Stored Object · 97
DELIMIT · 107
DOUBLE · 39
DRAW_BOX · 40
T
N
TEXT · 78
NOINDEX · 62 TIME · 81
P U
PITCH · 63 ULTRA_FONT · 87
PROMPTS · 188 Universal Clear · 86
Q V
QUANTITY · 65 VARIABLE ALLOCATE · 136
QUERY REVISION · 66 VARIABLE AUTOCUT · 137
QUERY STATUS · 67 VARIABLE AUXPOWER · 138
VARIABLE BACKLIGHT · 139
VARIABLE BEEPER · 140
R VARIABLE BUFFER_TIMED_RESET · 141
VARIABLE COMM · 143
RECALL GRAPHIC · 104 VARIABLE CONTRAST · 145
Recall Menu · 113, 131 VARIABLE DARKNESS · 146
Recall Variable · 114 VARIABLE ENERGY · 148
RFID commands · 197 VARIABLE FEED_TYPE · 149
RFID Commands VARIABLE HIGHSPEED · 150
!RFID ? · 212 VARIABLE INDEX · 152
!RFID CONFIRM · 213 VARIABLE INDEX SETTING · 153