Cobol

Principal Arriba

 

horizontal rule

 

ÍNDICE

  1. Introducción.
  2. Sistema
  3. Driver extendido xansi.exe
  4. Acceso a los puertos Rs-232 de comunicaciones

INTRODUCCIÓN

En el mercado existen multitud de lenguajes de programación para Ms-Dos. Muchos de estos lenguajes como ( Cobol, Clipper, Basic, etc...) acceden al driver "Ansi.sys" que interpreta secuencias de escape emitidas por el teclado, la pantalla y otros periféricos del PC. Por ello nos hemos visto obligados a utilizar este driver en nuestro ''MIP5B, PC de mano', el cual, al ser estándar nos limita la configuración de pantalla. Esto significa que el driver 'Ansi.sys' configura la pantalla con 25 líneas x 80 columnas (que es el estándar) mientras que nuestro Mip5B tiene una pantalla de 8 líneas x 20 columnas. Por eso, cuando instalemos el driver 'Ansi.sys' en el terminal Mip5b toda la información del sistema operativo aparecerá en la última línea de la pantalla. 

MIPSA ha buscado una solución ha este inconveniente para que los programas desarrollados en cualquier lenguaje para Ms-dos, puedan correr en nuestro terminal. La solución parte de un pequeño programa que le hemos llamado 'xansi.exe'. Este programa va a ser el interprete de todas las opciones que el driver 'Ansi.sys' no nos puede ofrecer debido a su estandarización. 

Si quiere programar en C++ sin nuestras librerías puede utilizar nuestro programa 'xansi.exe' para acceder al láser y al teclado. De esta forma se evitaría la necesidad de desarrollar sus rutinas para el láser y para el teclado.

Volver al índice

SISTEMA

Para que podamos utilizar el 'Ansi.sys' necesitamos que este sea activado desde el "config.sys" cuando se reinicia el terminal Mip5B. Cuando se resetea  el terminal (ver página conexiones), verá en pantalla como se van cargando el sistema operativo y los drivers. Si el driver "Ansi.sys" se activa sólo podremos disponer de la última línea de pantalla desde el prompt de Ms_Dos.

MIPSA ha preparado un sistema para poder habilitar y deshabilitar el ansi.sys. Para ello es necesario que tengamos en el directorio c:\utils dos ficheros BAT que harán esta tarea. Estos ficheros son:

- E.BAT ( Habilita el driver Ansi.sys)

- D.BAT ( Deshabilita el driver Ansi.sys)

Si desea obtener más información acerca del sistema diríjase a la página del Sistema Mip5b

Volver al índice

DRIVER EXTENDIDO PARA PROGRAMAS SIN LIBRERIAS MIPSA

El motivo de la creación del driver llamado xansi es facilitar el acceso a características especiales del terminal Mip5b a programas que no usan las librerías C++ de MIPSA.

Para realizar la comunicación con estos programas se ha escogido un tipo de interfaz común a casi cualquier lenguaje o entorno de programación, la pantalla. Para ello, y dado que el terminal Mip5b posee una pantalla de 20x8 líneas de texto, se han elegido las coordenadas 40,15 como clave para administrar los comandos a través de pintar determinados caracteres en dichas coordenadas. Por ejemplo, para activar el lector de códigos de barras, escribiremos el carácter ‘C’ en las coordenadas 40,15. En un lenguaje como cobol, la sentencia podría quedar de esta forma, DISPLAY “C” LINE 15 POSITION 40’. Tras leer un código será insertado en el buffer de teclado.

El funcionamiento a bajo nivel del driver seria el siguiente:

 
 

 

 

 

 

 

 

 

 

 

 

 

 

Descripción de los parámetros incluidos en el archivo ini del driver.

Los valores configurables desde el archivo xansi.ini hacen sobre todo referencia al lector de códigos de barra y son los siguientes.

BARCODE: Se refiere a si el driver instalará el andel de teclado para poder manejar los códigos leídos y si se usará el lector de códigos. Puede tomar los valores “ENABLED” o ”DISABLED” “”””

DECODER: Se refiere al tipo de pistola o lector que se encuentra instalado en el terminal a usar. Existen diferentes modelos con y sin decodificador interno. Puede tomar los valores “ENABLED” o ”DISABLED” “”””

