Caso de estudio 01 / 22Ingeniería de datos
Cálculos de planta como nodos de n8n reutilizables, verificados 1:1
Rehice el puntaje de sensores y el modelo de fugas de una planta como nodos de n8n probados, iguales 1:1 al original, y los mejoré al lado.
Stack
- n8n
- TypeScript
- Node.js
- OPC UA
- Three.js
- InfluxDB
- MongoDB
01 · Cómo funciona
- HoyaModificado en este trabajo
- Flujo de datos
Qué hace
Una app construida sobre n8n, sin tocar su código, donde los cálculos de una planta son nodos que un ingeniero encadena en el editor: mi nodo de solo lectura lee un servidor OPC UA industrial y entrega una salida por señal, y los nodos de cálculo y de interfaz convierten esas señales en puntajes, alarmas y páginas. Rehice nodo por nodo dos cálculos existentes y comprobé cada uno contra su original, un puntaje de calidad de sensores y un modelo de detección de fugas de 57 nodos de una aplicación de escritorio, y después construí un modelo mejorado al lado de la copia 1:1, un banco de pruebas que califica a los dos con fugas conocidas y un plan para correr los mismos nodos en memoria y probar mil casos por hora.
7 conexiones· elige un componente para ver su recorrido
- Servidor OPC UA a Nodo n8n de solo lectura: consultado, nunca escrito
- Nodo n8n de solo lectura a Flujos 1:1: un ítem por tag
- Nodo n8n de solo lectura a Mejorado, en carriles: las mismas lecturas
- Flujos 1:1 a Nodo de comparación: la referencia
- Mejorado, en carriles a Nodo de comparación: el candidato
- Flujos 1:1 a Páginas hechas con nodos: puntajes y alarmas
- Nodo de comparación a Páginas hechas con nodos: dónde se separan y por qué
02Resultados
- R01Cuanto más alto, mejor
Pruebas automáticas, aplicación de escritorio y nodos n8n
Antes 1, después 1,278, 1,278× mayor. Cuanto más alto, mejor.AntesDespués - R02Cuanto más bajo, mejor
CPU por tubería, % de un núcleo (máquinas distintas)
Antes 163%, después 2.1%, 78× menor. Cuanto más bajo, mejor.AntesDespués - R03Cuanto más alto, mejor
Nota media en 48 corridas del banco, copia 1:1 y mejorado
Antes 75.4, después 85, +13%. Cuanto más alto, mejor.AntesDespués
Qué logró
- Puntaje de calidad de sensores: un grafo escrito a mano en un colector → un flujo de n8n de 13 nodos con el mismo puntaje en 241 de 242 sensores durante una hora grabada, y 0 pedidos nuevos a la aplicación existente
- Modelo de detección de fugas: solo dentro de una aplicación de escritorio → 57 de 57 nodos en n8n, con el mismo estado de fuga en cada minuto grabado, 0 falsas alarmas y el 99.2 % de las filas de alarmas iguales
- Prueba de la copia: 1 prueba automática → 1278, más un oráculo que corre la propia biblioteca del original al lado de los nodos: 10 039 de 10 039 casos iguales bit a bit
Leer más
- CPU por tubería: 163 % de un núcleo para la aplicación de escritorio → 2.1 % para su copia 1:1 y 7.4 % para el modelo mejorado, medidos en máquinas distintas
- Páginas: pantallas escritas a mano → páginas armadas con 7 nodos de interfaz en el mismo flujo, desde una página de monitoreo hasta vistas 3D en vivo
- Cambiar el modelo: a base de opiniones → 12 de 25 cambios propuestos se quedaron tras una revisión contra el código y los datos; en 48 corridas del banco el modelo mejorado sacó 85.0 frente al 75.4 de la copia
El desafío
La lógica vivía en una aplicación de escritorio y en un colector escrito a mano: cambiar un umbral significaba código, una compilación y una instalación por servidor, y la aplicación ya respondía 61 pedidos por minuto con un presupuesto de 60, así que nada nuevo podía consultarla. Una copia solo vale si es exacta, y el original tenía una sola prueba automática.
Leer más
Sus rarezas había que encontrarlas y copiarlas a propósito, 27 solo en el puntaje de sensores, anotadas una por una, para que la copia sirviera de referencia. Las señales de desarrollo casi no se movían: en la hora grabada solo cambiaron los sensores de un sistema, así que la igualdad se tuvo que mostrar con grabaciones y corriendo la propia biblioteca del original al lado de los nodos, no con el comportamiento en vivo.
Qué aprendí
Primero copiar, después mejorar. Rehacer la lógica 1:1 antes de cambiarla le dio a cada cambio posterior una referencia: el modelo mejorado corre al lado de la copia sobre las mismas lecturas, y un nodo que compara las dos ramas muestra dónde y por qué se separan. Copiar con fidelidad significó copiar a propósito los errores del original y anotar cada uno, así que corregir uno pasó a ser una decisión con un número. n8n se encargó de la fontanería, desde los disparadores y las listas de ítems hasta el editor y su historial de ejecuciones, pero a unos 120 ms por ejecución es demasiado lento para pruebas en masa: el siguiente paso corre los mismos nodos en memoria, idénticos byte a byte o no se usan.
Stack
- n8n
- TypeScript
- Node.js
- OPC UA
- Three.js
- InfluxDB
- MongoDB


Imágenes

