Como ligar o System Platform a um broker MQTT
Explicamos como ligar o System Platform a um broker MQTT utilizando o broker HiveMQ e ligando facilmente os clientes ao broker.
Na era da IoT, o protocolo MQTT está a ser cada vez mais utilizado nas arquiteturas industriais. Em versões anteriores, a integração MQTT era realizada através do driver OI-Gateway. No entanto, com o recente lançamento da versão 2020 do System Platform e a atualização do pacote de drivers, foi lançado o novo driver MQTT OI Server.
Neste artigo, gostaria de apresentar como ligar o System Platform a um broker MQTT público. Escolhi utilizar o broker HiveMQ. Este permite ligar facilmente os clientes ao broker e, assim, recuperar os seus dados no System Platform.

O HiveMQ oferece uma interface de cliente Web que permite verificar a boa receção das mensagens no broker. Uma ferramenta muito útil para validar a cadeia de comunicação. Deixo aqui o link para que possa aceder:
HiveMQ
Outro broker open source que pode utilizar é o Mosquitto.

Com o objetivo de simplificar o exercício, instalei no meu iPhone uma aplicação IoT OnOff. Esta aplicação permite ligar um SmartPhone a um broker MQTT, publicar dados e visualizar no seu SmartPhone os dados aos quais se subscreveu. Deixo os links abaixo para que a possa descarregar:
Como pode ver, utilizei uma aplicação “Edge”, que não é Wonderware como parte da demonstração, mas com InTouch Edge, por exemplo, poderia alcançar o mesmo objetivo combinando a supervisão local com um sistema de controlo centralizado, como faremos com o System Platform. Neste link, deixo um link para o webinar sobre a publicação de dados a partir do Intouch Edge para um broker MQTT:
Webinar
Finalmente, para avançar rapidamente na configuração da plataforma de demonstração, utilizei a nossa solução Integration Studio. Assim, em poucos minutos, tive uma máquina totalmente configurada na versão 202020 acessível na cloud. O Integration Studio oferece uma poupança de tempo muito significativa na criação de uma máquina instalada com todo o software.
Recomendo que descubra ou redescubra o Integration Studio na nossa gama de ferramentas de desenvolvimento na cloud!
I Configuração do Driver MQTT OI-Server
O driver é configurado em apenas alguns cliques. Primeiro que tudo, é criada uma interface de comunicação MQTT através do SMC.

Agora, resta configurar o controlador indicando o endereço do Broker. No nosso caso, utilizaremos o Broker HiveMQ alojado no seguinte endereço: broker.hivemq.com. A porta a configurar é 1883. Também alterámos o nome da ligação para MQTT_HIVEMQ.

De seguida, é necessário criar um grupo MQTT que chamaremos Machine01. O nome pode ser personalizado para que corresponda à sua instalação.

O MQTT OI-Server está agora configurado. É necessário verificar se a ligação com o broker está bem estabelecida e já poderemos passar à configuração da comunicação com o System Platform. Aproveito este exemplo para explicar que o MQTT OI-Server dispõe de suporte nativo Store & Forward em caso de perda de comunicação com o broker.
I Configurar o System Platform
Agora que os dados estão presentes no MQTT OI-Server, falta-nos ligar o System Platform ao MQTT OI-Server através do protocolo SuiteLink. Vamos criar no System Platform um equipamento que vamos chamar $MachineData com um atributo do tipo Integer que nomearemos Velocidade. Portanto, a velocidade da máquina será enviada a partir do nosso SmartPhone através da aplicação IoT OnOff. Mostraremos esta variável através de um gráfico no InTouch OMI.

Agora, centraremos na configuração do nosso controlador de comunicação no lado do System Platform. Portanto, implementaremos o objeto de comunicações SuiteLink (DI Object). Para garantir a ligação com o MQTT OI-Server, criaremos um tópico com o nome MQTT_HIVEMQ_Machine01.

Para entender a ligação entre o System Platform e o MQTT OI-Server, tenha em conta que a sintaxe MQTT_HIVEMQ_Machine01 provém da configuração realizada no MQTT OI-Server (ver mais abaixo).

Agora, focaremos na sintaxe do atributo IO para abordar a variável velocidade.

A sintaxe é, portanto, MQTTSL. MQTT_HIVEMQ_Machine01.M01/x1.
A composição é a seguinte:
MQTTSL = o nome da instância de SuiteLink no System Platform
MQTT_HIVEMQ_Machine01 = o nome do tópico que permite fazer a ligação com o grupo de comunicação declarado no MQTT OI Server.
M01/x1 = o nome do equipamento e a variável enviada a partir do SmartPhone (ou equipamento de campo).
Finalmente, agora que tudo está ligado, a seguir, deixo uma vista simplificada no InTouch OMI com dados históricos e em tempo real, assim como no Historian InSight. À direita, verá a vista da interface IoT OnOff.

Espero que este artigo lhe tenha sido útil e que lhe permita compreender melhor como o Wonderware System Platform lhe oferece uma plataforma convergente de IT/OT, simples e rápida de implementar.





