CG Times (based upon Times New Roman), CG Triumvirate, MicroType, and TrueType are trademarks
of the AGFA Monotype Corporation.
PCL, Intellifont, and HP Laser JetII are trademarks of the Hewlett Packard Corporation.
Macintosh is a trademark of the Apple Corporation.
Windows is a trademark of the Microsoft Corporation.
All other brand and product names are trademarks, service marks, registered trademarks, or registered
service marks of their respective companies.
Information in this manual is subject to change without notice and does not represent a commitment on
the part of Datamax Corporation. No part of this manual may be reproduced or transmitted in any form or
by any means, for any purpose other than the purchaser’s personal use, without the expressed written
permission of Datamax Corporation.
This manual is intended for programmers who wish to create their own label production software.
The Scope of this Manual
This manual, arranged alphabetically by command, explains Datamax Programming Language (DPL) and
its related uses in the writing, loading and storing of programs for the control and production of label
formats (designs) for the following printers at the listed firmware versions:
Printers (all models, unless where otherwise noted)Applicable Firmware Version*
A-Class10.065
E-Class**4.21
EX210.065
I-Class***8.03M2
H-Class10.065
M-Class (M-4206, only)5.08E
M1 & M211.00
M-Class (M-4206, only)5.08E
M-Class8.03M2
W-Class***8.03M2
*Firmware in RFID-equipped printers must be at version 08.043 or greater; see Note 1, below.
**For information regarding the E-3202 printer, see Note 2, below.
***Standard firmware version shown, while option-specific version numbers may differ.
Model distinctions, including configurations (i.e., Display-Equipped or Non-Display Models) and
equipped types (e.g., GPIO-1, graphics display, RFID, etc.), will be indicated in this text to differentiate
command compatibility. The appendices of this manual also contain details that cannot be ignored. The
use of any command will require checking for possible exclusionary conditions.
Notes: (1) See the <STX>KC command for information regarding attainment of the printer’s firmware version;
and then, if necessary, upgrade that firmware. Upgrades are available at ftp://ftp.datamaxcorp.com/.
(2) Programming information for the S-Class and the Datamax legacy printers (Prodigy, DMX400, etc.)
can be found in the DPL Programmer’s Manual (part number 88-2051-01). Programming information for
the E-3202 can be found in E-3202 Programmer’s Manual (part number 88-2257-01). Both manuals can
be downloaded from our web site at http://www.datamaxcorp.com/.
(3) References to “Menu Settings” refer either to the printer’s internal set-up menu, or to the printer’s
menu driven display system; please consult to the appropriate printer Operator’s Manual for details.
(4) For backward compatibility purposes, the Class Series printers covered in this manual will ignore
commands that are no longer processed; Appendix N lists these commands.
(5) When updating firmware for E-Class version 4.10 and higher the printer must be in DPL Mode, not
LINE mode, prior to sending the *.dlf file. See Appendix S for details.
(6) Where applicable, printer responses to a host device will depend upon the communication port, port
settings, and cabling.
Class Series Programmer’s Manual1
Overview
This manual contains the following chapters and appendices:
OVERVIEW on page 1
Contents, organization, and conventions used in this manual; also includes a typical data flow
sequence for the printer.
CONTROL CODE COMMAND FUNCTIONS on page 7
Description of the attention-getter characters necessary for the printer to receive a command
sequence, and available alternate characters and line terminators.
IMMEDIATE COMMAND FUNCTIONS on page 9
Description of the commands, listed alphabetically, that perform status queries and printer control
commands.
SYSTEM-LEVEL COMMAND FUNCTIONS on page 15
Description of the commands, listed alphabetically, that control the printer and allow scalable font
and image downloads.
EXTENDED SYSTEM-LEVEL COMMAND FUNCTIONS on page 37
Description of the commands (listed alphabetically) that control the printer.
LABEL FORMATTING COMMAND FUNCTIONS on page 109
Description of commands, listed alphabetically, that control the position of text and images on the
media, print or store, and end the formatting process.
FONT LOADING COMMAND FUNCTIONS on page 129
Description of commands, listed alphabetically, used when downloading font data in PCL-4
compatible bit-maps.
GENERATING LABEL FORMATS on page 131
Description of the structure of records, the different types, and their use in generating label formats.
APPENDICES A THROUGH V on pages 147 through 281
These contain details that cannot be ignored including various tables, programming examples,
printer default values, and bar code symbology details. See the Table of Contents for specific
content information.
GLOSSARY on page 283
Definitions of words, abbreviations, and acronyms used in this manual.
2Class Series Programmer’s Manual
Overview
General Conventions
These are some of the conventions followed in this manual:
On the header of each page, the name of the chapter.
On the footer of each page, the page number and the title of the manual.
Names of other manuals referenced are in Italics.
Notes are added to bring your attention to important considerations, tips or helpful suggestions.
Boldface is also used to bring your attention to important information.
This manual refers to IBM-PC based keyboard command characters for access to the ASCII
character set. Systems based on different formats (e.g., Apple’s Macintosh) should use the
appropriate keyboard command to access the desired ASCII character. See Appendix A for the
ASCII character set.
Computer Entry and Display Conventions
Command syntax and samples are formatted as follows:
The Courier font in boldface indicates the DPL command syntax, and Italics are used to indicate
the command syntax parameters.
Regular Courier font indicates sample commands, files and printer responses.
Square brackets ([ ]) indicate that the item is optional.
<CR>is used to identify the line termination character. Other strings placed between < > in this
manual represent the character of the same ASCII name, and are single-byte hexadecimal values
(e.g., <STX>, <CR>, and <0x0D> equal 02, 0D, and 0D, respectively).
Hexadecimal values are often displayed in ‘C’ programming language conventions (e.g., 0x02 =
02 hex, 0x41 = 41 hex, etc.)
Class Series Programmer’s Manual3
Overview
Typical Data Flow Sequence
The typical data flow sequence is summarized in the following bullets and detailed in the table below.
Printer Commands data is transmitted to the printer as shown in the table from left to right, top to bottom.
“Status” commands: Get
Status, Request Memory
Module Storage
Information…
“Configuration”
commands, download
image…
“Download” commands,
image, fonts…
Begin label
Label Header record
Label Formatting Data
record –
Object type, orientation,
position, data
Label Quantity
Label Terminate record
Status command
Reprint with New Data
Records
Optional, bi-directional
communication required
for these commands.
See <STX>Kc to reduce
configuration commands
transferred
RAM (temporary) or
Flash (semi-permanent)
memory
Existing label formats
may be recalled. Label
header records are not
required
Optional, bi-directional
communication required
for these commands.
Used for fast re-prints
<STX>xImagename<CR>
<STX>zA
4Class Series Programmer’s Manual
Memory cleanup
Typically used for
temporary storage
Overview
Commands are available for retrieving stored label formats, updating data, and adding new data. These
techniques are used for increasing throughput. See <STX>G, Label Recall Command ‘r’, and Label Save
Command ‘s’.
Typical commands used in the various stages shown above are listed in the tables that follow.
Configuration Commands
The following table lists some commands useful in controlling printer configuration. These
commands are generally effective only for the current power-up session; toggling power restores the
default configuration. See <STX>Kc for changes to the default power-up configuration. Changing the
default power-up configuration and saving objects in printer Flash memory can reduce the data
transmitted for each label and therefore improve throughput.
Configuration
Command
<STX>A
<STX>d
<STX>c
<STX>e
<STX>Kf
<STX>Kc
<STX>F
<STX>M
<STX>m
NameFunction
Set Date and TimeSet Date and Time
Set Double Buffer Mode
Set Continuous Paper Length
Set Edge SensorSetup for gap or registration hole type stock
Subsequent measurements interpreted in inches, most units
in/100, Label equivalent command can be used
Effect is not on label immediately following command since
media position is at Start of Print between labels; <STX>K
default position relative 64 in/100 maximum deviation
Download Commands
Overview
Download
Command
<STX>I
<STX>i
<ESC>
Download ImageDownload Image to selected memory module
Download Scalable FontDownload Scalable Font to selected memory module
Download Bitmapped FontDownload Bitmapped Font to selected memory module
NameFunction
Label Header Commands
These commands determine how the label formatting occurs, effect print quality and quantity. They
are typically issued immediately following the <STX>L start of the label format. The Format
Attribute (A) and the Offset (C, R) commands can be changed at any point between format records to
achieve desired effects.
Label Header
Command
A
Set Format Attribute
Name
C
D
H
M
P
P
Q
R
S
Column Offset
Set Width and Dot Size
Set Heat Setting
Set Mirror Mode
Set Print Speed
Set Backup Speed
Set Quantity
Set Row Offset
Set Feed Speed
6Class Series Programmer’s Manual
Control Code Command Functions
Introduction
The printer requires a special “attention-getter” character in order to receive a command sequence,
informing the printer that it is about to receive a command and the type of command it will be. Control
Commands, System-Level Commands, and Font Loading Commands have their own unique attentiongetter, followed by a command character that directs printer action.
Attention-Getters
The attention-getters (e.g., “SOH”) are standard ASCII control labels that represent a one character control
code (i.e., ^A or Ctrl A). Appendix A contains the entire ASCII Control Code Chart.
Attention-GetterASCII CharacterDecimal ValueHEX Value
Immediate Commands
System-Level Commands
Font Loading Commands
SOH101
STX202
ESC271B
Table 2-1: Control Code Listings
Alternate Control Code Modes
For systems unable to transmit certain control codes, Alternate Control Code Modes are available.
Configuring the printer to operate in an Alternate Control Code Mode (selected via the Setup Menu, the
<STX>Kc command or, where applicable, the <STX>KD command) requires the substitution of Standard
Control Characters with Alternate Control Characters in what is otherwise a normal data stream.
Control CharacterStandardAlternateAlternate 2CustomCommand Type
SOH0x010x5E0x5E
STX0x020x7E0x7E
CR0x0D0x0D0x7C
ESC0x1B0x1B0x1B
“Count By”
[1]
See Label Formatting Commands, ^ set count by amount.
[1]
0x5E0x400x40
Table 2-2: Alternate Control Code Listings
User DefinedControl
User DefinedSystem
User DefinedLine Termination
User DefinedFont Loading
User DefinedLabel Formatting
Note: Throughout this manual <SOH>, <STX>, <CR>, <ESC>, and ^, will be used to indicate the control codes.
The actual values will depend on whether standard or alternate control codes are enabled for the
particular application.
Class Series Programmer’s Manual7
Control Code Command Functions
Alternate Line Terminator Example
Alternate Control Codes provide for substitution of the line terminator, as well as the control characters
listed above. For example using Alternate 2, the line terminator <CR> (0x0D) is replaced by | (0x7C).
The following is a sample label format data stream for a printer configured for Alternate-2 Control Codes:
~L|1911A10001000101234560|X|~UT01ABCDE|~G|
8Class Series Programmer’s Manual
Immediate Command Functions
Introduction
When the printer receives an Immediate Command, its current operation will be momentarily interrupted
to respond to the command. Immediate Commands may be issued before or after System-Level
commands; however, they may not be issued among Label Formatting Commands or during font or
image downloading. Immediate Commands consist of:
1. Attention-Getter, 0x01 or 0x5E, see Control Codes.
2. Command Character
SOH #Reset
This command resets the printer. Resetting the printer returns all settings to default and clears both
the communications and printing buffers. The command also clears DRAM memory.
Syntax:
Printer Response:The printer will reset.
<SOH>#
<XON> T (The T may come before the <XON>)
SOH *Reset
(Display-Equipped Models only)
This command forces a soft reset of the microprocessor, resetting the printer, returning all factory
default values, and clearing the communication and print buffers.
Syntax:
Printer Response:The printer will reset.
<SOH>*
<XON> R (The R may come before the <XON>)
Class Series Programmer’s Manual9
Immediate Command Functions
SOH ASend ASCII Status String
This command allows the host computer to check the current printer status. The printer returns a
string of eight characters, followed by a carriage return. Each character (see below) indicates an
associated condition, either true (Y) or false (N). Byte 1 is transmitted first. See <SOH>F.
Syntax:
Sample:
Printer Response:
<SOH>A
<SOH>A
abcdefgh<CR>
Where:
Possible ValuesInterpretationByte Transmit Sequence
a-Y/NY=Interpreter busy (imaging)1
b-Y/NY=Paper out or fault2
c-Y/NY=Ribbon out or fault3
d-Y/NY=Printing batch4
e-Y/NY=Busy printing5
This command allows the host computer to check an extended current printer status. The printer
returns a string of seventeen characters, followed by a carriage return. Most characters (see below)
indicate an associated condition, either true (Y) or false (N). Byte 1 is transmitted first. See <SOH>F.
Syntax:
Sample:
Printer Response:
10Class Series Programmer’s Manual
<SOH>a
<SOH>a
abcdefgh:ijklmnop<CR>
Immediate Command Functions
Where:
Possible ValuesInterpretationByte Transmit Sequence
a-Y/NY=Interpreter busy (imaging)1
b-Y/NY=Paper out or fault2
c-Y/NY=Ribbon out or fault3
d-Y/NY=Printing batch4
e-Y/NY=Busy printing5
n-Y/NY=Ribbon Low15
o-Y/NY=N (reserved for future)16
p-Y/NY=N (reserved for future)17
Table 3-1: ASCII Status Bytes
SOH BToggle Pause
This command toggles the printer’s paused state between on and off. (This is the same function
achieved by pressing the PAUSE Key on the printer.)
Syntax:
Sample:
Printer Response:This command will illuminate the Paused/Stop Indicator and/or indicate
<SOH>B
<SOH>B
PAUSED on the LCD or graphics display panel, suspend printing, and wait
until one of the following occurs:
The <SOH>B command is sent to the printer.
The PAUSE Key is pressed.
Upon which the printer will turn the Paused/Stop Indicator ‘Off’ and/or
remove PAUSED from the LCD or graphics display panel, then resume
operation from the point of interruption. (If the Receive Buffer is not full,
an <XON> character will be transmitted from the printer.)
Class Series Programmer’s Manual11
Immediate Command Functions
SOH CStop/Cancel
This command performs the same function as pressing the STOP/CANCEL Key on the printer. This
function clears the current format from the print buffer, pauses the printer, and illuminates the
Paused/Stop Indicator. (The pause condition is terminated as described under <SOH>B.)
Syntax:
Sample:
<SOH>C
<SOH>C
Printer Response:This command will clear the print buffer, pause the printer, illuminate the
Paused/Stop Indicator and/or indicate PAUSED on the LCD or graphics
display panel, suspend printing, and wait until one of the following occurs:
The <SOH>B command is sent to the printer; or
The PAUSE Key is pressed.
Upon which the printer will turn the Paused/Stop Indicator ‘Off’ and/or
remove PAUSED from the LCD or graphics display panel. (If the Receive
Buffer is not full, an <XON> character will be transmitted from the printer.)
SOH DSOH Shutdown
(Non-Display Models only)
This commands the printer to ignore Immediate Commands (^A). The SOH shutdown command is
required before loading images or fonts because some may contain data sequences that could be
interpreted as Immediate Commands. After the SOH shutdown command is sent, Immediate
Commands can be turned back on by sending a valid SOH command three times, separated by a one
second delay between each command, or by manually resetting the printer. It is good practice to
check batch quantities (<SOH>E) to verify that the SOH commands are working.
Syntax:
Sample:
Printer Response:
<SOH>D
<SOH>D
This printer will ignore Immediate Commands (^A) until a valid SOH
command is received three times, separated by a one second delay between
each command; or, until the printer is manually reset.
12Class Series Programmer’s Manual
Immediate Command Functions
SOH ESend Batch Remaining Quantity
This command causes the printer to return a four-digit number indicating the quantity of labels that
remain to be printed in the current batch, followed by a carriage return. Communications latency may
cause this value to be higher than actual on some printers.
Syntax:
Printer response:
Where:
<SOH>E
nnnn<CR>
nnnn
- Are four decimal digits, 0-9999.
SOH eSend Batch Printed Quantity
This command causes the printer to return a four-digit number indicating the quantity of labels that
have been printed in the current batch, followed by a carriage return. Communications latency may
cause this value to be lower than actual on some printers.
Syntax:
Printer response:
Where:
<SOH>e
nnnn<CR>
nnnn
- Are four decimal digits, 0-9999.
SOH F Send Status Byte
This command instructs the printer to send a single status byte where each bit (1 or 0) represents one
of the printer’s status flags, followed by a carriage return (see below). If an option is unavailable for
the printer, the single bit will always be zero. See <SOH>A.
Syntax:
Printer response format:
<SOH>F
X<CR>
Where ‘X’ is 0 through 0xef with bits as indicated in the ‘Condition’ column below:
[1]
Bit
ValueCondition
80Always zero
71 or 0Label presented
61 or 0Printer paused
51 or 0Busy printing
41 or 0Printing batch
31 or 0Ribbon out or Fault
21 or 0Paper out or Fault
11 or 0Command interpreter busy (imaging)
[1]
One is the least significant bit.
Class Series Programmer’s Manual13
Immediate Command Functions
14Class Series Programmer’s Manual
Loading...
+ 272 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.