462115-01 AD - 1000 Line Series WSI Communications Protocol
462115-01 AD - 1000 Line Series WSI Communications Protocol
462115-01 AD - 1000 Line Series WSI Communications Protocol
P/N 462115 - 01
Revision: AD, July, 2013
This page is intentionally left blank.
Table of Contents
To provide a quick and simple protocol which the Willett customers may
use to provide their own integrated solution to a coding or marking
application
However, this protocol does not support the following highly involved functions
which are features of the existing Willett protocol:
The protocol operates on ports COM1 and COM2 and on a TCPIP stream on ports
3100 (and 3102 for head 2 on a dual head printer), selected via the REMOTE
option on the CONFIGURE menu.
Note: To set the baud rate, number of stop bits, data bits etc. use the SERIAL
PORT BAUD RATES option on the CONFIGURE menu.
Each protocol packet sent to the machine must adhere to the following general
format:
In response, the machine will reply with a three character check sequence as
follows:
The MESSAGE DATA fields contain several sub fields as described below.
There may be several MESSAGE DATA fields within a single message,
each separated by a SEP field.
The SEP field may only contain the single ASCII characters LF (0Ah), and is
used to separate data fields within a message data packet.
The FONT NUM field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 99. It describes the font number
to be used for the following text. The font number follows the order in which
the fonts appear when using the editor, i.e. font 0 is always 7hi, but the rest
will be dynamically allocated according to the fonts fitted. (00 = 7hi, 01 =
9hi, 02 = 12hi, 03 = 16hi, 04 = 24hi, 05 = 34hi, 06 = 5hi).
The HORC field consists of exactly 4 characters (ASCII 0' to 9') which
represent a decimal value between 0 and 9999, it describes the relative
horizontal position at which the text fragment should be placed within the
message. Note: This position is relative, and subject to left
justification. It should considered as a fragment ordering control rather
than a means of placing the text fragment in an exact location; i.e., the text
fragment with a HORC of 1 will always be to the left of another text fragment
with a HORC of greater than 1 and more. The numeric data within the
packet field is right justified and zero-padded.
The VERC field consists of exactly 3 characters (ASCII 0' to 9') which
represent a decimal value between 0 and 999. It describes the vertical
position at which the text field should be placed within the message.
Note: The whole message is subject to upward justification. If blank
lines are required at the top of a message, a dummy fragment containing a
single space character in an appropriate font must be sent. The numeric
data within the packet field is right justified and zero-padded. The algorithm
of field positioning on the basis of HORC and VERC is as follows:
1. Select all fields with minimal value of HORC.
2. Place them to the message image in a left aligned column from top to bottom
in the order of VERC values with 1 pixel gap.
3. Select all fields with second minimal value of HORC and place them in same
column to the right of the fields with minimal HORC.
4. Shift each fields of the second column horizontally to the left until there is a
minimal gap of 1 pixel with any of the fields of the first column or it comes to
the left boundary of the message image.
5. Continue selecting fields with next value of HORC, piling them in a column
and shifting left where possible, until all the fields take their place.
The bits in each attribute are set according to whether the corresponding
properties are set, as follows:
ATTRIBUTE 1
Bit No Attribute
Bit 1 INVERT
Bit 2 REVERSE
Bit 3 CLOCK_CODE
Bit 4 Double Dots On
ATTRIBUTE 2:
Bit No Attribute
Bit 1 Triple Dots On
Bit 2 TOWER_PRINTING
Bit 3 PROMPTED_USER_FIELD
Bit 4 BARCODE_HR_ON
ATTRIBUTE 3:
Bit No Attribute
Bit 1 Use Custom Font
Bit 2 Inverse Video
Bit 3 BARCODE_CHECKSUM_ON
Bit 4 Not Used
o Barcode type: This is a value between 025 (see table below for
definition). This is encoded as 2 ASCII characters in the range 0-9,A-
F as follows: The first character is formed by dividing the required
barcode type by 16 and converting the base 16 interpretation of the
dividend into an ASCII character (of range0-9,A-F). The second
character is created in a similar fashion, except that it is the remainder of
the division by 16 process whose base 16 interpretation is then converted
to an ASCII character (of range0-9,A-F).
ATTRIBUTE 4 & 5:
Value Attribute
00 Barcode None
01 ITF
02 EAN 8
03 EAN 13
04 UPC-A
05 UPC-E
06 Code-128
07 EAN 128
08 Code 39
09 Data Matrix 10 x 10
10 Data Matrix 12 x 12
11 Data Matrix 14 x 14
12 Data Matrix 16 x 16
13 Data Matrix 18 x 18
14 Data Matrix 20 x 20
15 Data Matrix 22 x 22
16 Data Matrix 24 x 24
17 Data Matrix 26 x 26
18 Data Matrix 32 x 32
19 Data Matrix 8 x 18
20 Data Matrix 8 x 32
21 Data Matrix 12 x 26
22 Data Matrix 12 x 36
23 Data Matrix 16 x 36
24 Data Matrix 16 x 48
25 GS1 Databar
o The code page number, whose value in base 16 ranges from 0 to F. This
is encoded as a single ASCII character (of range'0'-'9','A'-'F').
Note: 1510/1520 and 1610/1620 printers will ignore this code page
number input.
The MESSAGE TEXT field consists of up to 200 ASCII characters which
describe the text to be entered within the message, or (if it starts with the
character @) the name of a single user field. This arrangement allows
plain text, barcodes, counters, or other real-time data to be inserted within
the message. The print orientation and presentation is controlled via the
attribute field.
Print a twin line Top line (7high font) with data 12345
message:
Bottom line (9high font) with data ABCDE
Reverse characters on
Data: (spaces provided to separate fields, do not actually include spaces in
data)
[STX] [TYPE] [REV] [INV] [WID] [EHT] [GAP] [EXP] [HEJRA][DLY] [BLD] [DRP]
[RASSUB][RLEN][RAS] [RDLYLEN] [RDLY] [ETX]
The REV field consists of a single ASCII character where 0' represents
OFF and 1' represents ON. It describes the message parameter message
reverse.
The INV field consists of a single ASCII character where 0' represents OFF
and 1' represents ON. It describes the message parameter message
invert.
The WID field consists of exactly 4 characters (ASCII 0' to 9') which
represent a decimal value ranged as indicated in table. It describes the
message parameter width. The value is right-justified and zero-padded
within the field. Unit of this field is depending on the Display Unit of
The EHT field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 10. It describes the message
parameter message height. The value is right-justified and zero-padded
within the field.
The GAP field consists of a single character (ASCII 0' to 9') which
represents a decimal value between 0 and 9. It describes the message
parameter inter-character gap.
The EXP field consists of exactly 5 characters (ASCII 0' to 9') which
represent a decimal value between 0 and 32767, it describes the message
parameter expiry date - days ahead counter which is used in
1210/1220/1510/1520 only. The value is right-justified and zero-padded
within the field. In 1610/1620/1710/1610DH this parameter is ignored (left
for compatibility) and replaced with Expiry offset in Update User Field
packet for date user field.
The HEJRA field consists of exactly 5 characters (ASCII 0' to 9') which
represent a decimal value between 0 and 32767. It describes the message
parameter Hejra expiry days ahead which is used in 1210/1220/1510/1520
only. The value is right-justified and zero-padded within the field.
The DLY field consists of exactly 5 characters (ASCII 0' to 9') which
represent a decimal value ranged as indicated in table. It describes the
message parameter product delay. The value is right-justified and zero-
padded within the field. Unit of this field depends on the Display Unit of
measure & Message Configuration parameters in printer. In Case
measuring unit is selected as Inches, unit of this field will be 1/100th of inch.
For example, 1.25 should be sent as 125. In case of Metric unit, it will be in
mm.
The DRP field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 34. It describes the message
parameter printed dots. The value is right-justified and zero-padded within
the field. The field is available for 1510/1520 only.
The RASSUB field consists of a single ASCII character where 0' represents
OFF and 1' represents ON. It describes the message parameter Raster
Substitution.
The RLEN field consists of exactly 3 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 255. It describes the length of the
raster filename that is to follow. The value is right-justified and zero-padded
within the field.
The RAS field consists of ASCII characters as per the previous RLEN field.
It describes the message parameter Raster.
The RDLYLEN field consists exactly 1 (ASCII 0' to 9') character which
represents the Length of the Reverse Print Delay Value. It sets the Reverse
Product Delay length to support a variable length Reverse Product Delay in
1510/1520 and 1610/1620 only. The field is not required if the reverse delay
length is fixed.
The RDLY field consists of exactly 5 characters (ASCII 0' to 9') which
represent a decimal value ranged as indicated in table. It describes the
message parameter reverse product delay. Unit of this field is depending
on the Display Unit of measure and Message Configuration parameters
in printer. In Case measuring unit is selected as Inches, unit of this field will
be 1/100th of inch. For example 1.25 should be sent as 125. In case of
Metric unit, it will be in mm.
Data: (spaces provided to separate fields, do not actually include spaces in data)
This example is for 15xx/16xx.
Note: Expiration Days and Hejra Days is disabled in 16xx but still needs to be sent
along with CMD.
Data: (spaces provided to separate fields, do not actually include spaces in data)
[STX] [TYPE] [USER FIELD NAME] [SEP] [USER FIELD DATA] [ETX]
The SEP field may only contain the single ASCII characters LF (0Ah), and is
used to separate data fields within a user field data packet.
o Text
Text field information is sent verbatim, without markup or padding.
o Date/time
Date/time information is formatted in the following way:
The SEP field contains a single linefeed (0Ah) character used to terminate
the logo name field.
The NUM DROPS field specifies the number of drops per vertical stroke in
the logo data which follows. It is a decimal value between 5-34 encoded as
2 ASCII characters in the range 0-9. The data is right-justified and zero-
padded.
The NUM RASTERS field specifies the width of the logo as a number of
rasters. It is a decimal value between 1 and 255 encoded as 3 ASCII
characters in the range 0' -9', the data is right-justified and zero-padded.
Byte Offset
00 02 04 06 08 10 12 14 16 18 20 22 24
Bit 7
Bit 6 0 0 0 0 0 0 0 0
Bit 5 0 0 0 0 0 0 0 0 0 0
Byte n
Bit 4 0 0 0 0 0 0
Bit 3 0 0 0 0 0
Bit 2 0 0 0 0 0 0
Bit 1 0 0 0 0 0 0 0
Bit 0 0 0 0 0 0 0 0
Bit 7 0 0 0 0 0 0 0
Bit 6 0 0 0 0 0 0 0
Bit 5 0 0 0 0 0 0 0
Byte n+1
Bit 4 0 0 0 0 0 0 0
Bit 3 0 0 0 0 0 0
Bit 2 0 0 0 0 0 0
Bit 1 0 0 0 0 0 0 0 0 0 0
Bit 0 0 0 0 0 0 0 0 0
[STX] [TYPE] [BW1] [BW2] [BW3] [BW4] [GW1] [GW2] [GW3] [GW4][ETX]
The BW1 field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 12. It describes the number of
rasters in the narrowest bar of the printed raster.
The BW2 field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 12. It describes the number of
rasters in the next narrowest bar of the printed raster.
The BW3 field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 12. It describes the number of
rasters in the next to widest bar of the printed raster.
The BW4 field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 12. It describes the number of
rasters in the widest bar of the printed raster.
The BG1 field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 12. It describes the number of
rasters in the narrowest gap of the printed raster.
The BG2 field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 12. It describes the number of
rasters in the next narrowest gap of the printed raster.
The BG3 field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 12. It describes the number of
rasters in the next to widest gap of the printed raster.
The BG4 field consists of exactly 2 characters (ASCII 0' to 9') which
represent a decimal value between 1 and 12. It describes the number of
rasters in the widest gap of the printed raster.
The EEEEEE field contains the 6 byte hexadecimal error status as follows:
Byte
Bit Byte 2 Byte 3 Byte 4 Byte 5 Byte 6
1
Charge Pump fault BAD NOZZLE Phasing threshold Rasters memory Date/Time not
error at maximum - no overflow set
good phasing.\n detected!\nOne or
0 Flush nozzle and more rasters must
check phase and be removed to fix
charge voltages. the problem.
The A field contains the 7 bit hexadecimal alarm status word as follows:
2 Red Trafficator On
1 Amber Trafficator On
0 Green Trafficator On
The MM field consists of exactly 2 characters each (ASCII 0' to 9') which
represent a decimal value between 1 and 12. It describes month in digits.
The hh field consists of exactly 2 characters each (ASCII 0' to 9') which
represent a decimal value between 0 and 23. It describes hours in digits.
The mm field consists of exactly 2 characters each (ASCII 0' to 9') which
represent a decimal value between 0 and 59. It describes minutes in digits.
The ss field consists of exactly 2 characters each (ASCII 0' to 9') which
represent a decimal value between 0 and 59. It describes seconds in digits.
The MESSAGE NAME field contains the name of the message selected in
ASCII format.
O0 = print off
O1 = print on
Note: Printhead Jet needs to be On for this command to operate correctly.
Returns the Print or Product counter value depending on the Data sent with the command.
To request for the Print counter value Data A/a is used, and to get the product counter
data B/b is used.
And DATA can be A/a or B/b depending on the Print and Product
Counter.
[STX] [X X X X X X X X X X] [ETX]
Where X represents ASCII characters within the range ASCII 0' to 9'.The
X is the Value of the Requested Counter represented in ten individual digits.
Send: [STX]GA[ETX]
Receive: [STX]00000678[ETX]
Send: [STX]GB[ETX]
Receive: [STX]00000679[ETX]
Send: [STX]RA[ETX]
Receive: $93
Send: [STX]RB[ETX]
Receive: $94
Ethernet Connector
RS-485 Connector
The RS-485 connector is a 5 way DIN connector. Use this to connect the
printer to an RS-485 network to import data or control the printer remotely.
Note: This view is of the connector at the side of the printer front view.
Pin Function
DIN Pin 1 Line A
DIN Pin 2 Line B
DIN Pin 3 0 VDC Common
DIN Pin 4 -
DIN Pin 5 -
Part Number
Connector for (RS485) male DIN 5 pin connector 180 degree stereo VJ P/N:
234433
Note: This view is of the connector at the side of the printer front view.
Pin Function
DIN Pin 1 0 VDC Common
DIN Pin 2 Transmit data out from the printer.
DIN Pin 3 Receive data into the printer.
DIN Pin 4 RTS output from the printer.
DIN Pin 5 CTS input to the printer.
Part Number
RS 232 Connector (3 m)
RS 232 Connector (6 m)
Part Number
The mating cable (male, 8 pin DIN connector - P/N: 500-0036-584).
The mating cable (male, 8 pin DIN connector - P/N: 500-0036-584).
DIN TO DB9
DIN CONNECTOR (5 PIN) PRINTER SIDE DB9
2 Transmit Receive 2
3 Receive Transmit 3
1 Ground Ground 5
5 DCD DCD 1
4 DTR DSR 6
DIN TO DB25
DIN CONNECTOR (5 PIN) PRINTER SIDE DB25
2 Transmit Receive 2
3 Receive Transmit 2
1 Ground Ground 7
5 DCD DCD 8
4 DTR DSR 6
Set Module
B Set Module Widths B Set Module Widths B Set Module Widths B
Widths
Delete Message C Delete Message C Delete Message C Delete Message C
Clear User Field Clear User Field Clear User Field Clear User Field
D D D D
Data Data Data Data
Request Error Request Error
E E Request Error Status E Request Error Status E
Status Status
Get Print/Product Get Print/Product Currently not Currently not
G G G G
Counters Counters supported supported
Request Part Request Part Request Part Request Part
H H H H
Number Number Number Number
Start Jet (Disabled) J Start Jet (Disabled) J Start Jet (Disabled) J Start Jet (Disabled) J
Stop Jet K Stop Jet K Stop Jet K Stop Jet K
Update Logo Data L Update Logo Data L Update Logo Data L Update Logo Data L
Message Select M Message Select M Message Select M Message Select M
Currently not Currently not
Print On/Off O Print On/Off O O O
supported supported
Modify Message Modify Message Modify Message Modify Message
P P P P
parameters parameters parameters parameters
Request Current Request Current Currently not Currently not
Q Q Q Q
Message Name Message Name supported supported
Reset Reset Currently not Currently not
R R R R
Print/Product Print/Product supported supported