stringtranslate.com

Caracteres de control de impresora de código de máquina IBM

Las primeras impresoras mainframe solían ser impresoras de línea . Las impresoras de líneas proporcionan un conjunto limitado de comandos para controlar cómo avanza el papel cuando se imprimen líneas de impresión. La aplicación que escribe informes, listas, etc. que se van a imprimir debe incluir esos comandos en los datos de impresión. Estos comandos de impresión de un solo carácter se denominan caracteres de control de la impresora .

Introducción a los caracteres de control de impresión

Los caracteres de control de la impresora y los caracteres de control del carro son términos de mainframe de IBM que denotan el significado especial que puede tener el primer carácter de una línea de texto imprimible. El primer carácter de cada línea de texto se interpreta como un carácter de control o comando de impresora en lugar de un carácter que se va a imprimir si se establece un atributo correspondiente para el conjunto de datos de impresión ( el conjunto de datos en lenguaje mainframe se refiere a lo que en otros se conoce como archivo) . sistemas operativos).

Cómo funcionan los caracteres de control de la impresora

Aunque más tarde fueron reemplazadas en su mayoría por versiones electrónicas, las impresoras de línea inicialmente usaban un bucle de cinta de papel perforada para controlar el movimiento del papel durante la impresión. Esta cinta se llama cinta de control del carro y está montada en la impresora. La cinta del carro en bucle se mueve sincrónicamente con el flujo de papel continuo .

Las impresoras de líneas cuentan con 12 sensores para reconocer 12 posiciones independientes en la cinta de control del carro. Cada posición se denomina canal y está numerado del 1 al 12. Si se perfora un orificio en un canal, este orificio marca una posición en la página a la que la impresora puede "saltar" rápidamente avanzando hasta que el orificio sea detectado por el correspondiente. sensor de canal. Esto se llama saltar al canal número n .

Los comandos se implementan para que se pueda saltar a cada uno de los 12 canales. En lugar de tener que escribir líneas de impresión vacías, las aplicaciones pueden simplemente saltar a un canal predefinido si no se va a escribir nada entre la posición actual y la posición de destino, una enorme ganancia de rendimiento en ese momento.

Además de los comandos para saltar al canal , hay otros comandos que la impresora interpreta para permanecer en la línea actual o para espaciar una, dos o tres líneas. Permaneciendo en la línea actual, se puede crear:

Si le indica a la impresora que salte a un canal que no esté perforado, la impresora continuará alimentando papel a alta velocidad. Esto podría deberse a una discrepancia entre la cinta instalada y la que espera la aplicación.

Significado especial del canal 1

Por convención, la posición en una hoja de papel donde se debe escribir la primera línea de impresión está asociada con el Canal 1 . Por ejemplo, si la primera línea de texto siempre debe estar en la línea física 3 para un formulario determinado, entonces el orificio del canal 1 debe perforarse en la línea 3 de la cinta de control del carro.

Por convención, las aplicaciones de mainframe de IBM siempre saltan al canal 1 cuando comienzan una nueva página lógica.

El canal 12 es menos común, pero normalmente indica una línea en la página donde se puede imprimir un pie de página .

Tipos de caracteres de control de la impresora

Los conjuntos de datos de impresión en los sistemas operativos de mainframe IBM pueden tener dos variantes de caracteres de control de impresora:

El atributo para especificar la presencia de caracteres de control de impresión es parte del atributo Formato de registro (también conocido como RECFM), por lo que debe permitir dos variantes:

Personajes de control ASA

Los caracteres de control ASA son comandos lógicos de la impresora. Le dicen a la impresora cuánto debe avanzar el papel antes de imprimir la línea de texto actual. Los caracteres de control ASA son todos caracteres visualizables. Las impresoras no entienden estos caracteres por sí mismas, por lo tanto, el controlador de la impresora debe traducirlos a los comandos de impresora correspondientes al enviar los datos de impresión a la impresora.

Caracteres de control de máquinas IBM

Los caracteres de control de la máquina, por el contrario, son comandos de hardware que entienden las impresoras de línea de IBM. Es por eso que dependen del hardware o están determinados por el hardware. IBM definió este conjunto de comandos para sus impresoras de líneas y se aseguró de que todas sus impresoras de líneas los comprendieran. Otros fabricantes de impresoras de línea (mainframe) también tenían que asegurarse de que sus impresoras entendieran esos comandos. Dado que los caracteres de control de la máquina son comandos de hardware, muchos de ellos no son caracteres visualizables y, por lo tanto, los caracteres de control de la máquina siempre se especifican como valores hexadecimales.

Diferencia principal entre ASA y personajes de control de máquinas

La principal diferencia entre los dos conjuntos de caracteres de control de la impresora podría ser la portabilidad de los caracteres de control ASA frente a la dependencia del hardware de los caracteres de control de la máquina. El hecho de que los controles ASA tuvieran espacio antes de la escritura , mientras que los controles de la máquina tuvieran espacio después de la escritura, podría requerir la conversión de algunos flujos de datos.

Soporte de idiomas para el control de la impresora.

Muchos lenguajes de programación simplemente colocan el carácter de control deseado en el primer byte de la línea que se va a imprimir. COBOL y PL/I también tienen un método independiente del sistema para especificar controles de impresora. El compilador o el tiempo de ejecución traducirán estas opciones al carácter de control apropiado.

COBOL

COBOL usa la sintaxis WRITE record-name AFTER ADVANCING n Lines., donde nombre-registro es el nombre del área que contiene la línea y n es el número de líneas. Además, BEFORE ADVANCINGse puede utilizar o BEFORE|AFTER ADVANCING TOPsaltar a la parte superior de una nueva página. [1]

PL/I

PL/I utiliza la sintaxis PUT SKIP(n) ...para saltar n líneas antes de imprimir, o PUT PAGE ...para saltar a una página nueva.

Lista de caracteres de control de impresión de máquinas IBM

IBM definió dos conjuntos de comandos de impresora y, por lo tanto, hay dos conjuntos de caracteres de control de impresora disponibles. El primer conjunto de comandos no envió ningún dato para imprimir en la impresora, sino solo una instrucción de movimiento del papel. Estos se denominan comandos inmediatos . El segundo conjunto de comandos envía datos para imprimir en la línea actual más una instrucción de movimiento del papel a la impresora. Tenga en cuenta que, a diferencia de los caracteres de control ASA, los caracteres de control de impresión de la máquina IBM le piden a la impresora que primero imprima los datos en la línea actual y luego avance el papel.

Comandos inmediatos

Estos comandos no envían ningún dato a la impresora. Los comandos solo le piden a la impresora que avance el papel.

Comandos de escritura y espacio

Los comandos de escritura y espacio le piden a la impresora que escriba los datos en la línea y luego mueva el papel.

Ver también

Referencias

  1. ^ IBM Corporation (agosto de 2009). Referencia del lenguaje Enterprise COBOL para z/OS (PDF) . págs. 478–482 . Consultado el 30 de junio de 2020 .