SATO CX410, CX400 Programming Manual

CX400 / 410
DESKTOP PRINTER

PROGRAMMING

REFERENCE

PN 9001106(B)
SATO America, Inc.
10350A Nations Ford Road
Charlotte, NC 28273
Technical Support: (704) 644.1660
Technical Support Fax: (704) 644.1661
E-Mail: satosales@satoamerica.com
techsupport@satoamerica.com
www.satoamerica.com
Copyright 2009 SATO America, Inc. All rights reserved

TABLE OF CONTENTS

SECTION 1. PROGRAMMING CONCEPTS

Introduction................................................................................................................................... 1-1
The SATO Programming Language ............................................................................................. 1-1
Selecting Protocol Control Codes................................................................................................. 1-2
Using Basic ................................................................................................................................... 1-2
The Print Area............................................................................................................................... 1-4
Rotated Fields ............................................................................................................................... 1-7
Command Default Settings ........................................................................................................... 1-8
Printer Configuration .................................................................................................................... 1-9
Label Sensing.............................................................................................................................. 1-10

SECTION 2. COMMAND CODES

Bar Codes...................................................................................................................................... 2-2
Bar Codes, Expansion................................................................................................................... 2-7
Bar Codes, Variable Ratio ........................................................................................................... 2-8
Base Reference Point ................................................................................................................. 2-10
Characters,Custom-Designed......................................................................................................2-12
Character Expansion ................................................................................................................... 2-14
Character, Fixed Spacing ............................................................................................................ 2-15
Character Pitch ........................................................................................................................... 2-16
Character, Proportional Spacing ................................................................................................2-18
Clear Print Job(s) & Memory ..................................................................................................... 2-19
Continuous Forms Printing ........................................................................................................ 2-20
Copy Image Area ....................................................................................................................... 2-21
Cut .............................................................................................................................................. 2-23
Cut Job ....................................................................................................................................... 2-24
Cut Last ...................................................................................................................................... 2-25
Fonts U, S, M, OA, OB, XU, XS & XM ................................................................................... 2-26
Font, Vector ................................................................................................................................ 2-28
Fonts WB, WL, XB & XL .......................................................................................................... 2-30
Form Feed .................................................................................................................................. 2-32
Form Overlay, Recall.................................................................................................................. 2-33
SATO CX400 / CX410 PN 9001106(B) Page iii
Table of Contents
Form Overlay, Store ................................................................................................................... 2-34
Graphics, Custom ....................................................................................................................... 2-35
Graphics, PCX............................................................................................................................. 2-37
Journal Print ............................................................................................................................... 2-38
Lines and Boxes ......................................................................................................................... 2-39
Line Feed .................................................................................................................................... 2-41
Media Size................................................................................................................................... 2-42
Off-Line/Pause ........................................................................................................................... 2-43
Postnet ........................................................................................................................................ 2-44
Print Darkness ............................................................................................................................ 2-45
Print Length, Expanded .............................................................................................................. 2-46
Print Position............................................................................................................................... 2-47
Print Quantity ............................................................................................................................. 2-49
Print Speed .................................................................................................................................. 2-50
Repeat Label................................................................................................................................ 2-51
Replace Data (Partial Edit) ......................................................................................................... 2-52
Reverse Image ............................................................................................................................ 2-54
Rotate, Fixed Base Reference Point ........................................................................................... 2-56
Sequential Numbering ................................................................................................................ 2-57
Start/Stop Label........................................................................................................................... 2-59

SECTION 3. EXPANDED MEMORY

Clear Expanded Memory .............................................................................................................. 3-2
Graphics, Custom Recall............................................................................................................... 3-3
Graphics, Custom Store ............................................................................................................... 3-4
Graphics, PCX Recall ................................................................................................................... 3-6
Graphics, PCX Store ..................................................................................................................... 3-7
Initialize ........................................................................................................................................ 3-8
Memory Area Select ..................................................................................................................... 3-9
Status .......................................................................................................................................... 3-10
Page iv PN 9001106(B) SATO CX400 / CX410

SECTION 4. TWO-DIMENSIONAL SYMBOLS

Maxicode....................................................................................................................................... 4-2
PDF417 ......................................................................................................................................... 4-4

SECTION 5. CONFIGURATION COMMANDS

