Warning: This equipment has been tested and found to comply with the limits for a
Class B computing device pursuant to Part 15 of the FCC rules. These limits are
designed to provide reasonable protection against harmful interference in a
residential installation. This equipment generates, uses, and can radiate radio
frequency energy and, if not installed in accordance with the instruction may cause
harmful interference to radio communications.However, there is no guarantee that
interference will not occur in a particular installation. If this equipment does cause
harmful interference to to radio or television reception, which can be determined by
turning the equipment off and on, the user is encouraged to try and correct the
interference by one or more of the following measures:
• Reorient or relocate the receiving antenna.
• Increase the separation between the equipment and the receiver.
• Connect the equipment into an outlet or a circuit different from that to
which the receiver is connected.
• Consult an experienced radio/TV technician for help.
Caution: The FCC warns the users that changes or modifications of the unit not
expressly approved by the party responsible for compliance could void the user’s
authority to operate the equipment.
All rights reserved. No part of this document may be reproduced or issued to third
parties in any form whatsoever without the express permission of SATO America, Inc.
The material in this document is provided for general information and is subject to
change without notice. SATO America, Inc. assumes no responsibility for any errors
that might appear.
This section presents the commands that are used with the SATO CX printers to
produce labels with logos, bar codes and alphanumeric data.
The following information is presented in this section:
• The SATO Programming Language
• Selecting Protocol Control Codes
• Using Basic
• The Print Area
• Printer Configuration
• Command Codes
THE SATO PROGRAMMING LANGUAGE
A programming language for a printer is a familiar concept to most programmers. It is
a group of commands that are designed to use the internal intelligence of the printer.
The commands, which are referred to as SATO Command Codes, contain
non-printable ASCII characters (such as <STX>, <ETX>, <ESC>) and printable
characters. These commands must be assembled into an organized block of code to be
sent as one data stream to the printer, which in turn interprets the command codes
and generates the desired label output. The programmer is free to use any
programming language available to send the desired data to the printer.
The command codes used are based upon “Escape” (1B hexadecimal) sequences.
Typically there are four types of command sequences:
<ESC>{Command}
These commands generally tell the printer to perform a specific action, like “clear the
memory.”
<ESC>{Command} {Data}
Commands with this format tell the printer to perform a specific action which is
dependent upon the following data, like “print X labels”, where the value for X is
contained in the data.
<ESC>{Command} {Parameter}
These commands set the operational parameters of the printer, like “set the print
speed to 3.”
<ESC> {Command} {Parameter} {Data}
SATOCX200PrintersPN9001055 Rev. EPage 1
CX200 Programming Guide
Some commands can contain both Parameter and Data elements, such as “print a
Code 39 symbol containing the data.”
SELECTING PROTOCOL CONTROL CODES
Protocol codes are the special control characters that prepare the printer to receive
instructions. For example, the <ESC> character tells the printer that a command
code will follow.
The Protocol Control Code set set is made up of six special characters. The Standard
Protocol Control codes are non-printable characters. They can be changed to
printable characters using the Protocol Control code download command. This may
be useful on host computers using protocol converters or in an application where
non-printable ASCII characters cannot be sent from the host. This manual uses the
Standard Protocol Control codes for all of the examples.
The Protocol Control codes must be downloaded from the host using the <ESC>LD
command (see Page 90). Once they are downloaded, the printer will not respond to
standard protocol codes. The current protocol codes active in a printer can be
determined by printing a Test Label (see CX200 User’s Guide, Page 9).
USING BASIC
It may be useful to test your printer using a BASIC program on a PC. You may also
write your actual production programs in BASIC. Whatever the reason, if you will be
working in BASIC, some of the following hints may help you get started:
1. Set the WIDTH of the output device to 255 characters to avoid automatically
CONTROL
CHARACTER
STX02Start of Data
ETX03End of Data
ESC1BCommand code to follow
ENQ05Not Used on CX200
CAN18Not Used on CX200
Off-Line40Take printer Off-Line
HEX VALUEDESCRIPTION
sending <CR> and <LF> characters after every line. The command string
should be continuous and uninterrupted by <CR> and/or <LF> commands.
The examples given in this manual are printed on separate lines because they
will not fit on one line and do not contain any <CR> and/or <LF> characters. If
these characters are needed, they are explicitly noted by the inclusion of <CR>
and <LF> notations.
2. If you are using the printer’s RS232 interface, it is necessary to set the COM port on
the PC such that the CTS and DSR signals will be ignored. Send your OPEN
“COM” statement in the following way:
Page 2PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
OPEN “COM1:9600,E,8,1,CS,DS” AS #1
This sets the RS232 communication parameters of the host PC’s COM1 port for 9600
baud, Even parity, 8 Data bits, 1 Stop bit and directing the port to ignore the CTS
and DSR control signals.
3. You may want to minimize keystrokes and program size by assigning the <ESC>
character to a string variable since this character is used quite often.
The following two examples in BASIC show a typical example using these hints. Both
of these examples use the Standard Protocol codes.
Printing with the Parallel Port
5REM Parallel ExampleIdentifies the program as a parallel port
print label. The “REM” prevents this
data from being sent to the printer and
displays it only on the screen.
10
E$=CHR$(27)Sets the “E$” string as an <ESC>
character
20
WIDTH “LPT1:”,255Sets the width of the output to 255
characters
30
LPRINT E$;"A";Sends an “<ESC>A” command code to
the LPT1 parallel port
40
LPRINT E$;"H400";E$;"V100";E$;"WL1SATO";Sends the data “SATO” to be to be
placed 400 dots horizontally and 100
dots vertically on the label and printed in
the “WL” font.
50
LPRINT E$;"Q1";Instructs the printer to print one label.
60
LPRINT E$; “Z”;Tells the printer that the last command
has been sent. The printer can now
create and print the job.
Printing with the RS232 Port
5REM RS232 ExampleIdentifies the program as a RS232 port
print label. The “REM” prevents this
data from being sent to the printer and
displays it only on the screen.
10
E$=CHR$(27)Sets the “E$” string as an <ESC>
character.
20
OPEN “COM1:9600,N,8,1,CS,DS” AS #1Opens the COM1 port for output and
sets the parameters as 9600 baud, No
parity, 8 Data bits, 1 Stop bit and
instructs the port to ignore the CTS and
DSR control signals.
30
PRINT #1,CHR$ (2);Sends an <STX> (ASCII Code a
decimal “2”) to the printer instructing it
to prepare to receive a message.
40
PRINT #1,E$;"A";Sends an “<ESC>A” command code to
Print Port #1 opened by statement 20
above.
SATOCX200PrintersPN9001055 Rev. EPage 3
CX200 Programming Guide
50 PRINT #1, E$;"H400";E$;"V100";E$;"WL0SATO"; Sends the data “SATO” to be to be
60
PRINT #1, E$;"Q1";Instructs the printer to print a quantity of
70
PRINT #1, E$; “Z”;Tells the printer that the last command
80
PRINT #1,CHR$ (3);Sends an <ETX> (ASCII Code decimal
THE PRINT AREA
The maximum print area is 7 inches long in the standard mode and 14 inches long if
the length is expanded with the Expanded Print Length command. Most of your label
applications will fit into this area, therefore, it is important to understand how to
work with labels that do not use the entire print area. The goal is to help you avoid
printing where no label exists, which may lead to print head damage, not to mention
the frustration when you cannot see the printed output.
placed 400 dots horizontally and 100
dots vertically on the label and printed in
the “WL” font.
one label.
has been sent. The printer can now
create and print the job.
“3”) to the printer telling it that this is the
end of the message.
The diagram below illustrates the print area for a sample 2 inch wide by 3 inch long
label placed within this area. As can be seen, your label will be oriented against the
inside left edge of the printer as viewed from the front (label exit) of the printer. The
normal reference point is located at the H1, V1 position of the print area in the
normal print orientation (no rotation).
Normal Reference Point
H1, V1
3"
label
length
Your
Label
7"
Print
Area
2.1"
label Width
2.0"
from Edge
Direction
Label Feed
4.1"
Print Area
Page 4PN9001055 Rev. ESATOCX200Printers
The base refernece point is always on the right edge of the print head as you face the
front (label exit) of the printer. If you are using a label that is narrower than the
maximum print width, you may have to adjust the base reference point of the
Left-Hand printer to correctly position the print area. There are two methods
available as follows:
1. Send the Base Reference Point command as part of your data to the printer to set a
new base reference point for your label.
Calculate the distance (in dots) from the normal base reference point to the closest
edge of the label. If you wanted to move the print area over to the left (as viewed
from the front or label exit end of the printer) 2.1 inches:
Label Width = 2.0" x 25.4 mm/in x 8 dpmm = 406 dots
The new base reference point then becomes:
New Base Reference Point= max print width - label width
= 832 dots - 406 dots = 426
Issue the Base Reference Point command after the Start command in your data
stream.
<ESC>A3H0426V0001
This resets the reference point for all the following data.
Note: After the reference point is moved, you can no longer print on the 426 dot
“margin” unless the reference point is reset.
2. Use the normal base reference point from the print area and use the horizontal
position for each field to properly locate it on the label.
Calculate the distance (in dots) from the normal base reference point to the closest
edge of the label.
Shift Distance = 2.1" x 25.4 mm/in x 8 dpmm = 426 dots
New Base Reference Point = 832 dots - 426 dots = 406
Each <ESC>H command would have the value “406” added to it to correctly
position each field.
The Command Code subsection contains a sample label output for each command
code. These samples reflect how the printed information would appear on a five inch
wide label (see illustration). If you want to test any of the sample label outputs and
are using labels less than five inches in width, you will have to adjust the positioning
accordingly so that the printer does not try to print where there is no label.
You must be careful not to print off the label surface as the label provides a heat sink
for the print head elements. Doing so will cause irreparable damage to the head. This
damage is not covered under the print head warranty.
SATOCX200PrintersPN9001055 Rev. EPage 5
CX200 Programming Guide
Base Reference
Point, H=0001
Label
4"
For example, the following illustrates a sample data stream and the resulting label
assuming a four inch wide label:
If you are using a two inch wide label, the entire image may not appear on your label.
By adding the following Base Reference Point command to the second line of the data
stream, the base reference point will be changed, causing the image to be shifted over
toward the inside of the printer where it can be printed on the narrower label.
The image reference point is set at the left edge (facing the printer) of the label so
that it can be printed on a 2 inch wide label.
Note: The printers will not “wrap” images that extend beyond the print area. If any part
of a character or image extends beyond the print area, it will disappear.
For more information, see the Base Reference Point command description.
ROTATED FIELDS
*SATO*
*SATO*
SATO
print on a 2" wide label.
*SATO*
*SATO*
SATO
2" Label
4.1"
The printers can rotate each print field in 90° increments using the Rotate command.
There are two variations of this command.
• <ESC>% - The field rotates, but the base reference point for the field
remains the same.
• <ESC>R - The field and the base reference point rotate.
The following data stream will rotate the print field but will not change the base
reference point of the field:
There are some types of commands that must have a value specified before a label
can be printed. If the data stream does not contain these commands, a “default” value
is assumed. The commands and the corresponding default values are:
Base
Ref
Point
Label
Feed
Direction
New
Base
Ref
Point
V=200
E
H=100
“R”
COMMANDDEFAULTNOTE
Print Rotation0°(1)
Vertical Reference Point0(1)
Horizontal Reference Point0(1)
Character Pitch2(1)
Base Reference PointH=0, V=0(2)
Character Expansion1(1)
Print Darkness3(1)
Print Speed3 ips(2)
NOTES:
(1) The settings for these commands will revert to the default value when the printer
receives an <ESC>Z or an <ESC>*.
(2) These values transmitted with these commands will remain in effect until a new
command is received.
PRINTER CONFIGURATION
The CX200 oprinters are different from other SATO models in that they do not use
DIP switches for printer configuration. Instead, all printer configuration is done via
software commands. The parameters that can be configured are:
• Sensor Calibration
• Protocol Codes
Page 8PN9001055 Rev. ESATOCX200Printers
Because there are no DIP switches to indicate the current printer settings, a Test
Label can be printed that lists the active settings in the printer. This Test Label lists all
of the information a user needs to ascertain the printer configurtation. Test Labels
can be printed out by sending a command via software (see Page 93) or by using the
FEED and On-Line/Off-Line Indicator buttons on the control panel (see Page 7 of the
CX200 User’s Guide).
LABEL SENSING
The CX200 printers can use eye-mark (black bar), gap or notch label sensing. The gap
and notch sensor is a transmissive or see-thru type with an infrared light source
directed through the label/ribbon combination from above and detected by a separate
sensor underneath the label. A reflective sensor is used to detect eye-marks printed
on the bottom of the label liner or tag. The eye-mark must not reflect more than 12%
of the light. Since the same receiving sensor is used for all three types of sensing, it
must be calibrated with the media that will be used. The ribbon must be installed
while the calibration is being performed.
CX200 Programming Guide
• Print Darkness Range
• Sensor Type
• RS232 Parameters
• Label Tear-Off Position
• Backfeed Enable/Disable
Print Head
0.65"
(16.5mm)
0.75"
(19mm)
See
Note 1
Fixed Position
Sensor
Eye-Mark on
underneath side
of label
Min. Length = 1"
(25.4mm)
Gap, Notch or Bar Width
Min: 0.125" (3.2mm)
Max: 1.0" (25mm)
Min Label Pitch
0.375" (9.5mm)
Left Label Edge
Note 1: The the trailing-edge of the black eye-mark can be positioned anywhere
within the 0 to +98mm range of sensor offset adjustment and the first print line
(V=000) can be adjusted to the desired position using the <ESC>CB Label
Tear-Off command. If the pitch offset is 11mm (the factory setting), placing the
eye-mark trailing edge at 8mm will place the first print position at the top edge
of the label.
Label Feed Direction
SATOCX200PrintersPN9001055 Rev. EPage 9
CX200 Programming Guide
When calibrating the printer sensors, the gap or eye-mark sensor type must be
selected first using the <ESC>CI command (see page 94) and then the Direct
Thermal or Thermal Transfer print mode must be specified with an <ESC>CP
command (see page 92). These two commands are followed by an <ESC>CA
calibrate command (see page 86) to instruct the printer to preform the calibration
procedure. The resulting calibration values are stored in the printer and used until
the unit is recalibrated. A separate value is stored for direct thermal and thermal
transfer modes because the settings will differ significantly because of the inclusion of
the ribbon for thermal transfer. For example, the following command stream will
calibrate the printer in the thermal transfer mode for gap sensing:
<ESC>A<ESC>CP1<ESC>CI2<ESC>CA<ESC>Z
COMMAND CODE PAGE REFERENCE
This section contains all the printer Command Codes. The commands must be sent to
the printer in an organized fashion in order for the label(s) to print.
The purpose of this section is to:
1. Explain the different commands and provide examples of their usage.
2. To provide a detailed reference for programming.
Each command begins on a separate page with its own heading. A uniform layout is
used to help you find key information about each command. For each Command
Code in this section, there will be a sample data input stream to the printer and the
expected print output. By studying the examples, you can learn how to use the
particular command within a whole block of printer code. Pay particular attention to
the “Special Notes” with each command to learn other important information.
The subject commands are highlighted in bold letters in the Reference Sheets. There
are two parts of most, but not all, commands. The first is the command character
which immediately follows the <ESC> code. It is always an upper case alpha or a
special character (such as an “&” or a “%”). It is never a lower case alpha character. If
the command requires additional variable information, it is represented by a group of
lower case alpha characters immediately following the command character. For
example, if an aaaabb is listed following the basic command, the printer will look
for six characters immediately following the command. The first four would represent
the value of aaaa and the next two the value of bb.
The maximum number of characters defined in a parameter is represented by the
number of characters shown in the command structure. For example, a command
followed by an aaaa can have up to four characters. In general, commands with only
one parameter following the command can be entered without the leading zeroes. In
the above example, you could enter either “809” or “0809”. However, certain
commands require the exact number of matching characters. A command with two
parameters listed following the command code, such as aaaabbbb require the exact
number of digits to be entered. If the value of aaaa is “800” and the value of bbbb
is “300”, then the parameters must be entered as “08000300”. It is recommended
that you make it a practice to always enter leading zeros to prevent any mistakes.
Page 10PN9001055 Rev. ESATOCX200Printers
Bar Codes
Command Structure1:3 narrow/wide bar ratio: <ESC>Babbcccd
2:5 narrow/wide ratio:<ESC>BDabbcccd
1:2 narrow/wide bar ratio: <ESC>Dabbcccd
a=Bar Code Symbol
0Codabar
1Code 39
2Interleaved 2 of 5 (I 2/5)
3UPC-A / EAN-13
4EAN-8
AMSI
C Code 93
EUPC-E
FBookland
G Code 128
IUCC 128
CX200 Programming Guide
bb=Number of dots (01-12) for narrow bar and narrow space
ccc=Bar height in dots (001-600)
d=UCC 128 only. Not used for other bar code types
0No human readable text
1Human readable at top
2Human readable at bottom
Example:<ESC>BD103200
Placement:Immediately preceding data to be encoded
Default:None
Command FunctionTo print bar code images on a label. With this command, there are 13
standard bar code symbologies available to be printed and three two
dimensional symbols (see Two Dimensional bar code symbols
starting on Page 80).
Special Notes1. UPC and EAN bar codes are not affected by the different types of
narrow to wide ratios. Instead, the <ESC>D command adds
descender bars to these codes where needed to meet UPC
specifications. The <ESC>BD command puts decender bars and
human readable text below the symbol.
2. The Code 128, UCC 128, MSI, and Code 93 bar codes are not
affected by the narrow to wide ratios.
3. The Codabar and Code 39 bar codes are affected by the Character
Pitch command. This command must be placed before the Bar
Code command.
4. See Appendix B for more specific instructions and detailed
information regarding individual bar code symbols.
5. Because of their unique characteristics, two-dimensional symbols
are covered separately (see Page 80).
6. For UCC128, the FNC1 code is automatically inserted and the Mod
10 and Mod 103 check digits are automatically calculated.
7. For the MSI bar code, the check digit is not automatically calculated.
8. To select UPC-A, 11 digits of data is sent. The printer adds a “0”
and automatically generates the check digit. If 12 digits of data
are sent, the printer asumes an EAN-13 symbol and automatically
generates the check digit. The last digit of the bar code data is a
modulo 10 check digit. If 13 digits of data are sent to the printer,
the check digit is not created and must be supplied by the
programmer. It must be the last character of the 13 digit string.
SATOCX200PrintersPN9001055 Rev. EPage 15
CX200 Programming Guide
Bar Codes, Expansion
Command Structure<ESC>BWaabbb
aa=Expansion factor by which the width of all bars and spaces
will be increased (01-12)
bbb =Bar height by dot (004-600 dots)
Example:<ESC>BW02100
Placement:Immediately follows the <ESC>BT command and
precedes data to be encoded.
Default:None
Command FunctionThis command works together with the <ESC>BT command to
specify an expansion factor and the bar code height for the particular
symbol being printed.
Special Notes1. This command must be preceded by the Variable Ratio Bar Codes
<ESC>BT command (see Page 17).
2. The following bar codes will be affected by the Character Pitch
command: Codabar, Code 39 and Interleaved 2 of 5.
Page 16PN9001055 Rev. ESATOCX200Printers
Bar Codes, Variable Ratio
Command Structure<ESC>BTabbccddee
a=Bar Code Symbol:
0Codabar
1Code 39
2Interleaved 2 of 5
bb=Narrow space in dots (01-99)
cc=Wide space in dots (01-99)
dd=Narrow bar in dots (01-99)
ee=Wide bar in dots (01-99)
Example:<ESC>BT101030103
CX200 Programming Guide
Placement:Following print position commands and preceding
the <ESC>BW command.
Default:Current setting
Command FunctionTo print a bar code with a ratio other than those specified through the
standard bar code commands (B,BD, and D). This is done through
individual control of each of the bar code elements (bars, spaces) as
shown above. Remember that this command only applies to the three
bar code types shown.
Special Notes1. This command must be immediately followed by the <ESC>BW Bar
Code Expansion command (see Page 16).
2. You may use only one variable ratio bar code per label.
3. If the data specified in this command is incorrect, the command is
ignored and the ratio used will be based on the previous setting.
Page 18PN9001055 Rev. ESATOCX200Printers
Base Reference Point
Command Structure<ESC>A3H-aaaaVbbbb
-=This character is optional. When present, it specifies that
the horizontal offset is in the negative direction. If it is left out
the offset direction is positive.
aaaa =Horizontal Print Offset (-0832 to +0832)
bbbb =Vertical Print Offset (0001 to 1424)
Example:<ESC>A3H100V0050
Placement:Preceding all images that are based on the new base
reference point
CX200 Programming Guide
Default:Current V and H offset setting in the printer configuration
Command FunctionTo establish a new base reference point for the current label. The
base reference point is the top left corner or “origin” from where all
print position commands are based.
This command may be very helpful when using labels less than four
inches wide to place images on the printable label surface. It may
also be used to move images past preprinted fields on a label.
Input to Printer:
Printer Output:
<ESC>A<ESC>L0202
<ESC>H0025<ESC>V0025<ESC>WB0MNORMALREFERENCE POINT
<ESC>A3H0300V0075
<ESC>H0100<ESC>V0050<ESC>WB0MNEWREFERENCE POINT
<ESC>Q1<ESC>Z
SATOCX200PrintersPN9001055 Rev. EPage 19
CX200 Programming Guide
Special Notes1. Use of this command will set the Vertical/Horizontal Offset setting of
the printer configuration until a new Base Reference Point
command is issued.
2. This command may be used more than once in a print job.
3. An alternative to using this command is to make changes to your
current Horizontal and Vertical Print Position commands (see
Page 53).
Example:
Let’s say the current base reference point is H=1, V=1 and you
wish to move all the fields on your label downward vertically by
150 dots. You could either (1) add the Base Reference Point
command or (2) change all the vertical position commands by an
additional 150 dots.
4. For a more detailed example of the Base Reference Point
command, see “Print Area” in this section (Page 4).
5. The CX200 printers will not “wrap” (i.e. if any part of a character or
image extends beyond the last print dot position, it will disappear
and not be visible on any part of the label).
Page 20PN9001055 Rev. ESATOCX200Printers
Characters, Custom-Designed
Command StructureStore Command: <ESC>Tabcc
Recall Command: <ESC>Kab90cc
a=116x16 matrix
224x24 matrix
b=Specifies the character encoding method for the data stream
H Hexadecimal characters
BBinary characters
cc=Memory location to store/recall the character. Valid memory
locations are 21 to 52 (counting in Hex) or “!” to “R” in Binary
(data)=Data to describe the character
CX200 Programming Guide
Example:<ESC>T1H3F
<ESC>K1H903F
See Appendix C for a more detailed explanation
Placement:The Store command is typically sent in its own data
stream to the printer, between the Start/Stop commands.
The Recall command is sent in a secondary data stream
to print the character,and follows any necessary position
or size commands.
Default:None
Command FunctionTo allow for the creation, storage, and printing of custom characters,
such as special fonts or logos. Up to 50 individual characters may be
stored in the custom character volatile memory.
Printer InputSee Appendix C for a detailed explanation.
Special Notes1. When printing the custom character using the <ESC>K Recall
command, the character is affected by the following commands:
Character Expansion (see Page 23)
Character Pitch (see Page 26)
Line Feed (see Page 47
Rotate, Fixed Base Reference Point (see Page 62)
Rotate, Moving Base Reference Point (see Page 64)
2. The characters are stored in volatile memory and must be reloaded
if the printer power is lost.
3. Do not use ASCII <CR> or <LF> characters (carriage return or line
feed) as line delimiters within the graphic data or the actual image
will not be printed as specified.
Page 22PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Character Expansion
Command Structure<ESC>Laabb
aa=Multiple to expand horizontally (01-12)
bb=Multiple to expand vertically (01-12)
Example:<ESC>L0304
Placement:Preceding the data to be expanded
Default:<ESC>L0101
Command FunctionTo expand characters independently in both the horizontal and
vertical directions. The command allows you to enlarge the base size
of each font (except the vector font) up to 12 times in either direction.
Expanded characters are typically used for added emphasis or for
long distance readability.
Special NotesThis command will expand the following fonts:
1. Fonts U, S, M, XU, XS, XM, OA & OB (see Page 34) and fonts WB,
WL, XB and XL (see Page 36).
2. This command will also affect the following commands:
Character Pitch (see Page 26)
Characters, Custom-Designed (see Page 21)
3. The Character Expansion value is in effect for the current print job
until a new expansion command is specified.
4. The Line and Box command, if used within the data stream, may
return all subsequent text to the default expansion of 1 x 1.
Therefore, either send the Character Expansion command before
all printed data, or send Line and Box commands last, preceding
the <ESC>Q Quantity command.
Page 24PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Character, Fixed Spacing
Command Structure<ESC>PR
Example:See Above
Placement:Preceding the data
Default:The default is Proportional Spacing.
Command FunctionTo reset proportional spacing and place the printer back to fixed
spacing.
Printer Input
Printer Output
Special Notes1. This command only works with the proportionally spaced fonts XU,
end of the print job unless a reset command is sent.
Page 28PN9001055 Rev. ESATOCX200Printers
Clear Print Job(s) & Memory
Command Structure<ESC>*a
a=Specifies the internal memory section to be cleared
Example:<ESC>*
Placement:This command should be sent to the printer as an
Default:None
CX200 Programming Guide
TTo clear the custom character memory
&To clear the form overlay memory
XTo clear all internal memory
<ESC>*&
independent data stream.
Command FunctionTo clear individual memory or buffer areas of the printer.
Input to Printer:
Printer Output:There is no printer output as a result of this command. The current
Special Note1. It is not necessary to clear the printer’s memory between each print
<ESC>A
<ESC>*
<ESC>Z
print job in the buffer will be terminated and all other print jobs in the
buffer cleared.
job.
2. When the “a” parameter is used, the section of memory specified
will not be cleared until the label is printed.
3. When the “a” parameter is not included, all sections of memory will
be cleares (same as <ES>*X).
SATOCX200PrintersPN9001055 Rev. EPage 29
CX200 Programming Guide
Continuous Forms Printing
Command StructureNone
The printer locates the end of an adhesive label by sensing the
backing between labels or through the use of an Eye-Mark (black
rectangle on the reverse side of the backing). It locates the end of a
tag from a notch, eye-mark, or a hole between tags. Both sensors
should be disabled when printing continuous forms by sending the
<ESC>CI0 command to disable the sensor (See Page 93).
If you will be using continuous labels or tags, the printer must be told
to stop feeding in another manner. The length is determined by the
position of the last printed image on the label or tag. The printer will
stop feeding when this last field is finished printing. The length may
be increased with printed spaces (20 hexadecimal) if necessary.
There is no command code to control label length.
Page 30PN9001055 Rev. ESATOCX200Printers
Copy Image Area
Command Structure<ESC>WDHaaaaVbbbbXccccYdddd
aaaa =Horizontal position of the top left corner of the area to be copied
0001 to 832
bbbb =Vertical position of the top left corner of the area to be copied
0001 to 1424
cccc =Horizontal length of the image area to be copied
0001 to 0832
dddd =Vertical length of the image area to be copied
0001 to 1424
Example:<ESC>WDH0100V0050X0600Y0400
Placement:Anywhere within the data stream, after specifying the
location of the duplicate image.
CX200 Programming Guide
Default:None
Command FunctionTo copy an image from one location to another on the same label.
This may be useful for duplicating individual fields or entire sections
of the label with only one command.
Special Notes1. Use the Print Position commands (V and H) to locate the new area
for the duplicate image (see Page 53).
2. Position of the new target area must not be inside the original
image.
3. If you use the Rotate command, V, H, X and Y axis will be reversed.
4. If the reference area of the target image exceeds the print area, it
will not be printed.
Page 32PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
CutterCommand
Command Structure<ESC>~aaaa or <ESC><NUL>aaaa
aaaa =Number of labels to print between each cut (0001 to 9999)
Example:<ES>~0002
Placement:Fllowing the <ESC>Q Print Quantity command
Default:Cut after each label if cutter installed
Command FunctionTo control the cutting of labels when using a SATO cutter unit with
the printer. This command allows the cutting of multi-part tags or
labels at a specified interval within a print job.
Input to Printer
Printer OutputThis set of commands will print 6 labels, with 2 labels betweencuts.
Special Notes1. You must have the optional printer Cutter installed to use this
function. Contact your SATO representative for more information
2. To use this command, you must have the cutter enabled.
3. If the cut value is set at aaaa = 0000, the cutter is inactive.
4. When using the Cuttter command, the total number of labels printed
is the product of the cut value times the print quantity. For
example, if the cut value is 2 and the print quantity is 20, then 40
(20 sets of 2) labels will be printed.
5. Sending a Cutter command to a printer without a cutter installed will
enable the Backfeed operation.
SATOCX200PrintersPN9001055 Rev. EPage 33
CX200 Programming Guide
Fonts U, S, M, OA, OB, XU, XS & XM
Command StructureFont XU:<ESC>XUFont U:<ESC>U
Font XS:<ESC>XSFont S:<ESC>S
Font XM: <ESC>XMFont M:<ESC>M
Font OA: <ESC>OAFont OB: <ESC>OB
Example:See above
Placement:Preceding the data to be printed
Default:None
Command FunctionTo print text images on a label. These are eight of the built-in fonts
available on the printer. All matrices include descenders.
Input to Printer
Printer Output
NON-PROPORTIONALPROPORTIONAL
U5W x 9H dot matrixXU5W x 9H dot matrix
S8W x 15H dot matrixXS17W x 17H dot matrix
M13W x 20H dot matrixXM24W x 24H dot matrix
OAOCR-A font 15W x 22H
OBOCR-B font 20W x 24H
(1) These fonts will be printed with proportional spacing only if preceded by an
<ESC>PS command.
Special Notes1. Characters may be enlarged through the use of the Character
Expansion command (see Page 23).
2. Character spacing may be altered through the use of the Character
Pitch command (see Page 26). The default is 2 dots between
characters. It is recommended to use a spacing of 5 dots for
OCR-A and 1 dot for OCR-B.
3. You may also create custom characters or fonts. See the <ESC>T
Custom-Designed Characters command (Page 21).
4. A font must be defined for each field to be printed. There is no
default font.
5. The proportionally spaced fonts XU, XS, XM, XL and XA can be
printed with fixed spacing using the <ESC>PS Proportional Space
command.
Special Notes1. Characters may be enlarged through the use of the <ESC>L
Character Expansion command (see Page 23).
2. Character spacing may be altered through the use of the <ESC>A
Character Pitch command (see Page 26).
3. A font must be defined for each field to be printed. There is no
default font.
4. The proportionally spaced fonts XU, XS, XM, XL and XB can be
printed with fixed spacing using the <ESC>PS Proportional Space
command.
SATOCX200PrintersPN9001055 Rev. EPage 37
CX200 Programming Guide
Form Feed
Command Structure<ESC>A(space)<ESC>Z
Example:See above
Placement:Separate data stream sent to printer
Default:None
Command FunctionTo feed a blank tag or label, which is the equivalent of a “form feed”
Input to Printer
Printer OutputBlank label or tag
<ESC>A(space)
<ESC>Z
Page 38PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Form Overlay, Recall
Command Structure<ESC>/
Example:See above
Placement:Must be preceded by all other data and placed just before
the Print Quantity command (<ESC>Q)
Default:None
Command FunctionTo recall the label image from the form overlay memory for printing.
This command recalls a stored image from the overlay memory.
Additional or different data can be printed with the recalled image.
Input to Printer
Printer Output
<ESC>A
<ESC>H01000<ESC>V0125
<ESC>STHIS IS THE STORED IMAGE WITH A BARCODE
<ESC>H0100<ESC>V0165<ESC>B103100*12345*
<ESC>&<ESC>Z
<ESC>A<ESC>H0100<ESC>V0050
<ESC>STHIS IS RECALLING AND ADDING TO THE STORED IMAGE<ESC>/
<ESC>Q1<ESC>Z
Special Notes1. The overlay is stored using the <ESC>& Form Overlay Store
command (see Page 40).
2.The <ESC>AX Expanded Print Length command (see Page 51)
cannot be used with Forms Overlay.
SATOCX200PrintersPN9001055 Rev. EPage 39
CX200 Programming Guide
Form Overlay, Store
Command Structure<ESC>&
Example:See above
Placement:Must be preceded by all other data and placed just before
the Stop command (<ESC>Z)
Default:None
Command FunctionTo store a label image in the volatile form overlay memory. Only one
label image may be stored in this memory area at a time.
Input to Printer
<ESC>A
<ESC>H0100<ESC>V0125
<ESC>STHIS IS THE STORED IMAGE WITH A BARCODE
<ESC>H0100<ESC>V0165<ESC>B103100*12345*
<ESC>&
<ESC>Z
Printer OutputThere is no output from this command. It stores the label image in the
overlay buffer.
Special Notes1. Remember that this storage is volatile. Therefore, if the printer
loses power, the overlay must be sent again.
2. The overlay is recalled using the <ESC>/ Form Overlay Recall
command (see Page 39).
3. Form overlays do not have to be recompiled each time they are
called to be printed and therefore may result in much faster print
output.
4. The Expanded Print Length <ESC>AX (see Page 51) cannot be
used with this command. The maximum length label that can be
used with Forms Overlay is 7".
Page 40PN9001055 Rev. ESATOCX200Printers
Graphics, Custom
Command Structure<ESC>Gabbbccc(data)
a=Specifies format of data stream to follow
BBinary format
H Hexadecimal format
bbb =Number of horizontal 8 x 8 blocks
001 to 104
ccc=Number of vertical 8 x 8 blocks
001 to 178 (001 to 356 for Expanded Length)
(data)=Hex data to describe the graphic image
CX200 Programming Guide
Example:<ESC>GH006006
See Appendix C for a detailed example
Placement:May be placed anywhere within the data stream after the
necessary position commands.
Default:None
Command FunctionTo create and print custom graphics (logos, pictures, etc.) on a label.
The graphic image may be printed along with other printed data to
enhance label appearance or eliminate the need for preprinted label
stock. Using a dot-addressable matrix, design the graphic image in 8
dot by 8 dot blocks, then send it in a binary format to the printer.
Printer Input
<ESC>A
<ESC>H0100<ESC>V0100<ESC>GH006006
FFFFFFFFFFFFFFFFFFFFFFFFC00000000003
C00000000003C000FFFFFFF3C00080000013
C00080000013C0009FFFFF13C00080000013
C00080000013C0009FFFFF13C00080000013
C00080000013C000FFFFFFF3C00000000003
C00000000003C00000000003C00000000003
C00000000003C00000000003C00003C00003
C00007E00003C0000FF00003C0000FF00003
C0000FF00003C0000FF00003C00007E00003
C00003C00003C00003C00003C00003C00003
C00003C00003C00003C00003C00003C00003
C00003C00003C00003C00003C00003C00003
C00003C00003C00001800003C00000000003
C00000000003FFFFFFFFFFFFFFFFFFFFFFFF
<ESC>H0300<ESC>V0100<ESC>XSPLEASE PLACEYOUR DISK
<ESC>H0300<ESC>V0150<ESC>XSIN A SAFE PLACE
<ESC>Q1<ESC>Z
SATOCX200PrintersPN9001055 Rev. EPage 41
CX200 Programming Guide
Printer Output
Special Notes1. Do not use ASCII <CR> or <LF> characters (carriage return or line
feed) as line delimiters within the graphic data or the actual image
will not be printed as specified.
2. A custom graphic cannot be enlarged by the <ESC>L Character
Expansion command (Page 23).
3. A custom graphic is not affected by either of the Rotation
commands. Therefore, always design and locate your graphic
image to print in the appropriate orientation.
4. The binary format reduces the transmission time by 50%.
Page 42PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Graphics, PCX
Command Structure<ESC>GPaaaaa,(data)
aaaaa=Number of bytes to be downloaded
Example:<ESC>GP32000, ... data...
Placement:Anywhere within the job data stream
Default:None
Command FunctionTo allow the creation and printing of graphic images using a PCX file
format.
Printer InputSee Appendix Appendix C for a detailed example
Special Notes1. The maximum number of bytes that can be downloaded is 32K
(compressed). The number specified by this command includes
the PCX header information. The maximum size of the
uncompressed PCX file is 64K. If the uncompressed file exceeds
64K, the graphic will not print.
2. Only black and white PCX files can be downloaded.
3. The image created by this command cannot be rotated.
4. The file size specified by this command is the DOS file size in bytes.
SATOCX200PrintersPN9001055 Rev. EPage 43
CX200 Programming Guide
Journal Print
Command Structure<ESC>J
Example:See above
Placement:Immediately following <ESC>A
Default:None
Command FunctionTo print text in a line by line format on a label. By specifying this
command, you automatically select Font S with a Character
Expansion of 2x2. You also establish a base reference point of
H2,V2. The character pitch is 2 dots and the line gap is 16 dots.
Simply issue an ASCII <CR> at the end of each text line.
Input to Printer
Printer Output
Special Notes1. Journal mode assumes a maximum label width. Otherwise, you
<ESC>A
<ESC>J WITH THE JOURNAL FEATURE
YOU CAN PRINT TEXT WITHOUT
USING ANY FONT COMMANDS
OR POSITION COMMANDS
<ESC>Q1<ESC>Z
may print where there is no label and damage your print head.
2. It is effective only for the current print job.
Page 44PN9001055 Rev. ESATOCX200Printers
Lines and Boxes
Command StructureLine<ESC>FWaabcccc
aa=Width of horizontal line in dots (01-99)
b=Line orientation
H Horizontal line
V Vertical Line
cccc =Length of line in dots (see Note 2 for max length)
Box:<ESC>FWaabbVccccHdddd
aa=Width of horizontal side in dots (01-99)
CX200 Programming Guide
bb=Width of vertical side in dots (01-99)
cccc =Length of vertical side in dots (0001 to 1424)
dddd =Length of horizontal side in dots (0001 to 0832)
Example:<ESC>FW02H0200
Placement:Following the necessary positioning commands
Default:None
Command FunctionTo print horizontal lines, vertical lines, and boxes as images on the
Special Notes1. It is recommended that all lines and boxes be specified in the
normal print direction.
Page 46PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Line Feed
Command Structure<ESC>Eaaa
aaa =Number of dots (001-999) between the bottom of the
characters on one line to the top of the characters on
the next line
Example:<ESC>E010
Placement:Preceding the text that will use the line feed function
Default:None
Command FunctionTo print multiple lines of the same character size without specifying a
new print position for each line. With the Line Feed command, specify
the number of dots you want between each line. Then, send an ASCII
<CR> at the end of each line of text. The printer automatically
identifies the size of the last character, moves down the number of
dots specified, and begins printing the next line.
Input to Printer
Printer Output
Special Notes1. It is effective only for the current data stream.
<ESC>A
<ESC>E010<ESC>H0050<ESC>V0050<ESC>L0202<ESC>S
THIS IS THE 1ST LINE<>CR>
THIS IS THE 2ND LINE>CR>
THIS IS THE 3RD LINE>CR>
<ESC>Q1<ESC>Z
2. When printing lines or boxes in the same data stream with the Line
Feed command, the Lines and Boxes command should be
specified last, preceding <ESC>Q Quantity command.
3. This command is invalid only if the value specified is zero.
4. Following this command with a <CR> character will allow you to
print with auto line feed. Tthe print position will be determined
from the value specified and the H value set in the printer. If you
specify several H values after this command, the print position will
be determined by the H value last specified. You must redefine
the font to be used after each H command.
SATOCX200PrintersPN9001055 Rev. EPage 47
CX200 Programming Guide
Off-Line/Pause
Command Structure<ESC>@
Example:See above
Placement:Anywhere in the print job between the <ESC>A and
<ESC>Z
Default:None
Command FunctionTo specify the printer to come to an off-line state. When used within a
print job, the printer goes off-line after finishing the print job.
Input to Printer
Printer OutputThere is no printer output for this command. The printer is placed in
Special Notes1. You must press the READY indicator key on the front panel to
<ESC>A
<ESC>@...Job...
<ESC>Z
the Off-Line mode as soon as the current print job is finished.
return the printer to an On-Line status .
2. Remember, when using this command, that the print job specifies
<ESC>Q10, all ten labels will print before the printer goes off-line.
a = 1, 2, 3, 4 or 5
Example:<ESC>#E2
Placement:Must be placed immediately after <ESC>A and
immediately before <ESC>Z in its own separate data stream
Default:2
Command FunctionTo specify a new print darkness setting. This command allows
software control of the darkness setting for unique media and ribbon
combinations.
Input to Printer
Printer OutputThere is no printer output for this command.
Special Notes1. This becomes the new setting in the printer configuration for all
<ESC>A
<ESC>#E2
<ESC>Z
subsequent print jobs, unless changed. The setting is stored in
non-volatile memory and is not affected by cycling power.
2. The lighest setting is the smallest value and the darkest setting is
the largest value.
3. This command adjusts the print darkness in discrete steps. The
range of this command is set using the <ESC>CD Print Darkness
Fine Adjustment command (Page 90). Changing the Print
Darkness Fine Adjustment setting will affect this command.
Page 50PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Print Length, Expanded
Command Structure<ESC>AX Sets the print length to 14" (356 mm)
<ESC>AR Resets the maximum print length to 7" (178 mm)
Example:See above
Placement:Must follow the Start Code command (see Page 68)
and be in it’s own separate data stream.
Default:<ESC>AR
Command FunctionTo double the maximum print length (in feed direction) for a label.
Input to Printer:
Printer Output:
<ESC>A
<ESC>AX
<ESC>Z
<ESC>A
<ESC>H0050<ESC>V0100<ESC>WB1EXPAND TO:
<ESC>H0050<ESC>V2700<ESC>WB114 INCHES
<ESC>Q1<ESC>Z
<ESC>A
<ESC>AR
<ESC>Z
14"
SATOCX200PrintersPN9001055 Rev. EPage 51
CX200 Programming Guide
Special Notes1. AX is effective until AR is sent to reset the printer to its standard
print length, or until the printer is repowered.
2. It may be included in an independent data stream to specify the
size of the maximum print area:
3. This command is cannot be used with the <ESC>& Store Form
Overlay command (see Page 40).
Page 52PN9001055 Rev. ESATOCX200Printers
Print Position
Command StructureHorizontal Position:<ESC>Haaaa
Vertical Position:<ESC>Vbbbb
aaaa =Number of dots horizontally from the base reference point
0001 to 0832.
bbbb =Number of dots vertically from the base reference point
0001 to 1424 (0001 to 2848 with Expanded Print Length).
Example: <ESC>H0020<ESC>V0150
Placement:Preceding any printed field description of lines/boxes,
fonts, bar codes or graphics.
CX200 Programming Guide
Default:<ESC>H0001
<ESC>V0001
Command FunctionThe Horizontal and Vertical commands specify the top left corner of a
field or label, using the current base reference point as an origin.
They also establish a reference point for subsequent fields until the
next horizontal and/or vertical print position command is issued.
3. When used with the <ESC>F Sequential Numbering command (see
Page 66, the Print Quantity value should be equal to the total
number of labels to be printed.
4. If you do not specify a Print Quantity, the printer will not print a label.
5. For this command, leading zeroes do not have to be entered. The
command Q1 is equivalent to Q000001.
SATOCX200PrintersPN9001055 Rev. EPage 55
CX200 Programming Guide
Print Speed
Command Structure<ESC>CSa
a=Designates the speed selection
2=2 ips (50 mm/s)
3=3 ips (75 mm/s)
Example:<ESC>CS3
Placement:Must be placed immediately after <ESC>A and
immediately before <ESC>Z in its own separate data stream
Default:As previously set in the printer configuration
Command FunctionTo specify a unique print speed through software for a particular
label. This allows flexibility in finding the best performance and quality
for the particular label format, media, and ribbon. All subsequent
labels will print at this speed unless the speed is changed with this
command.
Input to Printer
Printer OutputThere is no printer output for this command. It sets the print speed of
Special Notes1. This becomes the new setting in the printer configuration for all
<ESC>A
<ESC>CS3
<ESC>Z
the printer to 3 iinches per second..
subsequent print jobs, unless changed. The setting is stored in
non-volatile memory and is not affected by cycling the power.
Page 56PN9001055 Rev. ESATOCX200Printers
Repeat Label
Command Structure<ESC>C
Example:See above
Placement:Must be placed immediately after <ESC>A and
immediately before <ESC>Z in its own separate data stream
Default:None
Command FunctionTo print duplicate of the last label printed
CX200 Programming Guide
Input to Printer
Printer OutputA duplicate of the previous label will be printed.
Special Notes1. This command will have no effect if the power to the printer was
<ESC>A
<ESC>C
<ESC>Z
cycled off and back on since printing the previous label.
SATOCX200PrintersPN9001055 Rev. EPage 57
CX200 Programming Guide
Replace Data (Partial Edit)
Command Structure<ESC>0 (<ESC>zero)
Example:See above
Placement:Must follow <ESC>A and precede all other print data
Default:None
Command FunctionTo replace a specified area of the previous label with new data. This
command will cause the previous label to print along with any
changes specified within the current data stream.
Special Notes1. A reverse image area is affected by the rotate commands.
Therefore, always assume the printer is in the normal print
orientation when designing and sending the Reverse Image
command.
2. If using reverse images with the form overlay, place this command
before the Form Overlay command in the data stream.
3. If the Rotate commands are used with this command, the V and H
parameters are reversed.
4. If the height and width to be reversed contain other than
alphanumeric data, the area is not printed.
5. If the values specified exceed the maximum ranges, the reverse
image is not created.
SATOCX200PrintersPN9001055 Rev. EPage 61
CX200 Programming Guide
Rotate, Fixed Base Reference Point
Command Structure<ESC>%a
a=0Sets print to normal direction
1Sets print to 90°CCW
2Sets print to 180° rotated (upside down)
3Sets print to 270° CCW
Example:<ESC>%3
Placement:Preceding any printed data to be rotated
Default:<ESC>%0
Command FunctionTo rotate the print direction in 90° increments without changing the
location of the base reference point. The diagram below illustrates the
use of the <ESC>% Rotate command. Note that the entire print area
is shown, but your label will probably not be as large as the entire
area.
Input to Printer
Printer Output
<ESC>A
<ESC>%0<ESC>L202<ESC>H0200<ESC>V0100<ESC>MNORMAL DIRECTION
<ESC>%1<ESC>H0200<ESC>V0300<ESC>MONE
<ESC>%2<ESC>H0200<ESC>V0400<ESC>MTWO
<ESC>%3<ESC H0200<ESC>V0500<ESC>MTHREE
<ESC>Q1<ESC>Z
Page 62PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Special Notes1. Do not combine this command and the <ESC>R Rotate command
(see Page 64) in the same data stream.
2. The specified values are valid until another Rotate (<ESC>%)
command is received.
3. Receipt of a Stop Print (<ESC>Z) command will reset the setting to
the default value.
SATOCX200PrintersPN9001055 Rev. EPage 63
CX200 Programming Guide
Rotate, Moving Base Reference Point
Command StructureNormal Direction: <ESC>N
Rotated Direction: <ESC>R
Example:See above
Placement:Preceding any printed data to be rotated
Default:<ESC>N
Command FunctionThe <ESC>R command rotates the printing of all subsequent images
in a print job by 90° counterclockwise each time it is used. It also
moves the base reference point to a different corner of the print area.
The <ESC>N command returns to the original base reference point
and returns printing to the normal orientation.
Input to Printer
Printer Output
<ESC>A
<ESC>N<ESC>L202<ESC>H0100<ESC>V0010<ESC>MNORMAL DIRECTION
<ESC>R<ESC>H0100<ESC>V0100<ESC>MONE
<ESC>R<ESC>H0100<ESC>V0100<ESC>MTWO
<ESC>R<ESC>H0100<ESC>V0100<ESC>MTHREE
<ESC>R<ESC>H0100<ESC>V0100<ESC>MFOUR
<ESC>Q1<ESC>Z
Page 64PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Special Notes1. This command is provided for compatibility with other SATO
printers. It is not recommended for new label designs and the
<ESC>% rotate command should be used.
2. Do not combine this command and the <ESC>% rotate command
(see Page 62) in the same data stream.
3. A custom graphic is not affected by this command. Therefore,
always design and locate your graphic image to print in the
appropriate orientation.
4. See Rotated Fields, Page 7, for more information.
5. The specified values are valid until another Rotate (<ESC>R)
command is received.
6. Receipt of a Stop Print (<ESC>Z) command will reset the setting to
the default value.
SATOCX200PrintersPN9001055 Rev. EPage 65
CX200 Programming Guide
Sequential Numbering
Command Structure<ESC>Faaaabcccc,dd,ee
aaaa =Number of times to repeat the same data (0001-9999)
b=Plus or minus symbol (+ for increments; - for decrements)
cccc =Value of step for sequence (0001-9999)
,dd=Number of digits for sequential numbering (01-99). The first
incrementing character position starts after the positions
exempted from sequential numbering as specified in ee.
If these digits are left out, the default is 8.
,ee=Number of digits free from sequential numbering (00-99)
starting with the right most position. If these digits are left out,
the default is 0.
Example:<ESC>F001-001,04,03
Decrementing
4321321
00
Free from Decrementing
In this example, the right most (least significant) three digits
would not decrement and the next four would decrement.
Placement:Preceding the starting value to be incremented or
decremented.
Default:None
Command FunctionTo allow the ability to print sequential fields (text, bar codes) where all
incrementing is done within the printer. Up to eight different
sequential fields can be specified per label. Sequencing is effective
for up to 99-digit numeric data within each field.
other label printing commands. However, these commands must
precede and follow each print job sent to the printer.
Page 68PN9001055 Rev. ESATOCX200Printers
Expanded Memory Option Commands
These commands require the Expanded Memory Option.
The first 2MB of Expanded Memory installed is designated as memory area CC1.
If 4MB of Expanded Memory is installed, second 2MB (i.e. the area above the first 2
MB) is designated as memory area CC2.
CX200 Programming Guide
SATOCX200PrintersPN9001055 Rev. EPage 69
CX200 Programming Guide
Expanded Memory Function
Fonts, TrueType Recall
Command Structure<ESC>BJRabbccddeeeeff...f
a=Font ID (0 thru 9)
bb=Horizontal Expansion (01 thru 12)
cc=Vertical Expansion (01 thru 12)
dd=Character Pitch (01 thru 99)
eeee =Number of characters to be printed using the font
ffff =Data to be printed
Example:<ESC>BJR1020201000004SATO
Placement:Immediately following the <ESC>CC Memory Area Select
command.
Default:None
Command FunctionThis command recalls previously stored TrueType fonts from
Special Notes1. This command requires the Expanded Memory option. See your
SATO representative for details.
Page 70PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Expanded Memory Function
Fonts, TrueType Store
The conversion from a TrueType font to a format that can be downloaded to the
printer is very complex and requires the use of a TrueType Download utility
program. See your SATO representative for details. This process requires the
Expanded Memory option.
SATOCX200PrintersPN9001055 Rev. EPage 71
CX200 Programming Guide
Expanded Memory Function
Graphics, Custom Recall
Command Structure<ESC>GRaaa
aaa =Graphics storage number (001-999)
Example:<ESC>GR111
Placement:The Recall command is sent in a secondary data stream
Default:None
to print the graphic, and follows any necessary position
or size commands.
Command FunctionUse the Recall command any time you want to print a graphic image
on a label along with other printed data.
Printer Input
Printer
Output
Non Rotated GraphicGraphic Rotated 90°
<ESC>A<ESC>CC1<ESC>A<ESC>CC1<ESC>%1
<ESC>V0100<ESC>H0080<ESC>L0505 <ESC>V0180<ESC>H0250<ESC>L0505
<ESC>GR001<ESC>GR001
<ESC>Q1<ESC>Z<ESC>Q1<ESC>Z
Special Notes1. The graphic image to be stored cannot be rotated before it is
stored. It can be rotated when it is recalled.
2. Graphic images cannot be stored as part of a label format.
3. See the <ESC>GI Custom Graphic Store command.
Page 72PN9001055 Rev. ESATOCX200Printers
Expanded Memory Function
Graphics, Custom Store
Command Structure<ESC>GIabbbcccddd{data}
a=Specifies character format of the data
HHex data
BBinary data
bbb =Number of horizontal 8 x 8 blocks (001 to104)
ccc=Number of vertical 8 x 8 blocks (001 to178)
ddd=Graphics storage number (001 to 099)
{data}=Hex or binary data to describe the graphic image
Example:See Appendix C for detailed information on creating Hex
and Binary graphic files.
CX200 Programming Guide
Placement:Immediately following the <ESC>CC Memory Area Select
command.
Default:None
Command FunctionTo provide similar functionality to the <ESC>G Custom Graphic
command (see Page 41), but allows for the graphic image to be
stored in a Expanded Memory. Use the Store command to send the
graphic data to the printer, which is held in the optional Expanded
Memory, even if printer power is lost.
Printer Input
Printer OutputThere is no printer output as a result of this command. See
Special Notes1. You must have the optional Expanded Memory to use this
feed) as line delimiters within the graphic data or the actual image
will not be printed as specified.
command.
Page 74PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Expanded Memory Function
Graphics, PCX Recall
Command Structure<ESC>PYaaa
aa=Storage area number (001 thru 099)
Example:<ESC>PY001
Placement:This command must be placed within its own data
stream specifying the placement of the graphic.
Default:None
Command FunctionTo recall for printing a graphic file previously stored in a PCX format
in the Memory Card.
Printer Input
Printer Output
Normal RotationRotate Base Reference Point
<ESC>A<ESC>CC1<ESC>A<ESC>CC1<ESC>%1
<ESC>V0100<ESC>H0001<ESC>PY001 <ESC>V0330<ESC>H0110<ESC>PY001
<ESC>Q1<ESC>Z<ESC>Q1<ESC>Z
2nd Rotation, Base Reference Point3rd Rotation, Base Reference Point
<ESC>A<ESC>CC1<ESC>%2<ESC>A<ESC>CC1<ESC>%3
<ESC>V0330<ESC>H0550<ESC>PY001 <ESC>V0100<ESC>H0750<ESC>PY001
<ESC>Q1<ESC>Z<ESC>Q1<ESC>Z
Special Notes:1. This command requires Expanded Memory option. See your SATO
representative for details.
2. See the <ESC>PI Store PCX Graphics command.
SATOCX200PrintersPN9001055 Rev. EPage 75
CX200 Programming Guide
Expanded Memory Function
Graphics, PCX Store
Command Structure<ESC>PIaaa,bbbbb,{data}
aaa=Storage area number (001 thru 999)
bbbbb=Size of PCX file in bytes
{data}=Data
Example:<ESC>PI001,32000,{data}
Placement:This command must be placed within its own data
stream
Default:None
Command FunctionTo store for later printing a PCX graphic file in Expanded Memory.
Printer InputBASIC Program to Download a PCX file to Expanded Memory
Section #1 (first 2MB installed).
OPEN “C:\WIZARD\GRAPHICS\LION.PCX”FOR INPUT AS #2
DA$ = INPUT$(3800,#2)
C$ = CHR$(27)
WIDTH “LPT1:”,255
LPRINT C$;"A";C$;"CC1";
LPRINT C$; “PI001,03800,”;DA$
LPRINT C$;"Z";
CLOSE #2
Printer OutputThere is no printer output as a result of this command. See <ESC>PY
PCX Graphics Recall command.
Special Notes:1. This command requires Expanded Memory option. See your SATO
representative for details.
2. Graphics cannot be stored as part of a format.
3. Only black and white PCX files can be stored.
4. The file size specified by this command is the DOS file size in bytes.
Page 76PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Expanded Memory Function
Initialize
Command Structure<ESC>BJFaaaaaaaa
aaaaaaa=Eight character alphanumeric user ID
Example:<ESC>BJFsato
Placement:Immediately following the <ESC>CC Memory Area
Select command.
Default:None
Command FunctionThis clears all of the data from the specified Memory Area and
prepares the area to accept data.
Input to Printer
Printer OutputThere is no printer output as a result of this command.
Special Notes1. You must have the optional Expanded Memory to use this
<ESC>A
<ESC>CC2<ESC>BJFsato
<ESC>Z
command. Call your local SATO representative for information.
2. All Expanded Memory must be initialized before they can be used
for the first time.
3. Care should be exercised when using this command as it destroys
any data previously written the specified section of memory. It will
clear all data from the Expanded Memory and assign the new ID
(“sato” in the above example).
SATOCX200PrintersPN9001055 Rev. EPage 77
CX200 Programming Guide
Expanded MemoryFunction
Area Select
Command Structure<ESC>CCa
a=Section Select
Example:<ESC>CC1
Placement:Immediately following the <ESC>A Start Code.
Default:Last selected Memory Area.
1Section1, first 2MB of Expanded Memory
2Section 2, second 2MB of Expanded Memory
Command FunctionSelects the section of Expanded Memory to be used for following
commands.
Printer Input
Printer OutputThere is no printer output as a result of this command.
Special Notes1. This command requires the Expanded Memory option. See your
<ESC>A
<ESC>CC1
{commands}
<ESC>Z
SATO representative for more information.
Page 78PN9001055 Rev. ESATOCX200Printers
Expanded Memory Function
Status
Command Structure<ESC>BJS
Example:<ESC>BJS
Placement:After the <ESC>CC Memory AreaSelect command.
Default:None
Command FunctionCasues the printer to print the card status.
CX200 Programming Guide
Printer Input
Printer Output
Special Notes1. This command requires the Expanded Memory option. See your
<ESC>A
<ESC>CC1<ESC>BJS
<ESC>Z
SATO representative for more information
SATOCX200PrintersPN9001055 Rev. EPage 79
CX200 Programming Guide
Two-Dimensional Symbols
The following commands are used to create the two-dimensional symbologies
supported by the printers.
Special Notes1. When the code words per line and the number of rows per symbol
(“dd” and“ee”) are set to all zeroes, the printer will calculate the
optimum configuration.
SATOCX200PrintersPN9001055 Rev. EPage 83
CX200 Programming Guide
2. If the product of the values entered for “dd” and “ee” are not equal
3. The values for “dd” and “ee” need to be made larger if the security
4. The maximum data length is 2700 characters, but may be less
5. The Reference Point of the PDF417 symbol is the upper-left corner.
6. The <ESC>F Sequential Numbering command cannot be used with
to or less than the value of “fff” (i.e.,“ffff” is greater that “dd” x
“ee”), an error will occur and the symbol will not be printed. It is
recommended that these values each be set to “000” and the
printer be allowed to automatically calculate the optimum values.
level is increased.
depending upon:
- the minimum module dimension (“aa”)
- the security level specified by “c”.
- the number of data characters
this command.
7. The <ESC>E Line Feed command cannot be used with this
command.
8. The Macro and Truncated PDF417 symbols are not supported.
9. The values 00
thru 1FHcan be specified as print data.
H
10. This command can be stored in a format.
11. The <ESC>R Rotate command can be used.
12. The print height of the symbol will vary depending upon the data
specified; numeric only, alpha only or alphanumeric.
Page 84PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
CONFIGURATION COMMANDS
The following commands are used to set the operating parameters of the CX200
printers. The settings currently active in the printer can be determined by printing a
Test Label, either by using the <ESC>CT Print Test Label command or by pressing
the READY Indicator and FEED buttons on the front panel (see Page 9 of the CX200
User’s Guide).
SATOCX200PrintersPN9001055 Rev. EPage 85
CX200 Programming Guide
Calibrate Sensor
Command Structure<ESC>CA
Example:<ESC>CA
Placement:This command should be sent after the sensor type has
been selected with the <ESC>CI command. It should
not be included with print job commands.
Default:There is no default for this command.
Command FunctionTo adjust the label sensor for unique media and ribbon combinations.
Input to Printer
Printer OutputThere is no printer output for this command. It will cause the printer to
Special Notes1. The sensor is calibrated for the currently selected sensor type
<ESC>A
<ESC>CI2
<ESC>CA
<ESC>Z
feed a label while the characteristics of the label backing or eye-mark
are measured.
(Eye-Mark or Transmissive).
2. If the Sensor is disabled with a <ESC>CI0 command, no calibration
is performed.
3. The sensor must be recalibrated whenever the sensor type is
changed.
4. When calibrating the sensor for the CX200TT Thermal Transfer unit
operating in the thermal transfer mode, the ribbon must be
installed in the printer.
Page 86PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Custom Protocol Command Codes
Download
Command Structure<ESC>LD,a,b,c,d,e,f,g,h,i
a=Replacement character for STX in ASCII or hex format
b=Replacement character for ETX in ASCII or hex format
c=Replacement character for ESC in ASCII or hex format
d=Replacement character for ENQ in ASCII or hex format
e=Replacement character for CAN in ASCII or hex format
f=Replacement character for NULL or ~ in ASCII or hex format
g=Replacement character for OFFLINE in ASCII or hex format
Example:<ESC>LD,{,},%,#,&,*,~,0,0
Placement:Immediately following the <ESC>A Start command and in
an independent data stream.
Default:Standard Protocol command Codes
Command FunctionAllows the user to defines custom Protocol Command codes.
Printer Input
Printer OutputA Protocol Command code status label will be printed as a result of
<ESC>A
<ESC>LD,{,},%,#,&,*,~,0,0
<ESC>Z
the a successful download of a custom set of Protocol Command
codes.
Press the “FEED” key to activate the User
Default or power the printer off to ignore
them.
Special Notes1. Commas must be used to separate the parameters. If a parameter
is omitted between two commas, the default Non-Standard
Protocol Command codes for that parameter will be used.
SATOCX200PrintersPN9001055 Rev. EPage 87
CX200 Programming Guide
2. This command must be sent as an independent data stream
immediately following the <ESC>A Start code and immediately
preceding the <ESC>Z Stop code. No other commands can be
included in the data stream.
3. If more or less than nine commas are included in the command, the
entire command sequence will be ignored. The command must
contain exactly nine commas.
4. If two characters are specified for a parameter, it will be interpreted
as a hex value. For example:
Command ParameterResulting Command Code
2B+
++
If a combination of characters are outside the hexadecimal range,
the entire command sequence will be ignored.
5. The current protocol command codes may be verified by printing a
self test label (<ESC>CT).
Page 88PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Label Tear-Off
Command Structure<ESC>CBabb
Example:<ESC>CB+03
a=+ to move the print line down from the top
edge of the label
- to move the print line toward thetop of the
label
bb =Distance moved in millimeters (00 to 25)
Placement:This command should be sent in a separate data stream.
Default:Last valid setting.
Command FunctionTo adjust the location of the first print line on the label.
Input to Printer
Printer OutputThere is no printer output for this command. The first print line on the
Special Notes
<ESC>A
<ESC>CI2<ESC>CB+03
<ESC>Z
next printed label will be adjusted after the receipt of this command.
1. The effects of this command are cumulative, i.e. if an <ESC>CB+06
command is followed by an <ESC>CB-02, the resulting change in
position is +4mm.
2. The maximum range for the value stored in the printer is 98mm.
Any commands received that cause the value to exceed 00 or 98
will result in a setting of 00 or 98 respectively.
3. The value is stored in flash memory and will remain until it is
modified by another valid <ESC>CBabb command, even if power
is removed from the printer.
4. The current setting is printed out on the “Pitch Offset” line on the
test label. This setting is referenced to the sensor position which
is located 0.75" (19mm) from the first print line (V=000)
5. Separate offset settings are stored for gap and eye-mark sensing.
SATOCX200PrintersPN9001055 Rev. EPage 89
CX200 Programming Guide
Print Darkness Fine Adjustment
Command Structure<ESC>CDaaa,bbbb
aaa =Print Darkness Adjust (0 to 400)
bbb =Media Adjustment (0 to 6000)
Example:<ESC>CD250,3000
Placement:This command should be sent in a separate data stream
Default:Prink Darkness = 200, Media = 3300
Command FunctionTo make fine adjustments for best print quality for unique media and
ribbon combinations.
Input to Printer
Printer OutputThere is no printer output as a result of this command
Special Notes1. This command covers the complete range of heat settings. After the
<ESC>A
<ESC>CD200,3300
<ESC>Z
printer has been adjusted using the Print Darkness Adjust setting,
the <ESC>#E Print Darkness Command can be used to adjust
the heat setting in discrete steps referenced to the Adjust setting.
2. The Media Adjust setting is used to optimize the “dot history”
algorithm which tracks the activity of each print dot from one dot
row to another. This can improve the readability of rotated bar
codes.
3. The factory setting for these adjustments is set to provide the
optimum results when using the SATO supplied media with the
printer. It is recommended that any changes be made judiciously
as they can have a significant impact on print quality and bar
code readability.
4. It is recommended that a bar code verifier be used when making
adjustments with this command.
Page 90PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Print Test Label
Command Structure<ESC>CT
Example:<ESC>CT
Placement:This command should be sent in a separate data stream
Default:There is no default for this command.
Command FunctionTo print a test label
Input to Printer
Printer Output
<ESC>A
<ESC>CT
<ESC>Z
Special Notes1. When the printer finishes printing the Test Label, it is in the
hexadecimal print mode. This mode is used for diagnostic
troubleshooting and lists the current status of the printer
configuration,
SATOCX200PrintersPN9001055 Rev. EPage 91
CX200 Programming Guide
Set Print Mode
Command Structure<ESC>CPa
a=0 for Direct Thermal Printing (without ribbon)
1 for Thermal Transfer Printing (with ribbon)
Example:<ESC>CP0
Placement:Must precede all other commands in the data stream.
Default:0 for CT200DT Models
1 for CT200TT Models
Command FunctionTo optimize the print head heat management algorithms.
Input to Printer
Printer OutputThere is no printer output as a result of this command.
Special Notes1. The print mode setting is stored in nonvolatile memory and will not
<ESC>A
<ESC>CP0
<ESC>Z
change until a new Set Print Mode command is received. The
current print mode can be verified by printing a test label.
2. This command is ignored for direct thermal (DT) models. These
units are automatically set in the DT mode.
Page 92PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Set RS232 Parameters
Command Structure<ESC>CRaaaaa,b,c,d
aaaaa =Baud Rate (2400, 4800, 9600 or 19200)
b=Parity (N for None, O for Odd, E for Even)
c=Number of data bits (7 or 8)
d=Number of stop bits (1 or 2)
Example:ESC>CR9600,N,8,1
Placement:Must be sent in a separate data stream.
Default:9600,N,8,1
Command FunctionTo select the desired RS232 communications settings
Input to Printer
Printer OutputThere is no printer output as a result of this command.
Special Notes1. Any commands sent to the printer over the RS232 port within two
<ESC>A
<ESC>CR9600,N,8,1
<ESC>Z
seconds of receiving this command may be lost.
2. The RS232 settings must match those of the host system. If the
RS232 settings are unknown, printing a Self Test label will list the
current printer settings.
SATOCX200PrintersPN9001055 Rev. EPage 93
Set Sensor Type
Command Structure<ESC>CIa
a=0Disable Sensor
1Reflective (Eye-Mark ) Sensing
2Transmissive (Label Gap or Notch) Sensing
Example:<ESC>CI1
Placement:This command should be sendt in a separate data stream.
Default:<ESC>CI2 (Transmissive Sensing)
Command FunctionTo select the top-of-label sensing method.
CX200 Programming Guide
Input to Printer
Printer OutputTheres is no printer output as a result of this command.
Special Notes1. The reflective Eye-Mark, label gap or notch must be a minimum of
<ESC>A
<ESC>CI2
<ESC>Z
.125" wide and extend 0.85" from the left (facing the printer) edge
of the label backing.
Page 94PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
Backfeed Enable
Command Structure<ESC>CEa
a=0Disable Backfeed
1Enable Backfeed
Example:<ESC>CE1
Placement:This command should be sent in a separate data stream.
Default:Last setting
Command FunctionTo select the top-of-label sensing method.
Input to Printer
Printer OutputTheres is no printer output as a result of this command.
Special Notes1. When Backfeed is enabled, the printer will feed the last label of a
<ESC>A
<ESC>CE1
<ESC>Z
print job forward to the dispense/cut position. Upon the receipt of
the next print job, it will retract the label to the first print line
position before printing.
SATOCX200PrintersPN9001055 Rev. EPage 95
Loading...
+ 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.