Hoy os vengo a presentar un proyecto que estoy llevando a cabo, en el que sobre todo, pretendo mostrar la potencia de la inteligencia artificial a la hora de desarrollar software y poder ejecutar ideas de forma rápida y con calidad. Mostraré un ejemplo de una funcionalidad ya integrada en la plataforma SCADA con Inteligencia artificial y Django. Cliente/servidor OPC

Este “Little SCADA” es una plataforma, donde pretendo ir añadiendo funcionalidades desarrolladas con ayuda de la inteligencia artificial, como por ejemplo, comunicaciones OPC con distintos elementos (PLC, servidores OPC, etc.)

La gracia de esta plataforma es que esta desarrollada casi 99% con la IA, eso sí, siguiendo mis ideas y pautas. Tras algunos meses haciendo pruebas y experimentos, una de las principales conclusiones que saco de trabajar así (Humano piensa + IA trabaja), es que acotando y reduciendo bien los problemas a su mínima expresión, la IA es el mejor aliado que puedas tener, lo veremos con ejemplos.

Herramientas utilizadas para la base de la plataforma:

  • Django: para la estructura de la aplicación basada en web.
  • Visual studio code: para desarrollar el proyecto y ejecución de servidores.
  • Chat GPT 3.5 y 4: para el desarrollo de las funciones de la plataforma, así como asistencia general y generación de imágenes.
  • GIMP: para modificación de imágenes.

El resto de herramientas que he ido utilizando, han sido mas específicas para funcionalidades concretas, como la que os presentaré en este artículo.


Cliente OPC: leyendo variables y graficándolas en tiempo real.

En este ejemplo, vamos a generar con python un servidor OPC con 1000 variables enteras, que varían de forma sencilla, para luego leerlas desde nuestra aplicación LittleSCADA mostrando una gráfica de aquella que seleccionemos. Todo esto lo haremos tratando de minimizar el trabajo de desarrollo humano, dejando que la IA sea quien genere nuestro código.

Nota: los códigos intermedios utilizados para la creación de esta aplicación, no se muestran para no hacer muy engorrosa la lectura del artículo. Cualquier duda, siempre podéis preguntarme al correo.

Paso 1: Creación del servidor OPC

Lo primero que haremos será generar con python un servidor en nuestro mismo PC en localhost. En mi caso le he dicho que las variables (las 1000) aumenten hasta 100 y luego a 0, para ver el barrido, pero cada uno podría darle el comportamiento que quisiera para simular cualquier cosa.

Es tan fácil como decirle al chatGPT: “hazme un servidor con Python que sirva 1000 variables enteras, que varíen de 0-100”. Te devolverá un código que funcionará casi seguro, porque además el ejemplo es super sencillo, y ya podrás arrancarlo mediante la ejecución de tu aplicación de Python. Si todo ha salido bien, obtendrás algo como esto:

Y ya tendremos al servidor escuchando. Para garantizar que las variables hacen lo que queríamos, y antes de crear un cliente en Django, es interesante verificarlo con algún cliente gratuito como UA Expert.

Descubre primero el servidor OPC

Arrastramos las variables para ver sus valores

Con esto ya hemos asegurado que tenemos las variables en el servidor OPC, y las podemos leer desde cualquier cliente. (En este caso lo hacemos sin certificado ni verificaciones de seguridad, para hacerlo mas sencillo).

Paso 2: Creación de una plataforma Django

Este paso no lo detallaré ya que no es el objetivo de este artículo. Puedes seguir el mismo tutorial que proporciona Django cuando lo instalas para generar tu propia aplicación.

Deberás generar todo lo asociado a un típico proyecto de Django, con su css, html, java, etc. Cabe decir que esto se puede hacer tanto con Django como con otras metodologías web. En este caso lo he desarrollado con Django por la modularidad y escalabilidad que nos provee.

https://www.djangoproject.com

Paso 3: Creación del template de visualización de variables

Dentro de nuestra aplicación, deberemos crear un template donde visualizaremos las variables y mostraremos una gráfica donde podremos seleccionar cual de las 1000 variables queremos ver en tiempo real.

A pesar de que la IA puede hacer gran parte de nuestro trabajo de desarrollo, sigue siendo tarea humana tener el criterio técnico mínimo para saber qué estamos haciendo. Es decir, tenemos que tener conocimientos mínimos sobre programación web (HTML, java, css) así como de Python para generar las vistas de nuestra web.

En nuestra aplicación de littleSCADA, añadiremos un menú, del cual saldrá la aplicación que estamos queriendo mostrar:

Y dentro de esta página, introduciremos en nuestro caso, la visualización de las variables, así como de la gráfica.

Como se puede ver en la imagen, es una representación sencilla de valores en tiempo real, que en este caso nos sirve para ver cual es la potencia de esta herramienta.

En este caso el servidor lo hemos creado nosotros, pero puede perfectamente provenir de otros sistemas, como PLCs u otros sistemas que provean de variables o tags.


Conclusiones:

Este artículo, pretende ser una muestra de lo que se puede llegar a hacer sin tener grandes conocimientos de sintaxis de programación de distintos lenguajes, haciendo un uso eficaz de la inteligencia artifical.

  • Tener los conceptos de lo que queremos hacer muy claros: así cuando nos introduzcamos en los problemas concretos y nos perdamos, siempre podamos elevarnos y coger perspectiva de qué es lo que queremos hacer en realidad.
  • Reducir los problemas a su mínima expresión: como hemos ido comentando, la IA puede ser un gran aliado, si nosotros somos capaces de darle los problemas de tal forma que su procesamiento sea efectivo.
  • Criterio: con el auge de la IA y de otras tecnologías que nos acompañan en estos tiempos, es clave el tener las ideas claras así como criterios técnicos suficientes para evaluar los outputs que nos da la inteligencia artificial. La IA trabaja para nosotros, y como capitanes suyos que somos, debemos darle las instrucciones de forma clara y concreta.

Espero que os haya gustado, y en futuros artículos, iremos haciendo crecer esta plataforma con funcionalidades que se nos vayan ocurriendo, siempre implementadas con ayuda de nuestro amigo IA.