Backfeed Enable ........................................................................................................................... 5-2
Calibrate Sensor ............................................................................................................................ 5-3
Custom Protocol Command Codes Download ............................................................................. 5-4
Label Tear-Off .............................................................................................................................. 5-6
Print Darkness Range.................................................................................................................... 5-7
Sensor Select ................................................................................................................................. 5-8
Serial Interface Parameters .......................................................................................................... 5-9
Test Label.................................................................................................................................... 5-10
Table of Contents
SATO CX400 / CX410 PN 9001106(B) Page v
Table of Contents
Page vi PN 9001106(B) SATO CX400 / CX410
SECTION 1.
PROGRAMMING CONCEPTS

INTRODUCTION

This section presents the commands that are used with the SATO CX400 / CX410 printers to produce labels with logos, bar codes and alphanumeric data. All of the SATO Programming Language commands use the same syntax. All of the CX400 / CX410 commands are compatible with their larger SATO industrial printer cousins. Exceptions include commands that are dependent upon the print width and resolution of the printers. In these instances, the allowable ranges are specified in the commands.
The following information is presented in this section:
• The SATO Programming Language
• Selecting Protocol Control Codes
• Using Basic
• The Print Area
• 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 by the printers 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}
SATO CX400 / CX410 PN 9001106(B) Page 1-1
Section1. Programming Concepts
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 and the <ENQ> character asks for the printer status. There are two pre-defined different sets of Protocol Control codes to choose from. Each set is made up of six special characters. The Standard Protocol Control codes are non-printable characters, and the Non-Standard Protocol Control codes are printable characters. The Non-Standard set 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.
If Protocol Control codes other than the standard set are desired, they must be downloaded from the host using the <ESC>LD command. 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 CX400 / 410 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 sending
CONTROL
CHARACTER
STX 02 Hex Start of Data
ETX 03 Hex End of Data
ESC 1B Hex 5 Command code to follow
ESC 1B Hex Command code to follow
ENQ 05 Hex Get printer status, Bi-Com mode
CAN 18 Hex Cancel print job, Bi-Com mode
Off-Line 40 Hex Take printer Off-Line
STANDARD HEX VALUE
DESCRIPTION
<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 RS232C interface, it is necessary to set the COM porton on the PC such that the CTS and DSR signals will be ignored. Send your OPEN “COM” statement in the following way:
Page 1-2 PN 9001106(B) SATO CX400 / CX410
Section1. Programming Concepts
OPEN “COM1:9600,E,8,1,CS,DS”AS #1
This sets the RS232C 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 thesehints. Both of these examples use the Standard Protocol codes.
PRINTING WITH THE PARALLEL PORT
5 REM Parallel Example Identifies the program as a parallel port
print label. The “REM” prevents this data from being sent to the printer and displays it only on thescreen.
10 E$=CHR$(27) Sets the “E$” string as an <ESC>character
20 WIDTH “LPT1”255 Sets the width of the output to 255
characters
30 LPRINT E$;"A"; Sends an “<ESC>A” command code tothe
LPT1 parallel port
40 LPRINT E$;"H400";E$;"V100";E$;"WL1SATO"; Sends the data “SATO” to be to be placed
400 dots horizontally and 100dots 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 commandhas
been sent. The printer can nowcreate and print the job.
PRINTING WITH THE RS232C PORT
REM RS232 Example Identifies the program as an RS232C
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.
OPEN COM1:9600,N,8,1,CS,DS AS #1 Opens 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.
SATO CX400 / CX410 PN 9001106(B) Page 1-3
Section1. Programming Concepts
30 PRINT #1,CHR$ (2); Sends an <STX> (ASCII Code a
50 PRINT #1,E$;"A"; Sends an “<ESC>A” command code to
decimal “2”) to the printer instructing it to prepare to receive a message.
Print Port #1 opened by statement 20 above.
60 PRINT #1, E$;"H400";E$;"V100";E$;"XL1SATO";
50 PRINT #1, E$;"Q1"; Instructs the printer to print a quantity of
60 PRINT #1, E$; “Z”; Tells the printer that the last
70 PRINT #1,CHR$ (3); Sends an <ETX> (ASCII Code decimal

THE PRINT AREA

