Volver al inicio

DSL para pruebas de HART en SQL y LabVIEW

El artículo describe la arquitectura de un sistema para pruebas de sensores HART basado en DSL tabular en SQL y LabVIEW. Bucles, más de 100 operaciones y un editor de pruebas para producción se implementan. El enfoque asegura flexibilidad sin abstracciones OOP.

Pruebas flexibles de sensores HART: SQL-DSL + LabVIEW
Advertisement 728x90

# 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.

Google AdInline article slot

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.

Google AdInline article slot

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:

Google AdInline article slot
  • 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

Advertisement 728x90

Leer después