Вы находитесь на странице: 1из 102

SISTEMA PARA EL MANEJO DE UN GRAFICADOR BAJO AMBIENTE UNIX

TESIS PROFESIONAL QUE PARA OBTENER EL TITULO DE:

LICENCIADA EN CIENCIAS DE LA COMPUTACIN


PRESENTA:

MARA DEL ROSARIO MUOZ HERNNDEZ


ASESOR: DR. J. JAVIER BEZ ROJAS (INAOE) COASESOR: DR. MANUEL MARTN ORTZ (FCCPUEBLA, PUE. ABRIL DEL 2001 BUAP)

BENEMRITA UNIVERSIDAD AUTNOMA DE PUEBLA

FACULTAD DE CIENCIAS DE LA COMPUTACIN SISTEMA PARA EL MANEJO DE UN GRAFICADOR BAJO AMBIENTE UNIX TESIS PROFESIONAL QUE PARA OBTENER EL TTULO DE LICENCIADA EN CIENCIAS DE LA COMPUTACIN PRESENTA: MARIA DEL ROSARIO MUOZ HERNNDEZ

PUEBLA, PUE. 2001.

A MIS PADRES, HERMANAS Y HERMANOS: SEOR: JUAN MUOZ RUBIN SEORA: MARGARITA HERNNDEZ HUERTA MARGARITA, SILVIA, OCTAVIANO Y RUFINO.

ii

NDICE
PRLOGO ... v CAPTULO 1. OBJETIVOS
1.1 1.2 1.3 1.4
....................................1

OBJETIVO DEL PROYECTO DE TSIS 1 ANTECEDENTES GENERALES ...1 ANTECEDENTES ESPECFICOS .................2 DESARROLLO DE LA SOLUCIN ....2

CAPTULO 2.
2.1 2.2 2.2.1

MARCO TERICO

........4

INTRODUCCIN ...4 GRAFICADORES ..4 CARACTERSTICAS PARTICULARES DE GRAFICADORES .. 5


. ...9

CAPTULO3.
3.1 3.2

DISPOSITIVOS Y PUERTO SERIAL

INTRODUCCIN . ..10 GRAFICADOR DMP-61 Y LA ESTACIN DE TRABAJO..10 COMPONENTES Y CARACTERSTICAS DEL GRAFICADOR DMP-61 .....10 FUNCIONAMIENTO DE LA PLUMA . ...10 MEDIO AMBIENTE DE OPERACIN . .....11 LENGUAJES DEL GRAFICADOR . ....11 ESTACIN DE TRABAJO(WORK STATION WS) . ...12 PUERTO SERIAL ............................................................................................14 BASE DE LA COMUNICACIN SERIAL .....15 COMUNICACIN ASNCRONA ....15 ACCESANDO EL PUERTO SERIAL ..17
iii

3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.3 3.3.1 3.3.2 3.3.3

3.3.4 3.3.5

CONFIGURACIN DEL PUERTO SERIAL ...19 COMUNICACIN .23

CAPTULO 4. PROGRAMACIN DE LA BIBLIOTECA LGHP..24


4.1 4.2 4.3 4.4 4.5 4.6 4.7 INTRODUCCIN ..24 CARACTERSTICAS DE LA PROGRAMACIN DE LA BIBLIOTECA ...24 PASOS PARA CREAR COMANDOS DE LA BIBLIOTECA ..24 CREACIN DE LA BIBLIOTECA LGHP .....26 FUNCIONES DE LA BIBLIOTECA MAS ELABORADAS ..............27 LISTA DE FUNCIONES DE ACUERDO A SUS CARACTERISTICAS.29 PROGRAMA DE USUARIO ........................................................................37

CAPTULO 5.EJEMPLOS DE PROGRAMACIN 41


5.1 5.2 INTRODUCCIN 41 CDIGOS FUENTE Y FIGURAS OBTENIDAS ..41

CONCLUSIONES ..56 VENTAJAS, LIMITACIONES Y PERSPECTIVAS 56 GLOSARIO .58 APNDICES


....62

A. B. C.

GUA PARA EL USO DE COMANDOS HPGL .........62 CABLE RS-232 ..64 FUNCIONES DE LA BIBLIOTECA LHGP.H (COMPLEMENTO).....67
iv

D. E.

FUNCIONES Y COMANDOS DEL LENGUAJE HPGL ....87 CONJUNTO DE CARACTERES ASCII ....93

BIBLIOGRAFA ...94

PRLOGO

El trabajo que se presenta se realiz en el Instituto Nacional de Astrofsica, ptica y Electrnica (INAOE) para el grupo de Instrumentacin y Sistemas pticos Digitales del rea de ptica, el objetivo fue poner a disponibilidad de los usuarios de Estacin de Trabajo el graficador DMP-61, usando el sistema operativo UNIX de una manera fcil. Esta tesis consta de cinco captulos y cinco apndices. En los cuales se describen los antecedentes de los graficadores en general, las caractersticas principales de una configuracin serial, como programar desde una estacin de trabajo utilizando las herramientas del lenguaje C de UNIX aplicadas de una manera sencilla al lenguaje estndar HPGL del graficador. Para la obtencin de figuras lineales; se incluyen ejemplos. La mayora de estos ejemplos pueden ser, realizados por los lectores. Los apndices son un gran apoyo para la programacin del graficador DMP-61.

vi

Mi agradecimiento por el apoyo en servicios profesionales, tcnicos, de equipo e instalaciones a:

Dr. Jos Javier Bez Rojas. Doctor en ptica; del Instituto Nacional de Astrofsica, ptica y Electrnica. Dr. Manuel Martn Ortiz. Doctor en Ciencias; de la Facultad de Ciencias de la Computacin de la Benemrita Universidad Autnoma de Puebla. Licenciada Ana Mara Zarate Rivera. Tcnico en investigacin; del Instituto Nacional de Astrofsica, ptica y Electrnica. Licenciada Mara de Lourdes Orta Corts. Tcnico en investigacin; del Instituto Nacional de Astrofsica, ptica y electrnica. Jos Pedro Hernndez Enrquez, del Departamento de Aplicacin de

Microcomputadoras, del ICUAP. Al Instituto Nacional de Astrofsica, ptica y Electrnica (INAOE). A la Facultad de Ciencias de la Computacin de la Benemrita Universidad Autnoma de Puebla (FCC-BUAP). Al Departamento de Aplicacin de Microcomputadoras, del Instituto de Ciencias de la Universidad Autnoma de Puebla (ICUAP).

vii

CAPTULO 1
OBJETIVOS

1.1

OBJETIVO DEL PROYECTO DE TESIS

Crear una biblioteca para el lenguaje emulador HPGL que permita el uso del graficador DMP61, desde una estacin de trabajo, bajo el sistema UNIX.

1.2 ANTECEDENTES GENERALES.

El uso de los graficadores surge como una necesidad de obtener patrones con una mayor definicin de imagen a la que proporcionaban las impresoras de matriz de punto, posteriormente se adaptan ms soportes de pluma al graficador para darle color a la imagen, los primeros graficadores eran llamados de mesa ya que la hoja se colocaba sobre la base y solo se mova la pluma, el uso de estos equipos comenz a crecer en la industria y la ingeniera, por tal razn los fabricantes de estos equipos se dieron a la tarea de hacer un equipo de graficado donde se obtuviese una imagen con un mejor tamao, tratando de que fuera lo ms real posible, surgen as, los graficadores de tambor que son equipos que ocupan menos espacio para graficar, a diferencia de los anteriores ahora se mueve tanto la pluma como el papel. El tamao de una figura dependa de lo ancho del graficador, actualmente ya no es necesario para ciertos usos. Adems el trazo de cualquier punto sobre el papel requiere de una exactitud tal que se tuvieron que cambiar las plumas por cartuchos de tinta de colores, e implementar equipo fsico para enrollar el papel (o cualquier otro material p.ej.

tela). Las aplicaciones de un graficador tienen mayor demanda en la publicidad y diseo; que igualan a lo original en color e imagen y sobrepasan el tamao, por ejemplo: Dibujar anuncios espectaculares donde la imgen se grafica en un solo lienzo a lo largo, y despus realizar el corte y pegado de la misma en la estructura. Dibujar objetos y aparatos industriales con la mejor precisin posible. Dibujar planos ya no solo de una casa, sino de una rea ms grande como pueden ser un centro comercial, una INFONAVIT, la estructura de las calles de una ciudad completa, etc.

1.3 ANTECEDENTES ESPECFICOS.

El grupo de instrumentacin cuenta con un graficador modelo Houston Instrument DMP-61, y el cual actualmente se usa bajo los sistemas operativos DOS y Windows con los paquetes de software: ORIGIN(anlisis de datos y tcnicas de graficado), SIGMA(simulacin de diseos pticos), COREL DRAW, entre otros.

1.4

DESARROLLO DE LA SOLUCIN

En principio, el desconocimiento del sistema operativo UNIX, as como del funcionamiento del graficador y la forma de comunicacin entre la estacin de trabajo y el graficador; fueron los

principales obstculos. Sin contar con que toda la informacin que se utiliz esta escrita en ingls. As la primera etapa fue: Leer, traducir y estudiar el manual del graficador DMP-61 y despus de algunas semanas utilizar el graficador de manera manual, para posteriormente conocer superficialmente el sistema de graficacin llamado ORIGIN, el cul es uno de los ms usuales para el manejo del graficador desde los sistemas operativos DOS y Windows. La siguiente etapa fue leer, traducir y estudiar: libros de texto del lenguaje C para UNIX, libros de sistemas operativos con plataforma UNIX, manuales de la estacin de trabajo, el manual en lnea de la misma estacin de trabajo y buscar en Internet. De esta manera comenzar a hacer uso del shell del Sistema Operativo con algunos comandos, lo ms importante, fue buscar referencias del puerto serial. La tercera etapa fue relacionar ambos equipos, a travs de su respectivo puerto serial, programar la interfase y programar el conjunto de funciones que hacen referencia a los comandos que sirven de interprete para el envo de datos en lenguaje HPGL al graficador. Revisar el funcionamiento de los comandos, realizando las pruebas respectivas de los comandos ms importantes.

CAPTULO 2
MARCO TERICO.

2.1

INTRODUCCIN

Un equipo de graficacin es utilizado en industrias, empresas textiles, empresas particulares, por arquitectos, ingenieros civiles, en ingeniera aplicada a la computacin, ingeniera de dominio elctrico entre otros. Los graficadores en su mayora utilizan lenguajes especficos, y accesorios originales creados por el mismo fabricante. Las constantes aplicaciones, fuerzan a los fabricantes a desarrollar mejores equipos y tratan de enfocar su bsqueda al realismo.

2.2

GRAFICADORES.
Cada equipo tiene accesorios nicos para el uso correspondiente.

Por ejemplo: telas, papel.

existen graficadores que trazan sobre diferentes tipos de material: plsticos,

Algunos de los sistemas para uso de graficadores son: autoCAD. Creado para diseo grfico por computadora. MicroGDS. Tiene una interfase de programacin aplicable (API), se desarrolla en lenguajes de Visual Basic y Visual C++. WinLINE. Trabaja con programas estandar de windows para generar salidas a graficadores de pluma, graficadores a chorro de tinta, cortadores de vinil y gravados a travs de interfase de sistemas de impresin de Microsoft.
4

Wx Plotter. Diseado para ser usado por meteorlogos. Algunos de los lenguajes de graficacin son: HPGL, DM/PL, HP-GL/2, PostScript (Lenguaje de programacin optimizado para imprimir grficos y texto). Algunas marcas de fabricantes. CalComp, Hewlett Packard, canon, encad, oc, texas Instruments, oyo instruments, Veritas.

2.2.1 CARACTERSTICAS PARTICULARES DE GRAFICADORES.


Graficador trmico V36 de Veritas.
Ancho del graficador: Ancho efectivo: Resolucin: Bytes por analizar: Modo Comando: Formatos: Paso del motor: Panel de control: Carro 36 Aproximado 35.52 200/400 dpi Arriba de 1776 bytes Modo trazo Modo impresin rollo, plegado (fanfold) Tecnologa Micromtrica Funcin completa alfanumrica LCD (despliega en cristal liquido) Funciones de usuario desde el panel de control: Control histerectoma Rapidez de trazo Ancho de trazo (cuenta byte ) - (predetermina 24"/36") Prueba trazo, prueba impresin Forma libre de longitud ajustada
5

Medio del graficador /Consumibles: Trmico, sensible al papel y pelcula

Escala vertical, control de contraste

203/406 dpi emulacin vertical En lnea/fuera de lnea Alimento de forma, ajusta alimento de forma Avance manual Corte manual /corte Automtico Reflejo de imagen Deteccin panel de control: Salida de papel Tope de formato Temperatura de cabeza automtica y realimentacin (feedback) Rapidez de trazo: Interfase: Opciones: Seleccin Manual 0.125" por segundo a 2" por segundo Versatec Greensheet Longline / Shortline SCSI Externa (interfase estndar de computadoras pequeas) Retencin de papel Memoria expandible a 32 MB Requerimientos de energa: Auto alcance de entrada: vigente: 110V AC / 60Hz-220V AC / 50Hz 13 Amperios Mximo y 110V AC 6 Amperios Mximo y 220V AC CARACTERISTICAS FISICAS Dimensiones: Alto: Fondo: Ancho: Peso: CARACTERISTICAS DE AMBIENTE Temperatura de Operacin: 32 - 95 F
6