The maximum print area for the CX400 / CX410 is 45 inches long. Many of your label applications may not require labels that fill the entire print 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 frustration when you cannot see the printed output.
Sends the data “SATO” to be placed 400 dots horizontally and 100 dots vertically on the label and printed in the“XL” autosmoothed font.
one label.
commandhas been sent. The printer can nowcreate and print the job.
“3”) to the printer telling it that this is the end of the message. Identifies the program as a CL612e RS232C port print label. The “REM” prevents this data from being sent to the printer and displays it only on the screen.
The diagram below illustrates the maximum print area and 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 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).
Page 1-4 PN 9001106(B) SATO CX400 / CX410
Section1. Programming Concepts
4.1”
Print
Width
4.1” Max Print Width minus
2” Label Width
Print
Length
l
The base reference point is always to the right edge of the print head as you face the front (label exit) of the printer. If you are using a label narrower than the maximum print width, you may have to adjust the base reference point to correctly position the label in the print area. There are three methods available to make sure your printed output will appear correctly on your label. They are as follows:
1. Media Size Command. Use the <ESC>A1 Media Size Command. This command speci­fies the width and length of the label. The printer will automatically calculate the correct offsets for printing labels of that size. However, if you specify a label size with this com­mand, the labels loaded should match the size specified to correctly position the label.
2. Base Reference Point Command. Send the <ESC>A3 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.
For a CX400 8 dpmm printer , this would be:

LABEL WIDTH = 2" X 25.4 MM/IN X 8 DPMM = 406 DOTS

The new Base Reference Point then becomes:

NEW BASE REFERENCE POINT = MAXIMUM PRINT WIDTH - LABEL WIDTH

= (832 DOTS) - (406 DOTS) = 426 DOTS

Issue the Base Reference Point command <ESC>A3 after the Start command in your data stream.
<ESC>A<ESC>A3H0426V0001. . . . . .
SATO CX400 / CX410 PN 9001106(B) Page 1-5
Section1. Programming Concepts
This resets the reference point for all the following data.
3. Add the correct offset to all horizontal commands. 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.
For a CX400 8 dpmm printer:
Label Width = 2" x 25.4 mm/in x 8 dpmm = 406 dots
New Base Reference Point = Maximum Print Width - Label Width
Each <ESC>H command would have the value “426” added to it to correctly position each field.
Note: The <ESC>A3 Base Reference Point command can also shift the reference point in a negative direction (toward the outside edge of the label).
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. If you want to test any of the sample label outputs and are using labels less than five inches in width, we suggest that you add the Base Reference Point command to the data stream in order for the images to print on your labels.
= (832 dots) - (406 dots) = 426 dots
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 irrepairable damage to the head. This damage is not covered under the print head warranty. The addition of the Base Reference Point command to the sample data stream may help to adjust the print for your labels. See the following two examples or refer to the Base Reference Point command description.
For example, the following illustrates a sample data stream for a CX400 printer and the resulting label assuming a 4 inch wide label:
<ESC>A <ESC>H0050<ESC>V0100<ESC>L0303<ESC>XMSATO <ESC>H0050<ESC>V0200<ESC>B103100*SATO* <ESC>H0070<ESC>V0310<ESC>L0101<ESC>XUSATO <ESC>Q1<ESC>Z
If you are using a 2 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 beprinted on the narrower label.

<ESC>A

<ESC>A3H0406V0001 <ESC>H0050<ESC>V0100<ESC>L0303<ESC>XMSATO <ESC>H0050<ESC>V0200<ESC>B103100*SATO* <ESC>H0170<ESC>V0310<ESC>L0101<ESC>XUSATO <ESC>Q1 <ESC>Z
Page 1-6 PN 9001106(B) SATO CX400 / CX410
Section1. Programming Concepts
4.1”
4.1”
The image is moved horizontally to the right 2 inches (406 dots) so that itcan be printed on a 2 inch wide label. For more information, see the Base Reference Point command description.
ROTATED FIELDS
The CX400 / CX410 printer can rotate each print field in 90° increments using the Rotate command.
• <ESC>% - The field rotates, but the base reference point for the field remains the same.
The following data stream will rotate the print field but will not change the base reference point of the field:
SATO CX400 / CX410 PN 9001106(B) Page 1-7
Section1. Programming Concepts

<ESC>A<ESC>%1<ESC>V800<ESC>H200<ESC>L0202<ESC>XB1E<ESC>Q1<ESC>Z

COMMAND DEFAULT SETTINGS
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:

COMMAND DEFAULT NOTE

