MQTT Sparkplug para soluções IIoT com CLP

MQTT Sparkplug para soluções IIoT com CLP

O MQTT Sparkplug é um protocolo de interoperabilidade para utilização em aplicações de automação industrial e manufatura inteligente. Projetado como uma forma de aprimorar o funcionamento do protocolo padrão MQTT, o Sparkplug garante comunicação perfeita entre dispositivos e sistemas, definindo um payload padrão e uma estrutura de tópicos. Sua implementação no ambiente IIoT revolucionou a troca de dados e a integração de sistemas, aumentando a eficiência e permitindo soluções de automação mais robustas e escaláveis.  

Neste artigo, vamos explorar os recursos do MQTT Sparkplug B, como ele fornece uma maneira consistente para fabricantes de equipamentos e desenvolvedores de sistemas compartilharem dados contextuais, acelerando a transformação digital das operações industriais.  

MQTT Sparkplug ganhando espaço na indústria  

A Internet Industrial das Coisas (IIoT) e a Indústria 4.0 são concepções importantes e definitivas na indústria de manufatura, conceitos que envolvem tecnologias inovadoras capazes de entregar ganhos de eficiência operacional, produção sob demanda e insights em tempo real. Entretanto, as tecnologias utilizadas até então para integração entre software e hardware sempre foram fechadas e proprietárias, e a interoperabilidade nunca foi uma grande preocupação.  

Protocolos como o OPC-UA prometiam fornecer uma linguagem comum entre dispositivos, máquinas e aplicações. Porém, a complexidade do OPC-UA não permite que ele tenha um desempenho satisfatório em operações mais leves que demandam agilidade, alta interoperabilidade e integração entre diferentes agentes de software e hardware.

O surgimento do protocolo MQTT resolveu em parte esse problema, permitindo latência mínima e máximo throughput em aplicações de comunicação com a nuvem. Muitos desenvolvedores desejavam uma solução simples como o MQTT para a manufatura, mas com os recursos necessários, como definições de payload e comportamento de mensagens unificado entre máquinas e fornecedores.  

Essas expectativas foram atendidas com o lançamento do protocolo Sparkplug, padrão baseado em MQTT. 

O que é Sparkplug e como ele tem moldado a indústria 

Sparkplug é uma especificação de software de código aberto que fornece aos usuários do protocolo MQTT a estrutura necessária para integrar dados de aplicativos, sensores, dispositivos e gateways de forma bidirecional e interoperável.  

O Sparkplug é projetado para funcionar 100% com MQTT através de seu padrão publish/subscribe, que permite a integração bidirecional e desacoplada de todos os componentes de um sistema.  

Quando o MQTT foi inventado em 1999, foi originalmente projetado para sistemas SCADA, mas não especificou como os tópicos e o payload deveriam ser estruturados nem como os dispositivos deveriam se comportar. Isso permitiu que o MQTT fosse usado em diferentes indústrias, como carros conectados e manufatura inteligente.  

Agora, o Sparkplug preenche essa lacuna e fornece uma especificação neutra de fornecedor para formatos de dados, estruturas de tópicos, gerenciamento de estado e como topologias devem ser estruturadas em cenários IIoT.  

Veja também: IIoT: conheça a Internet das Coisas Industrial

Diferenças entre MQTT e MQTT Sparkplug

Quando se usa a comunicação simples do MQTT, é necessário garantir que todos os participantes interessados nos dados saibam onde se inscrever para recebê-los. Também é preciso garantir que todos os participantes possam interpretar os dados, o que geralmente envolve transformações de dados, exigindo convenções e criando um acoplamento rígido entre as aplicações.  

Com o Sparkplug, todos os participantes concordam em utilizar um formato comum de dados: como receber dados específicos, como publicar seus dados e como esses dados podem ser interpretados. O melhor de tudo é que o Sparkplug permite a integração de dados de dispositivos não-MQTT, bem como de outros protocolos, como OPC UA ou MODBUS.  

Benefícios de usar uma arquitetura Sparkplug  

A arquitetura típica da Internet Industrial das Coisas conecta componentes com uma abordagem de poll/response. Aplicações extraem dados diretamente de CLPs, gateways ou servidores usando protocolos como MODBUS, PROFINET ou OPC UA. Embora isso funcione bem quando há poucos sistemas para integrar, em arquiteturas com um número maior de componentes essa gestão se torna complexa e de difícil manutenção.

Sistemas interconectados de forma ponto a ponto criam uma ligação fixa entre os sistemas e seus dados. Arquiteturas modernas exigem flexibilidade e uma separação clara entre os componentes em um sistema IIoT. Muitas empresas estão em busca de uma nova arquitetura que combine a adaptabilidade e a flexibilidade das paisagens de TI com a confiabilidade, segurança e previsibilidade das paisagens OT.  

