Command Documentation m600 Basic 2.5 English
Command Documentation m600 Basic 2.5 English
Command Documentation m600 Basic 2.5 English
m600 basic
Command documentation
08 July 2011
Contents
1 Structure of labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.1 Header 1
1.2 Text fields 3
1.3 Counter 3
1.4 Time 5
1.5 Shift code 6
1.6 Date 7
1.7 Bitmap field 8
1.8 Barcodes 9
1.8.1 EAN13 9
1.8.2 EAN8 9
1.8.3 UPC-A 10
1.8.4 EAN128 10
1.8.5 Code128 11
1.8.6 2/5i 12
1.8.7 Code39 12
1.8.8 Datamatrix 13
1.8.9 GS1 Datamatrix 14
2 Commands for TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
2.1 Description 15
2.2 Data exchange commands 16
2.2.1 C command: Save label to the m600 basic(*) 16
2.2.2 D command: Transfer a label from the m600 basic flash disk to the host 17
2.2.3 L command: Open a label from the m600 basic flash disc (*) 17
2.2.4 M command: Save the currently opened label onto the flash disk 17
2.2.5 V1 command: Transfer a loaded label to the host 18
2.2.6 V3 command: Transfer data of the next printing operation 18
2.2.7 V6 command: Transfer name of the loaded label to the host 18
2.2.8 Q command: Change label elements in the print buffer 19
2.2.9 TR command: Read time and date from the m600 basic 20
2.2.10 E command: Load/Prepare label for printing(*) 20
2.3 Controlling printing 21
2.3.1 F2 command: start printing 21
2.3.2 F0 command: Print halt 21
2.3.3 I2 command: Status read command 22
2.3.4 I5 command: Reading the belt speed 23
3 Installation settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
1 Structure of labels
This section describes the structure of the labels. The label files are pure ASCII files which are structured
into the following fields:
The header contains the version code and the printer settings pertaining to the label in question.
1.Text fields are used for constant texts which do not change during printing.
2.Counters are numeric fields whose contents is incremented or decremented during the printing process.
3.Time fields contain a time in a defined display format.
4.Shift code fields contain a shift code; up to 4 different shifts are possible.
5.Date fields contain a date in a defined display format.
6.Bitmap fields contain a reference to a standard Windows bitmap.
7.The following barcodes:
a)EAN13
b)EAN8
c)UPC-A
d)EAN128
e)CODE128
f) CODE25i
g)CODE39
h)Datamatrix
i) GS1 Datamatrix
The precise structure of the various label fields is described in the following sections. The fields are coded
with printable ASCII characters; the elements of the fields are separated by commas, the fields as such by
the “newline”, with several fields, however, covering various lines. Unless otherwise specified, all position
and length data items are indicated in 1/10 mm. The maximum length of a line is 255 characters, including
the “newline” character. The following description lists up the elements of the individual fields, and
subsequently specifies an example line.
1.1 Header
0,2,2540,5008<lf>
2,0,0,3,0,0,0,0,0,1<lf>
• As of the fourth line, the settings per print head appear. There are as many lines as there are print
heads with the same structure available:
1.the distance before in 1/100 mm: the distance from the beginning of the product until the
beginning of the print length.
2.the print length in 1/100 mm: this is the length for the printing area which is available for
positioning the print data (also called "label length").
3.the distance after in 1/100 mm: this is the distance upon completion of the print length during
which the print trigger signals are ignored by the trigger input.
This is, as a rule, the distance from the end of the print length to the end of the product less the
sensor distance. This is to prevent a photoelectric cell used e.g. for triggering from triggering an
additional, undesired printing process due to contrast fluctuations on the product.
4.Spitting: Currently 4 predefined values 0 appended! These values are obsolete and are not used!
None of these values can be changed.
1000,10000,500,0,0,0,0,<lf>
1000,10000,500,0,0,0,0,<lf>
Text fields are coded in two lines. The first line comprises the parameters and the second line the contents
of the text field.
T,Text1,100,127,1,222,arial,normal,63,0<lf>
Testtext<lf>
1.3 Counter
• Line1:
1.Counter field code Z
2.Field name
3.X position
4.Y position
5.Text length
6.Font
7.Style
8.Font size
9.Text alignment
- 0°
- 90°
- 180°
- 270°
10.Counter status
11.Increment
12.Number of positions, max. 10 positions
13.Number of batches; number of prints as of which the counter is to be incremented
14.Batch counter
15.Form
- 0: do not print leading zeros
- 1: print leading zeros
16.Alignment
- 0: left-justified - value cannot be changed
17.Separator in thousands’ positions
- 3: no separator - value cannot be changed
18.Sign
- 0: Print sign only if counter value is negative - value cannot be changed
19.Update mode
- 0: Counter is incremented per print
- 1: Counter is only incremented when sensor changes
- 2: Counter is incremented or reset by external trigger
20.Alarm mode
- 0: No alarm is to be triggered when reaching the final value - value cannot be changed
21.Filling mode with right justification
- 1: Leading blanks are used for right-justified counters - value cannot be changed
22.Action when reaching the final value
- 0: Re-start counter
- 1: Stop printer (= STOP)
- 2. Ignore
23.Start value for repetition
24.Final value for repetition
25.Power-fail safe feature
- 0: there is neither a power fail-safe nor a tamper-proof counter – the value cannot be changed
and is obsolete!
• Line2:
1.Count character: 0123456789 - value cannot be changed
Z,Counter1,100,0,1,500,arial,normal,64,0,4711,1,8,10,7,0,0,3,0,0,0,1,0,0,0<lf>
0123456789<lf>
1.4 Time
The parameters for the time field are coded in two lines:
• Second line:
This line contains the description of the format string.
%S:%I:%E<lf>
C,Time1,0,0,100,arial,normal,63,0,1,1,0,0,0,0<lf>
%S:%I:%E<lf>
• The second line contains the format string. At present, only %U<lf> is admissible as format string.
• The third line contains, separated by commas, the character strings of the various shifts. Thus, the
number of character strings is identical to the number of shift codes specified in the first line; max.
three characters can be set.
• The fourth line contains, separated by commas, the times of day as of which the shifts in question
apply. A shift applies always until the next defined shift begins. The times must be specified in seconds.
Thus, the number of character strings is identical to the number of shift codes specified in the first line.
S,Shiftfield1,0,0,100,arial,normal,63,0,3,0,0<lf>
%U<lf>
M..,S..,N..<lf>
21600,50400,79200<lf>
1.6 Date
• Second line:
This line contains the description of the format string.
• The third line contains the terms for months, starting from January, separated by commas. The
maximum number of positions of a term is 15 characters.
• The fourth line contains the terms for week-days, starting from Sunday, separated by commas. The
maximum number of positions of a term is 15 characters.
• The fifth line contains character strings for the days of the month from 1 ... 10. The maximum number
of positions of a term is 15 characters.
• The sixth line contains character strings for the days of the month from 11 ... 20. The maximum
number of positions of a term is 15 characters.
• The seventh line contains character strings for the days of the month from 21...31. The maximum
number of positions of a term is 15 characters.
D,Date1,600,127,400,arial,normal,63,0,4,1,0,0,0,3,0,0<lf>
%W, %D.%M %Y<lf>
Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec<lf>
Sun,Mon,Tue,Wed,Thu,Fri,Sat<lf>
01,02,03,04,05,06,07,08,09,10<lf>
11,12,13,14,15,16,17,18,19,20
21,22,23,24,25,26,27,28,29,30,31<lf>
I,Bitmap1,0,254,800,254,0,logo.bmp<lf>
1.8 Barcodes
1.8.1 EAN13
1.Barcode identifier B1
2.Field name
3.X position
4.Y position
5.Field length
6.Barcode height
7.Alignment
- 0°
- 90°
- 180°
- 270°
8.Scaling in percent
9.Bar width reduction in pixels
10.Digits
- 0: Write no digits; all bars of the same length
- 1: Write plain text digits, only “guard patterns” have long bars
11.Barcode (max. 12 digits, thirteenth digit is calculated automatically)
B1,Barcode1,0,0,500,127,0,80,2,1,9783893196647<lf>
1.8.2 EAN8
1.Barcode identifier B9
2.Field name
3.X position
4.Y position
5.Field length
6.Barcode height
7.Alignment
- 0°
- 90°
- 180°
- 270°
8.Scaling in percent
9.Bar width reduction in pixels
10.Digits
- 0: Write no digits; all bars of the same length
- 1: Write plain text digits, only “guard patterns” have long bars
B9,Barcode1,0,0,500,127,0,80,2,1,13032005<lf>
1.8.3 UPC-A
1.Barcode identifier B2
2.Field name
3.X position
4.Y position
5.Field length
6.Barcode height
7.Alignment
- 0°
- 90°
- 180°
- 270°
8.Scaling in percent
9.Bar width reduction in pixels
10.Digits
- 0: Write no digits; all bars of the same length
- 1: Write plain text digits, only “guard patterns” have long bars
11.Barcode (max. 12 digits)
B2,Barcode1,0,0,500,127,0,80,2,1,123456789012<lf>
1.8.4 EAN128
9.Text line
- 0: Plain text line above barcode
- 1: Plain text line below barcode
- 2: no plain text line
10.Distance between plain text line and barcode
11.Character height
12.Font style of plain text line
13.Font of plain text line
B3,Barcode1,0,0,70,0,40,2,1,10,60,normal,arial<lf>
(10)Barcode Ean128<lf>
1.8.5 Code128
B4,Barcode1,0,0,70,0,40,2,1,10,60,normal,arial<lf>
Barcode Code128<lf>
1.8.6 2/5i
B6,Barcode1,0,0,70,0,150,200,1,2,1,10,60,normal,arial<lf>
1234567890<lf>
1.8.7 Code39
9.Checksum/Delimiter
- 0: do not calculate check digit
- 1: calculate check digit
10.Bar width reduction in pixels
11.Text line
- 0: Plain text line above barcode
- 1: Plain text line below barcode
- 2: no plain text line
12.Distance between plain text line and barcode
13.Character height
14.Font style of plain text line
15.Font of plain text line
B5,Barcode1,0,0,70,0,150,200,1,2,1,10,60,normal,arial<lf>
ABCD1234567890<lf>
1.8.8 Datamatrix
- 12: 44 x 44
- 13: 48 x 48
- 14: 52 x 52
- 15: 64 x 64
- 16: 72 x 72
- 17: 80 x 80
- 18: 88 x 88
- 19: 96 x 96
- 20: 104 x 104
- 21: 120 x 120
- 22: 132 x 132
- 23: 144 x 144
- 24: 8 x 18
- 25: 8 x 32
- 26: 12 x 26
- 27: 12 x 36
- 28: 16 x 36
- 29: 16 x 48
- 30: auto
9.Matrix type
- 0: square
- 1: rectangular
10.Module size
11.Bar width reduction in pixels in X direction
12.Bar width reduction in pixels in Y direction
13.Number of following lines for ASCII data. Up too three lines are admissible.
B7,Barcode1,0,0,800,70,0,5,0,20,2,2,1<lf>
A small Datamatrix
The GS1 Datamatrix is described as is the Datamatrix, with the following exceptions:
Ba,Barcode1,0,0,800,70,0,5,0,20,2,2,1<lf>
(17)010806(10)ABC123<lf>
2.1 Description
The commands of the m600 basic are distinguished according to the following characteristics:
The commands as such are ASCII-coded and are terminated by <eot>. Sometimes, <etx> or <lf> and <ht>
are also used as special characters. Each command returns an Acknowledge which also ends with <eot>.
table 1 shows the abbreviations used.
If execution of a command cannot be completed immediately, such as e. g. load from/save to the flash disk,
the command READ READY in bit 1 can be used to ascertain when the command has been terminated.
Some commands are still being executed and have not been terminated yet, although a feedback to this
command has already been sent.
Although a command is still being executed, the Status Read command (I2) can be used to interrogate. If
the busy bit (Bit1) is set to 1, the command is still being executed.
If this busy bit has been reset (set to 0), processing of the command has been completed and the next
command can be executed.
The m600 can only process one command at a time whose execution takes longer than the feedback signal,
properly speaking, to the command.
Thus, it must be ensured that no command is currently being processed (busy bit = 0) when a new
command whose execution also takes longer than its direct feedback signal is issued.
These commands are identified by (*) in the description!
These commands are primarily used to transfer labels to the m600 basic or from the m600 basic to the host
computer. These commands do not interfere with the printing process, so that they can be used during
printer operation.
ATTENTION:
If a label contains a bitmap, the label file only contains a reference to the bitmap file pertaining to it, but
not the bitmap as such.When transferring such labels, the operator must ensure that all appropriate bitmaps
are located on the flash disk.
This command is used to transfer a label to the m600 basic and to save it to the flash disk. The file name is
transferred together with the command.
C,my label.lbl<lf>
If the file name already exists on the flash disc of the m600 basic, the old label is overwritten by the new one.
Thus, the operator must check using existing labels whether a label can be overwritten.
The labels available on the m600 basic can be checked on the host computer via \\basicSerialNumber in the
labels menu.
Subsequently, the contents of the label, as described in chapter 1, follows line by line. <eot> must be
transmitted at the end. Then, the m600 basic transmits an 8-bit checksum of the label. The checksum is
used to verify correct data transmission.
For example
<0x78><eot>
(1)
1. In words: add all bytes, invert the sum and use only the lowest 8 bits of this inverted sum as checksum.
2.2.2 D command: Transfer a label from the m600 basic flash disk to the host
This command is used to transfer a label from the flash disk to the host. The file name is transferred together
with the command.
D,my label.lbl<eot>
If only <eot> is returned by the m600 basic, the requested file is not present, otherwise, the m600 basic
sends the label file as described in chapter 1. This is followed by <etx> = 0x03, the checksum and <eot>.
As soon as this command has sent its reply, it is terminated.
2.2.3 L command: Open a label from the m600 basic flash disc (*)
NOTE
Due to the logic of the m600 basic, with the printer set to OK, the newly opened label is
printed immediately once the L command has been issued.
L,my label.lbl<eot>
<eot>
a Meaning
0<eot> File has been opened correctly
The command (I2) READ STATUS is used to interrogate the moment when execution of the command is
complete. As long as the command is being executed, Bit 1 (Busy) is set. Once the command has been
executed, this bit is reset.
2.2.4 M command: Save the currently opened label onto the flash disk
M,my label.lbl<eot>
a Meaning
0<eot> File was successfully saved on the flash disk
Tab. 3: Save return values for currently opened label on flash disk
NOTE
This command always transfers the label data saved permanently. If the label data are
changed via the Q command, the label must first be saved (M command) if these changed
data are to be displayed via V1 command.
V1<eot>
Any bitmaps present in the label must be read separately by the flash disk also in this case. The return values
correspond to those of the D command. As soon as this command has sent its reply, it is terminated.
Subsequently, the field name and the next contents to be printed are transferred in a line terminated by
<lf>.
At the end, the m600 basic sends <etx>, the checksum (see chapter 2.2.1) and <eot>.
If no data is available, as no label has been opened or as the printer has not yet been started, the reply of
the m600 basic is <eot>.
This command transfers the file name of the currently loaded label to the host without the extension „.lbl“.
V6<eot>
NOTE
Label field contents changed via the Q command are (contrary to the m600
advanced) transferred and printed immediately, without requiring reloading of the label
previously.
Nor is it necessary to perform Stop/Start beforehand.
For reasons of performance, leave at least a second between changes to print data for a
standard label. In case of doubt, please contact the Technical Service.
In order to save the changed contents, the M command must be issued following the Q com-
mand.
This command can be used to change label field contents/elements by indicating this field name prior to
printing.
Regarding the contents of text fields, the text contents can be changed. Up to 80 alphanumeric characters
are admissible.
Regarding the contents of bar codes, the barcode value can be changed. Admissible characters and their
appropriate numbers are those as are required by the barcode type. Barcodes with embedded fields cannot
be changed. If it is intended to change these barcodes or the embedded fields, the label must be transferred
as a whole.
a Meaning
0<eot> Change of label element performed correctly
2<eot> new contents invalid or does not match the field type
3<eot> no label opened
2.2.9 TR command: Read time and date from the m600 basic
This command reads the time and the date of the m600 basic.
TR<eot>
The m600 basic replies:
yyyy mm dd /hh:mm:ss<eot>
This command loads an opened label which can now be printed via the command PRINT START.
E<eot>
The m600 basic returns a digit to indicate how and whether execution of the command was possible. table 5
explains the meaning of the return values.
a<eot>
a Meaning
'0' No label open in m600 basic
If the return value was 1, the command READ STATUS (I2) is used to interrogate the moment when the
command is terminated. As long as the command is being executed, Bit 1 is set. Once the command has
been executed, this bit is reset.
These commands directly control the print processor. As these commands may not provide direct
scheduling, the command READ STATUS (I2) must be used to interrogate the time when the print control
command has been scheduled and when the m600 basic is ready to receive the next command.
This command initiates printing of a label prepared with E<eot>, L<eot>. Subsequently, printing is started
by activating the preset sensor.
F2<eot>
Once the start of printing has been initiated, the command READ STATUS (I2) indicates when the printer is
ready to print the first label, or whether an error has occurred in the print engine.
F0<eot>
to indicate whether the print engine is being stopped. The m600 basic only stops after the last cycle has
been stopped. Thus, an ongoing printing progress is not interrupted. For the values for a, refer also to
table 6.
a Meaning
'0' Command could not be executed
I2<eot>
The m600 basic returns the advanced print status in two bytes:
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reset 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0
Plabelstatus (Bit 8+9) The following states may occur in the m600 basic:
• Print Status (bits 5, 6, 7 and 10): The following states may occur in the m600 basic:
0 1 0 0 engine preparing
0 1 1 1 engine error
- engine stop: In this state, the print engine waits for the start button to be pressed or the
command PRINT START to change over to the state engine preparing.
- engine print ready: The print engine reaches this state after the state engine preparing has
been passed successfully. In this state, the engine waits for the preset sensor signal to
commence printing. By pressing the Stop button, the engine changes over to state engine halt.
- engine preparing: This is the state the engine is in after a start has been recognized as
"successful".
- engine error: This state indicates a warning of the print engine. The state engine error can onyl
be reset by starting printing.
• Label Status (bits 3+4): The following states may occur in the m600 basic for labels which have
been opened:
• Print buffer (Bit 2): This bit indicates whether a label has been loaded.
- 0: No label loaded.
- 1: Label loaded
• Busy (bit 1): This bit indicates whether a label is being loaded.
- 0: Execution of last command completed
- 1: Execution of last command in process
• Alarm (Bit 0):This bit indicates that an alarm has occurred. This bit is reset by a start of printing or
by eliminating the alarm state (e. g. resetting the cartridge).
- 0: No alarm triggered
- 1: Alarm triggered
This command reads the belt speed in mm/sec.; this speed has been measured via the shaft encoder
connected.
I5<eot>
The m600 basic returns the measured speed as ASCII value if a shaft encoder is connected. This is
communicated to the m600 basic in the plant settings. If no shaft encoder is available, the m600 basic
returns only <eot>.
Speed<eot>
3 Installation settings
The installation settings are composed of several lines. The settings are saved in the file m600basic.ini.
• Version
1
• Language:
- 0 = Deutsch
- 1 = English
- 2 = Français
- 3 = Español
- 4 = Italiano
- 5 = Nederlands
- 6 = Svensk
- 7 = Suomi
- 8 = Português
- 9 = Dansk
• Automatic clock change
- 0: ON
- 1: OFF
• Automatic clock change mode EU/US – parameter is not used and cannot be changed
• Encoder
- 0: internal
- 1: external
• Pulses/m (for external encoder)
• Speed [m/min] (for internal encoder)
• Parameter is not used
• Parameter is not used
0,1,1,1,12478,25000,0,0<lf>
• Cartridge type
- 0: 40 ml
- 1: 42ml
- 2: 152 ml
- 3: 392 ml
- 4: 412 ml
• Ink type
- Range of values: 0-19
• Temperature-controlled
- 0: OFF
- 1: ON
• Cartridges identical
- 0: OFF
- 1: ON
• Alarm
- 0: OFF
- 1: ON
• Threshold (in %)
- Range of values: 0-100
0,0,0,0,1,3,0,1,1,10<lf>
• Alarm
- 0: OFF
- 1: ON
• Threshold (in %)
- Range of values: 0-100
30,1,0,0,1,3,0,1,1,10<lf>
01.04.2007,01.10.2007<lf>
• Password 1, user
• Password 2, user
• Password 3, user
• Password 4, user
1,2,3,4<lf>
User1,User2,User3,User4<lf>
4095,4095,4095,4095<lf>
• Input 1
- 1 = Activate basic
- 2 = Start sensor 1
- 3 = Interrupt Spit-Timer
• Input 2
- 1 = Deactivate basic
- 2 = Start sensor 2
- 3 = Interrupt Spit-Timer
• Input 3
- 1 = Replace cartridge
- 2 = Counter input
- 3 = Interrupt Spit-Timer
• Input 4
- 1 = Printing error
- 2 = Counter reset
- 3 = Interrupt Spit-Timer
• Input 5 (not used)
• Input 6 (not used)
• Input 7 (not used)
• Output
- 1 = Counter alarm
- 2 = End of printing, head 1
- 3 = End of printing, head 2
0,0,0,0,0,0,0,0<lf>
• Standard user
1<lf>
0,0<lf>
• Automatic screensaver
- 0: OFF
- 1: ON
• Waiting time, screensaver
• Port
1,15,7<lf>
• Automatic spitting
- 0: OFF
- 1: ON
• Waiting time [s]
• Spitting duration [s]
0,1000,20<lf>
NOTE
The spitting duration is indicated in tenths of a second.