Print Rotation (1)
Vertical Reference Point 0 (1)
Horizontal Reference Point 0 (1)
Character Pitch 2 (1)
Base Reference Point H=0, V=0 (2)
Character Expansion 1 (1)
Print Darkness 200 (1)
Print Speed 3 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>*.
Page 1-8 PN 9001106(B) SATO CX400 / CX410
2. The values transmitted with these commands will remain in effect until a new command is received.
PRINTER CONFIGURATION
The CX400 / CX410 printers are different from other SATO printers 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 Control Codes
• Print Darkness Range
•Sensor Type
• RS232 Parameters
• Label Tear-Off Position
• Backfeed Enable/Disable
Because there are no DIP switches to indicate the current printer settings, a Test Label must be printed to list the active printer settings. This Test Label lists all of the information a user needs to ascertain the printer configuration. Test Labels can be printed using the <ESC>CT command or by simultaneously pressing the FEED button while turning the printer on.
Section1. Programming Concepts
SATO CX400 / CX410 PN 9001106(B) Page 1-9
Section1. Programming Concepts
LABEL SENSING
The CX400 / CX410 printers can use an eye-mark (black bar) label gap or label notch sensing. The gap and notch sensor is a transmissive or see-thru type with an infrared light source directed through the label from above and detected by a separate receiving sensor underneath the label liner or tag. 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. For thermal transfer printing, the ribbon must be installed while the calibration is performed.
When calibrating the printer sensors, the gap or eye-mark sensor type must be selected first using the <ESC>CI command and then the Direct Thermal or Thermal Transfer print mode must be specified with an <ESC>CP command. These two commands are followed by an <ESC>CA Calibrate command to instruct the printer to perform the calibration procedure. The resulting calibration values are stored in the printer and used until the unit is recalibrated. A separated value is stored for direct thermal or thermal transfer modes because the settings will differ significantly because of the inclusion of the ribbon for thermal transfer. For example, the following command string will calibrate the printer in the thermal transfer mode for gap sensing:
<ESC>A<ESC>CP1<ESC>CI2<ESC>CA<ESC>Z
Page 1-10 PN 9001106(B) SATO CX400 / CX410
SECTION 2.
COMMAND CODES
This section contains the basic Command Codes for the SATO CX400 / CX410 printers. Commands for the oprions and specialized functions are provided in the following sections. 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:
• Explain the different commands and provide examples of their usage.
• To provide a detailed reference for programming the printers.
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. However, certain commands require the exact number of matching characters. A command with two parameters listed following the command code without a comma delimiter, 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.
NOTE: These examples assume the use of the Standard Protocol Command
Codes, a parallel interface and a 4 inch wide label in a CX400 / CX410 printer.
An alphabetical listing of the command codes is contained in Appendix A:Command Code Quick Reference.
SATO CX400 / CX410 PN 9001106(B) Page 2-1

Bar Codes

