Construir aplicaciones IoT Low-Code con controladores PLCnext
Los controladores PLCnext admiten múltiples formas de conectarse a un servicio cloud. Podría usar bloques de función IEC de la biblioteca IOT, construir su propia aplicación .NET, escribir un script de Python o compilar un conector en GoLang. Si quiere escribir código, tiene muchas opciones. Pero, ¿qué pasa si, por alguna razón, no quiere escribir código? Tal vez sea su primer proyecto, o tal vez haya pasado un tiempo. En este blog le mostraré cómo construir una aplicación Web IoT, ¡sin escribir una sola línea de código!
Bueno, cuando dije que no escribiríamos una sola línea de código, quizá fue un poco exagerado. Por supuesto, necesitaremos alguna forma de decirle a nuestro controlador PLCnext y al servicio cloud qué queremos. Para esto solo usaremos interfaces gráficas, así que supongo que técnicamente tengo razón cuando digo que no escribiremos una sola línea de código. De todos modos, el enfoque se considera "low code".
Primero, déjenme presentar los diferentes elementos o servicios que usaremos en este blog.
Introducción
Controlador PLCnext, supongo que este no necesita mucha más introducción. Si aún no está seguro de sus capacidades, asegúrese de visitar el PLCnext Infocenter.
Node-RED, el sitio web oficial de Node-RED describe Node-RED como:
En blogs de makers escritos anteriormente, Node-RED se menciona varias veces. ¿No sabe cómo empezar a usar Node-RED? Sugiero leer este artículo.
Azure IoT Central, es una solución SAAS (Software As A Service) en la nube de Azure para construir soluciones IoT sin código. Crearemos una plantilla de dispositivo con una interfaz definida y la visualización se derivará de la plantilla creada.
En esta plantilla podemos definir tres "tipos de variables". Telemetría, propiedades y comandos. Usaré los diferentes tipos en la plantilla, espero que la distinción entre propiedades y telemetría quede clara después de usarlas. Si aún está un poco confuso, asegúrese de leer sobre ellos en los artículos enlazados en la sección de lecturas adicionales.
Para simplificar, vamos a limitar nuestro ejemplo a un controlador de bomba muy básico. Podemos poner la bomba en un modo diferente y dar un setpoint a la bomba.
Construir la aplicación
Preparar el controlador
Comience actualizando su controlador al último firmware disponible e instale el balena-engine para contenedores OCI. Puede encontrar las instrucciones para instalar Balena aquí. Cuando el Balena Engine se instaló exitosamente, ejecute el siguiente comando (esto tomará un tiempo).
balena-engine run -it -p 1880:1880 --name nodered --restart always pxcbe/node-red:azureiot
Crear el servicio Azure IoT Central
Inicie sesión en su cuenta de Azure y cree un grupo de recursos. En este grupo de recursos ahora puede crear una nueva aplicación Azure IoT Central. Asegúrese de revisar los diferentes Niveles (Tiers) antes de elegir uno.
Vaya a su recién creado servicio Azure IoT Central y si todo va bien, debería recibir la solicitud para crear una nueva plantilla de dispositivo. Elija crear una nueva plantilla personalizada como dispositivo IoT. Ejecute los siguientes pasos para crear la plantilla correcta para este ejercicio.
Crear la plantilla de dispositivo
- Asigne el nombre "bomba" a la Plantilla de dispositivo
- Crear un modelo personalizado
- Presione "añadir capacidad"
- Crear una propiedad "Estado de la bomba"
- Crear una Telemetría "Caudal"
- Crear un comando "Cambiar Modo"
- Crear un comando "Establecer Potencia"
- Guardar las capacidades recién creadas
- Vaya a vistas y seleccione, generar vistas predeterminadas (puede cambiar las vistas más tarde)
- Publique su plantilla de dispositivo.
(¿Tiene problemas? Siéntase libre de importar la plantilla desde el repositorio)
Crear un nuevo dispositivo
Cree un dispositivo, basado en la plantilla recién creada. Haga clic en "conectar" y tome nota del "ID de ámbito", "ID de dispositivo" y "Clave principal" para uso posterior en Node-RED.
PLCnext Engineer
Necesitaremos algo de lógica para controlar nuestra bomba. He proporcionado un proyecto PLCnext Engineer en el repositorio que puede usar. Siéntase libre de añadir a este proyecto para darle a nuestra bomba algunas nuevas características.
Node-RED
Mientras tanto, su contenedor se creó y su entorno Node-RED debería estar funcionando. Importe el flow.json desde el repositorio. Haga clic en el nodo "Dispositivo" y establezca su "ID de dispositivo", "ID de ámbito" y elija "Servicio de aprovisionamiento de dispositivos" y copie y pegue su clave principal.
Configure su servidor OPC UA haciendo clic en los nodos LEER o ESCRIBIR y cambie la configuración para que se ajuste a su controlador, y termine la aplicación desplegando los nodos.
Probar la aplicación
Estamos listos para probar la aplicación. Debería poder controlar la bomba cambiando su estado y estableciendo un nuevo setpoint. La aplicación se dejó deliberadamente lo más básica posible, le animo a construir a partir de aquí para obtener una buena comprensión de todas las diferentes configuraciones que puede hacer al definir su interfaz. ¡Incluso puede crear un mapa para mostrar dónde están sus bombas!
Lecturas adicionales
Node-RED
Azure IoT Central
Tecnología Industrial
- Construye un Segway Autoequilibrado con Raspberry Pi
- ABB presenta panel de control IoT intuitivo para impulsar la eficiencia en automatización de edificios comerciales medianos
- Rockwell Automation y Accenture lanzan plataforma digital Industry X.0 para transformar empresas industriales
- Seguridad en IoT Industrial: Superando Desafíos e Implementando Soluciones Robustas
- Revolucionando la Producción Automotriz: Superando Desafíos de Fabricación con Soluciones IoT
- Plantillas PLCnext CLI: Optimice su desarrollo en C++
- ADLINK y Google Cloud Colaboran para Entregar Soluciones IoT Sin Fisuras
- Revolucionando Bomberos: Cómo IoT Mejora Seguridad, Respuesta y Rescate
- Combatir inundaciones urbanas con soluciones de red IoT
- Ingeniería de soluciones IoT de próxima generación que cruzan fronteras e impulsan excelencia operacional
- Aprovechando IoT para Big Data en HVAC: optimizando energía, confort y calidad de aire — Parte 2