SATO CX200 Programming Manual

CX200
Desktop Printer
®
Programming
Guide
Click to Display Document List
SATO America, Inc.
Charlotte, NC 28273
Main Phone:(704) 644-1650
Technical SupportHot Line:(704) 644-1660
Fax:(704) 644-1661
http://www.satoamerica.com
© Copyright 1998
SATO America, Inc.
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.
TABLE OF CONTENTS
CX200 Programming Guide
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
The SATO Programming Language . . . . . . . . . . . . . . . . . . 1
Selecting Protocol Control Codes . . . . . . . . . . . . . . . . . . . 2
Using Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
The Print Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Rotated Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Command Default Settings . . . . . . . . . . . . . . . . . . . . . . 8
Printer Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 8
Label Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Command Code Page Reference . . . . . . . . . . . . . . . . . . . 10
Bar Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Bar Codes, Expansion . . . . . . . . . . . . . . . . . . . . . . . 16
Bar Codes, Variable Ratio . . . . . . . . . . . . . . . . . . . . . 17
Base Reference Point . . . . . . . . . . . . . . . . . . . . . . . 19
Characters, Custom Designed . . . . . . . . . . . . . . . . . . . 21
Character Expansion . . . . . . . . . . . . . . . . . . . . . . . 23
Character, Fixed Spacing . . . . . . . . . . . . . . . . . . . . . 25
Character Pitch . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Character, Proportional Spacing . . . . . . . . . . . . . . . . . 28
Clear Print Jobs & Memory . . . . . . . . . . . . . . . . . . . . 29
Continuous Forms Printing . . . . . . . . . . . . . . . . . . . . 30
Copy Image Area . . . . . . . . . . . . . . . . . . . . . . . . . 31
Cutter Command . . . . . . . . . . . . . . . . . . . . . . . . . 33
Fonts, U, S, M, OA, OB, XU, XS and XM . . . . . . . . . . . . . 34
Fonts, WB,WL, XB and XL . . . . . . . . . . . . . . . . . . . . 36
Form Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Form Overlay Recall . . . . . . . . . . . . . . . . . . . . . . . 39
Form Overlay Store . . . . . . . . . . . . . . . . . . . . . . . . 40
Graphics, Custom . . . . . . . . . . . . . . . . . . . . . . . . . 41
Graphics, PCX . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Journal Print . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Lines and Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Line Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Off-Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Postnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Print Darkness . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Print Length, Expanded . . . . . . . . . . . . . . . . . . . . . . 51
Print Position . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Print Quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Print Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Repeat Label . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Replace Data (Partial Edit) . . . . . . . . . . . . . . . . . . . . 58
Reverse Image . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Rotate, Fixed Base Reference Point . . . . . . . . . . . . . . . . 62
Rotate, Moving Base Reference Point . . . . . . . . . . . . . . . 64
Sequential Numbering . . . . . . . . . . . . . . . . . . . . . . 66
Start/Stop Label . . . . . . . . . . . . . . . . . . . . . . . . . 68
SATOCX200PrintersPN9001055 Rev. EPage - i
Expanded Memory Option Commands . . . . . . . . . . . . . . 69
Fonts, TrueType Recall . . . . . . . . . . . . . . . . . . . . 70
Fonts, TrueType Store . . . . . . . . . . . . . . . . . . . . 71
Graphics, Custom Recall . . . . . . . . . . . . . . . . . . . 72
Graphics, Custom Store . . . . . . . . . . . . . . . . . . . . 73
Graphics, PCX Recall . . . . . . . . . . . . . . . . . . . . . 75
Graphics, PCX Store . . . . . . . . . . . . . . . . . . . . . 76
Initialize . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Slot Select . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Two-Dimensional Symbols . . . . . . . . . . . . . . . . . . . . 80
Maxicode . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
PDF417 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Configuration Commands . . . . . . . . . . . . . . . . . . . . . . 85
Calibrate Sensor . . . . . . . . . . . . . . . . . . . . . . . . . 86
Custom Protocol Command Codes Download . . . . . . . . . . 87
Label Tear-Off . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Print Darkness Fine Adjustment . . . . . . . . . . . . . . . . . 90
Print Test Label . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Set Print Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Set RS232 Parameters . . . . . . . . . . . . . . . . . . . . . . 93
Set Sensor Type . . . . . . . . . . . . . . . . . . . . . . . . . 94
Backfeed Enable . . . . . . . . . . . . . . . . . . . . . . . . . 95
Page - iiPN9001055 Rev. ESATOCX200Printers
CX200 PROGRAMMING GUIDE
INTRODUCTION
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
STX 02 Start of Data
ETX 03 End of Data ESC 1B Command code to follow ENQ 05 Not Used on CX200 CAN 18 Not Used on CX200
Off-Line 40 Take printer Off-Line
HEX VALUE DESCRIPTION
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
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 the screen.
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 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
5 REM RS232 Example Identifies 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 #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.
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:
<ESC>A <ESC>H0050<ESC>V0100<ESC>L0303<ESC>MSATO <ESC>H0050<ESC>V0200<ESC>B103100*SATO* <ESC>H0070<ESC>V0310<ESC>L0101<ESC>USATO <ESC>Q1<ESC>Z
Label
2"
Base Reference
Point, H=0001
H=50
V=100
SATO
V=200
*SATO*
V=310
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.
*SATO*
SATO
H=70
2"
Unshifted Print Area
4.1"
<ESC>A <ESC>A3H0406V0001 <ESC>H0050<ESC>V0100<ESC>L0303<ESC>MSATO <ESC>H0050<ESC>V0200<ESC>B103100*SATO* <ESC>H0170<ESC>V0310<ESC>L0101<ESC>USATO <ESC>Q1<ESC>Z
Page 6PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
SATOSATO
Original image must be moved towards
the left (facing the printer) to make it
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:
<ESC>A<ESC>%1<ESC>V800<ESC>H200<ESC>L0202<ESC>WB1E<ESC>Q1<ESC>Z
The following data stream will rotate both the field and the base reference point for that field:
<ESC>A<ESC>R<ESC>V0200<ESC>H0100<ESC>L0202<ESC>P02<ESC>WB1E<ESC>Q1<ESC>Z
SATOCX200PrintersPN9001055 Rev. EPage 7
CX200 Programming Guide
Base
Ref
Point
V=800
H=200
E
“%1”
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:
Base
Ref
Point
Label Feed
Direction
New
Base
Ref
Point
V=200
E
H=100
“R”
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 3 (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>*.
(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 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 = Bar Code Symbol
0 Codabar 1 Code 39 2 Interleaved 2 of 5 (I 2/5) 3 UPC-A / EAN-13 4 EAN-8 A MSI C Code 93 E UPC-E F Bookland G Code 128 I UCC 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
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 three two dimensional symbols (see Two Dimensional bar code symbols starting on Page 80).
SATOCX200PrintersPN9001055 Rev. EPage 11
CX200 Programming Guide
Input to Printer
<ESC>A <ESC>H0025<ESC>V0025<ESC>B103100*CODE39* <ESC>H0155<ESC>V0130<ESC>XS*CODE39* <ESC>H0025<ESC>V0200<ESC>BD20210045676567 <ESC>H0075<ESC>V0310<ESC>XM45676567 <ESC>H0025<ESC>V0375<ESC>BD30215001234567890 <ESC>H0025<ESC>V0950<ESC>BA03100123455 <ESC>H0095<ESC>V1060<ESC>XS12345 <ESC>H0025<ESC>V1125<ESC>BC03100081234ABCD <ESC>H0080<ESC>V1240<ESC>XS1234ABCD <ESC>H0525<ESC>V0025<ESC>B002100A12345B <ESC>H0565<ESC>V0135<ESC>XS12345 <ESC>H0475<ESC>V0200<ESC>BD303100123456789012 <ESC>H0525<ESC>V0375<ESC>BD4031001234567 <ESC>H0525<ESC>V0550<ESC>DE03100123456 <ESC>H0500<ESC>V0600<ESC>OB0 <ESC>H0533<ESC>V0655<ESC>OB123456 <ESC>H0350<ESC>V0725<ESC>D30315009827721123 <ESC>L0101<ESC>H0320<ESC>V0800<ESC>OB0 <ESC>H0365<ESC>V0878<ESC>OB98277 <ESC>H0505<ESC>V0878<ESC>OB21123 <ESC>H0665<ESC>V0760<ESC>BF0313021826 <ESC>H0680<ESC>V0730<ESC>OB21826 <ESC>H0425<ESC>V1125<ESC>D30315000633895260 <ESC>L0101<ESC>H0395<ESC>V1200<ESC>OB0 <ESC>H0440<ESC>V1278<ESC>OB06338 <ESC>H0580<ESC>V1278<ESC>OB95260 <ESC>H0730<ESC>V1155<ESC>BF0314024 <ESC>H0745<ESC>V1125<ESC>OB24 <ESC>H0325<ESC>V0950<ESC>BG03100>GAB>B789>C123456 <ESC>H0435<ESC>V1055<ESC>XSAB789123456 <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.
Page 12PN9001055 Rev. ESATOCX200Printers
Printer Output
CX200 Programming Guide
SATOCX200PrintersPN9001055 Rev. EPage 13
CX200 Programming Guide
UCC-128 Without Incrementing
<ESC>A <ESC>H0100<ESC>V0100<ESC>BI07150101234567000000001 <ESC>Q2<ESC>Z
With Incrementing
<ESC>A <ESC>H0100<ESC>V0100<ESC>F001+001<ESC>BI07150101234567000000001 <ESC>Q2<ESC>Z
Page 14PN9001055 Rev. ESATOCX200Printers
CX200 Programming Guide
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 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 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:
<ESC>A <ESC>H0050<ESC>V0050<ESC>BT101030103 <ESC>BW04100*1234* <ESC>Q1<ESC>Z
Special Notes 1. 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:
0 Codabar 1 Code 39 2 Interleaved 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 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 three bar code types shown.
Input to Printer:
Printer Output:
<ESC>A <ESC>H0050<ESC>V0050<ESC>BT101030103 <ESC>BW03100*1234* <ESC>Q1<ESC>Z
SATOCX200PrintersPN9001055 Rev. EPage 17
CX200 Programming Guide
Special Notes 1. 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 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:
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 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.
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 Structure Store Command: <ESC>Tabcc
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 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 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>T1H3F 0100038007C00FE01FF03FF87FFCFFFE07C007C007C007C007C007C007C007C0 <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
SATOCX200PrintersPN9001055 Rev. EPage 21
CX200 Programming Guide
Printer Output
Special Notes 1. 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 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
Printer Output
<ESC>A<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
SATOCX200PrintersPN9001055 Rev. EPage 23
CX200 Programming Guide
Special Notes This 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 Function To reset proportional spacing and place the printer back to fixed
spacing.
Printer Input
Printer Output
Special Notes 1. This command only works with the proportionally spaced fonts XU,
<ESC>A <ESC>H0100<ESC>V0050<ESC>PS <ESC>L0404<ESC>XMPROPORTIONALSPACING <ESC>H0100<ESC>V0180<ESC>PR <ESC>L0404<ESC>XMFIXED SPACING <ESC>Q1<ESC>Z
XM, XS, XL and XB.
SATOCX200PrintersPN9001055 Rev. EPage 25
CX200 Programming Guide
Character Pitch
Command Structure <ESC>Paa
aa = Number of dots between characters (00-99) Example: <ESC>P03 Placement: Preceding the text to be printed Default: <ESC>P02
Command Function To designate the amount of spacing (in dots) between characters.
This command provides a means of altering character spacing for label constraints or to enhance readability.
Input to Printer:
Printer Output:
<ESC>A <ESC>A<ESC>H0025<ESC>V0025<ESC>L0202<ESC>XB1SATO <ESC>H0025<ESC>V0125<ESC>L0202<ESC>P20<ESC>XB1SATO <ESC>H0025<ESC>V0225<ESC>L0202<ESC>P40<ESC>XB1SATO <ESC>Q1<ESC>Z
Page 26PN9001055 Rev. ESATOCX200Printers
Loading...
+ 69 hidden pages