# DSL Basado en Tablas para Probar Sensores HART en Sistemas de Producción
Desarrollar un sistema para calibrar y probar sensores inteligentes con protocolo HART requiere soportar hardware diverso: generadores de señales, cámaras ambientales, multímetros, módems HART y conmutadores. El protocolo HART opera en modo punto a punto sobre un lazo de corriente de 4-20 mA, permitiendo calibración, configuración e intercambio de datos. Las pruebas cubren linealización característica, ciclos de presión y temperatura, variaciones de alimentación y sesiones HART. Una arquitectura cliente-servidor con SQL puro y un lenguaje de guiones basado en tablas permitió a un equipo de dos personas implementar pruebas editables en múltiples estaciones.
Descomposición del Sistema en Subsistemas
El sistema se divide en componentes clave:
- Control de hardware mediante LabVIEW.
- Programación de pruebas en un DSL basado en tablas.
- Procesamiento de datos y cálculos en la base de datos.
- Monitoreo en tiempo real de estaciones al estilo SCADA.
Se eligió LabVIEW por sus controladores listos para interfaces USB, GPIB, TCP/IP y RS232. El cliente en la estación de pruebas actúa como intérprete de comandos de la base de datos, evitando abstracciones de POO. La lógica de pruebas se delega a guiones del lado del servidor, manteniendo simples los diagramas de LabVIEW.
Lenguaje de Guiones Basado en Tablas: Estructura y Comandos
El DSL se implementa como tablas de base de datos con ejecución lineal y en bucles. Cada fila es una operación con dos parámetros, facilitando la edición. Se soporta direccionamiento indirecto dentro de bucles.
Características Clave del DSL:
- Flujo de operaciones lineal.
- Bucles sobre estímulos (presión, temperatura, canales).
- Bucles basados en temporizadores.
- Inicialización de modelos de estímulos estáticos.
- Más de 100 operaciones para comunicación HART, mediciones y registro de datos.
Los bucles se manejan con procedimientos almacenados SQL: tablas separadas almacenan parámetros (inicio, fin, paso, valor actual, grupo de sensores activos). Comandos como INIT_LOOP y CHECK_END_LOOP controlan la ejecución. Para bucles de estímulos, una tabla de modificadores maneja lógica de pre/post-incremento.
Lógica de ejemplo de bucle:
- Cargar modelo de estímulo de la base de datos.
- Inicializar bucle con parámetros.
- Ejecutar operaciones hasta condición de salida.
- Pasar al siguiente comando tras el bucle.
Implementación y Optimización de Bucles
Experimentos con procedimientos SQL demostraron que los bucles funcionan de forma confiable en la base de datos. Los parámetros de bucle (valor inicio/fin, paso) se almacenan en tablas, permitiendo generación dinámica de pruebas.
Tipos de Bucles:
- Bucle general: sobre una variable para un grupo de sensores en una estación.
- Bucle de presión: con paso y límites de estímulo.
- Bucle de temperatura: inicialización de cámara.
- Bucle de temporizador: repetir operaciones hasta que expire el tiempo.
Agregar bucles redujo a la mitad el tamaño de las pruebas. Las operaciones se adaptan: dependientes o independientes de la iteración (para temporizadores).
El editor de pruebas basado en tablas automatiza numeración de filas, referencias de comandos, comentarios y ajustes de bucles. Un procedimiento de "compilación" reemplaza pruebas antiguas con nuevas. Soporte para copiar-pegar e indicaciones interactivas aceleran el desarrollo. Se han creado más de 100 programas para pruebas de producción y periódicas de sensores 4-20 mA/HART.
Integración de Hardware y Base de Datos
El cliente LabVIEW obtiene guiones de la base de datos e interpreta comandos secuencialmente. Operaciones de larga duración (bucles de estímulos) no exigen alta velocidad. Los datos crudos se guardan en la base de datos para cálculos y generación de informes.
Beneficios del Enfoque:
- Editar pruebas sin recompilar el cliente.
- Almacenamiento centralizado de guiones y datos.
- Escalable a decenas de estaciones.
- Equipo de desarrollo mínimo.
Lecciones Clave
- DSL SQL basado en tablas con bucles reduce el código de pruebas a la mitad manteniendo total flexibilidad.
- LabVIEW como intérprete de comandos de base de datos evita complejidad de POO.
- Dos parámetros por operación para más de 100 comandos de pruebas HART.
- Correcciones automáticas de referencias y numeración en procedimientos almacenados.
- Monitoreo en tiempo real de estaciones vía interfaz tipo SCADA.
— Editorial Team
Aún no hay comentarios.