Command Structure 1:3 narrow/wide bar ratio: <ESC>Babbcccd
2:5 narrow/wide ratio: <ESC>BDabbcccd
1:2 narrow/wide bar ratio: <ESC>Dabbcccd
a= 0 Codabar
1 Code 39 2 Interleaved 2 of 5 (I 2/5) 3 UPC-A / EAN-13 4 EAN-8 5 Industial 2 of 5 6 Matrix 2 of 5 7 reserved 8 reserved 9 reserved A MSI B reserved C Code 93 D reserved E UPC-E F Bookland G Code 128 I UCC 128
Section 2: Command Codes
bb = Number of dots (01-12) for narrow bar and narrow
space
ccc = Bar height in dots (001-999)
d = UCC 128 only. Not used for other bar code types
0 No human readable text 1 Human readable at top 2 Human readable at bottom
Example: <ESC>BD103200
Placement: Immediately preceding data to be encoded
Default: None
Command Function To print bar code images on a label. With this command, there are 13
standard bar code symbologies available to be printed and two 2­dimensional symbols
Page 2-2 PN 9001106(B) SATO CX400 / CX410
Section 2: Command Codes
Input to Printer
<ESC>A<ESC>H025<ESC>V0025<ESC>B103100*CODE 39* <ESC>H0205<ESC>V0130<ESC>XS*CODE 39* <ESC>H025<ESC>V0175<ESC>BD20310045676567 <ESC>H0190<ESC>V0285<ESC>XM45676567 <ESC>H025<ESC>V0325<ESC>BD30215001234567890 <ESC>H025<ESC>V0525<ESC>BD50310012345 <ESC>H0225<ESC>V0635<ESC>XS12345 <ESC>H025<ESC>V0675<ESC>BD60310012345 <ESC>H0205<ESC>V0785<ESC>XS12345 <ESC>H025<ESC>V0825<ESC>BA03100123455 <ESC>H0145<ESC>V935<ESC>XS12345 <ESC>H025<ESC>V980<ESC>BC03100081234ABCD <ESC>H0130<ESC>V1095<ESC>XS1234ABCD <ESC>H450<ESC>V0980<ESC>B002100A12345B <ESC>H500<ESC>V1090<ESC>XS12345 <ESC>H0505<ESC>V0025<ESC>BD303100123456789012 <ESC>H0565<ESC>V0525<ESC>BD4031001234567 <ESC>H0550<ESC>V175<ESC>DE03100123456 <ESC>H0525<ESC>V0225<ESC>OB0 <ESC>H0558<ESC>V0280<ESC>OB123456 <ESC>H0300<ESC>V0325<ESC>D30315009827721123 <ESC>L0101<ESC>H0275<ESC>V0400<ESC>OB0 <ESC>H0315<ESC>V0478<ESC>OB98277 <ESC>H0455<ESC>V0478<ESC>OB21123 <ESC>H605<ESC>V0365<ESC>BF0313021826 <ESC>H620<ESC>V0335<ESC>OB21826 <ESC>H0425<ESC>V0675<ESC>D30315000633895260 <ESC>L0101<ESC>H0400<ESC>V0750<ESC>OB0 <ESC>H0440<ESC>V0828<ESC>OB06338 <ESC>H0580<ESC>V0828<ESC>OB95260 <ESC>H0730<ESC>V0705<ESC>BF0314024 <ESC>H0745<ESC>V0675<ESC>OB24 <ESC>H0025<ESC>V1130<ESC>BG03100>GAB>B789>C123456 <ESC>H0265<ESC>V1235<ESC>XSAB789123456<ESC>Q1 <ESC>Q1<ESC>Z
Note: Carriage Returns and Line Feeds have been added to the command listing for
clarity and should not be included in the actual data stream.
SATO CX400 / CX410 PN 9001106(B) Page 2-3
Printer Output
Section 2: Command Codes
Page 2-4 PN 9001106(B) SATO CX400 / CX410
Section 2: Command Codes
UCC-128 Without Incrementing
<EXC>A<EXC>H0100<EXC>V0100 <EXC>B107150101234567000000001 <ESC>Q2<ESC>Z
With Incrementing
<ESC>A<ESC>H0100<ESC>V0100 <ESC>F001+001<ESC>B107150101234567000000001 <ESC>Q2<ESC>Z
SATO CX400 / CX410 PN 9001106(B) Page 2-5
Section 2: Command Codes
Special Notes 1. 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 specifi­cations. The <ESC>BD command puts desender 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, Code 39, Industrial 2 of 5, and Matrix 2 of 5 bar codes are affected by the Character Pitch command. This command must be placed before the Bar Code command.

4. Because of their unique characteristics, two-dimensional (2D) sym­bols are covered separately.

5. For UCC128, the FNC1 code is automatically inserted and the Mod 10 and Mod 103 check digits are automatically calculated. For the MSI bar code, the check digit is not automatically calculated.

6. The <ESC>D and <ESC>BD commands are not valid for the MSI, Code 128, Code 93, UPC-E, Bookland, UCC128 and Postnet sym­bologies.
7. To select UPC-A, 11 digits of data are sent. The printer adds a “0” and automatically generates the check digit. If 12 digits of data are sent, the printer assumes an EAN-13 symbol and automatically generates the check digit. If 13 digits of data are sent, the check digit is not cre­ated and must be supplied by the programmer. It must be the last digit in the 13 digit string.

8. See SATO Programming Reference: Appendix A PN 9001096 for symbology specific formatting information.

Page 2-6 PN 9001106(B) SATO CX400 / CX410
Section 2: Command Codes

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-999 dots)
Example: <ESC>BW02100
Placement: Immediately follows the <ESC>BT command and
precedes data to be encoded.
Default: None
Command Function This command works together with the <ESC>BT command to specify an
expansion factor and the bar code height for the particular symbol being printed.
Input to Printer
Printer Output
Special Notes 1. This command must be preceded by the Variable Ratio Bar Codes
<ESC>A
<ESC>H0050<ESC>V0050<ESC>BT101030103 <ESC>BW04100*1234* <ESC>Q1<ESC>Z
<ESC>BT command.
2. The following bar codes will be affected by the Character Pitch com­mand: Codabar, Code 39, Interleaved 2 of 5, Matrix 2 of 5.
SATO CX400 / CX410 PN 9001106(B) Page 2-7

Bar Codes, Variable Ratio

