Page 2
We would like to thank you in advance for your comments. With kind regards, Wincor Nixdorf International GmbH SAT22 Wohlrabedamm 31 D-13629 Berlin _______________________________________________________________________ Your opinion: TH230/TH230+, POS Printer, Programmers Guide...
Page 3
TH230/TH230+ POS Printer Programmers Guide July 2013...
Power LED Green ..........................5 Paper End LED Yellow ........................5 Error LED Red ..........................5 Sleep Mode ............................6 Diagram of Power States TH230 / TH230+ ..................7 Programming Hints ..........................8 Vertical Dot Lines ..........................8 Horizontal Dot Lines ........................8 Reverse Feed after Cutting ......................
Diagnostic - Menu ........................256 Configuration - Menu ......................... 258 Information - Menu ........................265 MF Menu ............................ 265 TH230 Diagnostic Functions ....................266 Selftest Printout .......................... 267 Sensor Test ..........................273 EEPROM default settings ......................273 Endurance test ..........................275 Black Mark test ...........................
This Programmers Guide describes the properties of the controller for the high speed ESC- POS thermal printer TH230/TH230+. Introduction The TH230 and the TH230+ are powerful and low cost thermal printers for all kind of POS systems. In this manual both printers will be referred to as TH230. Only in case of essential...
Page 9
Programmers Guide TH230/TH230+ General Characteristics of the Printer • High speed ESC-POS thermal printer • Interface Board Changeable • Different Host Interfaces: RS232, USB, PoweredUSB and others • Printer is able to operate in horizontal and vertical position • Paper width: 80 mm or 57.5 mm •...
Line feed The line feeds of the TH230 printer are initiated by the control commands LF and ESC d. The line spacing between 2 lines can be set by the control command ESC 3. The default value after reset or power on is 3.37 mm, which equals 27 micro steps. One micro step...
TH230/TH230+ Offline State If the TH230 printer leaving the online state, nevertheless it responds to all real time commands and real time status commands. Sending other data than real time commands may lead to data loss (see memory switch 2-8 Listen to Real-Time-Commands).
Power is stable. Blinking: The maximum power setting is auto and no Wincor Nixdorf power supply is used. The maximum power setting can be changed by the command GS ( E fn=5 (see page 105). The user has to set a fix maximum power setting according to the used power supply.
Programmers Guide TH230/TH230+ Sleep Mode The Sleep Mode is used to save energy when the printer is switched on but has nothing to print. This mode reduces the Total Cost of Ownership (TCO). Sleep Mode is switched on by a Memory Switch. The Sleep Mode Waiting Time is set by a Customized Setting Value and defines the time;...
TH230/TH230+ Programmers Guide Diagram of Power States TH230 / TH230+ The following diagram is valid for TH230 and TH230+ and not for iPRINT. There are different ways, to switch the Printer ON or OFF: 24V = ON and Power Button is enabled...
Programmers Guide TH230/TH230+ Programming Hints In this chapter programmers may find some hints and tricks to make the thermal printout faster, look better or increase the lifetime of the thermal print head. Vertical Dot Lines To increase the lifetime of the thermal print head the programmer has to avoid printing of long vertical dot lines like in the ticket on the left side.
The behavior of the Power Button is described on page 7. Page Mode Tips The thermal printer TH230 supports two different print modes: standard mode and page mode. The standard mode is supported by all banking printers and in this mode, the printers print data in the print buffer by executing the print commands (such as LF, CR, and ESC J) or when the buffer is full.
Programmers Guide TH230/TH230+ Basic processing procedure for the page mode: 1. Select the page mode with ESC L (standard mode is changed to page mode). 2. Set the position and size for the printing area with ESC W. 3. Select the starting position and the direction for data development with ESC T.
TH230/TH230+ Programmers Guide Absolute Origin of Graphics and Text in Page Mode The printing area is set by the command ESC W (see page 63). The absolute origin of graphics and text is the lower left of the printable area. This caused a different behavior: Text and graphics (for example GS *, ESC (+*.BMP file) and GS ( L) can be printed in...
Programmers Guide TH230/TH230+ Positioning with Left to Right printing Positioning with Top to Bottom printing Graphics TEXT Positioning with Bottom to Top printing Positioning with Right to Left printing Barcode Barcode can be used in Pagemode with limitations. Barcodes can only be print at start of line, that’s why horizontal position commands do not work with barcode.
TH230/TH230+ Programmers Guide Control Sequences Control Characters and Control Sequences The valid control characters are located in the code area below 20H. These are the characters LF, FF, GS, DLE and ESC. All other control characters are not valid, and are ignored by the controller.
Programmers Guide TH230/TH230+ Command Overview Code Function Page Horizontal tab Print and line feed (1) Print and return to standard mode (in page mode) (2) Print and feed marked paper to print starting position Print and carriage return Clear printer...
Page 22
TH230/TH230+ Programmers Guide ESC ? Cancel user-defined characters ESC @ Initialize printer ESC D Set horizontal tab positions ESC E Turn emphasized mode on/off ESC G Turn double-strike mode on/off ESC I Turn italic print mode on/off ESC J Print and feed paper...
Page 23
Programmers Guide TH230/TH230+ FS W (Asia version) Turn quadruple-size mode on/off for Kanji characters GS ETX Real time request to printer GS EOT Real time status transmission GS ENQ Real time printer status transmission GS ! Select character size GS “...
TH230/TH230+ Programmers Guide GS a Enable/disable Automatic Status Back (ASB) GS b Turn smoothing mode on/off GS f Select font for HRI characters GS g 0 Initialize maintenance counter GS g 2 Transmit maintenance counter GS h Set bar code height...
Page 25
Programmers Guide TH230/TH230+ Line spacing commands ESC 2 Set line spacing to 1/6 inch ESC 3 Set line spacing Character commands Select Double-Wide Characters Select Single-Wide Characters Cancel print data in page mode ESC DC2 Select 90 Degree Counter-Clockwise Rotated Print...
Page 26
TH230/TH230+ Programmers Guide ESC $ Set absolute print position ESC D Set horizontal tab positions ESC T Select print direction in page mode ESC W Set printing area in page mode ESC \ Set relative print position ESC a Select justification...
Page 27
Programmers Guide TH230/TH230+ GS a Enable/disable Automatic Status Back (ASB) GS r Transmit status US V Send printer software version Bar code commands w n b Special Wincor barcode parameter GS h Set bar code height GS k Print bar code...
Page 28
TH230/TH230+ Programmers Guide Customize commands ESC ‘ Write to User Data Storage ESC 4 Read from User Data Storage ESC : Copy Character Set from ROM to RAM ESC j Read from Non-Volatile Memory ESC s Write to Non-Volatile Memory (NVRAM)
Programmers Guide TH230/TH230+ Resolution GS P Set horizontal and vertical motion units Real Time Clear printer DLE EOT Real time status transmission DLE ENQ Real time request to printer DLE SO (fn = 2) Turn off the power GS ETX...
TH230/TH230+ Programmers Guide Description of the Control Characters and Sequences: Function: Horizontal tab Code ASCII: Code HEX: 0x09 Description: Moves the printing position to the next horizontal tab. Notes: • This command is ignored unless the next horizontal tab position has been set.
Page 31
Programmers Guide TH230/TH230+ • - If the printer will print in the remaining printable area of the label, but the feed amount exceeds the remaining printable area of the label, the printer prints the label and feeds to bottom of the label.
Page 32
TH230/TH230+ Programmers Guide Function: Print and carriage return Code ASCII: CR Code HEX: 0x0D Description: When automatic line feed is When automatic line feed is enabled disabled Executes printing one line feed as LF This command is ignored Notes: • After printing, the printing position moves to the beginning of the line.
Page 33
Programmers Guide TH230/TH230+ DLE EOT Function: Real time status transmission Code ASCII: Code HEX: 0x10 0x04 n Range: 1 ≤ n ≤ 4 Description: Transmits 1 byte of status data specified in real time, using n as follows: Function Transmit printer status...
Page 34
TH230/TH230+ Programmers Guide Not used Fixed to 1 Connected Not connected Customer display or Handshake Handshake blocked ready Undefined Not used Fixed to 0 Bit 3: Busy is set when the printer enters the Offline State (see chapter Online / Offline State Diagram) or if the receive buffer is nearly full.
Page 35
Programmers Guide TH230/TH230+ n = 4 (paper roll sensor status) Value Function Not used Fixed to 0 Not used Fixed to 1 Paper near end Paper present No paper sensor Paper near end Paper present No paper sensor Not used...
Page 36
TH230/TH230+ Programmers Guide DLE ENQ Function: Real time request to printer Code ASCII: Code HEX: 0x10 0x05 n Range: 1 ≤ n ≤ 2 Description: Responds to a request in real time from the host system. n specifies the request as follows:...
Page 37
Programmers Guide TH230/TH230+ • This command is identical to command GS ETX. Reference: Command GS ETX (see page 85); Table for the Transmit Status Identification DLE SO (fn = 2) Function: Turn off the power Code ASCII: Code HEX: 0x10 0x0E 0x02 a...
Page 38
• In iPRINT this command leads to a virtual pressing of the power button. Depending of the settings in the Operating System the behavior is different (hibernation, power down, do nothing…). The TH230+ printer part of the iPRINT system follows the achieved power state.
Page 39
Programmers Guide TH230/TH230+ Function: Select Single-Wide Characters Code ASCII: Code HEX: 0x13 Description: Prints single-wide characters. Single-wide characters may be used in the same line with double-wide characters. Reference: ESC ! (see page 39), GS ! Function: Feed n Print Lines...
Page 40
TH230/TH230+ Programmers Guide Function: Add n Extra Dot Rows Code ASCII: SYN Code HEX: 0x16 n Range: 0 ≤ n ≤ 16 Default: n = 3 extra dot rows Description: Adds n extra dot rows (n/8 mm, n/203 inch) to the character height to increase space between print lines or decrease the number of lines per inch.
Page 41
This command is the same like ESC i (see page 70). Notes: • WINCOR NIXDORF suggests using the newer command GS V (see page 155) to cut the receipt. • If not at beginning of line, a linefeed will be done...
Page 42
TH230/TH230+ Programmers Guide ESC (+*.BMP file) Function: Download BMP logo Code ASCII: (+*.BMP file) Code HEX: 0x1B (+*.BMP file) Range: Maximum width = 576 Maximum height = 512 Description: Enters a downloaded BMP logo into RAM or flash. The downloaded BMP logo can be printed by using the print downloaded bit image (1D 2F m) command.
Page 43
Programmers Guide TH230/TH230+ ESC BEL Function: Generate tone Code ASCII: Code HEX: 0x1B 0x07 Description: Generates an audible tone. Performed by the printer to signal certain conditions. Notes: • If you use ESC BEL after a print instruction, the printer generates the audible tone not until print completion.
Page 44
TH230/TH230+ Programmers Guide ESC DC4 Function: Set Column Code ASCII: Code HEX: 0x1B 0x14 n Range: 1 ≤ n ≤ 45 (Standard pitch) 1 ≤ n ≤ 56 (Compressed pitch) Default: n = 1 Description: Prints the first character of the next print line in column n. This command must be sent for each line not printed at column one.
Page 45
Programmers Guide TH230/TH230+ ESC SP Function: Set right-side character spacing Code ASCII: Code HEX: 0x1B 0x20 n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: Sets the right-side character spacing to n × (horizontal or vertical motion unit).
Page 46
TH230/TH230+ Programmers Guide ESC ! Function: Select print mode(s) Code ASCII: Code HEX: 0x1B 0x21 n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: Selects or cancels print modes collectively (Emphasized, Double-height, Double-width, Underline) using n as follows:...
Page 47
Programmers Guide TH230/TH230+ • The underline thickness is that specified by ESC –, regardless of the character size. • When underline mode is turned on, 90° clockwise-rotated characters and white/black reverse characters cannot be underlined. • The printer cannot underline the space set by HT, ESC $, and ESC \.
Page 48
TH230/TH230+ Programmers Guide • After command, printer isn’t at start of line, independent from given value (nL + nH × 256) ESC % Function: Select/cancel user-defined character set Code ASCII: Code HEX: 0x1B 0x25 n Range: 0 ≤ n ≤ 255...
Page 49
Programmers Guide TH230/TH230+ • Once the user-defined characters have been defined, depend from the selected memory (GS “) they are stored in SRAM or in Flash. If the character stored in SRAM, it will be available until ESC ?, or ESC @ is executed the power is turned off;...
Page 50
TH230/TH230+ Programmers Guide ESC ‘ Function: Code ASCII: ‘ d1 ... dm Code HEX: 0x1B 0x27 m d1 ... dm Range: 0 ≤ m ≤ 255 Default: None Description: Writes m bytes of data to the User Data Storage Flash Page at the address specified in a0 (MSB) to a2 (LSB).
Page 52
TH230/TH230+ Programmers Guide 8 dots mode (m = 0,1) 24 dots mode (m = 32, 33) … … … … • The modes selectable by m are as follows: “Vertical” is in the direction of paper feeding and “horizontal” is perpendicular (at right angles) to the direction of paper feeding.
Page 53
Programmers Guide TH230/TH230+ Vertical Maximum Horizontal adjacent number Mode density dots of dots density 8-dot single- 203/2 Permitted 288 203/3 dpi density 8-dot double- 203 dpi Permitted 576 203/3 dpi density 32 24-dot single- 203/2 Permitted 288 203 dpi density...
Page 54
TH230/TH230+ Programmers Guide • The driver has to send 148 nullbytes to the printer before the printer is opened by the application. Thus it is guaranteed that the printer has left the graphics function even if the graphics data stream was interrupted.
Page 55
Programmers Guide TH230/TH230+ ESC - Function: Turn underline mode on/off Code ASCII: Code HEX: 0x1B 0x2D n Range: 0 ≤ n ≤ 2, 48 ≤ n ≤ 50 Default: n = 0 Description: Turns underline mode on or off using n as follows:...
Page 56
TH230/TH230+ Programmers Guide ESC . Function: Print Advanced Raster Graphics Code ASCII: d1 … dn Code HEX: 0x1B 0x2E m d1 … dn Range: 0 <= m <= 72 0 <= n <= 72 0 <= r <= 65535 0 <= d1 … dn <= 255 Description: Prints a horizontal raster of graphics data one or multiple times.
Page 57
Programmers Guide TH230/TH230+ ESC 3 Function: Set line spacing Code ASCII: Code HEX: 0x1B 0x33 n Range: 0 ≤ n ≤ 255 Default: Default line spacing is 3,33 mm (n = 54) Description: Sets the line spacing to n × (vertical motion unit * 1/2).
Page 58
TH230/TH230+ Programmers Guide ESC 4 Function: Read from User Data Storage Code ASCII: Code HEX: 0x1B 0x34 m Range: 0 ≤ m ≤ 255 Description: Reads m bytes of data from the user data storage flash page at the address specified.
Page 59
Programmers Guide TH230/TH230+ ESC = Function: Select peripheral device Code ASCII: Code HEX: 0x1B 0x3D n Range: 1 ≤ n ≤ 3 Default: n = 1 Description: Selects the device to which the host computer sends data, using n as...
Page 60
TH230/TH230+ Programmers Guide ESC ? Function: Cancel user-defined characters Code ASCII: Code HEX: 0x1B 0x3F Range: 32 ≤ n ≤ 255 Default: None Description: Cancels the user-defined characters defined for the character code n. Notes: • After the user-defined character is cancelled, the corresponding pattern from current active ROM Code Page is printed.
Page 61
Programmers Guide TH230/TH230+ ESC @ Function: Initialize printer Code ASCII: Code HEX: 0x1B 0x40 Range: None Default: None Description: The data in the print buffer is cleared, and the printer mode(s) is reset to the mode that was in effect when the power was turned on.
Page 62
TH230/TH230+ Programmers Guide ESC D Function: Set horizontal tab positions Code ASCII: n1 ... nk Code HEX: 0x1B 0x44 n1 ... nk Range: 1 ≤ n ≤ 255 0 ≤ k ≤ 32 Default: n = 8, 16, 24, 32, ... (Every eight characters for the default font set by ESC !
Page 63
Programmers Guide TH230/TH230+ ESC E Function: Turn emphasized mode on/off Code ASCII: Code HEX: 0x1B 0x45 n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: Turns emphasized mode on or off. • When the LSB of n is 0, emphasized mode is turned off.
Page 64
TH230/TH230+ Programmers Guide ESC I Function: Turn italic print mode on/off Code ASCII: Code HEX: 0x1B 0x49 n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: Turns italic print mode on or off. • When the LSB of n is 0, italic print mode is turned off.
Page 65
Programmers Guide TH230/TH230+ • The vertical or horizontal motion unit is specified by GS P. • In standard mode, if the character height is greater than the specified paper feed amount, the paper is fed the amount of the character height.
Page 66
TH230/TH230+ Programmers Guide ESC L Function: Select page mode Code ASCII: Code HEX: 0x1B 0x4C Range: None Default: None Description: Switches from standard mode to page mode. Notes: • This command is only enabled when processed at the beginning of the line in standard mode.
Page 67
Programmers Guide TH230/TH230+ ESC S Function: Select standard mode Code ASCII: Code HEX: 0x1B 0x53 Range: None Default: None Description: Switches from page mode to standard mode. Notes: • This command is enabled only in page mode. Page mode can be selected by ESC L.
Page 68
TH230/TH230+ Programmers Guide ESC T Function: Select print direction in page mode Code ASCII: Code HEX: 0x1B 0x54 n Range: 0 ≤ n ≤ 3, 48 ≤ n ≤ 51 Default: n = 0 Description: In page mode, selects the print direction and starting position using n as...
Page 69
Programmers Guide TH230/TH230+ ESC V Function: Turn 90° clockwise rotation mode on/off Code ASCII: Code HEX: 0x1B 0x56 n Range: 0 ≤ n ≤ 2, 48 ≤ n ≤ 50 Default: n = 0 Description: In standard mode, turns 90° clockwise rotation mode on or off, using n as...
Page 70
TH230/TH230+ Programmers Guide ESC W Function: Set printing area in page mode Code ASCII: Code HEX: 0x1B 0x57 x Range: 0 ≤ x ≤ 255 Default: Horizontal logical origin and vertical logical origin= 0 = 0, x = 0, y...
Page 71
Programmers Guide TH230/TH230+ • The settings of this command are effective until FF is executed, ESC @ is executed, the printer is reset, or the power is turned off. • The vertical or horizontal motion unit is specified by GS P.
Page 72
TH230/TH230+ Programmers Guide ESC [ ! t Function: Set control point Code ASCII: Code HEX: 0x1B 0x5B 0x21 0x74 n Range: 0 ≤ (n * 256) ≤ 0xFFFF Description: The printer sends the answer to a control point as soon as all mechanical activities are finished.
Page 73
Programmers Guide TH230/TH230+ ESC \ Function: Set relative print position Code ASCII: Code HEX: 0x1B 0x5C n Range: -32768 ≤ (n * 256) ≤ 32767 (0 ≤ n ≤ 255, –128 ≤ n ≤ 127) Default: None Description: Moves the print starting position to (n * 256) ×...
Page 74
TH230/TH230+ Programmers Guide ESC a Function: Select justification Code ASCII: Code HEX: 0x1B 0x61 n Range: 0 ≤ n ≤ 2, 48 ≤ n ≤ 50 Default: n = 0 Description: In standard mode, aligns all the data in one line to a specified position,...
Page 75
Programmers Guide TH230/TH230+ ESC c 4 Function: Select paper sensor(s) to stop printing Code ASCII: Code HEX: 0x1B 0x63 0x34 n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: Selects whether to stop printing or not when the paper runs out using n as...
Page 76
TH230/TH230+ Programmers Guide ESC c 5 Function: Enable/disable feed button Code ASCII: Code HEX: 0x1B 0x63 0x35 n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: Enables or disables the feed button. • When the LSB of n is 0, feed button is enabled.
Page 77
• There are two codes (0x19 or 0x1B 0x69) for this command and both perform the same function. • If not at beginning of line, a linefeed will be done • Wincor Nixdorf suggests using the newer command GS V (see page 157) to cut the receipt.
Page 78
• There are two codes (0x1A or 0x1B 0x6D) for this command and both perform the same function. • If not at beginning of line, a linefeed will be done • Wincor Nixdorf suggests using the newer command GS V (see page 155) to cut the receipt.
Page 79
Programmers Guide TH230/TH230+ ESC p Function: Generate pulse Code ASCII: Code HEX: 0x1B 0x70 m Range: m = 0, 1, 48, 49 0 ≤ t1 ≤ 255 0 ≤ t2 ≤ 255 Default: None Description: Outputs the pulse specified by t1 and t2 to the specified connector pin m as...
Page 80
TH230/TH230+ Programmers Guide ESC r Function: Set current color Code ASCII: Code HEX: 0x1B 0x72 m Range: m = 0, 1, 2 Default: m = 0 (monochrome) Description: This command will set the current color to the color m for all character data that may follow this command and all graphics objects (bit images) that have not been explicitly loaded as two-color.
Page 81
Programmers Guide TH230/TH230+ ESC t Function: Select character code table Code ASCII: Code HEX: 0x1B 0x74 n Range: 0 ≤ n ≤ 29 Default: n = 0 Description: Selects a page n from the character code table as follows: Character code table...
Page 82
TH230/TH230+ Programmers Guide ESC u Function: Transmit Peripheral Device Status Code ASCII: Code HEX: 0x1B 0x75 0x00 Description: Transmits 1 byte of peripheral device status data as follows: Status Byte Bit Function Drawer kick-out connector High pin 3 Drawer kick-out connector...
Page 83
Programmers Guide TH230/TH230+ ESC v Function: Transmit paper sensor status Code ASCII: Code HEX: 0x1B 0x76 Description: Transmits 1 byte of paper sensor status data as follows: Status Byte Bit Function Paper near end Paper present No paper sensor Cover...
Page 84
• Receipt shooting flushing is executed only if Receipt shooting was enabled by memory switch 128-5 (command GS ( E). • Printing of barcode PDF417 will stopped the printout for a short time (see GS k) Wincor Nixdorf specific function ESC w n 8 Function: Play melody from flash...
Page 85
Notes: Wincor Nixdorf specific function. OLD COMMAND. Use GS ( k pL pH cn fn (cn = 51, fn = 72) instead. COMMAND will not supported in further releases ESC w n c Function: Switch the printer into Sleep-Mode.
Page 86
TH230/TH230+ Programmers Guide ESC { Function: Turn upside-down printing mode on/off Code ASCII: Code HEX: 0x1B 0x7B n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: In standard mode, turns upside-down printing mode on or off. • When the LSB of n is 0, upside-down printing mode is turned off.
Page 87
Programmers Guide TH230/TH230+ • Wincor Nixdorf specific function TH230 + only. Firmware 01.07 or newer • Last error mechanism works at time with following command: GS ( k pL pH cn fn m (cn = 49, fn = 81) Command returns the last error until a new error occurred or the error...
Page 88
• If the ASIA character module is not loaded then this command is ignored. • The ASIA character set module can only be loaded in the Asia version of TH230. The Controller of this version is equipped with at least 4 MByte Flash Memory. FS & (Asia version)
Page 89
• If the ASIA character module is not loaded then this command is ignored. • The ASIA character set module can only be loaded in the Asia version of TH230. The Controller of this version is equipped with at least 4 MByte Flash Memory. FS . (Asia version)
Page 90
• The ASIA character set module can only be loaded in the Asia version of TH230. The Controller of this version is equipped with at least 4 MByte Flash Memory. • User-defined Kanji characters are not activated in BIG5-character-set at...
Page 91
• If the ASIA character module is not loaded then this command is ignored. • The ASIA character set module can only be loaded in the Asia version of TH230. The Controller of this version is equipped with at least 4 MByte Flash Memory. FS S (Asia version)
Page 92
• If the ASIA character module is not loaded then this command is ignored. • The ASIA character set module can only be loaded in the Asia version of TH230. The Controller of this version is equipped with at least 4 MByte Flash Memory. GS ETX...
Page 93
Programmers Guide TH230/TH230+ GS ENQ Function: Real time printer status transmission Code ASCII: Code HEX: 0x1D 0x05 Description: Transmits one byte status of the printer in real time. Status Byte Bit Function 0 Signifies 1 Signifies Paper Present Low (only if paper low...
Page 94
TH230/TH230+ Programmers Guide GS ! Function: Select character size Code ASCII: Code HEX: 0x1D 0x21 n Range: 0 ≤ n ≤ 7, 16 ≤ n ≤ 23, 32 ≤ n ≤ 39, 48 ≤ n ≤ 55, 64 ≤ n ≤ 71, 80 ≤ n ≤ 87, 96 ≤ n ≤ ≤ 103, 112 ≤ n ≤ 119 (1 ≤...
Page 95
Programmers Guide TH230/TH230+ • DC2 (see page 31) and DC3 (see page 32) also turn double-width modes On or Off. That means they overwrite the settings of GS ! • In standard mode, the character is enlarged in the paper feed direction when double-height mode is selected, and it is enlarged perpendicular to the paper feed direction when double-width mode is selected.
Page 96
TH230/TH230+ Programmers Guide GS “ U Function: Flash Memory User Sectors Allocation Code ASCII: “ Code HEX: 0x1D 0x22 0x55 n1 Range: 0 ≤ n1 ≤ 8 0 ≤ n2 ≤ 8 n1 + n2 <= 8 is equivalent to 512k user memory Description: n1 is the number of 64k sectors used for logos and user-defined characters.
Page 97
Programmers Guide TH230/TH230+ GS # Function: Select the Current Logo Code ASCII: Code HEX: 0x1D 0x23 n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: Selects a color or monochrome logo to be defined or printed. The active logo n remains in use until this command is sent again with a different logo n.
Page 98
TH230/TH230+ Programmers Guide GS $ Function: Set absolute vertical print position in page mode Code ASCII: Code HEX: 0x1D 0x24 n Range: 0 ≤ n ≤ 255, 0 ≤ n ≤ 255 Default: None Description: In page mode, sets the vertical printing position to (n ×...
Page 99
Programmers Guide TH230/TH230+ GS ( A Function: Executes test and diagnosis functions Code ASCII: Code HEX: 0x1D 0x28 0x41 p Range: + (p × 256)) = 2 (where p = 2, p = 0) 0 ≤ n ≤ 255 m = 1, 2, 6, 49, 50, 54...
Page 100
TH230/TH230+ Programmers Guide GS ( D Function: Enable/disable real-time command Code ASCII: [a1 b1]...[ak bk] Code HEX: 0x1D 0x28 0x44 p 0x14 [a1 b1]...[ak bk] Range: × 256) = 3 (p = 3, p = 0) m = 20 a = 2...
Page 101
Programmers Guide TH230/TH230+ GS ( E Function: User setup commands Code ASCII: parameters Code HEX: 0x1D 0x28 0x45 p parameters Description: Controls the user setting modes. The table below explains the functions available in this command. • The value of fn specifies the function.
Page 102
TH230/TH230+ Programmers Guide • The value defined by the user setting mode is effective until redefined by this mode again. It is not initialized by turning off the power or executing ESC @. User setting mode is a special mode to change settings for the printer’s built-in non-volatile memory.
Page 105
Programmers Guide TH230/TH230+ GS ( E p fn [a1 b1 ...b1 ]...[ak nk ] <Function 3> Code ASCII: [a1 b1 ...b1 ]...[ak nk Code HEX: 0x1D 0x28 0x45 p 0x03 [a1 b1 ...b1 ]...[ak nk Range: 10 ≤ (p × 256) ≤ 65530 (0 ≤ p ≤...
Page 106
When a = 128, memory switch 128 is set as follows: Setting Value (b) Function 128-1 Power button is enabled Power button is disabled 128-2 In Sleep-Mode is Interface Power On (only TH230+) In Sleep-Mode is Interface Power Off (only TH230+) 128-3 Sleep-Mode enabled Sleep-Mode disabled (default) 128-4...
Page 107
When switching on the power button reacts always with no delay. • Memory switches 1-2: Small receive buffer is not recommended for normal printer operations! It is not allowed when using a TH230+ fiscal controller interface.
Page 108
TH230/TH230+ Programmers Guide GS ( E p fn a <Function 4> Code ASCII: Code HEX: 0x1D 0x28 0x45 0x02 0x00 0x04 a Range: × 256) = 2 (p = 2, p = 0): fn = 4 a = 1, 2, 128...
Page 109
× 256) = 0 [default value when a = 12] × 256) = 8 [default value when a = 13] × 256) = 10 TH230 / = 60 TH230+ [default value when a = 14] × 256) = 1700 [default value when a = 15] ×...
Page 110
TH230/TH230+ Programmers Guide Description: Changes the customized value specified by parameter a to (n × 256). Customized value Paper width Print density BM adjustment value Maximum power Maximum speed Number of Endurance test tickets Color density Receipt shooting flush time...
Page 111
70 … 300 Draft mm/sec TH230+ High Speed Draft Mode Values in the range 220 to 300 a only allowed in the TH230+ printer. This maximum speed is only reached if the print density is lower then 100%. For example: 300 mm/s is reached with 65% density or less.
Page 113
Sleep-Mode waiting time (a=14) * 256) Waiting time Default Endless TH230 10 sec TH230+ 1 min 10 … 2550 Time in sec This value sets the time how long the printer is waiting before Sleep- Mode starts. The value corresponds to the waiting time in seconds (i.e.
Page 114
TH230/TH230+ Programmers Guide Default character code table after Reset (a=16) * 256) Code Page Default 0 … 255 Equal to ESC t n 0 (PC437) This value sets the Code Page number that is used after switch on the Printer or after use the sequence ESC @.
Page 115
• a = 9: If maximum power setting “Auto” is selected, the printer detects the power of the connected power supply automatically. This works with all power supplies from Wincor Nixdorf. If a power supply from another manufacturer is used, the maximum power setting has to be adjusted to the value of the used power supply e.g.
Page 116
TH230/TH230+ Programmers Guide GS ( E p fn a <Function 6> Code ASCII: Code HEX : 0x1D 0x28 0x45 0x02 0x00 0x06 a Range: × 256) = 2 (p = 2, p = 0): fn = 6 a = 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18...
Page 118
… … … 219 mm/sec “219” 0x32 0x31 0x39 220 mm/sec “220” 0x32 0x32 0x30 Only TH230+ Draft … … … … … 300 mm/sec “300” 0x33 0x30 0x30 Number of Endurance test tickets (a = 11): Number of tickets...
Page 119
Programmers Guide TH230/TH230+ Receipt shooting flush time (a = 13): Value Flush time 1…255 250 msec … 63.75 sec Endless Sleep-Mode waiting time (a = 14): Value Waiting time 10…2550 10 sec … 42,5 min Power on (Sleep mode) to Cash drawer opening delay (a=15):...
Page 120
TH230/TH230+ Programmers Guide (*1) The value number in the table above is the same value as parameter a. (*2) The setting is determined by the value defined in Function 5. • Settings expressed as decimal numbers are converted to ASCII character data and transmitted from the most significant digit.
Page 121
Programmers Guide TH230/TH230+ GS ( E p fn a d1...dk <Function 11> Code ASCII: d1...dk Code HEX: 0x1D 0x28 0x45 p 0x0B a d1...dk Range: 3 ≤ (p × 256) ≤ 65535 (0 ≤ p ≤ 255, 0 ≤ p ≤...
Page 122
TH230/TH230+ Programmers Guide • Parity ( a = 2) is specified by d as follows: Function Select no parity Select odd parity Select even parity • Flow control ( a = 3) is specified by d as follows: Function Select Flow control of DTR/DSR...
Page 123
Programmers Guide TH230/TH230+ GS ( E p fn a <Function 12> Code ASCII: Code HEX: 0x1D 0x28 0x45 p 0x0C a Range: × 256) = 2 (p = 2, p = 0) fn = 12 1 ≤ a ≤ 4...
Page 124
TH230/TH230+ Programmers Guide GS ( E p fn d1…dn (fn=129) Function: Set serial number Code ASCII: d1 … dn Code HEX: 0x1D 0x28 0x45 p 0x81 d1 … dn Range: 2 ≤ (p × 256) ≤ 11 fn = 129 32 ≤...
Page 125
Programmers Guide TH230/TH230+ GS ( E p fn a d1...dk <Function 131> Code ASCII: d1...dk Code HEX: 0x1D 0x28 0x45 p 0x83 a d1...dk Range: 3 ≤ (p × 256) ≤ 65535 (0 ≤ p ≤ 255, 0 ≤ p ≤...
Page 126
TH230/TH230+ Programmers Guide Notes: • This function works only, if an Ethernet interface card is installed! • If the communication control between host and printer does not correspond, the printer cannot process data from the host normally, and the host cannot receive data from the printer normally.
Page 127
Programmers Guide TH230/TH230+ • The host can differentiate the setting value of the customize value from other transmit data by the specific data in the transmit data block. When the header transmitted from the printer is [hex = 0x37, decimal = 55],...
Page 128
TH230/TH230+ Programmers Guide • The adjustment value for the print starting position (a = 1) is affected by the command FF • (see page 24). The value “0” means cut below of the mark position. • The print start position is relative to the lower edge of the detected mark.
Page 129
Programmers Guide TH230/TH230+ GS ( L Function: Specify graphics data Description: Performs the various tasks related to graphics data listed in the table below. • Function code fn specifies the individual function. Function Description Function 48 Sends the entire capacity of NV graphics domains.
Page 130
TH230/TH230+ Programmers Guide • Management of data using key codes. • Deletion of and redefinition of single items of data. • Color coding of defined data. • Definition of data in both raster and column formats. • Confirmation of available capacity in domain.
Page 131
Programmers Guide TH230/TH230+ • Functions 65, 66 or 67 write data to a non-volatile memory. Note the following items when using the function. • The printer may be BUSY when storing data and will not receive any data. In this case, be sure not to transmit data from the host.
Page 132
TH230/TH230+ Programmers Guide (*1) Response Code ASCII Hexadecimal Decimal Request definition 0x06 Send next data group. 0x15 Resend just-received data group. 0x18 Cancel send operation. (*2) Processing According to Response Code (When Send Data Remains (indicated by identification status of send data group))
Page 133
Programmers Guide TH230/TH230+ GS ( L p m fn (fn=48) Code ASCII: Code HEX: 0x1D 0x28 0x4C 0x02 0x00 0x30 fn Range: × 256) = 2 (p = 2, p = 0) m = 48 fn = 0, 48 Description: Sends the entire capacity (specified in bytes) of the NV graphics data domain.
Page 134
TH230/TH230+ Programmers Guide • Note that the following procedure is required for processing the data. • When communication with the printer uses XON/XOFF control, the XOFF may interrupt the “Header to NUL” data string. • The domain of the NV graphics data can be selected by using Function 5 of the GS ( E command.
Page 135
Programmers Guide TH230/TH230+ • The unused capacity data in the NV graphics domain is distinguished from other send data by unique data inserted in each data block. When the header sent from the printer has a hexadecimal value of 0x37 and...
Page 136
TH230/TH230+ Programmers Guide GS ( L p m fn d1 d2 (fn=64) Code ASCII: Code HEX: 0x1D 0x28 0x4C 0x04 0x00 0x30 0x40 0x4B 0x43 Range: × 256) = 4 (p = 4, p = 0) m = 48 fn = 64...
Page 137
Programmers Guide TH230/TH230+ • The key codes list data in the NV graphics is distinguished from other send data by unique data inserted in each data block. When the header sent from the printer has a hexadecimal value of 0x37 and decimal value...
Page 138
TH230/TH230+ Programmers Guide GS ( L p m fn kc1 kc2 (fn=66) Code ASCII: Code HEX: 0x1D 0x28 0x4C 0x04 0x00 0x30 0x42 kc1 Range: × 256) = 4 (p = 4, p = 0) m = 48 fn = 66 32 ≤...
Page 139
Programmers Guide TH230/TH230+ GS ( L p m fn a kc1 kc2 b x [c d1...dk]1...[c d1...dk]b (fn=67) Code ASCII: GS ( L p m fn a kc1 kc2 b x [c d1...dk]1...[c d1...dk]b Code HEX: 0x1D 0x28 0x4C p 0x30 0x43 0x30 kc1 kc2 b x [c d1...dk]1...[c...
Page 140
TH230/TH230+ Programmers Guide • Use this function at the beginning of the line when the standard mode is selected. • This function is incompatible with macros, so make sure to avoid including it when defining macros. • The [data value (k) + control information data value] area of the NV graphics data domain is used when this function is executed.
Page 141
Programmers Guide TH230/TH230+ GS ( L p m fn kc1 kc2 x y (fn=69) Code ASCII: Code HEX: 0x1D 0x28 0x4C 0x06 0x00 0x30 0x45 kc1 Range: × 256) = 6 (p = 6, p = 0) m = 48 fn = 69 32 ≤...
Page 142
QR Code: Store the data into the symbol storage area QR Code: Print the symbol data in the symbol storage area 51 72 GS 1 Databar: Set count of modules for GS 1 DataBar Expanded • TH230+ only, Firmware 01.07 or newer Notes:...
Page 143
= 0 Description: Erase symbol storage area. Notes: • TH230+ only, Firmware 01.07 or newer • All data in symbol storage area will be erased • Memory in RAM-area for fonts and images will be free GS ( k p...
Page 144
Set the module width of PDF417 Barcode n is the width of a single module in dots. Notes: • TH230+ only, Firmware 01.07 or newer • The height of module is 2 times of the setted width GS ( k p cn fn m d1 …...
Page 145
Encodes and print the PDF417 symbol data in the symbol storage area. Notes: • TH230+ only, Firmware 01.07 or newer • Command is only valid at start of line! All characters after GS k are used as normal characters, if command not used at start of line.
Page 146
Select error correction level Q Select error correction level H Notes: • TH230+ only, Firmware 01.07 or newer • ESC @ set the error correction level to default GS ( k pL pH cn fn n (cn = 49, fn = 70)
Page 147
× 256) - 3 Description: Stores the QR symbol data (d1…dk) in the symbol storage area. • TH230+ only, Firmware 01.07 or newer Notes: • Storage area will be taken from RAM – Font memory. If there is no memory free, command will be ignored.
Page 148
Less than 4 segments, the barcode will not be printed. Count of segments has to be even. Otherwise setting will be discarded. If barcode with set segments to wide for print area, barcode will not be printed. • TH230+ only, Firmware 01.07 or newer Notes:...
Page 149
Programmers Guide TH230/TH230+ GS * Function: Define downloaded bit image Code ASCII: GS d1…dk Code HEX: 0x1D 0x2A x d1…dk Range: 1 ≤ x ≤ 80 1 ≤ y ≤ 64 (1 ≤ x × y ≤ 5120) 0 ≤ d ≤ 255 k = x ×...
Page 150
TH230/TH230+ Programmers Guide • The relationship between bit image data and print result is as follows.T … … y•7+1 … … y•7+2 … … … … y•2 y•8 x•8 •y f(x=1) x•8•y • A downloaded bit image and a user-defined character cannot be defined simultaneously when memory switch 8-7 is ON.
Page 151
Programmers Guide TH230/TH230+ Notes: • This command is ignored if a downloaded bit image has not been defined. • When standard mode is selected, this command is enabled only when there is no data in the print buffer. If data exists in the print buffer, the printer processes m as normal data.
Page 152
TH230/TH230+ Programmers Guide GS : Function: Start/end macro definition Code ASCII: GS Code HEX: 0x1D 0x3A Description: Starts or ends macro definition. • Macro definition starts when this command is received during normal Notes: operation and ends when it is processed during macro definition.
Page 153
= 50 (ASCII n = 2) This command erases all sectors available for user data storage. n = 51 (ASCII n = 3) (TH230+ only) This command erases all sectors available for user-defined character and logos storage in RAM.
Page 154
TH230/TH230+ Programmers Guide GS B Function: Turn white/black reverse printing mode on/off Code ASCII: GS Code HEX: 0x1D 0x42 n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: Turns white/black reverse printing mode on or off. • When the LSB of n is 0, white/black reverse printing mode is turned off.
Page 155
Programmers Guide TH230/TH230+ GS H Function: Select printing position of HRI characters Code ASCII: GS Code HEX: 0x1D 0x48 n Range: 0 ≤ n ≤ 3 48 ≤ n ≤ 51 Default: n = 0 Description: Selects whether the printer prints the HRI characters or not and printing...
Page 156
TH230/TH230+ Programmers Guide GS I Function: Transmit printer ID Code ASCII: GS Code HEX: 0x1D 0x49 n Range: 1 ≤ n ≤ 4, 49 ≤ n ≤ 52, 65 ≤ n ≤ 68, n = 70, n = 112, 128 ≤ n ≤ 146, 148 ≤...
Page 157
255 Measured Mark Distance String with max. 12 characters “_xxxxx steps” * TH230 (predecessor of TH230+) sends the Bare PCB Number (“_A”..”_Z”) Notes: • The ID of the printer is transmitted when the data in the receive buffer is developed. Therefore, there may be a time lag between receiving this command and transmitting the status, depending on the receive buffer status.
Page 158
TH230/TH230+ Programmers Guide n ≥ 65: When send printer information (character string) is specified, the printer sends the “Header to NUL” character string. Notes for the printer information: • • Each printer information is composed of [header + printer information + NUL] (when n ≥...
Page 159
Programmers Guide TH230/TH230+ • n = 4 or 52 Logo Definition: Functio Value Logo No logo downloaded Logo downloaded (SRAM (SRAM or Flash) or Flash) Not used Fixed to 0 Not used Fixed to 0 Not used Fixed to 0...
Page 160
TH230/TH230+ Programmers Guide GS L Function: Set left margin Code ASCII: GS Code HEX: 0x1D 0x4C n Range: 0 ≤ (n × 256) ≤ 65535 (0 ≤ n ≤ 255, 0 ≤ n ≤ 255) Default: × 256) = 0 (n...
Page 161
Programmers Guide TH230/TH230+ GS P Function: Set horizontal and vertical motion units Code ASCII: GS Code HEX: 0x1D 0x50 x Range: 0 ≤ x ≤ 255 0 ≤ y ≤ 255 Default: x = 203 y = 203 Description: Sets the horizontal and vertical motion units to 1/x and 1/y inches, respectively.
Page 162
TH230/TH230+ Programmers Guide GS V Function: Select cut mode and cut paper Code ASCII: Code HEX: 0x1D 0x56 m 0x1D 0x56 m Range: m = 0, 1, 48, 49 m = 65, 66, 67; ...
Page 163
Programmers Guide TH230/TH230+ • Function 67: This function can be used for compensation of the head loss because of the distance between print line and cutting position. • Function 67: To realize the smallest possible head loss of 5 mm set n to 96 steps (12mm).
Page 164
TH230/TH230+ Programmers Guide GS W Function: Set printing area width Code ASCII: GS Code HEX: 0x1D 0x57 n Range: 0 ≤ (n × 256) ≤ 65535 (0 ≤ n ≤ 255, 0 ≤ n ≤ 255) Default: Entire printable area...
Page 165
Programmers Guide TH230/TH230+ GS \ Function: Set relative vertical print position in page mode Code ASCII: GS Code HEX: 0x1D 0x5C n Range: –32768 ≤ (n × 256) ≤ 32767 (0 ≤ n ≤ 255, - 128 ≤ n ≤ 127)
Page 166
TH230/TH230+ Programmers Guide GS ^ Function: Execute macro Code ASCII: GS Code HEX: 0x1D 0x5E r Range: 1 ≤ r ≤ 255 0 ≤ t ≤ 255 m = 0, 1 Default: None Description: Executes a macro r times while waiting t × 100 msec for each macro execution, using the mode specified by m as follows: •...
Page 167
Programmers Guide TH230/TH230+ GS a Function: Enable/disable Automatic Status Back (ASB) Code ASCII: GS Code HEX: 0x1D 0x61 n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: Enable or disable ASB (Automatic Status Back) and specifies the status items...
Page 168
TH230/TH230+ Programmers Guide - Busy (RS232 interface only) • All ASB status is represent the enabled status whenever the status changes. Therefore the disabled status items may change, because each status transmission represents the current status. • The status bytes to be transmitted are as follows: •...
Page 169
Programmers Guide TH230/TH230+ • Third byte (paper sensor information) Value Function Paper roll near-end Paper present No paper sensor Paper roll near-end Paper present No paper sensor Paper roll end sensor Paper present No paper Paper roll end sensor Paper present...
Page 170
TH230/TH230+ Programmers Guide GS b Function: Turn smoothing mode on/off Code ASCII: GS Code HEX: 0x1D 0x62 n Range: 0 ≤ n ≤ 255 Default: n = 0 Description: Turns smoothing mode on or off. • When the LSB of n is 0, smoothing mode is turned off.
Page 171
Programmers Guide TH230/TH230+ GS g 0 Function: Initialize maintenance counter Code ASCII: GS Code HEX: 0x1D 0x67 0x30 0x00 n Range: m = 0 × 256) = 20, 21, 50, 52~57, 59 Description: Sets the resettable maintenance counter specified by n and n to 0.
Page 172
TH230/TH230+ Programmers Guide • Excessive use of this function may destroy the non-volatile memory. As a guideline, do not use any combination of the following commands more than 10 times per day for writing data to the non-volatile memory: FS q, GS ( E (part of functions), GS ( L (part of functions), GS g 0, or FS g 1.
Page 173
Programmers Guide TH230/TH230+ GS g 2 Function: Transmit maintenance counter Code ASCII: GS Code HEX: 0x1D 0x67 0x32 0x00 n Range: m = 0 × 256) = 20, 21, 50, 52~57, 59, 148, 149, 178, 198~200, 238~240 Description: Transmits the value of the counter specified by the number.
Page 174
TH230/TH230+ Programmers Guide • When the counter values are transmitted, the printer converts them to character codes corresponding to the decimal value and transmits from the most significant bit. Example: When the counter value is 120, the transmission data for “120”...
Page 175
Programmers Guide TH230/TH230+ GS h Function: Set bar code height Code ASCII: GS Code HEX: 0x1D 0x68 n Range: 1 ≤ n ≤ 255 Default: n = 216 Description: Sets the height of a bar code. • n specifies number of dots in the vertical direction of a bar code •...
Page 177
Programmers Guide TH230/TH230+ Numb Number Barcode 1D/2 er of Characters Remarks system data characters 11 ≤ k ≤ 48 ≤ d ≤ 0 UPC-A Fixed 11 ≤ k ≤ 48 ≤ d ≤ 1 UPC-E Fixed 12 ≤ k ≤...
Page 178
TH230/TH230+ Programmers Guide / 47 : 58 Variab 1 ≤ k ≤ 10 PDF 417 32 ≤ d ≤ 255 Variab 11 GS1 1 ≤ k ≤ 13 0~9 48 ≤ d ≤ 57 Variab Truncat 1 ≤ k ≤ 13 0~9 48 ≤...
Page 179
Programmers Guide TH230/TH230+ 11 ≤ k ≤ 48 ≤ d ≤ Fixed 65 UPC-A Variabl CC-A, CC-B (4 1 ≤ j ≤ n 0≤ d ≤ 255 Columns) ➁ 11 ≤ k ≤ 48 ≤ d ≤ Fixed 66 UPC-E...
Page 180
TH230/TH230+ Programmers Guide 48 ≤ d ≤ 65 ≤ d ≤ 1 ≤ n 72 CODE93 Variable ≤ 1 ≤ n ≤ 73 CODE128 Variable 0 ≤ d ≤ 105 1 ≤ n ≤ 75 PDF 417 Variable 0 ≤ d ≤ 255 1 ≤...
Page 182
TH230/TH230+ Programmers Guide • When an odd number of data is processed for ITF bar code system (m = 5), the printer ignores the last received data. • The printer processes n bytes from the next data as bar code data by this command specifying m = 65 to 71.
Page 183
Programmers Guide TH230/TH230+ checked. • Left guard bar/center bar/right guard bar are added automatically. CODE39 • The printer processes the start code (ASCII = */Hex = 2Ah/Decimal = 42) (m = 4, 69) as follows: process: • When the first bar code ( d1) is “*”, the printer processes the data as a first character.
Page 184
TH230/TH230+ Programmers Guide Value Value (dezimal (hex) Code A Code B Code C Space Space “00“ “01“ “ “ “02“ “03“ “04“ “05“ & & “06“ ‘ ‘ “07“ “08“ “09“ “10“ “11“ “12“ “13“ “14“ “15“ “16“ “17“ “18“...
Page 187
Programmers Guide TH230/TH230+ Composite • Separator to composite code is ‘|’ (ASCII), 7C (HEX), 124 (DEZ) (m=11, 76) • Barcode can be print without composite part process: • Barcode will not be printed if the separator is given without composite code •...
Page 188
TH230/TH230+ Programmers Guide GS1- • Barcode is combination of GS1 Stacked Omni and the composite codes Stacked- CC-A and CC-B Omni– • Separator to composite code is ‘|’ (ASCII), 7C (HEX), 124 (DEZ) Composite • Barcode can be printed without the composite part (m=14, 79) •...
Page 189
Programmers Guide TH230/TH230+ • Barcode is combination of code 128 and the composite codes CC-A, CC-B EAN128 (m=82) and CC-C (m=83) (m=82,m=8 • Barcode can be printed without the composite part 3) process: • Barcode will not be printed if the separator is given without composite code •...
Page 190
TH230/TH230+ Programmers Guide GS p Function: Select PDF 417 parameters Code ASCII: GS Code HEX: 0x1D 0x70 a Default: a = 1 b = 2 c = 58 d = 7 e = 3 f = 10 Description: Selects the two-dimensional PDF 417 parameters as follows:...
Page 191
Programmers Guide TH230/TH230+ There are three mutually exclusive sets of symbol patterns, or clusters, each having 929 distinct patterns. Because different clusters are used for adjacent rows, it is possible for the decoder to tell if the scanning path is crossing row boundaries without the use of separator bars.
Page 192
TH230/TH230+ Programmers Guide GS r Function: Transmit status Code ASCII: GS Code HEX: 0x1D 0x72 n Range: n = 1, 2, 4, 49, 50, 52 Description: Transmits 1 byte of status data using n as follows: Function 1, 49 Transmits paper sensor status...
Page 193
Programmers Guide TH230/TH230+ • The status to be transmitted is as follows: • Flash Memory User Sector status (n = 4, 52) Function Status Undefined Undefined User data Write successful Write failed, storage specified area not erased Flash Logo Area adequate,...
Page 194
TH230/TH230+ Programmers Guide GS w Function: Set bar code width Code ASCII: GS Code HEX: 0x1D 0x77 n Range: 2 ≤ n ≤ 6 Default: n = 3 Description: Sets the horizontal size of a bar code. • n specifies the bar code module width.
Page 195
Programmers Guide TH230/TH230+ GS 0x81 Function: Set paper type Code ASCII: GS 0x81 m Code HEX: 0x1D 0x81 m Range: 0 ≤ m ≤ 255 0 ≤ n ≤ 255 Default: m = 0 (monochrome paper) Description: Sets the paper type specified by m, as follows:...
Page 196
TH230/TH230+ Programmers Guide GS 0x82 Function: Print raster monochrome graphics Code ASCII: GS 0x82 n1 … n72 (576 dots, 80 mm paper), or n51 (408 dots, 57.5 mm paper) Code HEX: 0x1D 0x82 n1 … n72 (576 dots, 80 mm paper), or n51 (408 dots, 57.5 mm...
Page 197
Programmers Guide TH230/TH230+ GS 0x84 Function: Download logo image Code ASCII: GS 0x84 m d1 … dx Code HEX: 0x1D 0x84 m d1 … dx Range: x = (n1 * n2 * 8) * m m = 1 = monochrome m = 2 = two-color n1 ≤...
Page 198
TH230/TH230+ Programmers Guide Notes: • The minimum of rows are 8 !! n2 described the count of dot rows in byte, like n1. That means the dot height of logo must be a multiple of 8!. MSB LSB MSB LSB MSB LSB MSB LSB …...
Page 199
Programmers Guide TH230/TH230+ GS 0x8E Function: Download paper type description Code ASCII: GS 0x8E n d1 … dn Code HEX: 0x1D 0x8E n d1 … dn Description: This command will store in flash memory a paper type description identified by the structure in d1..dn, adding the uniquely (by type category and version) identified structure for subsequent use by the set paper type command.
Page 200
TH230/TH230+ Programmers Guide GS 0x8F Function: Return paper type description Code ASCII: GS 0x8F Code HEX: 0x1D 0x8F Range: m is the paper type index 0 ≤ m ≤ 15 Description: This command will return from flash memory a paper type description indexed by m, (0 ≤...
Page 201
Programmers Guide TH230/TH230+ GS 0xFF Function: Reset firmware Code ASCII: GS 0xFF Code HEX: 0x1D 0xFF Description: Ends the load process and reboots the printer. Before executing this command, the printer should have firmware loaded and external switches set to the runtime settings. Application software for downloading should prompt the user to set the external switches and confirm before sending this command.
Page 202
TH230/TH230+ Programmers Guide US t Function: Print Test Form Code ASCII: US Code HEX: 0x1F 0x74 Description: Prints the current printer configuration settings on the receipt. Disabled in Page Mode. Notes: • While processing the print test form, it is recommended to wait sending next print data until the actual job is finished.
Programmers Guide TH230/TH230+ Transmit Status Identification Table The following table shows the Transmit Status Identification: Command & Function Status Reply ESC l (upgrade) <00011011>B ESC w n 7 <00011001>B DLE EOT <0**1**10>B GS ENQ <1*0*****>B GS I with 1 ≤ n ≤ 3; 49 ≤ n ≤ 51 <0**0****>B...
GS ( E (fn=5) Auto Maximum speed 70 – 220 mm/sec GS ( E (fn=5) 220 mm/sec Max speed TH230+ Draft 70 – 300 mm/sec GS ( E (fn=5) 220 mm/sec Number of Endurance test 1 – 65535 Tickets GS ( E (fn=5)
Page 205
Programmers Guide TH230/TH230+ High Voltage 0 - 65535 GS g 0 Errors Cover Open 0 - 65535 GS g 0 Counter Maximum Head 0 - 255 GS g 0 Temperature Reset able Linefeeds 0 - 4294967295 GS g 0 Maintenance...
TH230/TH230+ Programmers Guide Character Sets and Fonts Representation of the printed data Character Fonts The character fonts will be selected by an escape command. The controller provides two character sets with different character densities. The dimensions (W*H) of the character cell are as follows:...
Programmers Guide TH230/TH230+ User defined character sets User defined character could be loaded in RAM (default) or in flash-memory (GS “) by the sequence ESC &. It is possible to define one page (font A and font B) from the character code 20H to the character code FFH (16x24).
TH230/TH230+ Programmers Guide Character code tables Standard Code Pages - Overview Following character code tables are standard and can be selected by sequence ESC t and ESC R: Number Character code table PC437 (USA, Standard Europe) PC850 (Multilingual Latin I)
Page 209
This Structure is divided into two blocks. The first block is the header of the loader (See document [R1] "TH230 - Firmware Upgrade Concept"). At offset 64 begins the second block with character set data. All Offsets in this and next structures are relative pointer with base of the beginning from first block (offset 0).
Page 210
TH230/TH230+ Programmers Guide Code Table Structure Offset Field Size Description FirstCharacter ASCII value of first character LastCharacter ASCII value of last character CharacterWidth Width of character in pixels CharacterHeight Height of character in pixels MinSpacing Minimal spacing between characters Reserved...
Page 211
Programmers Guide TH230/TH230+ Character Image 13 x 24 (Thermo) Bits Line 1 Byte 2 Byte 1 Line 2 Byte 4 Byte 3 Line 3 Byte 6 Byte 5 Line 4 Byte 8 Byte 7 Line 5 Byte 10 Byte 9...
Page 212
TH230/TH230+ Programmers Guide Character Image 10 x 24 (Thermo) Bits Line 1 Byte 2 Byte 1 Line 2 Byte 4 Byte 3 Line 3 Byte 6 Byte 5 Line 4 Byte 8 Byte 7 Line 5 Byte 10 Byte 9...
Programmers Guide TH230/TH230+ Standard code pages - tables In the following tables the implemented code pages are shown: Character code table Page 0 (PC437: USA, Standard Europe):...
TH230/TH230+ Programmers Guide Asia Code Pages – Definition for USB Loader Character Set Structure This Structure is divided into two blocks. The first block is the header from loader. At offset 64 begins the second block with character set data. At the end, 20 character-tables (See Code Table Structure) can be defined, with the range from the first character to the last.
Page 241
Programmers Guide TH230/TH230+ Control 16-Bit Control-Field for special Settings: Description No user defined characters Reserved Reserved Reserved Subtype = 1 (JIS) Subtype = 0,2,3,4 Reserved JIS-SHIFTJIS-Conversion allowed Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved...
The Universal Serial Bus (USB) is a peripheral bus for personal computers that was first released in January 1996. The TH230 supports the USB Printer Class. USB Descriptors When plugging in an USB device the USB enumeration process starts and the device reports their attributes using descriptors.
Programmers Guide TH230/TH230+ Configuration Descriptor The configuration descriptor describes information about a specific device configuration. The descriptor contains a bConfigurationValue field with a value that, when used as a parameter to the SetConfiguration() request, causes the device to assume the described configuration.
The default setting for an interface is always alternate setting zero. The TH230 printer provides two interfaces: the Firmware Upgrade interface (DFUX) and the Printer interface. A multi-interface device is called composite device.
Programmers Guide TH230/TH230+ Endpoint Descriptors Each endpoint used for an interface has its own descriptor. This descriptor contains the information required by the host to determine the bandwidth requirements of each endpoint. An endpoint descriptor is always returned as part of a configuration descriptor.
Page 246
Programmers Guide TH230/TH230+ String Descriptors Descriptors contain references to string descriptors that provide displayable information describing a descriptor in human-readable form. The inclusion of string descriptors is optional. If a device does not support string descriptors, all references to string descriptors within device, configuration, and interface descriptors must be reset to zero.
TH230/230+ Programmer’s Guide DFUX Interface String Printer Interface String Offset Field Size Value Description bLength Size of this descriptor, in bytes bDescriptorType STRING descriptor type bString Unicode “Printer Interface” Following string descriptors are not published in the devices descriptor set ( -> “hidden”...
TH230/TH230+ Printer Interface The TH230 printers are multi-interface-devices (composite device) and one of these interfaces is the printer interface. Every interface is a logical device from the host point of view and the printer interface is the printer in fact.
TH230/230+ Programmer’s Guide RS232 Interface Specifications Data transmission: Serial Synchronization: Asynchronous Handshaking: DTR/DSR or XON/XOFF control Signal levels: MARK = -3 to -15 V: Logic "1" / OFF SPACE = +3 to +15 V: Logic "0" / ON Baud rate:...
Page 250
Programmers Guide TH230/TH230+ Receipt Buffer Following hysteresis levels are valid: Size 4096 Bytes Size 45 Bytes Handshake Off Handshake On Handshake Off Handshake On (fill level >=) (fill level <=) (fill level >=) (fill level <=) 3968 3072...
TH230/230+ Programmer’s Guide Ethernet Interface Overview Ethernet is a family of frame-based computer networking technologies for local area networks (LANs) to connect multiple computers and devices. It is standardized as IEEE 802.3. Features Speed 10/100 MBit Full/Half Duplex Protocols IP, TCP, UDP, ICMP, DHCP, DNS, DDNS, ARP, BOOTP, HTTP, Telnet,...
Page 252
Programmers Guide TH230/TH230+ Service Menu A service menu is integrated in the TH230 printer, which allows the user to easily configure the printer, run several diagnostic tests and gain some information about the printer state and the built-in functionality. This chapter gives an overview about the handling and the content of the service menu.
TH230/230+ Programmer’s Guide Controlling the service menu The linefeed button (LF) controls the service menu. A short click of the LF button increments the selection and a long click (approx. 1 sec) executes the selected function or rather prints out the selected sub-menu.
Programmers Guide TH230/TH230+ Save changed settings In the configurations menu is it possible to change some Memory switches or customer values. If one or more changes are done, the user will ask for save this new setting. It is possible to ignore the save request and continue the settings. However, every “Exit/Save”...
TH230/230+ Programmer’s Guide Print Service Menu The print menu allows you to change the most important printer settings and gives you access to all diagnostic and information functions. Unlike the LED menu, the print menu expands over several menus with sub-menus. The current menu level is printed out.
Page 256
Programmers Guide TH230/TH230+ Main Menu / Diagnostic Diagnostic Exit Endurance Test Endurance Test Rolling Pattern Test Exit Sensor Test Run Test Unlimited Black Mark Test Run Test Limited Cutter Test (Full Cut) Rolling Pattern Test Cutter Test (Half Cut) Exit...
Page 257
TH230/230+ Programmer’s Guide Main Menu / Configuration / Hardware Hardware Power Button 1 Exit/Save 1 Exit Power Button Enable Button Max. Power Disable Button Black Mark Sensor Max Power Endurance Test 1 Exit Sleep Mode Set Max. Power to Auto iPRINT Settings Set Max.
Page 258
Programmers Guide TH230/TH230+ Main Menu / Configuration / Software Software Exit Power-ON Notice Power-ON notice Paper-NE Notice Exit Automatic Line Feed Transmit No. of Endurance Tickets Don't Transmit Legacy Printer Support Paper-NE Notice Listen To RT-Cmds Exit Enable Paper-NE Notice...
Page 259
TH230/230+ Programmer’s Guide Main Menu / Configuration / Print Options Print Options 1 Exit Print Speed Print Speed Paper Width 1 Exit Paper Width Paper Type 70 mm/sec 1 Exit Print Density 100 mm/sec New Paper Width 57.5 mm Color Print Density...
Page 260
Programmers Guide TH230/TH230+ Main Menu / Configuration / EEPROM & Counters EEPROM & Counters Exit Set EEPROM to Default Main Menu / Configuration / RS232 Communication RS232 Communication Exit Baud Rate Baud Rate Parity Exit Flow Control 1200 bps Bit Length...
Page 261
TH230/230+ Programmer’s Guide Main Menu / Configuration / Ethernet Settings Main Menu / Configuration / Ethernet Settings Ethernet Settings Exit DHCP DHCP Boot/P Exit Enable DHCP Disable DHCP Boot/P Exit Enable Boot/P Disable Boot/P...
Programmers Guide TH230/TH230+ Exit This command leaves the service menu. If there are changes of one or more unsaved settings, the user will be asked for saving. After that, the printer will perform a warm reboot. Print Selftest By using this command the printer performs a self test printout. It is the same function like started by the “(US) t”...
TH230/230+ Programmer’s Guide Every diagnostic function will be explained in the table below. Menu Description Available Options Exit/Save Endurance Test Run endless or limited (Nr. of This menu gives the ability to start the Endurance endurance test with several conditions.
Programmers Guide TH230/TH230+ Configuration - Menu In this menu section is it possible to change some printer parameter. It is very important to know what effects the change of a value. The procedure to save settings should be readed (see 0 Save changed settings – page 248) To leave this menu, choose “Exit/Save”.
Page 265
TH230/230+ Programmer’s Guide 4.2.6.5 Sleep Mode Cash Drawer Delay 0 sec, 0.5 sec, The minimum time between leaving Sleep 1 sec, Mode and opening cash drawer 1.7 sec, 2.5 sec, 5 sec...
Page 266
Programmers Guide TH230/TH230+ Software Menu Description Available Options 4.3.1 Exit Exit this menu level and give a save request, if there are unsaved changes. 4.3.2 Power-ON Notice Transmit, Don’t Transmit Select a power up notification on the communication interface 4.3.3...
Page 267
Without Clearing, Selects if and how the printer automatic With Clearing recovers from an error. 4.4.8 Receipt Shooting Select the usage of the TH230 Receipt Shooting. Receipt Shooting Enable/Disable 4.4.8.1 Enable Receipt Shooting, Enable or disable Receipt Shooting. Disable Receipt...
Page 268
Programmers Guide TH230/TH230+ 4.4.8.2 Receipt Shooting Time Endless, 2 sec, 5 sec, 10 sec, 30 sec, 60 sec Defines the flush time for the Receipt Shooting memory. EEPROM & Counters Menu Description Available Options 4.5.1 Exit Exit this menu level and give a save request, if there are unsaved changes.
Page 269
TH230/230+ Programmer’s Guide RS232 Configuration In this configuration menu, you can configure the parameters for use with one RS232 communications Interface. This interfaces boards are available with different options. Menu Description Available Options 4.6.1 Exit Exit this menu level and gives a save request, if there are unsaved changes.
Page 270
Programmers Guide TH230/TH230+ Ethernet Configuration In this configuration menu, you can configure the parameters for use with a Ethernet communication interface. Menu Description Available Options 4.6.1 Exit Exit this menu level and gives a save request, if there are unsaved changes.
TH230/230+ Programmer’s Guide Information - Menu In this menu is it possible to print out different information’s about the TH230 printer. Menu Description Available Options Exit Exit this menu level. Print Installed Code Pages That prints a printout with printer data and an overview of installed codepages.
TH230/230+ Programmer’s Guide Selftest Printout With the TH230 it is possible to print some self tests and printer information. The following table gives an overview about the printout versions. Menu Nr. Short self test Extended self Statistic Installed test report codepages service menu 2.
Page 274
Programmers Guide TH230/TH230+ Example of the Extended Selftest form: The self test starts with collecting the printer data. The short and the extended self test perform a simple Piezo test before the printout starts.
Page 275
• Manufacturer: “WINCOR-NIXDORF” • Printer Serial Number: “xxxxxxx” • PCB Version(TH230): HW dependant (starting with ‘A’) • Manufactured Board (TH230+): HW dependant (starting with ‘A’) • PCB production date … • Interface ID: “nn” • Interface board: “USB Full Speed”...
Page 276
Sleep Mode: (optional) • Waiting Time: timeout before switch to Sleep Mode • Interface Power: power of cash drawer and display (only TH230+) • Cash Drawer Delay: time from interface power on to open cash drawer Color Settings: (optional) • Color Density...
Page 278
Programmers Guide TH230/TH230+ Statistic Report: • Dots Total: total number of printed dots • Dots Actual: number of printed dots with current print head • Printhead Changes: number of changed print lines • Linefeeds Total: total number of executed line feeds in 1/7.52 inch •...
Page 281
TH230/230+ Programmer’s Guide Endurance test The endurancetest prints continuously a test pattern. There are two possibilities to start this test: 1. By diagnostic menu. If the Endurancetest was started from diagnostic mode menu, the test can be aborted by pressing the LF-Button for more than 1 second.
Programmers Guide TH230/TH230+ Endurance test Printout The width of the graphics depends on the setting of the paper width. The number of tickets is divided into two kinds. The first Ticket is a ticket with graphics (see below) and the following nine tickets are without graphics.
TH230/230+ Programmer’s Guide Black Mark test The printer moves the paper to the next black mark, prints three lines, moves the paper until the next black mark is underneath the cutter (one Form Feed) and cuts the paper. After this operation, the paper is moved backwards to the first print position (top of form).
Programmers Guide TH230/TH230+ Description of EERPOM Updates After switching on the printer the statistic counters, which are stored in the EEPROM, were copied into the RAM. Up from that point the statistic counters are accumulated inside of the RAM. This means, actual statistic counters, which are stored in the RAM and EEPROM statistic counters are different! The first time after switching on the printer, the statistic data are saved after 7,5 minutes.
TH230/230+ Programmer’s Guide Calculating Power On Time The Power on time is calculated by subtracting the Power on counter from the EEPROM update counter and dividing afterwards by 4. This calculation of the Power on time is correct, because the EEPROM update counter is increased and saved every 15 minutes.
Print Speed up to 220 mm/s Print Speed up to 300 mm/s TH230+ Draft Print Speed Color up to 110 mm/s (with 2 color paper) Print Width With 80 mm Paper: 72 mm = 576 dot With 57.5 mm Paper: 51 mm = 408 dot Top Margin 5 mm incl.
Page 287
WPC1257 (Baltic) WPC28594 (Baltic) Character Matrix Font A: 13 * 24 Dots Font B: 10 * 24 Dots Electronic Board Dimension 124 mm * 110 mm TH230+ and iPRINT ARM7 - ATMEL AT91SAM7SE Microcontroller TH230 ARM7 - ATMEL AT91M55800 Microcontroller FLASH Memory 16 MBit (1M * 16) - 3.3V...
Page 289
TH230/230+ Programmer’s Guide Special Statistical Data Features Self test and Diagnostic Functions Paper Loading - Clamshell, Easy Drop Paper Reverse yes possible to full cut with automatic reverse feeding by Feeding command GS V (see page 155) Operating/ Climatic Operation conditions:...
Page 290
Programmers Guide TH230/TH230+ Mechanical Mechanic test conditions: Requirements (EC 721) Environmental classes/conditions : Stationary operation, Operating: weather protected DIN EN 60721-3-3 Class 3M3 printer on, Class 3M2 printing attempts/printouts during test Transport conditions DIN Non Operating: EN 60721-3-2,Class 2M2 printer off Remark: The stress...
TH230/230+ Programmer’s Guide ERROR Blink Pattern Recoverable Errors The following table shows the blink pattern of all errors, which could be recovered by DLE ENQ 2 or by opening and closing the cover. These patterns are called “positive” blink patterns because the user has to count how many times the Error LED (red) is switched on.
Programmers Guide TH230/TH230+ Power-Up-Test Errors After power-on of the printer, several self tests are executed, before starting the printer firmware itself: Error Description Yellow/Red LED Blinking Pattern Approximately 240 ms None valid Loader There is none valid Loader (SST) All three LEDs are permanently...
Page 293
Wincor Nixdorf International GmbH, 2013 D 33094 Paderborn...
Need help?
Do you have a question about the TH230 and is the answer not in the manual?
Questions and answers