A SERVICE OF

logo

Section 3: Interface Specifications
SATO M10e Service Manual PN 9001113A Page 3-7
BI-DIRECTIONAL COMMUNICATIONS
This is a two-way communications protocol between the host computer and the printer, thus
enabling the host to check printer status. When Bi-Com 4 communications is selected, there is no
busy signal from the printer. The host must request the complete status from the printer, including
ready/busy. The host may request status in two different ways.
E
NQUIRE/ACK/NAK
In the Bi-Com 4 mode, the host transmits an ENQ (05 hexadecimal) to the printer and the printer
will respond with its status within five milliseconds. If printing, it will respond upon finishing the
current label, then resume printing. In order for this protocol to work properly with an RS232C
Optional Interface, pin 6 (DTR) and pin 5 (CTS) must be held high by the host. One way to
ensure these pins are always in the correct state is to tie pin 20 (DTR) to pin 6 (DSR) and pin 4
(RTS) to pin 5 (CTS) at the printer end of the cable.
E
NQUIRE (ENQ)
Upon receipt of an ENQ command, the printer responds with 25 bytes of status information
bounded by an STX/ETX pair. The Bi-Com protocol works only in the multiple job buffer mode.
The status information is defined as follows:
<STX>{ 2 Byte ID}{1 Status Byte}{6 Byte Label Remaining}{16 Byte Job Name}<ETX>
CANCEL (CAN)
If a CAN (18 hexadecimal) command is received , it will stop the print job and clear all data from
the receive and print buffers. A delay of five milliseconds or more is required before any new data
can be downloaded. The CAN command is effective immediately upon receipt, even if the printer
is off-line or in an error condition. The printer will return an ACK (06 hexadecimal) if there is no
printer error condition and a NAK (15 hexadecimal) if an error condition exists.
STREAM IDENTIFICATION
ID Is a two byte number identifying the current print job ID. The print
job ID is defined using the <ESC>ID Job ID command transmitted
with the print job (see Job ID Store in the command listing for
more information on how to use this command). The range is
from 00 to 99.
Status A single byte defining the current status of the printer (see the
Status Byte Definition table).
Label Remaining Six bytes defining the number of labels remaining in the current
print job. The range is from 000000 to 999999 labels.
Job Name 16 bytes of ASCII characters identifying the name assigned to the
job by the <ESC>WK Job Name command. If the Job Name is
less than 16 characters, the field will be padded with leading
zeroes.
If an ENQ is received after the print job specified in the ID bytes
has been completed, or there is no data in the buffer, the printer
will respond with two “space” characters (20 hexadecimal) for the
ID number, six “zero” characters (30 hexadecimal) in the
Remaining Labels bytes and the 16 byte Job Name.