Qué es Little SCADA
Hoy os presento un proyecto que estoy desarrollando para mostrar la potencia de la inteligencia artificial aplicada al desarrollo de software industrial. La idea es crear una pequeña plataforma SCADA con Django, Python y funcionalidades generadas con ayuda de IA.
Little SCADA es una plataforma donde iré incorporando funcionalidades industriales: comunicaciones OPC, lectura de variables, representación de datos, integración con PLC, servidores OPC y otras piezas habituales en automatización.
La gracia del proyecto es que está desarrollado casi al 99% con IA, pero siguiendo mis ideas, criterios y pautas técnicas. Después de varios meses haciendo pruebas, una conclusión está clara: cuando el humano piensa bien el problema y lo reduce a partes manejables, la IA puede convertirse en un aliado muy potente.
Herramientas utilizadas
Para la base de la plataforma he utilizado:
- Django: estructura web de la aplicación.
- Visual Studio Code: desarrollo del proyecto y ejecución de servidores.
- ChatGPT 3.5 y 4: generación de funciones, asistencia general y apoyo en diseño.
- GIMP: edición y adaptación de imágenes.
El resto de herramientas dependen de cada funcionalidad concreta. En este artículo nos centraremos en una integración sencilla con OPC.
Cliente OPC y gráficas en tiempo real
En este ejemplo generaremos con Python un servidor OPC con 1000 variables enteras. Después las leeremos desde Little SCADA y mostraremos una gráfica en tiempo real de la variable seleccionada.
El objetivo no es enseñar todos los códigos intermedios, sino mostrar cómo dividir el problema y usar la IA para acelerar el desarrollo. Cualquier duda concreta, siempre podéis escribirme.
Paso 1: creación del servidor OPC
Lo primero es generar un servidor OPC en localhost. En mi caso pedí que las 1000 variables enteras subieran de 0 a 100 y volvieran a 0, simplemente para observar el barrido.
Un prompt tan directo como "hazme un servidor con Python que sirva 1000 variables enteras, que varíen de 0 a 100" ya devuelve una base funcional para arrancar el servidor y hacer pruebas.
Antes de crear el cliente en Django conviene verificar el servidor con una herramienta como UA Expert. Así confirmamos que las variables están disponibles y que se comportan como esperábamos.
Descubrimos primero el servidor OPC.
Arrastramos las variables para visualizar sus valores.
Con esto ya tenemos las variables en el servidor OPC y podemos leerlas desde cualquier cliente. En este ejemplo no usamos certificados ni verificaciones de seguridad para mantener la prueba lo más sencilla posible.
Base de la plataforma Django
Este paso no lo detallaré en profundidad porque no es el objetivo del artículo. Puedes seguir el tutorial oficial de Django para crear una aplicación base.
La plataforma necesita la estructura típica de un proyecto web: vistas, plantillas, CSS, JavaScript y la lógica Python que conectará con el servidor OPC. En este caso uso Django por su modularidad y escalabilidad.
Visualización de variables
Dentro de Little SCADA añadimos un menú desde el que acceder a la funcionalidad de visualización de variables.
En la página de visualización mostramos las variables y una gráfica donde se puede seleccionar cuál de las 1000 señales queremos ver en tiempo real.
Es una representación sencilla, pero suficiente para entender el potencial de la herramienta. En este caso el servidor lo hemos creado nosotros, pero podría venir perfectamente de un PLC, un servidor OPC de planta u otro sistema que publique variables.
Conclusiones
Este artículo pretende mostrar lo que se puede construir sin dominar al detalle la sintaxis de todos los lenguajes implicados, siempre que se haga un uso eficaz de la inteligencia artificial y se mantenga criterio técnico.
- Tener claros los conceptos: cuando nos perdemos en detalles concretos, debemos volver a la idea principal y recordar qué queremos construir.
- Reducir los problemas a su mínima expresión: la IA funciona mucho mejor cuando le damos tareas pequeñas, bien definidas y comprobables.
- Mantener criterio: la IA trabaja para nosotros, pero debemos validar sus salidas y darle instrucciones claras.
Espero que os haya gustado. En futuros artículos iremos haciendo crecer Little SCADA con nuevas funcionalidades implementadas con ayuda de IA.