Page 1
Programmer’s Reference Manual English L A B E L P O I N T Command Language Thermal Printers Compact & Nova...
Page 2
In no event will Datamax be liable for direct, indirect, special, incidental or consequential damages resulting from any defect in the software or its documentation. In particular, Datamax shall have no liability for any programs or data stored in or used with Datamax products, including the costs of recovering such programs or data.
Dormant print (or trigged printkey) ... 32 Status request 1 ... 33 Out of paper ... 33 Label not removed (LTS)... 33 Printer restarted... 33 No paper in label sensor... 33 Out of ribbon... 34 Heap error ... 34 Status request 2 ... 34...
Page 4
Out of paper ... 36 Label not removed (LTS)... 36 Out of ribbon... 36 Head lifted... 36 Internal print button ... 36 Printer restarted... 36 Status request 8 ... 37 LTS installed... 37 C board installed... 37 Cutter installed ... 37 Black mark photocell ...
Page 5
!S3 ... 80 !S4 ... 81 !S8 ... 81 Service Commands ... 82 Printer configuration ... 84 Bar code symbologies ... 87 Example 1a - The shoe example ... 88 Example 1b - The shoe example with variables ... 89...
The Labelpoint command language Introduction The thermal printer family features a simple yet powerful command language, Labelpoint II (LP II). This allows the printers to be controlled from most computers. Most common bar code symbologies are available. Text and bar codes can be printed in all four directions simultaneously.
Page 7
The printer receives characters and interprets them as commands or as data. A command instructs the printer to perform some action, e. g. create a field in the label layout. Data can, for example, be variable data that is to be included in the print-out, or it can be a sequence of commands that are to be stored in the printer file system.
The coordinate system is shown below: paper feed direction The X coordinate grows across the print head, from right to left, viewing the printer from the front. The Y coordinate grows as the paper is fed out. All fields have a print direction, which is specified by the up vector. This is the "natural" up direction of the field.
Page 9
When the label layout with fixed data has been loaded in the printer the variable data (i. e. text that changes for each printout) is sent, followed by the print command to print one or more labels.
Page 10
!F B N 120 90 L 80 240 When sending this layout to the printer, you’ll get a 5 x 4 cm label with a black box at the top, the size and price of the shoe, and a barcode at the bottom.
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands Defining a text field There are two different types of textfields, scalable and bitmap fields. Bitmap text fields are deprecated, that is, not recommended for new designs but kept in this manual for backward compatibility.
Page 12
Labelpoint uses Agfa Universal Font Scaling Technology® to generate scalable font characters. Fonts are stored in either Agfa MicroType™ format or TrueType format. There are ten fonts included in the printer. The printer also emulates a number of italic fonts styles for sans serif fonts.
Page 13
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands PCL typeface name Arial (emulated) Arial Italic (emulated) Arial Bold (emulated) Arial Bold Italic (emulated) Times New Roman (emulated) Times New Roman Italic (emulated) Times New Roman Bold (emulated) Times New Roman Bold Italic (emulated) PCL typeface number 24459 24460...
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands Bitmap text field (deprecated) Bitmap text fields are deprecated. This section is kept for backward compatibility reasons. Use scalable fonts instead. Syntax !F T <u> <b> <p> <a> <h> <w> <f> <”text”> Note! Parameters enclosed in <> are required and parameters enclosed in [] are optional.
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands The text to be printed The text parameter can contain both fixed text and references to variable information that changes after each print cycle. Fixed text Fixed text is entered with the keyboard with som exceptions. %, “...
Note! Earlier versions of Labelpoint did not support best-before dates, week numbers, julian date, week day. Some programs, like Viewpoint, used a similar syntax internally, which was converted to static text before sent to the printer. Output 10/02/1998 (ten days best-before date)
Example: !F T N 100 100 L 12 0 94021 “Printer SÄTERIGATAN 20 S-417 64 GÖTEBORG, Sweden” Note! If a % or " character is to be printed it must be entered twice (%% or ""), to distinguish it from a % character marking a reference, or the "...
Page 18
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands 200% !Y162 0 // Turn off reverse video mode Page 14...
Page 19
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands Defining a barcode field This section describes how to create and select barcodes to be printed. Syntax !F C <u> <b> <p> <a> <h> <w> <s> [d] <”text”> The parameters have the following meaning: <u>...
Numeric code, variable length. If a check digit is required, it can be inserted with the %Z command. The code must contain an even number of digits. The printer will therefore insert a leading 0 if necessary. If the 2:1 ratio is used, a minimum width expansion of 4 is required.
Page 21
- Code 128 function codes -. Variable length. The same as Code 128, except that the printer automatically inserts a FNC1 as the first character. This is unique for the EAN 128 code. (, ) and space characters are filtered in the barcode, but printed in the human readable text.
Page 22
Note! Avoid using a width value of 1 when using 2:1 or 3:1 ratios. The resulting bars will be too thin for most codes. Numeric code, fixed length. Requires 13 digits of input data. The printer automatically appends the check digit. A frame is printed around the barcode.
Label layout definition commands Bar code interpretation The printer will automatically print a human-readable text line below the bar code if it has been configured to do so. (The command is described in section - Printer configuration -). This can be done individually for each bar code in a label layout. The command to enable human-...
More described in – PDF417 -. Matrix code. Numeric data, variable length. 5 to 20 digits. The printer automatically appends the check digit. The USD-5 code always has the same size, so <h> and <w> should be set to 1.
Page 25
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands MaxiCode mode 2 MaxiCode mode 3 MaxiCode mode 4 MaxiCode mode 5 Data matrix Table 2 – 2D code symbologies in Labelpoint Matrix code developed by UPS (United Parcel Service) which can encode about 100 characters of data in an area of 28x27 mm.
"??[" or "??{" is interpreted as the ESC character (ASCII 27 = 1B yields a single '?' in the code. It is thus possible to encode two consecutive ?'s by sending "????" to the printer. Escape sequences that do not fit any of the above alternatives are ignored.
RSS-14 is a linear symbology that supports omni-directional scanning. It encodes full 14- digit EAN/UCC Item Identification. RSS-14 is dimensioned as 96X wide by 33X high. X equals "X" dimension or narrow bar width. The check-digit is added by the printer. Example: !F C S 200 1000 L 200 4 64 "1541215000015"...
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands MaxiCode MaxiCode is a two-dimensional symbology built up by an array of hexagons surrounding a central recognition pattern (bullseye). Reed-Solomon error correction is used to ensure integrity of the encoded data. Structured Carrier Message The primary message in modes 2 and 3 contains the following formatted data: Ship to Postal Code, Ship to Country Code ISO 3166 3-digit code, Class of Service.
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands Escape Sequences Nonwritable characters can be sent with the standard Labelpoint escape sequence \x<hh>. Note that if either ASCII 0A hex or ASCII 0D hex shall be part of the data stream, the \0a or \0d style escape sequence must be used.
PDF417 the following command could be sent to the printer. Example: !F C N 400 200 L 6 2 61 "Printer prints\0DPDF417\0D" To improve readability when looking at program listings, etc. it could also be sent as follows: !F C N 400 200 L 6 2 61 "...
Page 31
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands !V61 <n> where <n> is the desired security level. For example, to set the security level to 6, enter the command !V61 6 Page 27...
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands QR Code The QR Code has two main options: Correction level and masking pattern. They are set with an escape sequence in the data string. Correction level The correction level is set with the sequence \L<x>...
Page 33
PROGRAMMER’S REFERENCE MANUAL Label layout definition commands Defining a line/box field A line/box field appears as a black area on the label or as a frame window. Diagonal lines can be made using Syntax II. Syntax I !F B <u> <b> <p> <a> <h> <w> <b> Syntax II !F B D <y0>...
Page 34
For information on how to download graphics files, see section ‘File System’. Examples: !F G N 300 500 C 1 1 "Printer" This command creates a field linked to the graphics file named PRINTER.G File name containing variable information. !F G N 300 500 C 1 1 "FILE%1V"...
Lines that are not commands (i. e. lines that do not begin with the command character) are assumed to be variable information (text). The printer counts the number of variable text lines received, and each line is assigned to the next variable text. The first line of text is copied to variable text no.
The dormant print mode is useful if the printer is to be used standalone to generate unique printouts without having to be connected to a host after the layout is loaded and/or it is important that only a specific amount of unique labels are to be printed, but not all at once.
This flag is set if there is currently no paper in the paper sensor. This can occur if there is no paper in the printer or if a label gap happens to be in the paper sensor. If there is no possibility of a label gap being positioned in the label sensor when the printer stops after a print cycle this flag can provide additional security.
If so, the printer will enter a cool down state, which is indicated by this status flag. The LED will be flashing with a red light and the internal fan will run at maximum speed until temperature has decreased to operational level.
Internal print button This flag is if the print button on the printer is pressed at the moment the status request is issued. Label stock The printer automatically detects the type of paper installed (labels or continuous). If label...
Print head is lifted. Printing cannot continue until print head has been restored to print position. Note! This feature requires optional hardware for Compact models. Internal print button Described above. Printer restarted Described above. not used printer restarted not used...
PROGRAMMER’S REFERENCE MANUAL Service commands Status request 8 LTS installed ‘1’ LTS is installed. Note! Only Nova models have this feature. C board installed For Compact models, this flag has two different meanings depending on the version of the power supply board currently installed. Power supply board version 1 ‘1’...
9 [m] Software revision level. If parameter m is zero or omitted, the printer responds with a string of the form 4.12. If m is equal to 1, the internal revision is appended. Example: 4.12.07. Software date. The printer responds with a string of the form Feb 19 1999 10:28:20 Label count.
Page 43
24 <“name”> Get logo information. Quotes must be entered. The string ‘name’ is the name of a logo stored in printer file system. The response is a string of four numbers describing the logo (height, width, orientation and number of bytes per row).
Page 44
Get printer serial number. 74 <m> If m = 1 the printer will send a form-feed character (ASCII 12= 0C at the beginning of every print cycle. m = 0, disables this function This command allows an external controller to monitor the number of print cycles without polling the printer.
Page 45
Get active port. Responds with the currently active port. Valid responses are COM1, COM2 and TCP23. Get the name of the current printer model (e.g. MP Nova6 TT) Special service commands The following service commands are ‘silent’ commands and will not respond with CR.
Printer settings Printer settings The printer settings can be set on command from the host computer. The initial settings used at power-up are stored in non-volatile memory. Some settings can be changed during operation while others always retain their power-up value. Using the commands described...
Page 47
(i.e. yww). 16 <n> Force DT. Only used by TT printer models to be able to use the printer in DT mode, that is, without ribbon sensing. Valid values for n are {0, 1} and they...
Page 48
Its size is usually not important since handshaking between the printer and the host ensures that data is not sent faster than the printer can handle. Valid values for n are {500, 501, …, 10000}. Default is 2000 bytes.
Page 49
ASCII code numbers. Default is 33 (‘!’). 39 <n> LTS enable. Normally, when a LTS is installed, the printer will check that the label has been removed between printouts. This parameter can be used to disable that check but still keep the LTS installed. Valid values for n are {0,1}...
Page 50
50 <n> Silent mode. When transferring graphic files this parameter can be used to disable ACK/NAK responses from the printer. Valid values are {0,1} and they are interpreted as follows: 0 = printer will respond using ack/nak during file transfers 1 = printer will not respond during file transfers (default).
Page 51
92 <n> Stacked printers mode (daisy chaining). Used when sending commands to a specific printer in a daisy chain. This requires the receiving COM port to be set to ‘Printer’ mode and the transfering COM port to ‘Stacked printer’ mode.
Page 52
Linespacing, in percent of total font height. This parameter sets the distance between the lines in a textfield containing a CR. Valid values for n are {0, 1, …, 999}, where 0 is the default value and interpreted by the printer as 100%. <n>...
Page 53
PROGRAMMER’S REFERENCE MANUAL Printer settings <n> TCP port for COM1. Valid when communication mode is set to terminal server mode. See parameter 150. See section ‘Communication ports’ for further information. <n> Communication mode for COM2. Valid values for n are {0, 1, 2} and they are...
Page 54
PROGRAMMER’S REFERENCE MANUAL Printer settings 167 <n> Media position sensor (MPS). The MPS can operate in three different modes, which may be changed depending on how and where labelgaps are positioned. The different modes are realized by selecting the inner, outer or black mark sensor.
Page 55
Note! Parameter 178 must also be specified in order to activate the check. <n> RAW data port number. A user defined port number can be specified to be able to send RAW TCP data to the printer. Valid values for n are {1024, 1025, …, 65535}. Default is 9100. 185 <n>...
The purpose of the PHD functionality is to continuously scan through the print head to find out if any dots are failing. The scanning process is active as soon as the printer becomes idle. Use service command 33 to find out if any failing dots are found and use service command 34 to find out at what position the failing dots were found at.
Telnet port and a HTML version can be accessed through the built-in webserver. HTML version Before accessing the web server in the printer, all network information in the printer must be set. See section ‘Communication ports -> NET’ for more information.
They are used to encapsulate print jobs, that is, a number of label print- outs. The Compact printer may be equipped with a cutter. The cutter is automatically detected and normally no manual commands are needed, but for some situations there are commands to further control the cutter.
When the optional LTS is installed it is active by default, that is, after each print-out the printer waits for the label to be taken before it continues with the next print-out. The LTS can be turned off by the command:...
SendLayout(), SendVariable(), PrintLabel() etc. Network printer To be able to use the printer in a network an IP address must be specified. This can be done with the internal configuration menu or by using service commands. When an IP address is set it is possible to use different protocols by connecting to the corresponding logical port.
This chapter describes how to store macros and graphics in the printer file system. Macros Commands and variable texts sent to the printer can be stored in the printer's file system and retrieved on command. Such a sequence of data is called a macro and is equivalent to the same commands received from the computer.
PROGRAMMER’S REFERENCE MANUAL Printer File System Graphics Graphics can be loaded into the printer’s file system. The procedure is similar to that for loading macros. Graphics data must be transmitted in Intel Hex format. Intel Hex format is described in Appendix A.
Only counters that are referenced in the print format will be updated after the print cycle. This makes it possible to maintain different counters for different labels. All counters retain their value when the printer is switched off and will continue where they left off when the printer is again switched on and printing resumed.
/ 10 mm of paper. The paper is fed backwards (into the printer) if <n> is negative. This command is not so often used since the automatic reverse feed parameter was introduced. It can be used when printing a batch of labels. Then only the first label needs to be retracted, and after the last label has been printed, the paper is fed out for tear-off position.
RTS or XON/XOFF flow control, or both. Small amounts of data can be sent without flow control, but if the printer cannot suspend the data flow from the host it may not be able to preserve all the data it receives when it runs of paper.
If a gap is detected the printer feeds the next label to the print area, and then it feeds the selected dispensing feed length to position the next label for printing.
Page 67
PROGRAMMER’S REFERENCE MANUAL Appendix A: Intelhex Records. The printer indicates certain events or states by using the LED. The indications have the following meanings: Green Normal operation. Flashing green Firmware update of I2C board in progress. Note! Nova models only.
Appendix A: Intelhex Records. Appendix A: Intel Hex file format Binary data (e. g. logos, and program code) is sent to the thermal printer in Intel hex format. This is an ASCII data format widely used for transferring binary data between computers and to PROM programming devices.
End record This record must be the last record in a transfer. = 00 aaaa = 0000 (not used) = 01 Since the address field is not used by the printer the end record always has the form :00000001ff Page 65...
PROGRAMMER’S REFERENCE MANUAL Appendix A: Intelhex Records. Labelpoint load graphics command When using the Labelpoint load graphics command, needed, since Labelpoint decides automatically where to store the graphics file. Graphics format Graphics are stored as bit-mapped graphics, where a bit set to 1 represents a black dot on the paper.
PROGRAMMER’S REFERENCE MANUAL Appendix B, Binary Intelhex Records Appendix B: Binary Intelhex Records The binary intelhex records were designed to improve download speed of graphics data to the printers. The format is supported by MkII, Compact and Nova series of printers. A binary record (line) has the following structure: ;...
PROGRAMMER’S REFERENCE MANUAL Appendix B, Binary Intelhex Records Appendix C: Code Pages Code page 850, MS-DOS Latin 1 " & 6 Swedish/Finnish character set (7-bit) " § % 5 & 6 A B C D E F 0 @ P Ç...
PROGRAMMER’S REFERENCE MANUAL Appendix B, Binary Intelhex Records German character set (7-bit) " § % 5 & 6 UK character set (7-bit) " £ § % 5 & 6 A B C D E F 0 @ P Ç É á...
PROGRAMMER’S REFERENCE MANUAL Appendix B, Binary Intelhex Records French character set (7-bit) " £ § % 5 & 6 Norwegian/Danish character set (7-bit) " § % 5 & 6 A B C D E F à Ç É á 1 A Q ü...
PROGRAMMER’S REFERENCE MANUAL Appendix B, Binary Intelhex Records Spanish character set (7-bit) " § % 5 & 6 Italian character set (7-bit) " £ § % 5 & 6 A B C D E F 0 @ P Ç É á...
PROGRAMMER’S REFERENCE MANUAL Appendix B, Binary Intelhex Records Code page 861, MS-DOS Icelandic " § % 5 & 6 A B C D E F 0 @ P Ç É á 1 A Q ü æ í é Æ ó â...
PROGRAMMER’S REFERENCE MANUAL Appendix B, Binary Intelhex Records Code page 1252, Windows Latin 1 (ANSI) In Labelpoint, this code page was previously called ‘DEC Multi-national’ which means ISO 8859-1. ANSI-1252 is superset of ISO 8859-1 with characters between 80 and 9F added. "...
PROGRAMMER’S REFERENCE MANUAL Appendix B, Binary Intelhex Records Code page HP Roman-8 " & 6 Code page 852, MS-DOS Latin 2 (Central Europe) " & 6 A B C D E F 0 @ P 1 A Q À Ý Â...
PROGRAMMER’S REFERENCE MANUAL Appendix B, Binary Intelhex Records Code page 1250, Windows Latin 2 (Central Europe) 0 @ P 1 A Q " 4 D T & 6 7 G W g w 8 H X h < = M ] >...
PROGRAMMER’S REFERENCE MANUAL Appendix B, Binary Intelhex Records Code page 1251, Windows Cyrillic (Slavic) " & 6 Code page 1253, Windows Greek " & 6 A B C D E F 0 @ P p Ђ ђ 1 A Q Ѓ...
PROGRAMMER’S REFERENCE MANUAL Appendix C: Code Pages Code page 1254, Windows Latin 5 (Turkish) " & 6 Code page 1257, Windows Latin 6 (Baltic Rim) " & 6 A B C D E F 0 @ P € 1 A Q ‘...
Execute macro Set counter Print Clear variable information Status request Service command Change a single variable Get printer configuration parameter Set printer configuration parameter Make settings permanent Status requests heap error not used not used out of ribbon (TT models only) immediate value from gap sensor (‘1’...
Page 84
PROGRAMMER’S REFERENCE MANUAL Apendix C, Quick Reference Guide layut outside label not used not used last paper movement type not used cool down state print incomplete stopped on a label gap not used label stock not used internal print button active not used operating parameters error invalid barcode/2D code specified...
PROGRAMMER’S REFERENCE MANUAL Apendix C, Quick Reference Guide not used printer restarted not used internal print button active head lifted out of ribbon (TT models only) label not removed (LTS) out of paper PHD board installed Black mark photocell Cutter installed...
PROGRAMMER’S REFERENCE MANUAL Apendix C, Quick Reference Guide Service Commands Software revision level !V11 Software date !V12 Label count !V13 Available dynamic RAM (bytes) !V15 Total paper feed (mm) !V16 PROM number !V17 Total paper feed !V19 Free file system size (bytes) !V20 Set time (Ex: !V20 14:30:00) !V21...
Page 87
!V114 Get RF tag serial no !V115 Set terminal client login script !V116 Get terminal client login script !V117 Get active communications port !V120 Get printer model !V3194 Delete files !V3196 Restart !V3200 Reset parameter values !V3201 Disconnect port !V35183...
PROGRAMMER’S REFERENCE MANUAL Apendix C, Quick Reference Guide Printer configuration Print speed (mm/s) Barcode speed (mm/s) Blank feed speed (mm/s) Print head type Dots per mm Motor steps per mm (24) Dots on head Dot mode (0 = XOR, 1= OR)
Add a box field to the layout. Note! This field entierly covers the “testlabel” field, the result will be a black box with the white text inside, since the printer uses the XOR bit manipulation for overlapping fields. Page 88...
!F C S 100 1000 L 150 2 41 "%1V" !F B S 430 1010 L 80 240 0 Now after we have downloaded the field layout to the printer, we can send the variable information to the printer. 62.50 To print another label with another price we send another data set for the variables.
See - Status request 1 or 4 - Paper feed ...49, 61 Paper type ...47 PDF417...See - Barcodes - Position ...4 Print area ...4 Print commands...32 Printer configuration...43 RTS/CTS ...62 Service commands ...39 Status request 1...34 Status request 3...36 Text field ...7 Time Get time ...
Need help?
Do you have a question about the MP-Compact4 and is the answer not in the manual?
Questions and answers