39.5 20 46 68 kg (150 lbs x 453.6 grs)

0 - 35 C Humedad de operacin: FCC: 5% - 95% No-condensada Clase A Certificada

Graficador de tipo hidrulico. Modelo: CL-0-1800B/2000B/2300B Rodillo: 24

Caractersticas Dispositivo de frenado electromagntico Eliminador electrosttico Dispositivo de presin hidrulica diferencial Dispositivo de seguridad Contador electrnico de yarda Dispositivo de calibracin Rodillo para pintar Anti-acumulador de pintura Dispositivo de pintado Cinta especial de pintado

Aplicaciones Tela de pao Manta, sarape Abrigos Piel sinttica Forro interior Felpa para sof

Graficador de tipo horizontal con barras de 3-6 niveles, con equipo mejorado con barra elevada Modelo CL-G 1800/2000/2200 Rodillo: 24

Caractersticas Equipo que cambia de un solo lado Equipado con tornillos que producen

Aplicaciones Tela de pao Sarapes, cobijas


7

Velocidad diferencial Rodillo peludo tirado por engranajes Eliminador esttico Partes que son cambiadas de fabricacin Sacos, abrigos Forro interior Piel sinttica

CAPTULO 3
CARACTERSTICAS DE LOS DISPOSITIVOS Y EL PUERTO

3.1

INTRODUCCIN.
El uso adecuado del graficador depende de las condiciones ambientales y del manejo.

La estacin de trabajo debe tener conectado el cable del puerto serial y/o tener los permisos necesarios asignados por un super-usuario.

3.2

GRAFICADOR DMP-61 Y LA ESTACIN DE TRABAJO

El graficador tiene un tablero que refleja los errores con la combinacin de encendido fijo y/o intermitente de los leds de cuatro membranas principales ( fig. 1) .

3.2.1 COMPONENTES Y CARACTERSTICAS DEL GRAFICADOR DMP-61.

Fig. 1 Graficador DMP-61 serie 60.


9

Tiene una base de metal en la cual posar el material (papel bond, capa de pelcula limpia, papel escarchado, bond opaco) a ser trazado. Sensores que verifican la existencia y el tamao del material. Rodillos y palancas para presionar y manipular el movimiento del material de graficado. Tablero con botones o membranas que se manipulan dando origen a la ejecucin de funciones propias del equipo. Brazo de metal (esta sobre una barra del mismo material) que sostiene el portaplumas o el cartucho de tinta. Conector de puerto para el cable serial.
Cable para la interfase fsica de la computadora al dispositivo de graficado.

3.2.2 FUNCIONAMIENTO DE LA PLUMA.


Ya que utiliza sensores para reconocer las dimensiones del papel, adems se debe cuidar de movimientos bruscos, de ello depende la calibracin del soporte de la pluma. As como la perfecta colocacin del papel, de lo contrario ste se podra doblar o romper y daar la punta de la pluma.

Precisin DMP-61 velocidad de pluma DMP-61 aceleracin de la pluma Resolucin direccionable

18 a 30 C, 0.2% de movimiento 0.010 pulgadas(0.254 mm), cualquiera es mayor. 1 a 32 pulgadas por segundo mximo 0.5 g , 1g, 2g. 0.001, 0.005, 0.1 mm, 0.025 mm

10

3.2.3 MEDIO AMBIENTE DE OPERACIN.


Temperatura de operacin. Humedad relativa de operacin. Lnea nominal 100 Vac 120 Vac Tamao de papel lnea min/max 89-108 Vac 108-130 Vac Ingeniera A, B, C, y D Arquitectura A, B, C, y D Din A4, A3, A2, y A1 reas mximas del graficador 62.5 cm X 63.5 cm 63.5 X 62.5 cm 5 a 35 C 20% a 95% fusible 1 Amp. 1 Amp.

3.2.4 LENGUAJES DEL GRAFICADOR.


El graficador maneja el lenguaje DM/PL de Houston Instrument y emula al modelo 7580B de Hewlett Packard para el lenguaje HPGL. DM/PL. Tiene 49 comandos y utilizan un formato sencillo. HPGL. Tiene 19 funciones y 108 comandos de los cuales 15 tienen el mismo mnemnico pero diferentes argumentos y 14 no se aplican lgicamente a ste graficador (NOP), es decir, no son compatibles con el equipo de graficado(el graficador ignora las instrucciones y no genera errores ver apndice c). El significado de HPGL es: Lenguaje de graficacin de Hewlett-Packard (Hewlett-Packard Graphics Language), actualmente existen otros lenguajes de graficacin (HPGL/2, MultiCam utiliza comandos para 3D)que se han mejorado a partir de ste, ya que los nuevos comandos se siguen anexando a los primitivos.

11

Las funciones listadas en el apndice C son completamente soportados por el graficador y operan exactamente tal y como estn escritos en el prrafo 4.5 del captulo 4. Los ejemplos se encuentran en el captulo 5.

3.2.5

ESTACIN DE TRABAJO(WORK STATION WS).

La estacin de trabajo es un equipo de cmputo diseado usualmente para que ms de una persona a la vez (multiusuarios), reciba un alto nivel de funcionamiento, especialmente respecto a grficas, poder de procesamiento y habilidad de llevar acabo varias tareas al mismo tiempo (multitareas).

Fig.2 estacin de trabajo SPARCstation 20. La WS en la cul se realiz el trabajo (fig. 2), tiene las siguientes caractersticas: Equipo. Velocidad de reloj. Procesador. SPARCstation 20 32 Mb RAM, monitor Sun de 17. 50 Mega Hertz. RISC.
12

Sistema Operativo.

UNIX versin 2.4 de Sun Solaris.

3.2.5.a

SISTEMA OPERATIVO UNIX.

En las palabras del autor es ( A weak pun on Multics) el plural de Unices. Un sistema operativo de tiempo compartido interactivo inventado en 1969 por Ken Thompson antes de que le diera a los Laboratorios Bell el multi-proyecto, originalmente inicio practicando en una PDP-7. Dennis Ritchie, el inventor de C, es considerado como co-autor del sistema. El punto de regreso en la historia de Unix llega cuando fue re-implementado enteramente en C durante los aos 1972-1974, haciendo el primer Sistema Operativo fuente-portable. Unix subsecuentemente tuvo cambios y una expansin al ir de mano en mano por mucha gente tan diferente, resultando nicamente flexible y con un medio ambiente de desarrollo amigable. Para 1991, Unix llego a ser el sistema operativo multi-usuario de propsito general ms ampliamente usado en el mundo. El sistema operativo Unix o Unix-like incluye OSF, Versin 7, BSD, Unix USG, Xenix,Ultrix,Linux, y GNU.

3.2.5.b El proceso.
Tiempo compartido en el sistema UNIX. La nica Unidad Central de Proceso es un recurso que es compartido por todos los usuarios y procesosEl ncleo tambin crea la impresin de que cada proceso individual, dispone de la mquina completa, aun cuando pueda realmente controlar la mquina durante menos de un segundo cada vez. Prioridad. Generalmente los procesos tienen la misma prioridad. La prioridad de tiempo real permite finalmente al sistema UNIX ser utilizado en aplicaciones que demanden una respuesta rgida y rpida.

13

3.2.5.c Administracin del sistema UNIX.


El administrador del sistema es generalmente un usuario individual responsable de mantener el sistema en ejecucin correctamente. El sistema UNIX proporciona un id de presentacin especial, root, para el administrador del sistema. El id root tiene su propia contrasea y tambin privilegios especiales, incluyendo acceso completo a todos los archivos y recursos del sistema, la presentacin root se denomina superusuario.

3.2.5.d Seguridad.
Si el administrador y los usuarios del sistema utilizan frecuentemente las rdenes ps, who, ls y otras rdenes de informacin del sistema, se familiarizarn con la actividad normal da a da de la mquina y estarn alerta al estado del sistema en todo momento. La proteccin de los datos frente a los otros usuarios. Los archivos del sistema de archivos tienen tres niveles de permiso: los de usuario individual, los de grupo al que el usuario pertenece y los de todos los dems usuarios de la mquina.

3.3 PUERTO SERIAL.


Cuando se usa un puerto serial la transferencia es menos rpida pero ms segura, por tal motivo se sigue utilizando este puerto, ya que es una de las partes universales de la PC. Se puede conectar un ratn, un modem, una impresora, un graficador, otra PC.

14

3.3.1 BASE DE LA COMUNICACIN SERIAL


Es la transferencia de la informacin entre computadoras, de uno ms bits a la vez. El trmino serial se refiere a la transferencia de bits de datos de uno en uno: La mayora de las comunicaciones seriales incluye dispositivos de red, teclados, ratones, mdems, graficadores y terminales. Cuando sucede una comunicacin serial, cada palabra (un byte o carcter) de datos que se enva o recibe, se transfiere en bits(de uno en uno). Cada bit se encuentra encendido (on) apagado (off). Los trminos que se escuchan algunas veces son: Mark para estado on y space para el estado de off. La rapidez de los datos seriales es expresada frecuentemente como bits por segundo(bps) o cambio de estado de la lnea por segundo (baud). El envo mximo de 300 baudios era considerado rpido, pero hoy las computadoras pueden manipular en un RS-232 una rapidez tan alta como 430,800 baudios! Cuando el incremento proporcional excede los 1,000 baudios este incremento se muestra en kilo baudios, o kbps(ejem. 9.6 kbps, 19.2 kbps, etc.). Por arriba de 1,000,000 se muestra en mega baudios, o Mbps (ejem. 1.5 Mbps). Al hacer referencia a un dispositivo serial o puerto, estos estn etiquetados como Equipo de Comunicacin de Datos (Data Communications Equipment ) o Equipo Terminal de datos (Data Terminal Equipment). La diferencia entre ellos es simple cada par de seales, como transmitir y recibir, es intercambiada. Cuando se conectan dos interfaces juntas, dos DCE o dos DTE, se usa un cable serial null-modem o un adaptador, para el intercambio de los pares de seales. La comunicacin necesaria para la conexin de la estacin de trabajo con el graficador es DCE y DTE respectivamente.

3.3.2 COMUNICACIN ASNCRONA


Para que la computadora interprete el dato serial que recibe, necesita de alguna manera determinar donde termina un carcter y donde inicia el otro.
15

En modo asncrono la lnea de dato serial permanece en el estado mark hasta que un carcter es transmitido. Un bit de inicio precede cada carcter y es seguido inmediatamente por cada bit del carcter, un bit opcional de paridad, y uno o ms bits de stop. El bit start es siempre un space indicando a la computadora que un nuevo dato serial esta disponible. Los datos pueden ser enviados o recibidos en cualquier momento, de ah el nombre de asncrono. space High 0 +12V

mark (1) (2)

Low 1 -12V (3)

(1)star bit (2)data bits (3)stop bit(s) Fig. 3.3 El dato no es transmitido.

mark

High 1 -12V

1 lgico
space (1)

s 1 1

0 1 0
(2)

stop
Low 0 +12V (3)

(1)star bit (2)data bits (3)stop bit(s)


Fig. 3.4 El dato es transmitido. As se transmite el flujo de bits 01011, el cual se enva del menos significativo al ms significativo.

Bit de paridad opcional. Es una simple suma de bits de datos que indican si el dato contiene no un nmero par o impar de bits, con valor 1. Con paridad par. El bit de paridad es 0 si hay un nmero par de 1s en el carcter. Con paridad impar. El bit de paridad es 0 si hay un nmero impar de 1s en el dato. Es posible escuchar los trminos en ingles space parity, mark parity, y no parity.
16

Space parity. Significa que el bit de paridad es siempre 0, mientras que mark parity significa que el bit es siempre 1. no parity. Significa que el bit est presente o transmitido. bits de stop(parada), son los bits restantes. Puede haber 1,1.5, 2 bits de stop entre caracteres y siempre tienen el valor de 1. Los bits de stop tradicionalmente se usaron para dar tiempo a la computadora para procesar el carcter previo, pero ahora nicamente sirven para sincronizar la recepcin de los caracteres de entrada, de la computadora. Los formatos de datos asncronos son usualmente expresados como 8N1, 7E1, etctera. Esto se interpreta como 8 bits de datos, no paridad, 1 bit de parada y 7 bits de datos, paridad par, 1 bit de parada respectivamente.
Existen importantes consideraciones para la comunicacin serial . limite en la distancia aislamiento ptico y sobrecarga de tensin(surge supression) regresa a tierra (ground loops)

3.3.3 ACCESANDO EL PUERTO SERIAL


UNIX provee acceso a todos los dispositivos, por medio de archivos de dispositivos. Para accesar el puerto serial simplemente abre el archivo de dispositivo para el caso del puerto serial correspondiente ver tabla.3.1. Tabla.3.1 Archivos de dispositivos de puerto serial.

Sistema
Solaris/SunOS Linux Digital UNIX

Puerto 1
/dev/ttya /dev/ttys0 /dev/tty01

