Captación y tratamiento de datos de un PLC de Siemens
El presente post explica paso a paso la demo mostrada en el stand Zylk en el marco de BeDigital by BIEMH. Se trata de la monitorización del estado de dos levas cuyos datos provienen de un PLC Siemens simulado. Esta monitorización incluye el ciclo individual de cada leva, así como el ciclo compuesto.
La arquitectura implementada se muestra en la siguiente imagen:
La ingesta de los datos del PLC de Siemens se realiza a través de NiFi. Estos datos se formatean, procesan y persisten en una base de datos no-relacional (Hbase) y finalmente visualizamos tanto los datos a tiempo real como sus estadísticas mediante las herramientas Grafana y Superset, respectivamente.
En Zylk somos expertos en el uso de NiFi, lo que nos permite la lectura de datos mediante protocolos de comunicación de todo tipo. En concreto, estamos especializados en protocolos IT y protocolos industriales, como son Profinet, Profibus, OPC-UA y MQTT. En este caso en concreto la comunicación con el PLC de Siemens se realiza mediante el protocolo Profinet.
Apache NiFi es un herramienta que nos permite la ingesta de datos de diferentes fuentes, su formateo para la unificación de éstos y su persistencia en bases de datos.
En primer lugar leemos los payloads del PLC de Siemens, a continuación formateamos los datos y los persistimos en Hbase. Este procesado de datos se realiza para las dos levas por separado. Notar que se ha incluido un “Ejército de monos”, que van a hacer que las levas tengan un mal comportamiento eventualmente. Esto nos permite comprobar la correcta configuración y detección de alarmas.
Una vez los datos están en HBase utilizaremos Superset y Grafana para visualizar los datos y poder analizar el comportamiento de las levas. Por un lado, Superset nos permite, mediante mapas interactivos, el geoposicionamiento en tiempo real de los PLCs que están elevando las alarmas. Por tanto, podemos conocer la localización de las levas a revisar por los operarios técnicos.
Por otro lado, podemos realizar análisis estadísticos del comportamiento de las levas, como son el número de fallos medios de cada leva o los tiempos promedios de funcionamiento de éstas. En estos gráficos, como ejemplo, se presentan los datos estadísticos del comportamiento de las levas. En el anillo interior se muestran los estados de las levas (arriba o abajo) y el numero de la leva se indica en el anillo exterior. Esto nos permite analizar que estado ha tenido cada leva y durante cuanto tiempo (en porcentaje).
Además de estadísticas del comportamiento de las levas, o de cualquier otro tipo de dato, es interesante poder visualizar el comportamiento de nuestra maquinaria, en este caso las levas, en tiempo real.
Grafana es una herramienta para la visualización y detección de alarmas en time-series. Visualizamos los ciclos de las dos levas y vemos si su funcionamiento es correcto. Si no lo es, emitirá una alarma de mal funcionamiento en rojo. Si por otro lado, la leva vuelve a tener un comportamiento normal, Grafana también nos lo hará saber. Además, estas alarmas pueden ser enviadas, a tiempo real, por correo electrónico y por herramientas como Slack. Aquí mostramos un ejemplo de las time-series de las levas y la localización de las alarmas elevadas por comportamiento anómalo de éstas.
Tenemos una demo para que puedas visualizar el video completo aquí