CODE TYPE: Se refiere al tipo de código que será leído, puede ser un tipo en particular o aceptar cualquiera de los soportados. Puede tomar los siguientes valores: “EAN 13”, ”CODE 39”, ”2 OF 5”, ”EAN 128”, ”ALL”.

RETRIES: Se refiere al número de intentos de lectura de un código de barras que realizará el driver a nivel interno antes de descartar una lectura como errónea. Valor numérico, recomendamos el valor 2.

MAXDIGITS: Representa el máximo de dígitos que tendrán los códigos a leer, no se decodificará nada que supere esta longitud. Valor numérico.

MINDIGITS: Al igual que con el máximo, no se decodificará ningún código de longitud inferior a lo especificado en este parámetro. Valor numérico.

READSPEED: Se refiere a la velocidad a la que trabajará la cpu en el momento de realizar la captura. Valor numérico. (Entre 8 y 33, recomendado).

Un ejemplo de configuración podría ser el siguiente:

BARCODE = “ENABLED”

DECODER = “DISABLED”

CODE TYPE = “ALL”

RETRIES = 2

MAXDIGITS = 30

MINDIGITS = 2

READSPEED = 16


Descripción de los comandos disponibles.

Posicionándonos en las coordenadas 40,15, intentaremos escribir cualquiera de los siguientes caracteres:

bullet

‘A’ o ‘a’: Este comando cambiará el teclado del mip5b a la primera pagina, es decir, alfanumérica.

bullet

‘1’ . Este comando cambiará el teclado a modo numérico.

bullet

‘C’ o ‘c’: Este comando activara el lector de códigos de barra e intentará leer un  código con los parámetros que se hallan incluido en el archivo xansi.ini explicado arriba.

bullet

‘G’ o ‘g’:  Desactivar funciones de agenda y características especiales en teclas de función en el driver de teclado.

bullet

 ‘H’ o ‘h’: Activar funciones de agenda y teclas especiales del driver mip5

 

Comandos añadidos a la última versión(1.04)

La versión 1.02 añade dos nuevos comandos a los ya documentados arriba:

bullet

 ‘D’ o ‘d’: Extrae la fecha del reloj de tiempo real y la retorna por teclado en el siguiente formato: “DD/MM/AAAA”. Nótese que el número de pulsaciones a recoger tras el comando es fijo, la longitud de la cadena siempre será de 10 caracteres.

bullet

‘T’ o ‘t’: Extrae la hora del reloj de tiempo real. Funciona como la función arriba explicada para la fecha. El formato de la cadena de hora será: “99:99:99”

bullet

‘#’: Pone como primera pagina de teclado la pagina numérica, de manera que la pulsación de la tecla 0 (en modo alfanumérico X-Y-0), queda: 0-X-Y.

 Volver al índice

ACCESO A LOS PUERTOS RS-232 DE COMUNICACIONES

Una parte importante en el mundo de los terminales portátiles es la posibilidad de transmitir y recibir ficheros.

bullet

Programas de comunicaciones

Programa de comunicaciones instalado en el terminal Mip5 llamado "MIPLOAD". Programa de comunicaciones instalado en el Pc para Windows llamado "Mipcom2001".

MIPLOAD

  1. ¿Para que sirve el programa de comunicaciones MipLoad?

Sirve para recibir toda clase de ficheros. Puede utilizarlo para recibir el programa y para recibir ficheros de datos.

  1. Especificaciones del programa

El programa de comunicaciones Mipload.exe y el fichero k.bat  irán cargados en el directorio utils del terminal. El fichero K.bat sirve para cargar automáticamente un programa en el directorio usuario del terminal. Está preparado para los programas realizados en C++ con librerías MIPSA, en los cuales el nombre del programa es Mip.exe. Si se quiere utilizar con un programa que no se llame así lo puede modificar a su medida.  

Por otro lado puede utilizar el programa para enviar y recibir ficheros del terminal Mip5B.

  1. ¿Cómo recibir un programa automáticamente en el directorio usuario?

En el directorio del PC tendrá el programa que va a cargar en el terminal. Además tendrá un fichero llamado Mipfile.ini que contendrá el nombre de los ficheros que va a cargar. Ejemplo:

 

;MIPSA FILE LIST

 PHONENUMBER = 91111112

RECFILEBIN = MIP.EXE

RECFILE = WINDOW.TXT

RECFILE = HELPPC.TXT

RECFILE = BAS.TXT

RECFILE = MIP.BAT

RECFILE = MIP.SYS

RECFILE = TABLECFG.CFG

