Cómo conectar System Platform a un broker MQTT
Explicamos cómo conectar System Platform a un broker MQTT utilizando el broker HiveMQ y conectando fácilmente los clientes al broker.


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.
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.
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:
Como 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.
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.
A continuación, es necesario crear un grupo MQTT que llamaremos Machine01. El nombre puede ser personalizado para que corresponda a vuestra instalación.
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.
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.