Cognitive Solutions A799 Manual De Usuario

Descargar
Página de 142
Chapter 4: Programming Commands
 89
Revision D 12/09
A799-PG00001D
Real time commands
The real time commands provide an application interface to the printer even when the printer is not handling other 
commands (RS-232C communication interface only):
•  Real time status transmission: GS (Hex 1D) sequence and DLE (Hex 10) sequence
•  Real time request to printer: GS (Hex 1D) sequence and DLE (Hex 10) sequence
•  Real time printer status transmission
The batch mode printer status commands are placed in the printer’s data buffer as they are received and handled by the 
firmware in the order in which they were received. If the paper exhausts while printing data that was in the buffer ahead 
of the status command, the printer goes busy at the RS-232C interface and suspends processing the data in the buffer until 
paper is reloaded. This is true for all error conditions: knife home error, thermal printhead overheat, etc. In addition, there 
is no way to restart the printer after a paper jam or other error, when using batch mode status commands.
The real time commands are implemented in two ways in order to overcome the limitations of batch mode status 
commands. Both implementations offer the same functionality; which one you choose depends on the current usage of 
your application.
Preferred implementation
For a new application the GS (1D) sequences are recommended to avoid possible misinterpretation of a DLE (0x10) 
sequence as a clear printer (0x10 0, ASCII DLE NUL) command.
An application using these GS (1D) sequences, does not need to distinguish for the printer between the new real time 
commands and the clear printer command. This implementation is ideal for an existing A756 application that already uses 
the clear printer command or for a new application being developed.
Alternate implementation
The alternate implementation uses the DLE (0x10) sequences as implemented on other printers. An application using these 
DLE (0x10) sequences and the original A756 clear printer command (0x10) must distinguish for the printer between the 
new real time commands and the clear printer command by adding a NUL (0x00) to the clear printer command.
An application using these DLE (0x10) sequences must also send the second byte of the sequence within 100 milliseconds 
of the first, to prevent the first byte being mistaken for a clear printer command.
Rules for using real time commands
Three situations must be understood when using real time commands.
First, the printer executes the real time command within a few msec of detecting it in the input buffer and will transmit 
status regardless of the condition of the DSR signal.
Second, the printer transmits status whenever it recognizes a real time status transmission command sequence, even if that 
sequence happens to occur naturally within the data  of another command, such as graphics data.
In this case the sequence will also be handled correctly as the graphics data it is intended to be when the graphics 
command is executed from the buffer.
Third, care must be taken not to insert a real time command into the data sequence of another command that consists of 
two or more bytes.
In this case the printer will use the real time command sequence bytes instead of the other command’s parameter bytes 
when finally executing that other command from the buffer; the other command will NOT be executed correctly.
These three situations generally preclude use of standard DOS drivers for the serial communication ports when using real 
time commands.