Octubre 06, 2020

Cómo conectar System Platform a un broker MQTT

 


Àngel Fernández
Àngel Fernández


Real Time and GISIZE Solutions Manager Ingeniero industrial especializado en control y automatización industrial. Con conocimientos en sistemas SCADA, comunicaciones industriales, sistemas de control distribuido y PLC’s. Es el responsable de la línea de negocio de Real Time Management y de la solución para infraestructuras GISIZE.


Únete a la Comunidad Wonderware

No te pierdas las novedades en automatización industrial

Política de privacidad

En la era del IoT, el protocolo MQTT se está extendiendo cada vez más en las arquitecturas industriales. En versiones anteriores, podía encontrarse que la integración MQTT se realizaba a través del driver OI-Gateway. No obstante, con el reciente lanzamiento de la versión 2020 de System Platform y la actualización del paquete de drivers, se ha lanzado en nuevo driver MQTT OI Server.

En este post me gustaría presentaros cómo conectar System Platform a un broker MQTT público. He elegido utilizar el broker HiveMQ. Éste, permite conectar fácilmente los clientes al broker y así recuperar sus datos en System Platform.

broker MQTT

HiveMQ ofrece una interfaz cliente Web que permite verificar la buena recepción de los mensajes en el broker. Una herramienta muy útil para validar la cadena de comunicación. Os dejo aquí el enlace para que podáis acceder: 

HiveMQ

Otro broker open source que podéis utilizar es Mosquitto.

broker público mosquitto

 

Con el fin de simplificar el ejercicio, he instalado en mi iPhone una aplicación IoT OnOff. Esta aplicación permite conectar un SmartPhone a un broker MQTT, publicar datos y visualizar en vuestro SmartPhone los datos a los que se ha suscrito. Os dejo los enlaces a continuación para que os la podáis descargar:


iphone y android con aplicación edgeComo veis, he utilizado una aplicación “Edge”, que no es Wonderware como parte de la demostración, pero con InTouch Edge, por ejemplo, podría lograr el mismo objetivo combinando la supervisión local con un sistema de control centralizado como haremos con System Platform. En este enlace os dejo un link al webinar sobre publicación de datos desde Intouch Edge a un broker MQTT:

Webinar

Finalmente, para avanzar rápidamente en la configuración de la plataforma de demostración, he utilizado nuestra solución Integration Studio. Entonces, en unos minutos, he tenido una máquina totalmente configurada en la versión 202020 accesible en el cloud. Integration Studio ofrece un ahorro de tiempo muy significativo en la creación de una máquina instalada de todo el software.

¡Os recomiendo que descubráis o redescubráis Integration Studio en nuestra gama de herramientas de desarrollo en el cloud!

I Configuración del Driver MQTT OI-Server

Se configura el driver en tan solo unos clics. Primero de todo, se crea una interfaz de comunicación MQTT a través de SMC.

interfaz de comunicación

Ahora queda configurar el controlador indicando la dirección del Broker. En nuestro caso, utilizaremos el Broker HiveMQ alojado en la siguiente dirección: broker.hivemq.com. El puerto a configurar es 1883. También hemos cambiado el nombre de la conexión a MQTT_HIVEMQ.

conexión Broker HiveMQ

A continuación, es necesario crear un grupo MQTT que llamaremos Machine01. El nombre puede ser personalizado para que corresponda a vuestra instalación.

grupo MQTT MACHINE 01

El MQTT OI-Server está ahora configurado. Hay que verificar que la conexión con el broker está bien establecida y ya podremos pasar a la configuración de la comunicación con System Platform. Aprovecho este ejemplo para explicar que el MQTT OI-Server dispone de soporte nativo Store & Forward en caso de perder la comunicación con el broker.

I Configurar System Platform

Ahora que los datos están presentes en el MQTT OI-Server, nos falta conectar System Platform al MQTT OI-Server a través del protocolo SuiteLink. Vamos a crear en System Platform un equipo que vamos a llamar $MachineData con un atributo de tipo Integer que nombraremos Velocidad. Por lo tanto, la velocidad de la máquina se enviará desde nuestro SmartPhone a través de la aplicación IoT OnOff. Mostraremos esta variable a través de un gráfico en InTouch OMI.

gráfico INTOUCH OMI

Ahora nos centraremos en la configuración de nuestro controlador de comunicación en el lado de System Platform. Por lo tanto, implementaremos el objeto de comunicaciones SuiteLink (DI Object). Para garantizar la conexión con el MQTT OI-Server, crearemos un topic con nombre MQTT_HIVEMQ_Machine01.

Para entender la conexión entre System Platform y el MQTT OI-Server, ten en cuenta que la sintaxis MQTT_HIVEMQ_Machine01 proviene de la configuración realizada en el MQTT OI-Server (ver más abajo).

Ahora focalizaremos en la sintaxis del atributo IO para abordar la variable velocidad.

La sintaxis es, por lo tanto, MQTTSL. MQTT_HIVEMQ_Machine01.M01/x1.

La composición es la siguiente:

MQTTSL = el nombre de la instancia de SuiteLink en System Platform

MQTT_HIVEMQ_Machine01 = el nombre del topic que permite hacer el enlace con el grupo de comunicación declarado en el MQTT OI Server.

M01/x1 = el nombre del equipo y la variable enviada desde el SmartPhone (o equipo de campo).

Finalmente, ahora que todo está conectado, a continuación, os dejo una vista simplificada en InTouch OMI con datos históricos y en tiempo real, así como en Historian InSight. A la derecha, veréis la vista de la interfaz IoT OnOff.

 

Espero que este post os haya resultado útil y que os permita comprender mejor cómo Wonderware System Platform le ofrece una plataforma convergente de IT/OT, ​​simple y rápida de implementar.

Saber más sobre System Platform