Essa nova arquitetura IIoT oferece benefícios em relação às arquiteturas tradicionais:  

  • – Independência entre produtores e consumidores de dados;

  • – Relatório por exceção (RBE), que economiza largura de banda, memória e poder computacional no produtor e no consumidor de dados;

  • – Comunicação um-para-muitos, onde os dados só precisam ser enviados uma vez e múltiplos receptores podem recebê-los;

  • – Flexibilidade para adicionar e remover dispositivos e aplicativos a qualquer momento sem afetar o sistema;

  • – Governança de dados por meio de permissões centralizadas e gerenciamento de políticas;

  • – Conectividade direta com a nuvem ao distribuir dados da nuvem para a borda.

Muitas indústrias já utilizam MQTT para criar aplicações IIoT em arquiteturas distribuídas, mas com limitações devido à definição de estrutura de tópicos, gerenciamento de estado e definições de payload. O Sparkplug preenche essas lacunas no MQTT.  

Princípios e mecanismos do MQTT Sparkplug  

  • Publish/Subscriber: utiliza o MQTT como uma arquitetura de publish/subscribe para a camada de transporte da aplicação, desassociando produtores e consumidores de dados. O MQTT é baseado em comunicação push, o que significa que os dados são distribuídos instantaneamente para todas as partes interessadas.  

  • Relatório por exceção: dados e estado do dispositivo são atualizados apenas quando há alguma mudança, economizando largura de banda e poder computacional para todos os componentes.  

  • Acompanhamento contínua de sessão: o Sparkplug e o MQTT possuem o conceito de acompanhamento contínuo de sessão, informando todos os clientes sobre o estado online/offline dos dispositivos em tempo real.  

  • Certificados de morte e nascimento: o Sparkplug introduz Certificados de Morte e Nascimento para gerenciamento e descoberta de estado dos dispositivos.  

  • Conexões persistentes: todos os dispositivos, gateways e aplicativos estão sempre conectados usando conexões TCP persistentes.  

  • Descoberta automática: aplicações e dispositivos podem descobrir automaticamente quais dados e tópicos estão sendo enviados.  

  • Definição de payload padronizado: o formato de dados do Sparkplug para todas as mensagens é padronizado e pode ser codificado e decodificado por todos os participantes.  

  • Namespace de tópicos padronizado: todos os participantes do Sparkplug usam um namespace de tópicos comum, permitindo assinaturas detalhadas e a adição e remoção dinâmica de participantes.  

Componentes de uma arquitetura MQTT Sparkplug 

Uma arquitetura tradicional Sparkplug consiste nos seguintes componentes:

  • Host SCADA/IIoT: o Host SCADA/IIoT é a aplicação supervisória responsável pelo monitoramento e controle dos nós EoN MQTT e de seus respectivos dispositivos e sensores. É a aplicação central utilizada pelos operadores do sistema para gerenciar e supervisionar a integridade do sistema como um todo.

  • Nós EoN (Edge of Network): os nós EoN atuam como gateways físicos ou lógicos para sensores e dispositivos que não usam Sparkplug diretamente, permitindo sua participação no espaço de tópicos MQTT. Eles gerenciam o estado e a sessão dos sensores e dispositivos conectados via protocolos como OPC-UA, MODBUS e outros.

  • Dispositivos e sensores: dispositivos e sensores são essenciais na automação industrial, enviando e recebendo dados por protocolos industriais de poll/response. No contexto Sparkplug, eles se conectam via nós EoN, que fazem a ponte entre o MQTT Sparkplug e esses protocolos. Dispositivos compatíveis com MQTT Sparkplug podem participar diretamente da infraestrutura como nós EoN.

  • Nós de aplicação MQTT: os nós de aplicação MQTT participam da comunicação Sparkplug, produzindo e consumindo mensagens, mas não são o Host SCADA/IIoT. São, geralmente, sistemas de software como MES e Historian.

  • Broker MQTT: o broker MQTT age como centro de distribuição de dados, conectando dispositivos Sparkplug, nós EoN, Hosts SCADA/IIoT e aplicações. Ele gerencia autenticação, autorização e distribuição de dados, sendo compatível com MQTT 3.1.1 para suportar recursos como mensagens retidas, LWT e QoS.

Esses componentes trabalham juntos para garantir uma comunicação eficiente e escalável no ambiente de automação industrial.

CLPs Nexto com suporte à MQTT Sparkplug BCLPs Nexto com suporte à MQTT Sparkplug B

Para garantir desempenho e total operabilidade em aplicações IIoT, os equipamentos da Série Nexto de controladores programáveis agora passam a contar com suporte a MQTT Sparkplug B. Os CLPs Nexto são compatíveis com a versão 3.0.0 da especificação Sparkplug e utiliza o esquema de codificação Sparkplug B (namespace spBv1.0/#). Essa nova funcionalidade permite que produtos como a CPU NX3008 e os controladores compactos Nexto Xpress desempenhem o papel de nó EoN em uma infraestrutura Sparkplug.

Para lhe ajudar a entender melhor o recurso e extrair a capacidade máxima das suas aplicações IIoT que utilizam MQTT Sparkplug B, os especialistas do nosso time de P&D desenvolveram um manual detalhado sobre o padrão. Nele, você vai encontrar descrições técnicas detalhadas sobre o recurso, oferecendo uma base sólida para implementar o protocolo MQTT Sparkplug B em aplicações IIoT utilizando os CLPs Altus.

Compartilhe

Leia também