Conectando una HMI DO110WS directamente a SQL Server en AWS EC2 usando Lua: ¿por qué es importante dominar este lenguaje?
En la automatización industrial, muchas veces damos por sentado que una HMI solo sirve para visualizar datos o interactuar con el operador. Sin embargo, cuando se domina un lenguaje como Lua, una HMI como la DO110WS puede transformarse en un cliente inteligente de base de datos, capaz de enviar información crítica directamente a la nube, sin intermediarios.
En este artículo te comparto cómo utilicé Lua para conectar una HMI DO110WS directamente a un servidor SQL Server alojado en AWS EC2, sin gateways adicionales, sin APIs intermedias, y todo a través de TCP/IP.
¿Por qué Lua?
Lua es el lenguaje que permite dotar de inteligencia personalizada a ciertas HMI, y en el caso de la DO110WS, es la llave para extender sus capacidades más allá de lo visual.
Desde Lua se pueden construir scripts que reaccionen a eventos, que transformen datos, que ejecuten macros condicionales, y lo más importante en este caso: que envíen o reciban datos usando TCP/IP.
Arquitectura general del proyecto
Este fue el esquema de comunicación implementado:
- La HMI cuenta con conexión directa a internet (salida directa, no detrás de NAT restrictivo).
- La EC2 corre Ubuntu Server con SQL Server 2019 instalado.
- La HMI apunta a la IP pública de la instancia EC2, sin Elastic IP (por costos).
- El puerto 1433 fue abierto en el firewall de seguridad de AWS para aceptar conexiones entrantes desde la IP de la planta.
🔒 Sí, no se usa cifrado en esta etapa —por diseño del cliente— pero hay planes de escalar a MQTT cifrado en el futuro (1883 o 8883).

Transmisión de datos con Lua
En Lua se programó una macro que transmite datos vía TCP/IP en el formato esperado por SQL Server. La transmisión puede hacerse:
- Manualmente (botón en la HMI).
- Por eventos (cambio de valor, falla, alerta).
- O periódicamente (temporizador).
Esto permite total flexibilidad, y evita la necesidad de utilizar pasarelas industriales o PCs intermedias, lo cual reduce puntos de falla en planta.

¿Por qué no usar Postgres?
Aunque la intención inicial fue conectar con PostgreSQL (una opción open source favorita), se descartó al recordar que las HMI DO110WS no tienen soporte nativo para Postgres. Por eso se optó por SQL Server, que sí es compatible y puede correr sin problemas en una imagen de Ubuntu en EC2.
¿Por qué esta arquitectura es mejor que una local?
Porque elimina componentes innecesarios:
❌ No se requiere una PC intermediaria.
❌ No se necesita instalar gateways industriales.
✅ Solo se requiere la HMI y una conexión a internet.
💡 “Menos cosas que se puedan romper”, como digo en el siguiente video: https://www.youtube.com/watch?v=XDI0zq35wkE&list=PLhx3ngdWS6PhW9eyrgwMP66rZykBDW80f
Conclusión: aprender Lua es una ventaja real
En tiempos donde todos hablan de Industria 4.0, IoT y digitalización, no basta con saber programar un PLC. Saber Lua en HMI te permite conectar directamente con servidores, bases de datos y servicios cloud como AWS sin depender de intermediarios.
Esto no solo reduce el costo total de implementación, sino que también acelera el tiempo de respuesta, simplifica la arquitectura y mejora la trazabilidad.
¿Quieres un ejemplo de código Lua para comenzar? ¿O una guía paso a paso para montar SQL Server en AWS EC2?
Escríbeme o comenta abajo. 👇

Autores
Comentarios
Aún no hay comentarios.
¿Problemas con PLC y PID?
Ideal para cientificos de datos y Programadores de PLC.