May 20

Cambio de tercio

analizador de espectrosHace ya un mes largo me llamaron a una reunión en la que íbamos los posibles candidatos para hacer un nuevo proyecto, previsiblemente en java. El proyecto consiste en hacer unos bancos automáticos de prueba para unos equipos electrónicos que se van a empezar a fabricar en serie. ¿Adivináis a quién le ha tocado el fregado de entre todos los candidatos?.

Así que nada, he cambiado totalmente de tercio. He pasado de hacer ventanas Swing en java a controlar equipos de instrumentación electrónica (analizador vectorial, fuente de alimentación, generador de señal….) y llevo más de un mes en ello, junto con algunos de mi grupo.

Por un lado estaba la posibilidad de tener que controlar un puerto RS-485, (similar a un puerto serie RS-232 pero de otra manera). La librería a usar RXTXcomm, pero después de unas pruebas y ver que funciona correctamente, me comentan que vamos a comprar un conversor de serie a lan, de forma que podemos hablar con el equipo con puerto serie a través de un socket normal de lan.

Por otro lado, los otros equipos de instrumentación tiene conexión lan directamente y el protocolo de mensajería para controlarlos es estándar, SCPI. La verdad es que es muy tonto, se abre un socket normalito y se mandan comandos de texto terminados en un retorno de carro. El equipo devuelve también comandos de texto terminados en retorno de carro. De hecho, hay posibilidad de conectarse con un vulgar "telnet", escribir los comandos a mano y leer en el mismo terminal las respuestas.

Lo curioso del caso es que hace algo más de 15 años, cuando empecé a trabajar, empecé precisamente controlando instrumentación electrónica para bancos automáticos de pruebas (de aquella en BASIC y con una versión primitiva de LabWindows), Y estoy alucinado de los cambios que ha habido en este mundillo. Antes un osciloscopio era una cosa con botones gordos, pantalla de fósforo verde y un tubo de rayos catódicos. Ahora un analizador de espectros tienen un display LCD, con un Windows XP metido y una aplicación que arranca al encenderlo. Por supuesto, viene con conexión lan y un pequeño servidor web, de forma que desde tu PC y con un navegador "vulgaris" puedes acceder al equipo y controlarlo.

En fin, me lo estoy pasando como los indios (aunque diga que me aburro al programar según las buenas costumbres) y siempre viene bien un cambio de actividad para renovar los ánimos (aunque siga siendo java).

Entradas relacionadas:

3 Responses to “Cambio de tercio”

  1. paco Says:

    Y porqué no usas LabView? Yo he programado bastante en ese tipo de aplicaciones, usando Delphi y LabView y te puedo decir que la productividad es enormemente mayor con LabView…

  2. Chuidiang Says:

    Hola:

    Sí, como comento, usé una versión muy antigua de LabWindows hace años y consideré la posibilidad de usar esta herramienta, pero el proyecto es de tres meses y no tenemos previsto hacer más bancos automáticos de prueba. Así que….

    – Por un lado conocemos java y no conocemos ni LabWindows (C++) ni LabView (creo que se programa pintando cajitas y uniéndolas con líneas), por lo que el tiempo que perdamos aprendiendo posiblemente nos coma la mejora de productividad que podamos conseguir en sólo tres meses.
    – LabWindows/LabView te facilitan la comunicación con el equipo, pero el protocolo SCPI con lan no es demasiado complejo como para hacerlo en java. Tampoco vamos a usar ni muchos equipos ni muchos comandos.
    – LabWindows/LabView permiten interfaces de usuario muy vistosas en dos patadas, pero nuestro banco va a terminar en gente de producción, que fabrican el equipo, lo enchufan al banco, le dan a un botón y sacan un informe de si está bien o no y dónde falla. No van a andar jugando con la interfaz de usuario ni con la instrumentación, por lo que uno de los requisitos que nos pusieron es que la interfaz fuera muy simple y con poca posibilidad de jugar con ella. De hecho, no es más que una lista de posibles test a pasar y un led rojo/verde detrás que indica si el test pasa, un botón para empezar los test y un botón de imprimir/salvar el informe con los resultados más detallados (valores medidos, fuera de rango, etc).

    En fin, como te digo, consideré la posibilidad, pero la descarte porque creo que el tiempo de aprendizaje se nos iba a comer los beneficios de aprenderlo en un plazo tan corto como tres meses y tampoco le íbamos a sacar un beneficio inmediato en futuros bancos de pruebas.

    Se bueno.

  3. Diario de Programación » Blog Archive » .NET pende sobre mi cabeza Says:

    […] banco automático de pruebas que me cayó en su día es uno de esos proyectos de otros departamentos. Su […]

Leave a Reply