Puerto2
/dev/ttyb /dev/ttyS1 /dev/tty02

17

Cada puerto serial en un sistema UNIX tiene uno o ms archivos de dispositivo(en el directorio /dev ) asociado a l. El puerto de comunicacin serial de la estacin de trabajo es /dev/ ttya.

3.3.3.a Abriendo un puerto serial


La funcin de bajo nivel open(); es usada para accesar el puerto serial. fd = open(/dev/ttya,O_WRITE); fd se refiere al descriptor de archivo que abre el puerto /dev/ttya en este caso solo para escritura. Despus de definir el puerto, sigue la configuracin del mismo (3.4).

3.3.3.b Leyendo datos del puerto serial


Cuando el puerto opera en modo raw (sin formato), cada llamada del sistema de read() regresar muchos caracteres que estn disponibles en el buffer de entrada serial. Si no hay caracteres disponibles, la llamada se bloquear (wait) hasta que los caracteres lleguen, expira en un intervalo de tiempo, o cuando ocurra un error. La funcin read() se usa para regresar inmediatamente el control al sistema al realizar lo siguiente: fcntl(fd, F_SETFL, FNDELAY); La opcin FNDELAY causa que la funcin read() retorne 0 si no hay caracteres disponibles en el puerto. Para regresar a su estado normal (blocking), la llamada fcntl() va sin la opcin FNDELAY: fcntl(fd, F_SETFL, 0);

3.3.3.c Escribiendo al puerto serial


Para enviar la informacin al graficador, se utiliza la funcin de bajo nivel llamada write(); write(/dev/ttya, &variable, longitud);

18

3.3.3.d Cerrando el puerto serial


Al final el archivo de dispositivo se cierra con la funcin de bajo nivel close(); de la siguiente manera. close(archivo);

3.3.4 CONFIGURACIN DEL PUERTO SERIAL


Establecer la comunicacin serial desde la estacin de trabajo, implica tener acceso completo a los archivos de directorios que slo un sper-usuario tiene permitido. Se requiere modificar los permisos de acceso del archivo correspondiente al puerto serial (proceso efectuado por el super-usuario). Se necesita incluir el archivo <termios.h>; el cul define la estructura de control del graficador como tambin las funciones de control POSIX( estandar internacional de sistemas operativos de tipo UNIX). Las dos funciones ms importantes son tcgetattr y tcsetattr. stas obtienen y colocan respectivamente los atributos del graficador; proporcionan un apuntador a la estructura termios que contiene las opciones seriales disponibles. TABLA 3.2 c_cflag c_lflag c_iflag c_cc c_ispeed c_ospeed Opciones de la estructura termios Descripcin Opciones de control Opciones de lnea Opciones de entrada Caracteres de control Baudios de entrada Baudios de salida

Miembro

19

3.3.4.a Opciones de control de c_cflag


Las opciones de control c_cflag controlan: el baud rate, nmero de bits de datos , la paridad, los bits de parada y el control de flujo del hardware (cable serial). Estas, son constantes para toda la configuracin soportada. Y se establecen las siguientes constantes: Baudios Bits de datos Bits de paridad Bits de parada Receptor Lnea local 9600 7 1 2 b9600 cs7 parenb cstopb cread clocal

Las dos variables (cread y clocal) deben permanecer siempre. Esto asegura que el programa no iniciar con propiedades de un puerto residente que haya controlado un trabajo espordico y suspenda las seales. Las constantes de baud rate (CBAUD, B9600, etc.) son usadas por interfaces que son obsoletas y carecen de los miembros c_ispeed y c_ospeed; considerando que el mximo de baudios es 32 veces mayor en la estacin de trabajo que la del graficador, esto es 115,200 & 9600 baudios. La siguiente funcin coloca las nuevas opciones para el puerto: tcgetattr(fd, &opciones); Y la funcin que establece la recepcin y los pone en modo local es: tcsetattr(fd, TCSANOW, &opciones); La funcin tcgetattr usa la estructura de termios proporcionando la configuracin del puerto serial. Al seleccionar la nueva configuracin esta usando tcsetattr. La constante

20

TCSANOW especifica que todos los cambios deben ocurrir inmediatamente sin esperar por los datos de salida para finalizar enviando o recibiendo datos de entrada para terminar.

3.3.4.b Opciones de control de c_lflag


Las opciones de control de c_lflag son miembros de modo local que controlan; cmo son administrados los carcteres de entrada por el drive serial. En general se configura el miembro c_lflag para modo de entrada cannica raw. Eligiendo entrada cannica La entrada cannica esta orientada en lnea. Los caracteres de entrada son colocados dentro del buffer el cul puede ser editado interactivamente por el usuario hasta que suceda un retorno de carro (CR) Alimento de lnea (LF) el carcter es recibido. Cuando se selecciona el modo normal, se utiliza: options.c_lflag |= ICANON; Eligiendo entrada raw. La entrada raw es no-procesada. Los caracteres de entrada son pasados a travs del puerto exactamente como llegan, cuando son recibidos. Cuando se selecciona este modo, la constante se escribe: options.c_lflag &= ~(ICANON);

3.3.4.c Opciones de control de c_iflag


El miembro de modo de entrada c_iflag controla cualquier proceso de entrada que es hecho por los carcteres de entrada recibidos en el puerto. Para establecer la paridad entrada checando cuando se establece la paridad en el miembro c_cflag(PARENB). IGNPAR. Es una opcin de alguna manera peligrosa que le dice al drive serial que ignore los errores de paridad e ingrese los datos como si no hubiera ocurrido ningn error.
21

Esto es usual para comprobar la calidad de la liga de comunicacin, pero en general no es usado por razones prcticas. Este miembro incluye el control de flujo por software usando IXON, IXOFF e IXANY. IXON. Establece el control de flujo por software(envo). IXOFF. Establece el control de flujo por software (ingreso). IXANY. Permite que cualquier carcter inicie el flujo de cualquier carcter.

3.3.4.d Opciones de control de c_oflag


El miembro c_oflag contiene opciones de salida filtradas. Como los modos de entrada, se puede seleccionar salida procesada o raw. La salida procesada es seleccionada al colocar la opcin OPOST en el miembro c_oflag: Options.c_oflag |=OPOST; De todas las opciones nicamente se use la opcin ONLCR la cul mapea nuevas lneas en parejas. El resto de las opciones de salida son histricas y rezagadas, desde que las impresoras en lnea y las terminales podan resguardar el flujo del dato serial.

3.3.4.e Caracteres de control


El arreglo de caracteres c_cc contiene las definiciones del carcter de control tambin los parmetros. Las constantes son definidas por cada elemento de su arreglo. Colocando la interrupcin temporal de lectura. El drive de la interfase serial UNIX, tiene la ventaja de especificar el carcter y la interrupcin temporal del bloque. Dos elementos del arreglo c_cc son usados para interrupcin temporal: VMIN y VTIME. La interrupcin temporal es inundara en modo de entrada cannica o cuando la opcin NDELAY es colocada en el archivo va open o fcntl.

22

3.3.5 COMUNICACIN
La programacin de la interfase para establecer la comunicacin se realiz y se hicieron las siguientes pruebas: Primero, de estacin de trabajo a graficador sin obtener resultados. Se utiliz un programa llamado vterm para comprobar si transmita datos utilizando dos PCs, no funciono. Al analizar el cable se comprob que este era el problema, se cambio el cable y se hizo otra prueba de PC a PC obteniendo buenos resultados. Se hicieron pruebas desde la estacin de trabajo a la PC utilizando el comando cat de la siguiente manera: adelita% cat archivo > /dev/ttya Sin mayor dificultad se estableci comunicacin, por lo cul se procedi a hacer la conexin con el graficador(ver apndice B). El problema posterior fue la lejana de la estacin de trabajo del rea donde se encuentra el graficador, en la misma sala; por tal motivo se implemento un nuevo cable serial que cumpla con las caractersticas del RS-232-C especificado en el manual del graficador DMP-61 y est explicado en el apndice B.

23

CAPTULO 4
PROGRAMACIN DE LA BIBLIOTECA LGHP
4.1 INTRODUCCIN
Al crear la biblioteca se pens en aprovechar la interfase fsica y las pruebas bsicas de los comandos de HPGL, para crear una biblioteca que fuera de uso fcil para el usuario. Se describe la manera en que fueron hechos y ejecutados los comandos para as crear una biblioteca llamada LGHP.H (Lenguaje de Graficacin de Hewlett Packard). Se comentan algunas funciones ms elaboradas. As como los pasos para ejecutar un programa de usuario (ver captulo 5).

4.2 CARACTERSTICAS DE LA PROGRAMACIN DE LA BIBLIOTECA


La idea que sigui fue obtener y elaborar los archivos: objeto y el de declaracin de funciones prototipos respectivamente, a partir del archivo fuente conteniendo la definicin de cada comando del graficador, y as, crear una biblioteca en lenguaje C que estuviera disponible para los usuarios que crearn sus propios programas utilizando el lenguaje C del sistema operativo UNIX en la estacin de trabajo.

4.3

PASOS PARA CREAR LOS COMANDOS DE BIBLIOTECA LGHP

Las caractersticas principales para crear la biblioteca fueron las siguientes: Utilizar el mnimo de comandos bsicos (p. ej. pluma arriba, pluma abajo, etc.) Cada comando debe obtener las caractersticas de configuracin del puerto. Cada comando debe ser nico sintcticamente y tener los argumentos que le corresponden.
24

Los comandos deben cumplir con el formato definido por el lenguaje de graficador.

4.3.a. Diagrama de flujo de la ejecucin de cada comando en la biblioteca lghp.

inicio

Lee datos de una funcin en memoria

Esta Configurado el puerto serial

si

no
Configura l Puerto serial

Enva el comando Al graficador

Coloca los datos en un arreglo en memoria para formar el comando de hpgl

si

Hay ms datos en memoria de otra funcin

Elimina datos del arreglo Y posiciona el apuntador al principio del mismo arreglo

no fin
25

4.4 CREACIN DE LA BIBLIOTECA DE GRAFICADO LGHP


El programa que contiene las definiciones de los comandos originales de HPGL, se desarroll en lenguaje C. Para crear la biblioteca se procedi a realizar lo siguiente: 0) Compilar el programa lghp.c, para crear el archivo objeto lghp.o De la forma: % cc -c lghp.c 1) Insertar el archivo objeto en un subdirectorio. El subdirectorio debe nombrarse anteponiendo la palabra lib como sigue: % ar r libgraf.a lghp.o 2) Se puede listar el contenido del archivo con el comando ar t. %ar t libgraf.a 3) Los programas de usuario que requirieran usar la biblioteca debern hacerlos de la siguiente manera: cc o arch_usuario arch_usuario.c Las trayectorias utilizadas para colocar el archivo objeto y las declaraciones de las funciones respectivamente fueron: usr/ccs/lib (.o) y usr/ccs/include (.h) Nota: Si se adiciona a una biblioteca un archivo objeto el cul ya existe, el comando ar r reemplaza la versin anterior.

26

4.5 FUNCIONES DE LA BIBLIOTECA LGHP MS ELABORADAS Escala de usuario. sclu(x1,x2,y1,y2);

x1 y x2 corresponden a los puntos inicial y final del eje X y1 y y2 corresponden a los puntos inicial y final del eje y El origen corresponde a la coordenada (x1,y1);

Y El tamao de cada eje se debe calcular en milmetros. Con esta funcin y utilizando diferentes tamaos de argumentos, el usuario puede dibujar elipses.

Escala de acuerdo a un solo eje. Sclx(x1,x2);


x1, x2 corresponden a los puntos inicial y final del eje x. Los puntos del eje y sern los siguientes: y1 = x1 , y2=(x2-x1)*2/3

funcin de texto tx();


Esta funcin define un arreglo tipo carcter de 100 elementos. Limpia el arreglo antes de colocar el texto nuevo, al final del texto coloca el terminal (ETX) y es enviado al puerto y por seguridad vuelve a limpiar el arreglo. Como el comando DT es el terminal de texto, ya esta incluido en la funcin tx(); , el usuario se ahorra la necesidad de escribirla.

27

Tamao de carcter absoluto

tca();

La funcin tca(); sin argumentos indica que deshabilita tal funcin. Lo mismo sucede con las dems funciones que estn duplicadas pero difieren en los argumentos. Tc_a(ancho, alto); El tamao de carcter con respecto a lo alto es proporcional a 1.54 * ancho. Las medidas estn dadas en centmetros. Por ejemplo tc_a(5,5); equivale al tamao real de 5 cm. De alto y 3.246 cm de ancho, Esto es 5/1.54. Para que quede cuadrado sera (5*1.54) y quedara como tc_a(7.7,5); para obtener un carcter cuadrado.

Colocacin de los puntos extremos p1 y p2 de la hoja. Pto(); pto2();


Estos puntos extremos dan la pauta al usuario del rea que usara para graficar. Existe un margen de 15 mm que automticamente realiza el graficador.

p2 157mm

p1 (0,0) 235mm

28

4.6

LISTA DE FUNCIONES DE ACUERDO A SUS CARACTERSTICAS

FUNCIONES DE INSTRUCCIN DE CONFIGURACIN:

Inicia

in();

Comando de hpgl. IN; USO: Inicializa el subsistema, esta instruccin coloca las condiciones iniciales al graficado.

Sintxis:

in();

Coloca valores por default


Comando de hpgl. DF;

def();

USO: Coloca ciertos vectores en estados predefinidos que no son pasados a otro programa.

Sintxis:

def(); Instruccin equivalente mva(); dr_r(0,1); d_ln();m evt(); tcr(); smb(); scs(); sca(); cin(0); scl(); --Condiciones Absoluto Horizontal Lnea slida, 4% de distancia diagonal / p1 y p2. Coloca lmites de la hoja Ancho 0.75%(p2x-p1x) y alto 1.5%(p2y-p1y) off coloca 0 coloca 0 coloca el ngulo escala en off ETX (ASCII 3 decimal) 5 grados

Funcin Trazo absoluto Direccin relativa Diseo de lnea Entra ventana Tamao carcter rel. Modo smbolos Selec. carcter estandar Selec. Carcter alterno Carcter inclinado abs. Escala Terminal de texto Tolerancia

29

Escala

sclu sclx scl

Comando de hpgl. SC USO: Instrucciones de escala, sclu establece el sistema de coordenadas en unidades de usuario al mapear valores sobre los puntos de escala p1 y p2. sclx establece el sistema de coordenadas para un mapeo uniforme; obtiene y1, y2 a partir de x1, x2.

Sintxis: sclu(x1 , x2, y1, y2);


Parmetro X1, y1, x2, y2

sclx(x1abajo, x2); scl(); Formato

Flotantes / mm

Baja pluma

bp();

Comando de hpgl. PD USO: Inicia y para el trazo de vectores, pueden ser usados con parmetros para moverse al punto especificado por los parmetros Sintxis:

bp(); b_p(x1, y1);


Formato Flotante / mm Valor comn --

Parmetro Posicin

Sube pluma sp(); s_p(x1,y1);


Comando hpgl. PU; USO: La pluma se mantiene elevada despus de esta instruccin a menos que, se utilice la instruccin de pluma abajo.

Sintxis:

sp();

s_p(x1, y1); Formato Flotante / mm Valor comn --

Parmetro Posicin

Selecciona nmero de pluma pl();


Comando en hpgl. SP
30

USO: Selecciona Nmero de pluma, para este graficador solo se usa una pluma.

Sintxis: pl();
Parmetro

pl_n(x); Formato Entero Valor comn 1

Nmero de pluma

Trazo absoluto mva();


Comando de hpgl. PA USO: Realiza un movimiento con pluma abajo en coordenadas absolutas Sintxis: mva(x1, y1); Formato Flotante / mm Valor comn -Parmetro x1, y1

Trazo relativo mvr();


Comando de hpgl. PR USO: Realiza un movimiento con pluma abajo con referencia a la ltima posicin. Sintxis: mvr(x1,y1); Formato Flotante / mm Valor comn -Parmetro x1, y1

FUNCIONES DE LNEA Diseo de lnea


Comando de hpgl. LT

dln();

USO: Son 7 tipos diferentes (0-6). Cero especifica nicamente los puntos que son trazados. Si no tiene parmetro la lnea es continua Sintxis: dln(); d_ln(tipo); Parmetro Tipo Formato Entero Rango funcional 0-6 Valor comn Sin tipo, es lnea continua
31

Longitud de grosor
Comando de hpgl. TL

ma();

USO: Esto es, el ancho de una lnea por ejemplo Sintxis: ma(positivo); Formato Entero Rango funcional 0-8 Valor comn Lnea slida Parmetro Ancho

FUNCIONES DE CURVA Circulo ci(); cia(); cir();

Comandos de hpgl. CI USO: Dibuja un circulo de radio r, o un circulo en una posicin absoluta con radio r y una tolerancia de 5 % o menos, o un circulo en una posicin relativa con radio r y tolerancia de 5% o menos.

Sintxis:

ci(r); cia(x,y,r,tol); cir(x,y,r,tol); Formato Flotante Valor comn --

Parmetro x, y, r, tol

FUNCIONES DE CARCTER Texto tx();


Comando de hpgl. LABEL USO: El contenido debe ser una cadena de ASCII entre comillas y sin ningn carcter terminal.

Sintxis:

tx(c.c); Formato carcter Rango funcional Cualquier carcter Valor comn --

Parmetro cc

32

Tamao de carcter absoluto


Comando de hpgl. SI

tca();

USO: Especifica el tamao actual de caracteres y smbolos en centmetros. Esto puede ser usado para cambiar el tamao del carcter de su valor comn y establece el tamao del carcter absoluto en centmetros, as que el tamao no depende de los puntos p1 y p2.

Sintxis:

tca(); tc_a(ancho, alto); Formato Flotante Rango funcional -Valor comn --

Parmetro Ancho, alto

Carcter inclinado absoluto


Comando de hpgl. SL

cin();

USO: Especifica la inclinacin con la cual los caracteres son escritos. Esto se entiende como la tangente del ngulo de la vertical (en grados).

Sintxis:

cin(ngulo); Formato Entero Rango funcional -Valor comn 0

Parmetro Tangente del ngulo

Direccin absoluta dira();


Comando de hpgl. DI USO: Especifica la direccin de los caracteres que son trazados. Se usa para cambiar la direccin de los letreros a una nueva direccin absoluta

Sintxis: dira();
Parmetro x (o cos ) y (o sin )

dir_a(x, y); Formato Flotante Flotante Rango funcional --Valor comn 1 0

33

FUNCIONES DE POLGONO Borde absoluto del rectngulo


Comando de hpgl. EA USO: Define y obtiene lneas de salida de rectngulo usando coordenadas absolutas Sintxis: bda(xarribader, yarribader); Parmetro Coordenadas x,y Formato Flotante / milmetros

bda();

Llenar tipo llt();


Comando de hpgl. FT USO: utiliza el modelo para llenar polgonos ( llp), rectngulos (lla o llr), o cuas (llw). Usa llt() para agrandar el trazo con llenado slido. Sintxis: llt(tipo, espacio, ngulo); Parmetro Tipo Espacio ngulo Formato Entero -flotante / grados Rango funcional 1 al 4 , 10, 11 -+-360 Valor comn 1 ---

Llena rectngulo absoluto


Comando de hpgl. RA

llra();

USO: Define y llena un rectngulo usando coordenadas absolutas. Usar llra(); para llenar bordes u orillas rectangulares en el trazo.

Sintxis:

llra(xarrder, yarrder);
Formato Milmetros Rango funcional -Valor comn --

Parmetro Coordenadas x, y

Llena acuacin
Comando de hpgl. WG

llw(r, ngulo, barrido);

34

USO: Define y llena cualquier cua. Dibuja sectores de tipo pastel Sintxis: Radio ngulo Barrido

llw(r, ngulo, barrido);


Formato Milmetros Flotante / grados Flotante / grados Rango funcional -+-360 +-360 Valor comn ----

Parmetro

LISTA DE FUNCIONES DE ESCAPE


Para la siguiente lista de funciones existe un formato para ingresar los datos correspondientes y es el siguiente:

func();
Comando de hpgl. No existe USO: Crea el ASCII de ESC. Internamente y el usuario escribe la letra mayuscula y parmetros que faltan segn lo requiera la funcin. Sintxis: func( ); Parmetro Formato Letra mayscula y sus argumentos Rango funcional ( ,) , Y, Z, @, H, I, R, M, N, P, Q, T, B, E, I, O, A, S, J, K Valor comn Una letra mayscula del rango funcional (se adicionan arfumentos s existen)

ESC.H coloca protocolo en modo 1


Sintaxis: func(H tamao de bloque; carcter de indagacin; reconocimiento de cadena); o func(H:);
Parmetro Formato Rango Default

tamao de bloque carcter de indagacin reconocimiento de cadena

Entero ASCII ASCII

0, 10 a 18 0 a 26, 28 a 31 0 a126

80 bytes 0 0

35

ESC.I Coloca protocolo en modo 2 Sintxis xon-xoff: func(I xoff; omitido; xon:);
Parmetro Formato Rango default

Xoff Omitido Xon

Entero Entero ASCII

0 A 1024 0 0 A 126

80 bytes -0(si no hay carcter)

ESC.J dispositivo de control para abortar Sintxis: func(J); ESC.K grfica para abortar Sintxis: func(K); ESC.M Coloca modo de salida Sintxis: func(M delay; salida trigger; terminal echo; terminal salida; inicia salida);
Parmetro Formato Default

Delay Salida trigger Terminal echo Terminal salida Inicia salida

Entero ASCII ASCII ASCII ASCII

0 0 0 13 0

ESC.P Coloca modo de protocolo Sintxis: func(P handshake);


Parmetro Formato Rango default

Handshake

Entero

0(ninguno) 1(Xon-Xoff) 2(ENQ/ACK) 3(hardwire)

36

ESC.R Reset Sintxis: func(R); ESC.Y o ESC.( Graficador encendido Sintxis: func(Y); o func((); ESC.Z o ESC.) Graficador apagado Sintxis: func(Z); o func());
Parmetro Formato Rango default

Tamao de buffer lgico de entrada Condiciones de entrada


Nmero de bit Estado lgico

Entero

0 A 1024 0 a 31

1024 3

Descripcin

0 1

Desestablece modo monitor Establece modo monitor (solo en RS-232-C, especifica en el bit 2 uno de dos modos de monitor ).

4.7 PROGRAMA DE USUARIO


El usuario debe saber entre otras cosas: Conocer la resolucin del graficador. Es cuarenta puntos por milmetro. Conocer el rea de graficado en el papel. Es automtico o definido por el usuario si esta definida la funcin sclu(). Conocer el origen sobre el papel, esto es x,y con valores de cero. En caso de requerir un marco en la hoja especificar la funcin bda() con los valores mximos de la funcin sclu(). La parte final de un programa debe ser, colocar la pluma en el origen y cerrar el archivo usado por el puerto serial con la funcin termina();
37

4.7.a Diagrama de flujo correspondiente al realizar y ejecutar un programa de usuario. Inicio

Programa principal de usuario

Compilacin del programa con la biblioteca Lghp

Corregir programa

no
Es correcta la compilacin

si
Encender el graficador Con papel y pluma

fin

Ejecutar el programa

Crear el programa ejecutable

38

4.7.b. PASOS PARA VERIFICAR LAS FUNCIONES DEL PROGRAMA DE USUARIO


Antes de enviar los datos al graficador, se enviaron a la salida estandar, para visualizarlos y llevar un mejor control. El orden del envo de los comandos, repercute en la forma del dibujo graficado. Cuando el dibujo se realiza en rea de graficado mayor a la original, no hay problema si los comandos utilizados son valores relativos a la escala definida con el comando sclx. Al programar, el usuario debe incluir al final la funcin termina();, que es la que cierra el archivo descriptor del puerto.

4.7.c. Estructura general de un programa de usuario


#include <stdio.h> #include <stdlib.h> #include <string.h> #include <lghp.h> main() { sclx(0,600); sp(); mva(0,0); . . . . . /* El usuario escribe su cdigo */

sp(); s_p(0);

termina(); }

39

4.7.d. Para compilar y ejecutar el programa se realiza lo siguiente:


% cc o archivo_salida archivo_fuente L. lgraf

% archivo_salida

40

CAPTULO 5
PRUEBAS Y RESULTADOS

5.1

INTRODUCCIN.

Aplicar la biblioteca para obtener resultados es el fin obtenido y se demuestra en los siguientes ejemplos. Cada una de estas pruebas, utiliza al menos una funcin diferente.

5.2

CDIGOS FUENTE Y FIGURAS OBTENIDAS

La siguiente tabla describe el orden de cada figura (cdigo fuente, grfica). Tabla 5.3 lista de figuras y su descripcin breve. Nmero de Figura 1 __Cdigo fuente __ Descripcin de comandos utilizados __ Cdigo ASCII __Grfica correspondiente 2 3 4 5 6 7 8 Crculos concntricos, con d_ln() inversa Crculos con posicin relativa y absoluta Letreros en posiciones inclinadas Relleno de rectngulos c/barrido diferente Cuatro rehiletes y tres lneas de texto Letreros con diferentes posiciones y tamaos Funcin seno 45 46 47 49 50 52 53 Descripcin Pgina del Cdigo Fuente 42 43 43

41

FIGURA 1.
Programa que dibuja crculos concntricos desde el centro de la hoja, utilizando el tipo de lnea 3.

C. FUENTE
#include<stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <lghp.h>

main() { int i; sclu(0,221,0,221); sp();mva(0,0);bp(); bda(221,221); sclx(0,221); sp(); d_ln(3); for( i=5; i< 80 ;i+=10 ) cia(113,77,i,5); sp(); mva(180,5); tx("figura 1"); sp(); pl_n(0); termina(); }

42

DESCRIPCIN DE COMANDOS UTILIZADOS Tabla 5.4 Comandos del ejemplo 1. Funcin sclu sp mva bp bda d_ln cia tx pl_n termina Descripcin establece el tamao de la hoja en unidades de usuario, esto es 600 unidades en X, y 600 unidades en Y. pluma arriba posicin absoluta en x,y pluma abajo Hace el marco del tamao mximo que es de x,y Es tipo de lnea Rea liza un circulo de radio i con tolerancia de 5% Grfica los letreros entrecomillados Coloca el soporte en la posicin original Cierra archivo utilizado para el puerto serial