Command Structure <ESC>BTabbccddee
a = Bar Code Symbol:
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)
Section 2: Command Codes
0 Codabar 1 Code 39 2 Interleaved 2 of 5 5 Industrial 2 of 5 6 Matrix 2 of 5
Example: <ESC>BT101030103
Placement: Following print position commands and preceding
<ESC>BW
Default: Current setting
Command Function To 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 five bar code types shown.
Input to Printer <ESC>A
<ESC>H0050<ESC>V0050<ESC>BT101030103 <ESC>BW03100*1234* <ESC>Q1<ESC>Z
Printer Output
Page 2-8 PN 9001106(B) SATO CX400 / CX410
Section 2: Command Codes
Special Notes 1. This command must be immediately followed by the <ESC>BW Bar
Code Expansion command.

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.

SATO CX400 / CX410 PN 9001106(B) Page 2-9

Base Reference Point

Command Structure <ESC>A3H-aaaa-Vbbbb
Section 2: Command Codes
-
aaaa
bbbb
Example:
Placement: Preceding all images that are based on the new base
Default: Current V and H offset setting in the printer
Command Function To 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 <ESC>A
<ESC>H0025<ESC>V0025<ESC>WB0MNORMAL REFERENCE POINT <ESC>A3H0300V0075 <ESC>H0100<ESC>V0050<ESC>WB0MNEW REFERENCE POINT <ESC>Q1<ESC>Z
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.
Horizontal Print Offset (-0832 to 0832)
=
Vertical Print Offset (-9999 to 9999)
=
<ESC>A3H100V0050
reference point
configuration
Printer Output
Page 2-10 PN 9001106(B) SATO CX400 / CX410
Section 2: Command Codes
Special Notes 1. Use of this command will set the Vertical/Horizontal Offset setting of
the printer configuration until a new Base Reference Point command is issued or the setting is changed from the operator panel.

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 cur­rent Horizontal and Vertical Print Position commands.
Example: Let us 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 Section 1. Print Area.

5. The CX400 / CX410 print engines can print as close as 2 mm to the inside edge of the label.

6. The 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).

SATO CX400 / CX410 PN 9001106(B) Page 2-11

Characters,Custom-Designed

Command Structure Store Command: <ESC>Tabc c
Recall Command: <ESC>Kab90cc
a = 1 16x16 matrix
2 24x24 matrix
b= Specifies the character encoding method for the data
stream H Hexadecimal characters B Binary characters
cc = Memory location to store/recall the character. Valid
memory locations are 21
(data) = Data to describe the character in either Hex or Binary
format.
Section 2: Command Codes
to 52H or “!” or “R” in Binary.
H
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 Function To 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 Input See Appendix C for a detailed explanation.
<ESC>A <ESC>T1H3F0100038007C00FE01FF03FF87FFCFFFE
07C007C007C007C007C007C007C007C0
<ESC>Z
<ESC>A <ESC>H150<ESC>V100<ESC>L0505<ESC>K1H903F <ESC>H350<ESC>V100<ESC>L1010<E SC>K1H903F <ESC>Q1 <ESC>Z
Page 2-12 PN 9001106(B) SATO CX400 / CX410
Section 2: Command Codes
Printer Output
Special Notes 1. When printing the custom character using the Recall command, the
character is affected by the following commands: Character Expansion Character Pitch Line Feed, Rotate, Fixed Base Reference Point

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.

SATO CX400 / CX410 PN 9001106(B) Page 2-13
Section 2: Command Codes

Character Expansion

Command Structure <ESC>Laabb
aa = Multiple to expand horizontally (01-12)
bb = Multiple to expand vertically (01-12)
Example: <ESC>L0305
Placement: Preceding the data to be expanded
Default: <ESC>L0101
Command Function To 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.
Input to Printer <ESC>A<ESC>H0100<ESC>V0100<ESC>XMSATO
<ESC>H0100<ESC>V0200<ESC>L0402<ESC>XMSATO <ESC>H0100<ESC>V0300<ESC>L0204<ESC>XMSATO <ESC>Q1<ESC>Z
Printer Output
Special Notes 1. This command will expand the following fonts: Fonts U, S, M, XU,
XS, XM, OA & OB and fonts WB, WL, XB and XL.

2. This command will also affect the following commands: Character Pitch and Characters, Custom-Designed

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. There­fore, either send the Character Expansion command before all printed data, or send Line and Box commands last, preceding the <ESC>Q Quantity command.
Page 2-14 PN 9001106(B) SATO CX400 / CX410
Loading...
+ 74 hidden pages