RECFILE = E.BAT

RECFILE = R.BAT

RECFILE = PEDIDO.DAT

 

Desde el prompt de ms-dos escriba "K" y pulse "Ent". El programa se cargará automáticamente. Si el nombre del programa no es Mip.exe aparecerá un mensaje de error.

 

  1. ¿Cómo recibir y transmitir ficheros de datos?

Al tratarse como un programa independiente lo podemos utilizar llamándole desde cualquier programa de captura de datos que hayamos desarrollado en cualquier lenguaje. Para comprobar su funcionamiento desde el prompt de Ms-Dos pueden seguir los siguientes pasos:

En el directorio del programa tendrá que tener dos ficheros *.bat para enviar y recibir. Por ejemplo, e.bat y r.bat.

El formato del fichero puede ser así:

R.bat:

cd..

cd usuario

del mipfile.ini

mipload rec.ini

E.bat

cd..

cd usuario

del mipfile.ini

Mipload trs.ini

 

Los ficheros rec.ini y file.ini tienen el mismo formato que mipfile.ini lo único que contendrán únicamente los ficheros que quieres transmitir o recibir.

A continuación describiremos todos los parámetros  de comunicación que podemos transmitir y recibir:

PHONENUMBER : Para indicar el número de teléfono del módem llamar.

Ejemplo: PHONENUMBER = 915551234

NOTNEEDED: Para especificarle ficheros que si no son cargados no debe darse mensaje de error. Este parámetro es necesario porque es posible que haya tablas que no sea imprescindible cargarlas. El nombre de fichero que se especifique aquí debe estar especificado anteriormente como de carga o de descarga.

Ejemplo: NOTNEEDED = DATOS.DAT

RECFILEBIN: Para especificar un fichero binario a cargar en el terminal desde el PC. Ejemplos de ficheros binarios son los ejecutables, los comprimidos, etc. Es importante utilizar este comando en vez de RECFILE para binarios, porque si no no funcionará.

Ejemplo: RECFILEBIN = MIP.EXE

TRSFILEBIN: Para especificar un fichero binario a transmitir desde el terminal al PC. Es importante utilizar este comando en vez de TRSFILE para binarios, porque si no no funcionará.

Ejemplo: TRSFILEBIN = MIPCHECK.EXE

RECFILE: Para especificar un fichero no binario a recibir en el terminal desde el PC. Ficheros no binarios son los que se editan con cualquier programa ( EDIT, WORDPAD, BLOC DE NOTAS ) y no aparecen caracteres extraños.

Ejemplo: RECFILE = DATOS.TXT

 TRSFILE: Para especificar un fichero no binario a transmitir al PC desde el terminal.

Ejemplo: TRSFILE = DATOS.OUT

BAUDRATE: Para especificar los baudios de la comunicación. Debe tenerse en cuenta que si no hay fichero de parámetros en el directorio, como ya hemos comentado el programa lo intentará cargar desde el PC, y siempre lo hará a 115200 baudios. Por tanto, si se desea trabajar desde la primera vez a 38400 , deberá haber un fichero de parámetros en el directorio que lo especifique.

Ejemplo: BAUDRATE = 38400

PORT: Especifica el puerto por el que realizar la comunicación. Posibles valores son los siguientes:

o       RS-232: Para comunicación por cable.

o       CONTACT: Para comunicación por cuna de contactos.

o       MODEMRS-232: Para comunicación por módem externo via cable RS-232.

o       MODEMCONTACT: Para comunicación por módem externo via cuna de contactos.

 

  1. ¿Cómo sabemos si la comunicación ha sido correcta o no?  

Tras concluir la comunicación, el programa dejará en el directorio un fichero llamado COMREP.TXT especificando como ha sido la comunicación, con la siguiente estructura para cada fichero que haya habido en la comunicación; 12 posiciones para nombre de fichero + 1 espacio + 2 Resultado + 2 de salto de línea.

 El resultado será “OK” si fue correcta la comunicación y “ER” en caso contrario.

  1. ¿Como realizar comunicaciones telefónicas?

 El mipcom2001 tiene que tener el parámetro conexión con Módem. Debe utilizar módems externos compatible Hayes. Aconsejamos el modem Multitech o Diamond. Velocidad 115.200 sin paridad. El número de teléfono se indica en el fichero *.ini.

 

 

Volver al índice

 

 

 

horizontal rule

 

Home