CDIGO ASCII La informacin enviada a travs del puerto /dev/ttya es la siguiente: SC 0.000000,8840.000000,0,8840.000000; PU; PA 0.000000,0.000000; PD; EA 8840.000000,8840.000000; SC 0.000000,8840.000000,0,5893.333333; PU; LT 3; PA 4520.000000,3080.000000; CI 200.000000,5.00; PA 4520.000000,3080.000000; CI 600.000000,5.00;
43

PA 4520.000000,3080.000000; CI 1000.000000,5.00; PA 4520.000000,3080.000000; CI 1400.000000,5.00; PA 4520.000000,3080.000000; CI 1800.000000,5.00; PA 4520.000000,3080.000000; CI 2200.000000,5.00; PA 4520.000000,3080.000000; CI 2600.000000,5.00; PU; PA 7200.000000,200.000000; LB FIGURA 1 PU;SP 0;

44

FIGURA 2
Son crculos concntricos que se encuentran en la esquina inferior izquierda y esquina superior derecha, utilizan tipo de lnea diferente y en sentido inverso.
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <lghp.h> main() { int i,j; sclu(0,230,0,230); bda(230,230); sclx(0,235); sp(); mva(0,0); bp(); sp(); mva(60,50); bp(); for(j=1,i=3; j<=6,i< 45; j++,i+=4){ d_ln(j); ci(i); } sp(); mva(165,105); bp(); for( j=6,i=3; j>=4,i< 45; j-=.2,i+=4) { d_ln(j); ci(i); } sp(); mva(180,5); tx("figura 2"); sp(); pl_n(0); termina();

45

FIGURA 3
El graficador dibuja crculos a distancia relativa uno del otro, usa tipo de lnea 6(raya y 5 puntos), 3(raya y un punto), 4(raya y dos puntos).
#include<stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <lghp.h> main() { sclu(0,235,0,235); bda(235,235); sclx(0,235); sp(); mva(5,5); d_ln(6); cir(26,26,25,5); cir(25,0,25,5); cir(25,0,25,5); sp(); d_ln(3); cir(23,50,25,5); cir(25,0,25,5); sp(); d_ln(4); cir(20,50,25,5); cir(25,0,25,5); cir(25,0,25,5); sp(); mva(190,5); tx("figura 3"); sp(); pl_n(0); termina(); }

46

FIGURA 4
El graficador coloca los letreros de forma transversal dibujando letreros que forman rombos y medios rombos. El tamao de la letra decrece a medida que se grafcan los letreros de la palabra optica.
#include<stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <lghp.h>

main() { int i,j; sclu(0,221,0,221); bda(221,221); sp();mva(0,0); tc_a(.15,.25); cin(0); dir_a(1,1); mva(30,150); tx("I.N.A.O.E."); dir_a(1,-1); tx("I.N.A.O.E."); dir_a(-1,-1); tx("I.N.A.O.E."); dir_a(-1,1); tx("I.N.A.O.E."); sp(); for(i=0; i< 5000; i++) printf(" %i ",i); tc_a(.15,.25); cin(0); dir_a(1,1); mva(90,150); tx("I.N.A.O.E."); dir_a(1,-1); tx("I.N.A.O.E."); dir_a(-1,-1); tx("I.N.A.O.E."); dir_a(-1,1); tx("I.N.A.O.E."); sp(); for(i=0; i<5000; i++) printf(" %i ",i); tc_a(.15,.25); cin(0); dir_a(1,1); mva(150,150); tx("I.N.A.O.E."); dir_a(1,-1); tx("I.N.A.O.E."); dir_a(-1,-1); tx("I.N.A.O.E."); dir_a(-1,1); tx("I.N.A.O.E."); 47

sp(); for(i=0; i< 5000; i++) printf(" %i ",i); tc_a(.45,.25); cin(0); mva(140,90); dir_a(1,-1); tx("optica"); dir_a(-1,-1); tx("optica"); sp(); tc_a(.25,.45); cin(0); mva(115,90); dir_a(1,-1); tx("optica"); dir_a(-1,-1); tx("optica"); sp(); tc_a(.1,.15); cin(0); mva(90,90); dir_a(1,-1); tx("optica"); dir_a(-1,-1); tx("optica"); sp(); tc_a(.1,.06); cin(0); mva(65,90); dir_a(1,-1); tx("optica"); dir_a(-1,-1); tx("optica"); sp(); mva(180,5); tc_a(.25,.45);dir_a(1,0); tx("figura 4"); sp(); pl_n(0); termina(); }

48

FIGURA 5
Programa que traza tres rectngulos con diferente relleno. El primero arriba a la derecha dibuja lneas transversales muy juntas, el segundo es trazado con lneas ms separadas y trazadas en sentido inverso formando una malla, el tercero lo mismo que el primero solo que en diferente posicin y una ligera pero diferente inclinacin de trazado.
#include<stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <lghp.h> main() { sp(); mva(62.5,25); llt(2,1.25,5); llra(20,24); sp(); mva(62.5,-25); llt(4,50,30); llra(0.5,0.6); sp(); mva(-75,-12.5); llt(6,1.25,20); llra(0.5,0.6); sp(); mva(50,-75); tc_a(.30,.25);dir_a(1,0);tx("figura 5");sp(); mva(-100,-80);bp(); mva(-100,80); mva(100,80); mva(100,-80);mva(-100,80); sp(); pl_n(0); termina();

49

FIGURA 6
Programa que hace cuatro rehiletes de diferentes en tamao, tres letreros y su marco respectivo.
#include<stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <lghp.h>

main() { int i,j; sp();mva(0,0); i=0; for( j=45; i<360; j-=5) { llw(10,i,j); /*radio, inicio angulo, barrido */ i+=j+15; } sp(); mva(-82.5,40); tx(" Ma. del Rosario M. H."); sp(); mva(-70,7.5); for(i=0; i<380; i+=40) llw(15,i,10); sp(); mva(-40.5,-20); llw(10,40,60);/* radio, angulo, barrido */ llw(10,160,60); llw(10,280,60); sp(); mva(60.5,25); llw(30,40,80);/* radio, angulo, barrido */ llw(30,160,80); llw(30,280,80); sp(); mva(-59.5,-50); tx(" instrumentacion - optica - inaoe"); sp(); sclu(0,15,0,10); sp();mva(0,0); bda(15,10); 50

mva(11.75,0.12); tx("figura 6"); sp(); pl_n(0); termina();

51

FIGURA 7
El programa muestra los tipos de inclinacin (con sus valores respectivos)y tamaos de los textos.
#include #include #include #include #include <stdio.h> <stdlib.h> <string.h> <errno.h> <lghp.h>

main() { float i,j; sclu(0,230,0,230); bda(230,230); sclx(0,235); sp(); mva(0,0); ma(0.2); tc_a(0.3,0.5); mvr(0.5,8); tx("a~o 2001"); mva(19,60); dir_a(-1,0); tx("-1,0"); mva(20,60); dir_a(1,0); tx("1,0"); mva(20,58); dir_a(0,-1); tx("0,-1"); mva(20,61); dir_a(0,1); tx("0,1"); mva(22,115); mva(23,116); mva(22,115); mva(23,115); mva(200,140); mva(150,110); mva(150,120); mva(180,5); mva(115,25); sp(); pl_n(0); termina(); } dir_a(-1,-1); tx("-1,-1"); dir_a(-1,1); tx("-1,1"); dir_a(1,1); tx("1,1"); dir_a(1,-1); tx("1,-1"); dir_a(1,0); dir_a(1,0); dir_a(1,0); dir_a(1,0); dir_a(1,0); tc_a(-1,1); tx("reversa"); tc_a(0.2,0.1); tx("peque~a"); tc_a(0.5,0.5); tx("mediano"); tca(); tx("figura 7"); tc_a(1,3); tx("largo");

52

FIGURA 8 El objetivo de este programa es graficar la funcin seno. La ejecucin del programa solicita al usuario el rango [x1,x2]. Los trazos se realizan a partir del uso de las funciones de la biblioteca lghp

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <lghp.h> #define _POSIX_SOURCE 1 #define coi 1 #define cof 50 #define rei 1 #define ref 50 #define tameval 2500 #define xy 2 double double double double main() { inicializa(); funcion(); } inicializa() { int i,j; for(i=0; i<= tameval; i++) for(j=1; j<=2; j++) { areag[i][j]=0.0; evalua[i][j]=0.0; postrz[i][j]=0.0; } } maximin( int i, int j) { int e; 53 areag[tameval][xy]; evalua[tameval][xy]; postrz[tameval][xy]; ymax, ymin;

ymin= evalua[0][j]; ymax=ymin; for(e=0; e<= i;e++) { areag[e][1] = evalua[e][j]; if(areag[e][1] < ymin) ymin = areag[e][1]; if(areag[e][1] > ymax) ymax = areag[e][1]; } printf("max %lf min%lf ", ymax,ymin); } funcion ( ) { char letrero[15]; int i,j,e,k; double posx,posy,ren; double a,b,dx,p1; a=b=dx=posx=posy=ren=0.0; printf("Proporcione el intervalo "); printf("A: ");scanf("%lf",&a); printf("B: ");scanf("%lf",&b); dx = (b-a)/ref; printf("%f \n",dx); i=0; j=2; evalua[0][1]=a; while(evalua[i][1] < b+dx) { evalua[i][j]= sin(evalua[i][1]); i++; evalua[i][1]= evalua[i-1][1]+dx; } func("R"); sclu(0,157,0,235); bda(235,235);

if((a*b) < 0) { posy = 1-(a/(a-b))*(-(ref-2)); mva(1,posy);bp(); mva(ref,posy);sp(); /* } maximin(i,j); if((ymin*ymax) < 0) { posx =1 -(ymax/(ymax-ymin))*(-(cof-1)); mva(posx,1); bp(); mva(posx,cof); sp(); }

eje y */

/*

eje x */

for(e=0; e<= i-1; e++) postrz[e][1] = evalua[e][j]; for(e=0; e<= i-1;e++) { postrz[e][2]= 1-((ymax-postrz[e][1])/(ymax-ymin))*(-(cof-1)); p1 = postrz[e][2]; for(k=1;k<100;k++); mva(p1,e); bp(); 54

} for(i=0; i<= e-1; i++) sp(); pl_n(0); termina(); }

55

CONCLUSIONES

1. 2. 3.

El acceso de la estacin de trabajo al graficador se cumpli teniendo la configuracin del cable y del puerto. El graficador funciona como se haba esperado. Se implement la biblioteca llamada LGHP, para el lenguaje HPGL, en el ambiente UNIX, es de tamao suficiente y ofrece los servicios elementales para el departamento de Instrumentacin-ptica.

4. 5.

La efectividad del lenguaje en la nueva biblioteca se comprob al realizar un conjunto de ejemplos. Se prob la biblioteca en ejemplos particulares, con resultados satisfactorios.

VENTAJAS, LIMITACIONES Y PERSPECTIVAS

Ventajas
1. 2. 3. 4. 5. La biblioteca de graficado es accesible dentro del lenguaje C del sistema Solaris 2.4 La verificacin de la sintxis de los comandos es correcta, garantizando que el cdigo enviado al graficador es correcto. Es posible graficar Un archivo en lenguaje HPGL redireccionando al graficador con el comando cat. Obtencin de grficas en tamao real bajo el sistema Solaris 2.4 La posibilidad de poder enriquecer esta biblioteca al tener acceso a los fuentes.

56

Limitaciones
1. 2. 3. 4. No se muestra la grfica previamente en pantalla. Slo se obtienen grficas en dos dimensiones Actualmente el graficador, slo se puede accesar, desde la estacin de trabajo donde est conectado fsicamente. Solo se implemento en lenguaje HPGL.

Perspectivas.
1. 2. 3. Implementar el despliegue de las grficas en pantalla. Accesar el graficador desde cualquier estacin de trabajo autorizada en red. Implementar otra biblioteca de graficado para utilizar el lenguaje DM/PL.

57

GLOSARIO
ASCII. Son las siglas en ingles de cdigo estandar americano para intercambio de informacin. Cdigo de 8 bits que usan 7 bits para representar el dato del carcter as como letras, puntuacin, smbolos, y carcteres de control. El bit 8 es usado para la paridad. BAUDIOS (Baud Rate). Representa el nmero de unos y ceros que pueden ser enviados en un segundo entre una computadora y un perifrico. BUFFER. Una parte o partes de memoria de la computadora o dispositivo donde el dato es almacenado hasta que sea procesado. Usualmente se refiere al rea de memoria reservada para operaciones de entrada/salida. COMANDO HPGL. Es el nombre de una funcin del lenguaje de graficacin de HewlettPackard con el siguiente formato: MNEMNICO(parmetros); Donde: MNEMNICO. Son dos letras maysculas( abreviaciones del comando). Y los parmetros pueden ser de tipo entero y/o flotante alfabtico. CONFIGURACIN. Es la manera en que el equipo de computo y el software es conectado y configurado para operar como un sistema. CONTROL DE FLUJO. Es la coleccin de tcnicas usadas en comunicacin serial para detener al que enva enviando un dato hasta que el que recibe pueda aceptarlo. Puede ser mediante el control de flujo por software o por hardware. DCE. Equipo de Comunicacin de Datos (Data Communications Equipment). Se refiere al equipo que va a enviar los datos, en este caso, la estacin de trabajo (WS).

58

DEFAULT. Un valor o condicin que es asumido si no hay otro valor o condicin especificada. DESCRIPTOR DE ARCHIVOS. Es un entero pequeo que identifica un archivo abierto en un proceso. Este nmero es obtenido como un resultado de abrir un archivo. Las operaciones las cuales son lee, escribe o cierra un archivo tomaran el descriptor de archivo como un parmetro de entrada. DISPOSITIVO MANEJADOR(device driver). Desde el punto de vista del sistema operativo:

es el software que controla los componentes del hardware o dispositivos perifricos de una computadora como un disco magntico, cinta magntica, impresora, graficador etctera. Un driver es responsable para accesar los registros del hardware del dispositivo y a menudo incluye un manejador de interrupciones al servicio de interrupciones generadas por el dispositivo. Un driver a menudo forma parte del nivel ms bajo del ncleo del sistema operativo, el cul est ligado cuando el ncleo se construye. Algunos sistemas recientes tienen drivers que pueden ser instalados desde archivos despus de que el sistema operativo este en ejecucin. DIFERENCIA DE POTENCIAL. Es la que causa el movimiento de los electrones. Una corriente de slo un amperio mueve 6.25 x 1018 electrones en un segundo. Cuanto ms alta sea la diferencia de potencial entre los terminales del circuito, mayor ser el flujo de corriente. Tanto el flujo de corriente como los niveles de tensin se pueden emplear para representar datos y seales de comunicacin de datos. DRIVER. Configuracin de datos usado por el software para controlar entrada y salida entre la computadora y el dispositivo perifrico(graficador).

DTE. Equipo Terminal de Datos (Data Terminal Equipment). Es el dispositivo que recibe la informacin, ste, es el graficador (G). ESCALA. Es la divisin del rea del graficador en unidades convenientes para una aplicacin.

59

HANDSHAKING. El hardware predeterminado o la actividad del software diseado establece o mantiene dos maquinas o programas en sincronizacin. El handshaking a menudo concierne el cambio de mensajes o paquetes de datos entre dos sistemas con buffers limitados. Un simple protocolo de handshaking podra complicar, el recibir enviando un mensaje con el significado de recib tu ltimo mensaje y estoy listo para que me enves otro. En protocolo handshaking ms complejo, podra permitir enviar a preguntar al que recibe si esta listo para recibir o para que reciba una rplica con un reconocimiento negativo que signifique no recib tu ltimo mensaje correctamente, por favor reenvalo. El Handshaking por hardware usa niveles de voltaje o pulsos en las lneas que llevan las seales, mientras el handshaking por software usa unidades de datos (p.ej. caracteres ASCII: DC1,DC2,DC3,DC4) HPGL. Lenguaje de graficacin Hewlett-Packard. (Hewlett-Packard Graphics Language) INTERFASE. Cualquier cosa usada para juntar componentes de un sistema de computacin de manera que esas funciones sean compatibles y coordinadas. MODO LOCAL. En una configuracin RS-232-C, un modo en el cul el graficador acepta instrucciones a travs de un cable insertado en el conector de la interfase del graficador llamado TERMINAL. PUERTO. Es el punto fsico en el que un dispositivo perifrico, como una terminal o una red, est conectado a la computadora. En este caso son los conectores del cable serial unido a la salida y entrada, de la estacin de trabajo(WS) y el graficador(G), respectivamente. PROTOCOLO. Grupo de caractersticas formales que describen como se transmiten los datos,especialmente RESOLUCIN. Es la medida de la imagen expresada agudamente como un nmero de lneas por unidad de longitud. Cuando se refiere al graficador, la resolucin direccionable es
60

el medio para el movimiento ms pequeo del graficador que puede hacer en un programa. En este graficador la resolucin es de 1016 unidades por pulgada o 40 unidades por milmetro.

RISC. Grupo de Instrucciones Reducidas de Computadora Reducidas.(Reduced Instruction Set Computer), un procesador donde el diseo esta basado en la ejecucin rpida de una secuencia de instrucciones simples. UNIX. En las palabras de los autores es a weak pun on multics el plural de Unices. Un sistema operativo de tiempo compartido interactivo inventado en 1969 por Ken Thompson despus los Laboratorios Bell retoman el proyecto. Dennis Ritchie, El inventor de C, es considerado co-autor del sistema. VOLTIO. Es una medida de la diferencia de potencial necesaria para conseguir que los electrones se muevan por el circuito. VELOCIDAD DE RELOJ. La velocidad se fundamenta en ciclos por segundo a la cul

una computadora ejecuta sus operaciones ms bsicas, as como sumar dos nmeros o transferir un valor de un registro a otro. La velocidad de reloj de una computadora es determinada normalmente por la frecuencia de un cristal.

61

APNDICE A
GUA PARA EL USO DE COMANDOS HPGL .
Los graficadores son dispositivos de hardware bsicos para dibujar lneas, sta operacin esta controlada por cuatro comandos. PA PR PU PD trazo absoluto trazo relativo pluma arriba pluma abajo

Pluma arriba y abajo tienen movimiento cuando una lnea se comienza a crear, en los comandos de absoluto y relativo definen el tipo de movimiento entre puntos. Por ejemplo dibujar una lnea de (1,0) a (2,0) se puede especificar como sigue: p_u();pa(1,0); p_d();pr(1,0);p_u(); El resultado enviado al graficador es: PU;PA1,0,PD;PR1,0;PU; Hay dos atributos bsicos que pueden ser asignados a una lnea, como esperar que se apliquen a una pluma, y son: SP PT nmero de pluma espesor de pluma

El nmero de pluma acta como un ndice de color, comnmente son 8 colores. Y la otra es la geometra con la que pueden ser especificados y ellos son: AR CI EA arco relativo circulo borde del rectngulo absoluto
62

ER EP EW LB

borde del rectngulo relativo borde del polgono borde unido (wedge) letrero

In(); inicializa: pa(); la pluma se estaciona en el lugar predeterminado (home), limpia el estado interno, reinicia. Le da sentido a la posicin. OI identidad de salida: Nombre, versin, fecha. PA trazo absoluto: Los movimientos son con referencia a home (0,0) PD pluma (z) abajo: si ya esta abajo, no hay movimiento. PR trazo relativo: Los movimientos son con referencia a la posicin corriente PU pluma (z) arriba: solo sube la pluma sin avanzar. SP selecciona una pluma : la misma accin como en IN si n == 0 n!= al n previo. Puede forzar una pausa. SP0 como IN, y debe liberarse. LB El letrero debe estar entre comillas, por ej. hola.

63

APNDICE B
CABLE RS-232.

El RS-232 es una interface elctrica estndar para comunicacin serial definida por Electronic Industries Association (EIA). Actualmente viene en 3 diferentes tipos (A, B y C) cada uno definido con un rango de voltaje diferente para los niveles de on y off. El RS-232C enva los datos por la interfaz mediante cambios de niveles de tensin voltios. De la variedad, lo que ms se usa es RS232C, el cul define un bit de marca (on 1) con un voltaje entre 3V y 12V y un bit de espacio (off 0) con un voltaje entre +3V y +12V. Las especificaciones dicen que estas seales pueden llegar cerca de 8m. (25 pies). RS-232C, la C representa la cuarta versin, aprobada en 1981. RS-232C describe cuatro funciones de interfaz: Definicin de las seales de control de la interfaz. Movimientos de datos de usuario a travs de la interfaz. Transmisin de seales de reloj para sincronizar el flujo de datos: Formacin de las caractersticas elctricas reales de la interfaz.

Pata 7 Tierra de seal(GND): Tierra comn para todos los circuitos. As se establece la tensin de referencia para las otras lneas. Tcnicamente no es una seal, Pero sin ella ninguna de las otras seales funciona. Pata 2 Datos de transmisin(TXD): Seales de datos transmitidas desde la estacin de trabajo(WS) que es el DCE, hacia el graficador(G) que es el DTE. Generalmente representan datos de usuario, una marca de voltaje es interpretada como 1 y un espacio de voltaje es interpretado como 0. Pata 3 Datos de recepcin(RXD): Seales de datos de usuario transmitidas desde un G hacia una WS. Como en TXD, marca y espacio son 1 y 0, respectivamente.

64

Pata 4 Solicitud de envo(RTS): Seal de WS (DCE) a G (DTE). El RTS es una seal que se coloca como un voltaje de espacio por la WS (DCE) para indicar que hay ms datos que estn listos para ser enviados. RTS ayuda a regular el flujo de datos entre la WS (DCE) y G (DTE). Muchas de las WS llevan la seal colocada todo el tiempo. Pata 5 Permiso para transmitir(CTS): La seal CTS es recibida por la otra terminal del cable. Un voltaje de espacio indica esta listo para enviar ms datos seriales de la WS.

Especificacin del cable serial en el manual del graficador. Graficador Conector DB-25S 2 3 4 7 Estacin de trabajo Conector DB-25P

TD -------------------------------------------3 RD ------------------------------------------ 2 RTS ---------------------------------------- 5 GND ---------------------------------------- 7

CONECTOR DB25

65

TABLA B-4 CIRCUITO SERIAL DE LA ESTACION DE TRABAJO SPARC, RS-423/RS-232 Pata 1 2 3 4 5 6 7 8 9-14 15 16 17 18-19 20 21-23 24 25 Funcin --TxD RxD RTS CTS DSR Gnd DCD --TRxC --RTxC --DTR --TxC --I --I --I --O --O --I/O --O I O I I Nivel No se conecta Transmite dato Recibe dato Listo para enviar Limpia el envo Equipo de datos preparado Seal de tierra Detecta transmisin de datos No se conectan Transmite reloj No se conecta Terminal de datos preparado No conectado Terminal de datos preparado No conectado Transmite reloj No conectado

66

APNDICE C
FUNCIONES DE LA BIBLIOTECA LHGP.H (COMPLEMENTO).
FUNCIONES DE INSTRUCCIN DE CONFIGURACIN Inicia in();

Comando de hpgl. IN; USO: Inicializa el subsistema, esta instruccin coloca las condiciones iniciales al graficado.

Sintxis:

in();

Mascara de entrada
Comando de hpgl. IM;

no hay

USO: Los parmetros son ignorados, ya que tienen significado nicamente para la interfase de comunicacin GPIB O HP-IB, y no se usa en este graficador.

Coloca valores por default


Comando de hpgl. DF;

def();

USO: Coloca ciertos vectores en estados predefinidos que no son pasados a otro programa.

Sintxis:

def(); Instruccin equivalente mva(); dr_r(0,1); d_ln();m evt(); tcr(); smb(); scs(); sca(); cin(0); Condiciones Absoluto Horizontal Lnea slida, 4% de distancia diagonal / p1 y p2. Coloca lmites de la hoja Ancho 0.75%(p2x-p1x) y alto 1.5%(p2y-p1y) off coloca 0 coloca 0 coloca el ngulo
67

Funcin Trazo absoluto Direccin relativa Diseo de lnea Entra ventana Tamao carcter rel. Modo smbolos Selec. carcter estandar Selec. Carcter alterno Carcter inclinado abs.

Escala Terminal de texto Tolerancia

scl(); ---

escala en off ETX (ASCII 3 decimal) 5 grados

Entrada de ventana
Comando de hpgl. IW

evt( );

USO: Provee el medio para restringir el rea de trabajo a la pluma en la superficie del graficador. Esta rea es llamada ventana.

Sintxis: evt( x1abajoiz., y1abajoiz, x2arrder., y2arrder.);


Parmetro x1,y1,x2,y2 Formato Valor comn Limites del sujetador de papel

Flotante

Salida de ventana svt();


Comando de hpgl. OW; USO: Establece valores predeterminados.

Sintxis:

svt();

Entra p1 y p2
Comando hpgl.

pto(); pto2();
IP

USO: Es el medio para localizar los puntos p1 y p2 a travs del control del programa. La instruccin de pto() o pto2() es usada para asegurar que el rea de graficacin es del mismo tamao, especialmente cuando el usuario y el programador no son la misma persona.

Sintxis: pto(x1, y1 );
Parmetro x1, y1, x2, y2

pto2(x1, y1, x2, y2 ); Formato Flotante / mm Valor comn Limites del sujetador de papel

68

Sale p1 y p2 spto();
Comando hpgl . OP; USO: Hace las coordenadas comunes de p1 y p2 disponible a la salida y es usada para determinar la posicin de p1 y p2 en unidades en las que se encuentra la escala.

Sintxis:

spto(); Respuesta x1, y1, x2, y2

Parmetro

Ninguna

Tolerancia

tol();

Comando de hpgl. CT; USO: Si el valor de tolerancia de la cuerda, se especifica como menor o igual a 5, el graficador automticamente usa la rutina de curva para dibujar un circulo(ver 4.4.17 del manual de operacin)

Sintxis:

tol(tipo); Formato Entero Rango funcional 0(ngulo cuerda) 1(distancia de desviacin) Valor comn 0

Parmetro Tipo

No esta listo
Comando hpgl.

nol();
NR;

USO: Al recibir el comando el graficador establece el modo local y se debe presionar local key. (ver 4.4.2 manual de operacin). Sintxis: nol();

Sistema de coordenadas de rotacin


Comando de hpgl. RO

rota();

USO: Sistema de coordenadas de rotacin. Rota el trazo por unidades de milmetro por unidades de usuario, ngulo es el valor de rotacin 1 es por default horizontal al texto, 2 rota 90 grados de la posicin original ro(1), 3 rota 180 grados desde ro(1), 4 rota 180 grados de derecha a izquierda, 5

69

cambia la orientacin de ro(1), 6 cambia la orientacin de ro(2), 7 cambia la orientacin de ro(3), 7 cambia la orientacin de ro(4).

Sintxis:
Parmetro ngulo

rota(ngulo); Formato entero Rango funcional 1-7 Valor comn 1

Almacn de datos

BF

No esta habilitada para este equipo (NOP).

Re-grfica

RP

No esta habilitada para este equipo (NOP).

Sube pluma automtica spa();


Comando de hpgl. Sintxis: spa(); AP USO: Eleva la pluma en caso de que no este en movimiento .

Selecciona velocidad v(); v_n(rapidez);


Comando de hpgl. Sintxis: VS USO: Especifica la rapidez de la pluma. Se usa para optimizar la calidad de la lnea

v(); v_n(rapidez);
Formato Entero Rango funcional 30-800 mm/s Valor comn 800

Parmetro rapidez

Velocidad adaptativa VA
No esta habilitada para este equipo (NOP).

70

Velocidad normal VN
No esta habilitada para este equipo (NOP).

Selecciona aceleracin
Comando de hpgl. AS

ac();

USO: Se aplica al realizar cualquier tipo de curvas. Sintxis:

ac(); ac_n(acelerac.);
Formato Flotante Rango funcional 0.5, 1, 2, 3, 4 Valor comn 4

Parmetro Aceleracin

FUNCIONES DE LNEA Grosor de eje x


Comando de hpgl. XT USO: Dibuja una marca vertical con cierto grosor en la localizacin corriente. Sintxis: ejx(); Parmetro ninguno Formato -Rango funcional -Valor comn --

ejx();

Marca de eje y
Comando de hpgl. YT

ejy();

USO: Dibuja una marca horizontal con cierto grosor en la localizacin corriente Sintxis: ejy(); Formato -Rango funcional -Valor comn -Parmetro ninguno

71

FUNCIONES DE CURVA Arco absoluto ara(); arat();

Comando de hpgl. AA USO: Dibuja un arco, usando coordenadas absolutas, que inician en la localizacin x,y.

Sintxis:
x, y

ara(x, y, ngulo); arat(x, y, ngulo, arco); Formato Flotante / mm Flotante Flotante Rango funcional Flotante +- 360 0.5 - 180 Valor comn --5

Parmetro ngulo arco

Arco relativo arr(); arrt();


Comando de hpgl. AR USO: Dibuja un arco, usando coordenadas relativas, que inician en la localizacin x,y.

Sintxis:
x, y

arr(x, y, ngulo); arrt(x, y, ngulo, arco); Formato Flotante / mm Flotante Flotante Rango funcional Flotante +- 360 0.5 - 180 Valor comn --5

Parmetro ngulo arco

FUNCIONES DE CARCTER Diseo carcter estndar


Comando de hpgl. CS

dc();

72

USO: Puede ser usado para elegir el carcter el grupo de caracteres estandar apropiados para una aplicacin. Esto es de gran ayuda especialmente cuando los letreros estn en otro idioma.(ver prrafo 4.4.8 del manual de operacin).

Sintxis:

dc(); d_c(vector, arco v, arco f); Formato Entero Entero Entero Rango funcional 0-9, 30-39 10-19, 40-49 20-29, 50-59 Valor comn 0 10 20

Parmetro Vector Arco variable Arco fijo

Diseo de carcter alterno


Comando de hpgl. CA

dca(); dc_a(vector,arco v, arco f);

USO: Es el medio de diseo de caracteres para alternar con otro grupo de caracteres( ver manual de operacin). Sintxis: dca(); dc_a(vector,arco variable,arco fijo); Parmetro Vector Arco variable Arco fijo Formato Entero Entero entero Rango funcional 0-9, 30-39 10-19, 40-49 20-29, 50-59 Valor comn 0 10 20

Selecciona carcter estndar scs();


Comando hpgl. SS USO: Permite seleccionar las instrucciones diseadas por dc() como los caracteres que se usaran para letreros

Sintxis:

scs();

Selecciona carcter alterno sca();


Comando de hpgl. SA USO: Se elige el grupo alterno diseado por la instruccin ms reciente como el grupo de caracteres que ser usado para todos los letreros
73

Sintxis:

sca();

Modo de smbolos smb();


Comando de hpgl. SM USO: Es usada con mva(); y mvr(); es la forma de dibujar un solo carcter el cual es centrado al fin de cada trazo. Puede ser usado para dibujar puntos esparcidos en forma de spray, o dibujos geomtricos, o mltiples lneas diferentes. La instruccin sin parmetro retorna un smbolo de off. La instruccin se mantiene hasta que un in(); df(); son ejecutadas.

Sintxis:

smb(); s_mb(c); Formato Texto Rango funcional -Valor comn (0-10-20)

Parmetro Carcter

Tamao de carcter relativo tcr();


Comando de hpgl. SR USO: Especifica el tamao de caracteres y smbolos como porcentaje relativo de la distancia entre los puntos de escala p1 y p2.

Sintxis:

tcr(); tc_r(ancho, alto); Formato Flotante Rango funcional -Valor comn --

Parmetro Ancho, alto

Grafica carcter
Comando de hpgl. CP

grc();

USO: Mueve la pluma al nmero especificado de espacios. Esto es usado para mover cualquier nmero de espacios de carcter o lneas de un punto en la superficie de trazo

Sintxis:

grc(); gr_c(espacio a lo ancho, espacio a lo alto); Formato Flotante Flotante Valor comn --74

Parmetro Espacio a lo ancho Espacio a lo alto

Direccin relativa dirr();


Comando de hpgl. DR USO: Cambia direccin de los letreros a una nueva direccin relativa a la escala de los puntos P1 y P2

Sintxis:

dirr(); dir_r(x, y); Formato Flotante Flotante Rango funcional --Valor comn 1 0

Parmetro x(o cos ) y(o sin )

Cadena almacenada de la funcin texto


Comando de hpgl. BL USO: Cadena almacenada en buffer.

txal();

Nota: No se encontr ms informacin de apoyo en los manuales utilizados. Sintxis: txal(c...c); Formato Carcter Rango funcional -Valor comn -Parmetro c....c

ngulo de arco del carcter

CC

Nota: No esta habilitado en el equipo de graficacin.

Modo seleccin de carcter Carcter copiable


DL

CM

Nota: No esta habilitado en el equipo de graficacin.

Nota: No esta habilitado en el equipo de graficacin.

Espacio extra
Comando de hpgl. ES

spc();

USO: Espacio que se ajusta entre caracteres y lneas de cadenas sin afectar el tamao del carcter.
75

Sintxis:
C

spc(); sp_c(c); Formato -Rango funcional -Valor comn ---

Parmetro

Origen de la cadena
Comando de hpgl. LO

orx();

USO: Coloca la cadena relativa en el lugar donde se encuentra la pluma

Sintxis:

orx(); or_x(x); Formato Entero Rango funcional 1 a 9 o 11 a 19 Valor comn 1

Parmetro Posicin

Longitud de salida de funcin texto


Comando de hpgl. OL USO: longitud de la cadena de salida

lg_x();

Nota: No se encontr mayor informacin en los manuales de apoyo.

Sintxis:

lg_x();

Imprime el texto almacenado


Comando de hpgl. PB USO: imprime cadena almacenada

im_x();

No se encotr mayor informacin en los manuales de apoyo

Sintxis: im_x(); Carcter de entrada


IC

No esta habilitado en este modelo de graficador

Escribe a la pantalla

WD EOT

No esta habilitado en este graficador


76

Direccin vertical drv();


Comando de hpgl. DV USO: Direccin vertical Nota : no se encontr ms informacin en los manuales de apoyo.

Sintxis:

drv();

FUNCIONES DE DIGITALIZACIN Digitaliza un punto dgp();


Comando de hpgl. DP USO: despus de que recibe el comando de digitalizar un punto, el graficador entra en modo digital, como ser indicado por el led de ENTER en el panel de contol. Sintxis: dgp();

Digitaliza punto de salida dgs();


Comando de hpgl. OD USO: Obtiene la coordenada de X,Y y la posicin asociada con el ltimo punto digitalizado. Se usa esta instruccin despus de la instruccin dgp() para regresar las coordenadas del punto digitalizado en la computadora. Sintxis: dgs();

Limpia modo digital


Comando de hpgl. DC USO: Termina modo digital. Sintxis: dglm();

dglm();

FUNCIONES DE ESTADO
77

Identificacin de salida ids();


Comando de hpgl. OI USO: Escribe el nmero de identificacin del graficador en el papel. Son 7580B para DMP-61 Y 7585B para DMP-62. Sintxis: ids();

Estado de salida
Comando de hpgl. OS

eds();

USO: Escribe el valor decimal de los bytes de estado. Se usa eds() cuando este depurando un programa. Sintxis: eds(); Respuesta Nmero Formato Entero Rango 0 a 255 Parmetro Ninguno

Lo siguiente describe los valores de estado del byte. Valor Decimal 1 2 4 8 16 32 64 128 Pluma abajo P1 o P2 son establecidas nuevamente No usado Inicializado Listo para vaciar el buffer de datos Error No usado No usado Significado Nmero de Bit 0 1 2 3 4 5 6 7

Factor de salida
Comando de hpgl. OF

fcs();

USO: obtiene el factor de salida en el graficador. Sintxis: fcs();

Error de salida

errs();
78

Comando de hpgl. OE USO: Se escribe en el graficador el nmero correspondiente al tipo de error recibido por el graficador despus de la instruccin in(); ms reciente, restaura el panel de control o la instruccin errs(). Usar errs() para depurar el programa. Sintxis: errs();

Posicin actual de salida


Comando de hpgl. OA

pos();

USO: Si la pluma esta estacionada sin actividad, el graficador reporta la localizacin como la posicin actual de esta funcin. Sintxis: pos();

Ordenando Posicin de salida


Comando de hpgl. OC

opos();

USO: Ordena posicin de salida al graficador. Nota : no se encontr ms informacin en los manuales de apoyo. Sintxis: opos();

Opciones de salida ops();


Comando de hpgl. OO USO: Obtiene opciones de salida en el graficador. Nota : no se encontr ms informacin en los manuales de apoyo. Sintxis: OPS();

Borde del limite de salida lms();


Comando de hpgl. OH USO: Obtiene las coordenadas x, y de los lmites al avanzar el papel en el graficador. Sintxis: lms();

Tipo de salida carousel

tsc();
79

Comando de hpgl. OT Nota : no se encontr ms informacin en los manuales de apoyo. Sintxis: tsc();

Dimensin caja caracteres salida


Comando de hpgl. OB

cjs();

Nota : no se encontr ms informacin en los manuales de apoyo. Sintxis: cjs();

Tecla de salida
Comando de hpgl. OK

tcls();

Nota : no se encontr ms informacin en los manuales de apoyo. Sintxis: tcls();

FUNCIONES DE MAPEO Avance pgina completa PG

Nota: No esta habilitado en este graficador (NOP).

Avanza la mitad de pgina

AH

Nota: No esta habilitado en este graficador (NOP).

Establece corte de lnea Establece corte de lnea

EC EC1

Nota: No esta habilitado en este graficador (NOP).

Nota: No esta habilitado en este graficador (NOP).

Avance de marco (advance frame)

FR
80

Nota: No esta habilitado en este graficador (NOP).

FUNCIONES DE POLGONO Borde relativo del rectngulo


Comando de hpgl. ER USO: Define y obtiene las lneas de salida de un rectngulo usando coordenadas relativas

bdr();

Sintxis:bdr(xarribader, yarribader) Parmetro Incrementos x, y Formato Flotante / milmetros

Borde del polgono bdp();


Comando de hpgl. EP USO: Obtiene lneas de polgono corriente, almacenadas en el buffer de polgono. Usa bordes de polgono que estn definidos en modo polgono y con rectngulo relleno. Sintxis: bdp();

Borde acuado
Comando de hpgl. EW

bdw();

USO: obtienen lneas de cualquier acuacin. Utiliza bdw() para dibujar sectores de tipo pastel. Sintxis: bdw(radio, ngulo, barrido); Parmetro Radio ngulo barrido Formato Milmetros Flotante / grados Flotante / grados Rango funcional -+-360 +-360

Llenar polgono llp();


81

Comando de hpgl. FP USO: llena el polgono del buffer de polgono. Usa llp() para llenar polgonos definidos en modo polgono as como las instrucciones de bda(), bdr() y bdw(). Sintxis: llp();

Modo polgono
Comando de hpgl. PM

mop(); mo_p(flota x);

USO: entra en modo polgono para definir la forma, as como los bloques de letras o cualquier rea nica, y existe para llenado subsecuente y/o las orillas. Llena polgonos usando la instruccin de llenado de polgono (llp), y/o obteniendo lneas de salida con la instruccin (bdp). Sintxis:mop(); mo_p(x); Parmetro Operacin Formato Entero Rango funcional O(modo polgono) 1(cierra polgono) 2(sale modo polgono) 0 Valor comn

Espesor de la pluma
Comando de hpgl. PT

esp(); es_p();

Nota: No se encontro ms informacin en los manuales de apoyo

Sintxis:

esp(); es_p(ancho);

Llena rectngulo relativo llrr();


Comando de hpgl. RR USO: Define y llena un rectngulo usando coordenadas relativas. Utilizar llrr() para llenar contornos retangulares.

Sintxis:

llrr(xarrder, yarrder);
Formato Milmetros Rango funcional -Valor comn --

Parmetro Incrementos x, y

82

Llena tipo definido por el Usuario


Comando de hpgl. UF

lltu(x);

USO: Crea tipos de lnea especificando el modelo de intervalos. Usar la instruccin d_ln() para seleccionar el modelo. Sintxis: lltu(x); Parmetro Intervalo Formato Flotante Rango funcional -Valor comn --

LISTA DE FUNCIONES DE ESCAPE

ESC.A, Identificacin de salida Sintaxis: func(A);


Parmetro Respuesta Formato Rango

Ningno

Identificacin del graficador

Cadena de caracteres

Hasta 30 caracteres

El siguiente muestra la cadena de idetificacin de cada modo de emulacin


Modo de emulacin Cadena de identificacin

DMP-61 DMP-62 HP-GL (758X)

7580B 7585B 7585B

ESC.B Espacio del buffer de salida Sintxis: func(B); o func(B n);


Parmetro Respuesta Formato Rango

Ninguna

Entrada lgica disponible en el espacio del buffer

Entero

0 a 1024 bytes

ESC.E Error extendido de salida Sintxis: func(E); o func(E n);


Parmetro Respuesta Formato Rango

Ninguno

Nmero de error

Entero

0, 10 a 18
83

ESC.H coloca protocolo en modo 1 Sintxis: func(H tamao de bloque; carcter de indagacin; reconocimiento de cadena); o func(H:);
Parmetro Formato Rango Default

tamao de bloque carcter de indagacin reconocimiento de cadena

Entero ASCII ASCII

0, 10 a 18 0 a 26, 28 a 31 0 a126

80 bytes 0 0

ESC.I Coloca protocolo en modo 2 Sintxis xon-xoff: func(I xoff; omitido; xon:);
Parmetro Formato Rango default

Xoff Omitido Xon

Entero Entero ASCII

0 A 1024 0 0 A 126

80 bytes -0(si no hay carcter)

ESC.J dispositivo de control para abortar Sintxis: func(J);

ESC.K grfica para abortar Sintxis: func(K);

ESC.L Tamao de buffer de salida cuando se vaca Sintxis: func(L);

ESC.M Coloca modo de salida


84

Sintxis: func(M delay; salida trigger; terminal echo; terminal salida; inicia salida);
Parmetro Formato Default

Delay Salida trigger Terminal echo Terminal salida Inicia salida

Entero ASCII ASCII ASCII ASCII

0 0 0 13 0

ESC.N Coloca salida extendida Sintxis: func(N delay; handshake dependiendo del parmetro);
Parmetro Formato Default

Delay Handshake Xon-xoff Handshake Asegura reconocimiento

Entero ASCII ASCII

0 0 0

ESC.O Estado extendido de salida Sintxis: func(O); ESC.P Coloca modo de protocolo Sintxis: func(P handshake);
Parmetro Formato Rango default

Handshake

Entero

0(ninguno) 1(Xon-Xoff) 2(ENQ/ACK) 3(hardwire)

ESC.R Reset Sintxis: func(R); ESC.S Tamao de memoria configurable de salida Sintxis: func(S n:);
85

Parmetro

Formato

Rango

default

Entero

0A6

0(configuracin total de memoria)

ESC.T localiza memoria configurable Sintxis: func(T buffer de e/s fisico; buffer de polgono; buffer de carcter downloadable; buffer de vector; buffer de clase de plumas );
Parmetro Formato Default

buffer de e/s fisico buffer de polgono buffer de carcter downloadable buffer de vector buffer de clase de plumas

Entero Entero Entero Entero Entero Entero

1024 6144 6144 0 3000 25672

ESC.U Modo rpido de termino Sintxis: func(U); ESC.Y o ESC.( Graficador encendido Sintxis: func(Y); ESC.Z o ESC.) Graficador apagado Sintxis: func(Z); o func());
Parmetro Formato Rango default

Tamao de buffer lgico de entrada Condiciones de entrada

Entero

0 A 1024 0 a 31

1024 3

Nmero de bit

Estado lgico

Descripcin

0 1

Desestablece modo monitor Establece modo monitor (solo en RS-232-C, especifica en el bit 2 uno de dos modos de monitor ).

ESC.@ Coloca configuracin del graficador Sintxis: func(@);


86

APNDICE D
FUNCIONES Y COMANDOS DEL LENGUAJE HPGL
FUNCIONES DE HPGL funciones de seleccin: ESC.Y o ESC.( Graficador encendido. ESC.Z o ESC.) Graficador apagado. Funciones de configuracin: ESC.@ (buffer);(modo): Configuracin del graficador. Coloca el tamao de buffer mximo y establece/desestablece el protocolo hardwire DTR. ESC.H (bloque);(indagacin);(r1; ;r10): Modo 1 Set Handshake define el tamao de bloque de datos para indagar y reconocer el protocolo de comunicacin. El tamao de bloque se mide en bytes, la indagacin; son ASCII equivalentes de 0 a 126 o cero por default, va de uno a diez carcteres (ASCII decimal equivalente de cero a 127) separados por una coma; por default todos son ceros. ESC.I (bloque);(indagacin);(r1; r10): Modo 2 Set Handshake. Cuando el host no requiere parmetros de respuesta. ESC.R Reestablecer. Causa que todos los vectores recibidos antes de que la instruccin sea graficada, entonces el buffer del vector es vaciado. ESC.M (reactivacin); (triare); (eco)(terminador); (terminador); (iniciador): Modo salida. Coloca los parmetros que mandan la respuesta del graficador al host. La reactivacin esta en milisegundos, trigger son decimales ASCII equivalente de 0 a 126 por default es cero, lo mismo en eco, el terminal de salida es uno o dos decimales ASCII equivalentes, el terminal es un retorno de carro.
87

ESC.N (retrazo);(t1; t10): Coloca Salida Extendida y modo Handshake (protocolo). La instruccin define el retardo y dependiendo del protocolo seleccionado, define la cadena de respuesta inmediata, va de uno a diez carcteres (ASCII decimal equivalente de 0 a 127) separados por una coma; por default todos son ceros. ESC.P modo: o ESC.P: Coloca modo Handshake ESC.Q modo: o ESC.Q: Coloca Modo Monitor ESC.T (E/S); (polgono); (descargable): Funciones de salida: ESC.B Espacio del buffer de salida ESC.E Error extendido de salida. ESC.L Tamao del buffer de salida (en bytes). ESC.O Posicin extendida de salida ESC.A Identificacin de salida ESC.S buffer: ESC.S: Tamao de memoria de salida Funciones para abortar: ESC.J Control para abortar el dispositivo. Desde que este es ejecutado cuando lo toma del buffer de entrada, nicamente puede ser reconocido cuando otro comando no esta comenzando a ser procesado. ESC.K Control para abortar el grfico
88

LISTA DE COMANDOS DE HPGL


COMANDOS DE INSTRUCCIONES DE CONFIGURACIN

Nombre
Inicializa Mascara de entrada Coloca valores por default Entrada de ventana Salida de ventana Entra p1 y p2 Sale p1 y p2 Escala Tolerancia No esta listo Sist.. Coordenadas de rotacin Almacn de datos (buffer) Re-grafica

Comandos
IN; IM; DF; IW x,y,x2,y2; OW; IPX,Y; OP; SC x,y,x2,y2; CT; NR; RO; BF; RP;

COMANDOS DE LA PLUMA

Nombre
Pluma abajo Sube pluma automtica Pluma arriba Selecciona pluma Trazo absoluto Trazo relativo Selecciona velocidad Velocidad adaptativa Velocidad normal Selecciona aceleracin

Comandos
PD; PU; PU x,y; AP; SP; SP x; PA x,y; PR x,y; VS; VS x; VA; VN; AS; AS x;

89

COMANDOS DE LNEA

Nombre
Diseo de lnea Longitud de marca Seal de eje x Seal de eje y

Comandos
LT; TL; XT; YT;

COMANDOS DE CURVA Nombre Circulo Arco absoluto Arco relativo

Comando
CI x,y; AA x,y,z; AR x,y,z;

COMANDOS DE CARCTER

Nombre
Diseo de carcter estandar Diseo alterno de carcter Selecciona carcter estandar Selecciona carcter alterno Define terminal de func.label Modo de smbolos Label Tamao de carcter absoluto Tamao de carcter relativo Carcter inclinado absoluto Grfica carcter Direccin absoluta Direccin relativa Cadena almacenada func. Label

Comando
CS; CA; SS; SA; DT; DT x; SM; SM x; LB cadena SI; SR; SL; CP; DI; DR; CP x,y; DI x,y; DR x,y; SI x,y; SR x,y; CS x,y,z; CA x;

BL cadena
90

ngulo de acuerdo al carcter Modo seleccin de carcter Carcter de sombra Disea carcter en la ranura Espacio extra Invoca carcter Origen de la func. Label Long. de salida de func. Label Imprime lo almac.en label Carcter de entrada Escribe a la pantalla Direccin vertical DIGITALIZACIN DE COMANDOS

CC; CM; DS x,y; ES c; IV x; LO; OL; PB; IC x;

CC x; CM x;

DL; DL C; DL x,y,z;

LO x;

WD EOT; DV; DV x;

Nombre
Digitaliza un punto Digitaliza pto de salida Limpia modo digitalizar ESTADO DE COMANDOS

Comando
DP; OD; DC;

Nombre
Identificacin de salida Estado de salida Factor de salida Error de salida Posicin actual de salida Ordenando Posicin de salida Opciones de salida Borde del limite de salida Tipo de salida carousel Dimensin caja carac.salida Tecla de salida

Comando
OI; OS; OF; OE; OA; OC; OO; OH; OT; OB; OK;
91

COMANDOS DE MAPEO

Nombre
Avance pagina completa Avanza la mitad de pgina Establece corte de lnea Avance de marco (advance frame COMANDOS DE POLGONO

Comando
AF; PG; PGL; AH; AC; ECL; FR;

Nombre
Borde absoluto del rectngulo Borde relativo del rectngulo Borde del polgono Borde acuado Llenar polgono Llenar tipo Modo polgono Espesor de la pluma Llenar rectngulo absoluto Llenar rectngulo relativo Llenar tipo definido por el Usuario Llenar acuacin

Comando
EA x,y; ER x,y; EP; EW x,y,z; FP; FT x,y,z; PM; PM x; PT; PT x; RA x,y; RR x, y; UF gap 1; WG(x,y,z);

92

APNDICE E
EL CONJUNTO DE CARACTERES ASCII
Valor ASCII
000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

carcter

Valor ASCII
032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063

carcter
blanco ! # $ % & ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

Valor ASCII
064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095

carcter
@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _

Valor ASCII
096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 `

carcter

a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ DEL

Nota: Los 32 primeros caracteres y el ltimo son caracteres de control; no se pueden imprimir. 93

BIBLIOGRAFA
1) C. Schirmer. Programming in C for UNIX, (c) 1987 English Language Edition Ellis Harwood Limited. 2) DMP-60 series plotters operation manual. Copyright 1987-1990 Houston Instrument Division of Summagraphics Corp. 3) Evi Nemeth & Gorth Snyder, Scott Seebass. Unix System Administration Handbook.(c) 1989 by PTR Prentice-Hall, inc. A-Simon & Schuster Company Englewood Cliffs, New jersey 07632. 4) 5) Harvey M. Deitel, Operating Systems. Ed. Addison-Wesley Publishing Company 1990. Marc J. Rochkind ed. Prentice-Hall, inc. Advanced Unix Programming, Englewood Cliffs, New Jersey 07632. 6) 7) 8) Pajari George . Writing UNIX Device Drivers. Ed. Addison-Wesley Publishing Company, Inc.1992. Prez Lezama Vernica . Gua de Operacin del Graficador DMP-61, INAOE. Richard Gauthier. Using the Unix System. Ed. Reston Publishing company, Company, inc. A Prentice-Hall Company. Reston, Virginia 1981. 9) Stephen Coffin. UNIX sistema V versin 4. Manual de Referencia. Ed. Osborne/McGraw-Hill

94

Вам также может понравиться