Lectura de datos de relojes de marcación RTA600

Al estropearse definitivamente (en el momento en que se calculaba el pago de la quincena!) la motherboard de la máquina donde estaba montado el software de lectura de marcaciones de tarjetas magnéticas (llamado Tempus; de factura argentina), surgió el problema de cómo leer esos datos e incorporarlos al sistema.
Anteriormente se trabajaban las incidencias, llegadas tarde, licencias y demás, sobre el Tempus, y luego era necesario transportar esa información a las opciones correspondientes de Tainux.
Tempus hace una instalación que al arrancar chequea si está en la misma motherboard, con el mismo número de serie del disco, con la misma RAM, etc, como forma de evitar las instalaciones piratas. Así que esto descartaba una reinstalación por nuestra parte (tenemos el programa de instalación).

Para colmo, al estar descontinuado, ya no se podría volver a hacer instalar, y la solución planteada es comprar a buen precio otro software que haga el trabajo, pagando además por el contrato de mantenimiento.

Entonces desenterraron un código llamado Cronos que yo había escrito en el 2006, a pocos meses de entrar en la fábrica, y que estaba realmente pensado para capturar las bases de datos (formato FoxBASE!!) generadas por Tempus y trasladar su contenido a nuestro sistema (Linux con PostgreSQL como sistema de bases de datos). Ese código me permitía tener toda la información unificada, pero dependía de que se leyeran los relojes con el otro previamente. Un script que se ejecutaba periódicamente como tarea de fondo me pasaba la información de un equipo a otro. Una solución más completa se me ponía muy difícil al ser los relojes una caja negra: no teníamos suficiente información sobre cómo trabajan ni sabemos claramente cómo se extraen los datos. Por otra parte, acostumbrados como estaban al otro sistema, jamás le dieron una ojeada. Yo me encargaba de mantenerlo actualizado con las lecturas, por orgullo profesional.

Me pidieron hacerle a la carrera las modificaciones necesarias para que se pudieran controlar las incidencias. Resueltos los problemas más graves, quedaba la tarea de buscar una forma de leer las marcaciones de los relojes.

Me acordé de que tenía en alguna parte un software de mantenimiento y puesta a punto de aquellos relojes, que los técnicos habían olvidado una vez en el disco, software para el MS-DOS. Aquello tiene una opción para extraer los datos en varios formatos.

Entonces busqué un paquete emulador de MS-DOS que fue diseñado para correr sobre Linux los viejos programas de juegos de la era pre-Windows, llamado DOSBOX, y me puse a trastear el fichero de configuración para decirle que emulara en Linux el comportamiento MS-DOS de los puertos de comunicaciones.

La solución consiste en declarar las líneas:

serial1=directserial realport:ttyS0

serial2=directserial realport:ttyS1

serial3=directserial realport:ttyS2

serial4=directserial realport:ttyS3

Cuando lo logré, lancé mediante el emulador el software de mantenimiento, descargué las marcaciones y con un script lo exporté hacia la máquina Linux, donde con un programa convertidor vuelco a un fichero de texto convenientemente estructurado las lecturas, las importo con una opción de mi Cronos a una tabla, le cambio el formato para potabilizarlo, y lo añado a la tabla de as marcaciones.
el programa convertidor es dbview, el cual puede ser convenientemente lanzado mediante:

dbview -t -b -d ‘,’ ficherodelecturas.dbf > datoscrudosrt600.txt

El programa de mantenimiento (RTA600.EXE) salva los datos en ASCII o en DBF, con el formato DATA0905.DBF (5 de septiembre, sin fecha), según el día de que se trate.

Esta entrada fue publicada en Linux, Software Libre. Guarda el enlace permanente.

3 respuestas a Lectura de datos de relojes de marcación RTA600

  1. Alejandro dijo:

    Gracias por tu aporte, estoy queriendo implementar un reloj a mi sistema.
    Estoy por comprar un reloj en mercafolibre, el que sea mas barato, peto no tengo idea todavia de como leer los datos, no debe ser ninguna locura.
    Yo soy desarrolador web, si tenes alguna sugerencia te lo agradeceria.

  2. mayralberto dijo:

    Muy buena esa! Felicitaciones!
    Acá hubimos de renunciar a usar ese reloj porque ya nadie comercializa esas tarjetas. Y bueno, como las máquinas ya no traen el puerto com1 habilitado por defecto, pues tendríamos quizás hasta que pensar en cómo emularlo…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *