Loading
Controle remoto

Controle remoto MicroLink, Controle remoto MQTT MicroLink

Revisão: A (08/08/2023) - Tempo de implantação: 60 min
Micro800
Nesta página:
  • Para que serve isso?
  • Guia de instalação
Início do Innovation Center

MicroLink MQTT é um conjunto transformador de blocos de funções definidos pelo usuário (funções definidas pelo usuário) para controladores Micro800, permitindo comunicação MQTT integrada com qualquer broker MQTT. Este pacote inclui três blocos de funções: um para estabelecer conexões, um para assinar tópicos específicos e um para publicar dados. Ele oferece alta personalização com configurações para IDs MQTT exclusivos, endereços IP de broker/servidor, nomes de usuário, senhas e sua qualidade de serviço (QoS) escolhida.

Destinado ao uso com inversores de componente PowerFlex 523 e 525 da Rockwell Automation.

Este código pode ser usado com o seguinte equipamento:

  • PowerFlex 523
  • PowerFlex 525
  • Micro850
  • Micro870
  • PanelView 800d

 

Para que serve isso?

MicroLink MQTT é um conjunto de funções definidas pelo usuário projetado para integração total com controladores Micro800 da Rockwell Automation. Ele tem como objetivo aprimorar as capacidades desses controladores, permitindo a comunicação MQTT com qualquer broker MQTT.

Essa solução é especialmente útil para casos de uso de controle remoto e no campo industrial, onde a troca de dados e a eficiência da comunicação são críticas. MicroLink MQTT fornece três blocos de funções para estabelecer conexões, assinar tópicos específicos e publicar dados.

Com MicroLink MQTT, os usuários podem facilmente estabelecer uma conexão com um broker MQTT, assinar os dados de que precisam e publicar dados de volta ao broker. Ele oferece opções de alta personalização para IDs MQTT, endereços IP de broker/servidor, nomes de usuário, senhas e sua qualidade de serviço (QoS) escolhida, garantindo comunicação de dados eficiente e segura.

Portanto, seja você um operador industrial buscando otimizar a comunicação de dados ou um programador que precisa integrar troca eficiente de dados em suas aplicações, MicroLink MQTT pode ser a solução perfeita.

Recursos gerais

Nosso pacote fornece três principais blocos de funções definidos pelo usuário:

  • RA_MQTT_CONNECT_v2: Dê um passo para o futuro com nosso bloco de funções de conexão. Ele permite que seu controlador Micro800 estabeleça uma conexão com um broker MQTT, preparando o cenário para uma troca de dados robusta.
  • RA_MQTT_SUBSCRIBE_v2: Aproveite nosso bloco de funções de assinatura para permanecer conectado aos dados de que você precisa. Personalize suas assinaturas para tópicos específicos do broker MQTT e mantenha sempre seus dados operacionais ricos e atualizados.
  • RA_MQTT_PUBLISH_v2: Assuma o controle com nosso bloco de funções de publicação. Transmita dados com precisão publicando tópicos no broker MQTT, tornando suas operações orientadas por dados uma referência para outros seguirem.

Cada bloco de funções é altamente personalizável, permitindo que você especifique IDs MQTT exclusivos, endereços IP de broker/servidor, nomes de usuário, senhas e sua qualidade de serviço (QoS) preferida. Com RA_MQTT v2, todos os aspectos de suas comunicações MQTT estão em suas mãos.

Limitações / Desvantagens

  • Limitado a Micro820, Micro850 e Micro870
  • Dependente de broker MQTT de terceiros

 

Como posso fazer isso funcionar?

A arquitetura implica o uso de hardware Micro820, Micro850, Micro870. E este é o software necessário:

  • Software Connected Components Workbench, versão 21 ou superior.
  • O firmware do equipamento utilizado deve ser compatível com a versão do Software Connected Components Workbench.
  • Funções definidas pelo usuário:
    • RA_MQTT_CONNECT_v2
    • RA_MQTT_SUBSCRIBE_v2
    • RA_MQTT_PUBLISH_v2

Conhecimento

É altamente recomendada uma compreensão básica da programação ladder e da configuração do sistema usando o Software Connected Components Workbench. Além disso, a familiaridade com os protocolos MQTT seria benéfica.

Downloads

Observe: Você precisará concordar com os Termos & Condições para cada download.

Arquivos MicroLink MQTT ›
Aviso legal Aceitação. A ROCKWELL AUTOMATION FORNECERÁ ACESSO AOS PRODUTOS ROCKWELL (MELHORES PRÁTICAS, APLICAÇÕES E CONHECIMENTOS) SOB A CONDIÇÃO DE QUE VOCÊ ACEITE E CUMPRA OS SEGUINTES TERMOS E CONDIÇÕES. VOCÊ ACEITA E CONCORDA EM FICAR VINCULADO AOS TERMOS DESTE ACORDO AO FAZER O DOWNLOAD, INSTALAR, COPIAR OU DE OUTRA FORMA USAR OS PRODUTOS. SE VOCÊ ESTIVER ACEITANDO ESTES TERMOS EM NOME DE OUTRA PESSOA, EMPRESA OU OUTRA ENTIDADE JURÍDICA, VOCÊ DECLARA E GARANTE QUE TEM PLENA AUTORIDADE PARA VINCULAR ESSA PESSOA, EMPRESA OU ENTIDADE JURÍDICA A ESTES TERMOS. SE VOCÊ NÃO CONCORDAR COM ESTES TERMOS, NÃO FAÇA O DOWNLOAD, NÃO INSTALE, NÃO COPIE, NÃO ACESSE OU NÃO USE OS PRODUTOS, SOFTWARE E/OU SERVIÇOS DE NUVEM. 1. A Rockwell Automation mantém a propriedade e o título completos de todos os Produtos e documentação relacionada. Nenhum direito ou licença é concedido além daqueles estabelecidos neste Acordo. A Empresa concede à Rockwell Automation uma licença não exclusiva, mundial, livre de royalties, perpétua e irrevogável para usar qualquer feedback que a Empresa forneça em relação aos Produtos, mesmo que a Empresa tenha designado o feedback como confidencial. A Rockwell Automation terá o direito de usar o feedback sem restrição ou compensação à Empresa. 2. A Empresa não pode alugar, sublocar, ceder, licenciar, sublicenciar ou de outra forma transferir qualquer um dos Produtos sem o consentimento prévio por escrito da Rockwell Automation. A Empresa não pode ceder ou de outra forma transferir direitos de acesso aos Produtos sem o consentimento prévio por escrito da Rockwell Automation. Qualquer montagem reversa, engenharia reversa, descompilação e criação de trabalhos derivados com base nos Produtos pela Empresa é proibida. 3. A Empresa reconhece que os Produtos fornecidos sob este Acordo são Informações Confidenciais da Rockwell Automation e são cobertos por direitos autorais, patentes, marcas comerciais e/ou segredos comerciais efetivos ou pendentes da Rockwell Automation, e a Empresa concorda em manter a confidencialidade não divulgando os Produtos ou a documentação a terceiros sem o consentimento prévio por escrito da Rockwell Automation e em proteger a confidencialidade dos Produtos como se fossem as próprias informações confidenciais da Empresa. A Empresa concorda que sua obrigação de confidencialidade sob este parágrafo sobreviverá à expiração ou rescisão deste Acordo. 4. A Empresa concorda que os Produtos fornecidos sob este Acordo são protótipos e exemplos e sua aplicação e resultados podem variar dependendo de cada cliente e condições do projeto. A Rockwell Automation não garante os mesmos resultados. Este Acordo não deve ser interpretado de forma alguma como um compromisso da Rockwell Automation a qualquer momento de fabricar e/ou oferecer Produtos para venda. Não há nenhum acordo do nível de serviço explícito ou implícito associado ao uso dos Produtos. A Rockwell Automation não garante que as funções contidas nos Produtos atenderão aos requisitos da Empresa. A Empresa concorda em usar todos os Produtos apenas de acordo com as instruções e apenas para os usos pretendidos identificados na documentação. 5. EXCLUSÃO DE GARANTIAS E LIMITAÇÃO DE RESPONSABILIDADE. OS PRODUTOS SÃO FORNECIDOS "NO ESTADO EM QUE SE ENCONTRAM". A ROCKWELL AUTOMATION RENUNCIA A TODAS E QUAISQUER GARANTIAS, EXPRESSAS, IMPLÍCITAS OU LEGAIS, INCLUINDO, SEM LIMITAÇÃO, QUAISQUER GARANTIAS DE COMERCIALIZAÇÃO OU ADEQUAÇÃO A UM PROPÓSITO PARTICULAR. A ROCKWELL AUTOMATION RENUNCIA EXPLICITAMENTE A TODAS AS GARANTIAS DE NÃO INFRAÇÃO E EXPRESSAMENTE NÃO GARANTE QUE OS PRODUTOS, NO TODO OU EM PARTE, ESTARÃO LIVRES DE ERROS OU DE VULNERABILIDADES DE SEGURANÇA. EM NENHUM CASO A ROCKWELL AUTOMATION SERÁ RESPONSÁVEL POR (i) LUCROS CESSANTES, ECONOMIAS PERDIDAS, TEMPO DE PARADA, DANOS ESPECIAIS, INDIRETOS OU CONSEQUENCIAIS DE QUALQUER TIPO, OU (ii) QUALQUER LESÃO PESSOAL, DANOS À PROPRIEDADE OU DANOS AMBIENTAIS DECORRENTES OU EM CONEXÃO COM ESTE ACORDO, SEJA EM UMA AÇÃO DE CONTRATO, RESPONSABILIDADE ESTRITA OU EM RESPONSABILIDADE CIVIL, INCLUINDO NEGLIGÊNCIA. 6. A EMPRESA CONCORDA EM INDENIZAR E MANTER A ROCKWELL AUTOMATION ISENTA DE TODOS OS CUSTOS, PRÊMIOS, DANOS, DESPESAS E HONORÁRIOS (INCLUINDO HONORÁRIOS ADVOCATÍCIOS) RESULTANTES OU RELACIONADOS A QUALQUER REIVINDICAÇÃO DE TERCEIROS (INCLUINDO FUNCIONÁRIOS E AGENTES DA EMPRESA) CONTRA A ROCKWELL AUTOMATION, SEUS DISTRIBUIDORES, AGENTES, DIRETORES OU FUNCIONÁRIOS POR LESÃO PESSOAL (INCLUINDO MORTE), DANOS À PROPRIEDADE OU DANOS AMBIENTAIS RELACIONADOS OU RESULTANTES DO USO DOS PRODUTOS. 7. No caso de um Produto ser exportado, a Empresa concorda em cumprir todas as Leis e Regulamentações de Controle de Exportação dos Estados Unidos aplicáveis e as leis de controle de exportação aplicáveis de outros países. Este Acordo será regido pelas leis do estado de Wisconsin. Este Acordo é o acordo completo e exclusivo entre a Rockwell Automation e a Empresa, e substitui todos os acordos anteriores, sejam escritos ou orais, relacionados aos Produtos.

Precisa de ajuda?

Se precisar de ajuda com uma aplicação ou tiver feedback do Centro de Inovação, entre em contato conosco.

Guia de instalação 

Step 1:

Estabelecendo configurações de conexão para conectar-se ou desconectar-se de um broker MQTT

Um broker MQTT serve essencialmente como um servidor para gerenciar mensagens MQTT. Para conectar-se a um broker MQTT, devemos inserir o endereço IP e o número da porta do broker no UDFB RA_MQTT_CONNECT_v2. O broker pode estar hospedado em seu computador (nesse caso, você precisaria instalar e operar um broker MQTT compatível com seu sistema operacional) ou pode ser um servidor remoto, como os mencionados anteriormente.

1.1 Atribua o endereço IP e o número da porta do broker MQTT ao seu UDFB RA_MQTT_CONNECT_v2

Este exemplo é para conectar-se ao broker test.mosquitto.org na nuvem.  Uma alternativa à inserção direta do endereço IP é habilitar o serviço de nomes de domínio (defina ‘EnableDNS’ como TRUE) após inserir o URL do broker MQTT em ‘MQTTBrokerName’ e o endereço IP do servidor DNS local em ‘DNSIPaddr’ na linha 2.

1.2 Insira um ‘clientName’ exclusivo, bem como um ‘userID’ e ‘userPass’ se seu broker MQTT exigir. (Muitos brokers MQTT públicos não exigem nome de usuário e senha, portanto, esses campos são opcionais e podem ser deixados em branco se não forem necessários.)

1.3 Defina ‘EnableMQTT’ como TRUE para conectar-se ao broker MQTT.

Observação:

Há alguns pontos a serem considerados para garantir uma conexão bem-sucedida. O MQTTsocketSts deve eventualmente exibir 9. Se mostrar 7 e depois retornar para 0, isso pode indicar que seu broker não está em execução ou não existe.

Os dados em resultData_Out são úteis para a localização de falhas de diagnóstico. Normalmente, quando você envia um comando de conexão ao servidor, o servidor responde com um reconhecimento. O reconhecimento é indicado pelo 1º byte, que neste caso é ‘32’.

Outra resposta frequente que você receberá é um reconhecimento de ping, denotado por ‘208’ no 1º byte dos dados retornados. O comando de ping é enviado ao broker remoto em intervalos de 50 s. Esse intervalo é codificado no UDFB, mas pode ser modificado se necessário.

Se os dados de retorno forem diferentes de 32 ou 208 após a conexão, isso pode sugerir que o cliente assinou um tópico que foi transmitido enquanto estava offline. A mensagem é retida e enviada ao cliente quando ele volta a ficar online. Se isso ocorrer, processe a mensagem e reinicialize a conexão.

1.4 Se você quiser configurar para LWT, será necessário acessar estes parâmetros no UDFB:

322| willTopic := willTopic_In;
323| willData := willData_In;

‘willTopic_In’ é onde você insere o tópico de Última Vontade para a conexão.

‘willData_In’ é onde você insere a mensagem de testamento para a conexão.

O broker MQTT publicará o testamento para todos os clientes que assinarem o tópico de Última Vontade quando o cliente for desconectado abruptamente.

1.5 Se você quiser se desconectar de forma graciosa do servidor (sem acionar o LWT), defina ‘disconnect_Cmd’ como TRUE.

Este é um bit acionado por borda de subida, portanto, você pode redefini-lo imediatamente.

  • Etapa 1 - captura de tela

    Etapa 1 - Imagem 1

  • Etapa 1 - captura de tela

    Etapa 1 - Imagem 2

  • Etapa 1 - captura de tela

    Etapa 1 - Imagem 3

  • Etapa 1 - captura de tela

    Etapa 1 - Imagem 4

Etapa 1 - captura de tela
Etapa 1 - captura de tela
Etapa 1 - captura de tela
Etapa 1 - captura de tela

Step 2

Inscrição ou cancelamento de inscrição em um tópico

O protocolo MQTT troca dados por meio dos métodos de inscrição (subscribe) e publicação (publish). Os clientes se comunicam diretamente apenas com o broker MQTT. Os clientes que se inscrevem em um tópico receberão uma mensagem do broker quando outro cliente publicar nesse tópico. Os clientes podem ser de qualquer forma, desde que tenham um aplicativo cliente MQTT em execução. Por exemplo, pode ser um software em um PC, um conector ou API para o software, um aplicativo em um telefone ou código de aplicativo em um CLP.

2.1. Insira o nome do tópico (‘topicName_input’) para se inscrever ou cancelar a inscrição.

2.2. Defina a qualidade de serviço (‘subQoS’) para a inscrição. Por padrão, use ‘0’, pois consome a menor largura de banda.

2.3. Defina ‘subscribe’ ou ‘unsubscribe’ como TRUE para se inscrever ou cancelar a inscrição no tópico.

2.4. Esses bits detectam a borda ascendente, portanto, você pode redefini-los imediatamente.

2.5 Observe que o resultData_Out do RA_MQTT_CONNECT_v2 também é copiado para o respondData_In.

Observação:

É recomendado usar apenas 1 instância de cada funções definido pelo usuário.

Etapa 2 - captura de tela
Etapa 2 - captura de tela

Etapa 3:

Publicação de um tópico

Quando um tópico com dados é publicado em um broker MQTT, o broker encaminha esses dados do tópico para todos os clientes inscritos nele. O cliente que publica a mensagem não sabe se algum nó remoto recebe o tópico, pois essa responsabilidade cabe ao broker, dependendo do nível de qualidade de serviço. Os tópicos podem ser publicados ou inscritos em qualquer nível de qualidade de serviço, mas só serão entregues no nível mais baixo de qualidade de serviço.

3.1. Insira o tópico a ser publicado em ‘pubTopic_In’.

3.2. Insira os dados para o tópico em ‘pubData_In’.

3.3. Defina a qualidade de serviço em ‘pubQoS’. Por padrão, use ‘0’, pois consome a menor largura de banda.

3.4. Defina ‘publish’ como TRUE para publicar o tópico com seus dados. Ele será automaticamente definido como FALSE quando ‘publishDN’ se tornar TRUE.

3.5. Observe que o resultData_Out de RA_MQTT_CONNECT_v2 também é copiado para respondData_In.

Etapa 3 - captura de tela
Etapa 3 - captura de tela

Step 4

Obtenção de mensagens de tópicos inscritos

O broker MQTT lida com todas as inscrições de tópicos. Ele envia os dados de qualquer tópico publicado para os clientes que estão inscritos nele. Quando um tópico é recebido pelo cliente Micro800 MQTT, ele preenche as variáveis de vetor 'TopicName' e 'TopicData' na funções definido pelo usuário RA_MQTT_CONNECT_v2. Os dados são armazenados em ordem Primeiro a Entrar/Primeiro a Sair, portanto, é crucial processar os dados antes que sejam sobrescritos.

Etapa 4 - captura de tela
Etapa 4 - captura de tela

Step 5

Inscrição em um vetor de tópicos

MQTT_Subscriptions é um programa opcional de Texto Estruturado que funciona em conjunto com o programa MQTT_Client. Ele permite que você se inscreva em um vetor 'Subscriptions' de tópicos pré-configurados. Ajuste a dimensão do vetor da variável global 'Subscriptions' para o tamanho desejado e modifique o valor inicial da variável local 'maxSubscriptions' para corresponder ao tamanho do vetor (padrão = 10). 'Subscriptions' é um vetor de tipo de dados definido pelo usuário (UDT) que compreende o tópico MQTT 'Name', o dado mais recente do tópico 'Data', um registro de data e hora baseado no valor do relógio em tempo real quando o dado mais recente do tópico 'Data' foi recebido e um indicador 'Subscribed'. Insira os nomes dos tópicos desejados para se inscrever como valores iniciais em Subscriptions[i].Name antes de fazer o download do projeto para o controlador.

A variável local 'enableSubcriptions' deve ser TRUE para habilitar essa funcionalidade.

  • Etapa 5 - captura de tela

    Etapa 5 - Imagem 1

  • Etapa 5 - captura de tela

    Etapa 5 - Imagem 2

Etapa 5 - captura de tela
Etapa 5 - captura de tela

Step 6

Publicação automática de um vetor de tópicos

MQTT_Publications é um programa opcional em Texto Estruturado que funciona em conjunto com o programa MQTT_Client. Ele permite publicar um vetor inteiro 'Publications' de tópicos pré-configurados. Ajuste a dimensão do vetor da variável global 'Publications' para o tamanho desejado e modifique o valor inicial da variável local 'maxPublications' para corresponder ao tamanho do vetor (padrão = 10). 'Publications' é um vetor de Tipo de Dados Definido pelo Usuário (UDT) que compreende o tópico MQTT 'Name', o tópico mais recente 'Value', o valor anterior do tópico 'Valueprev' e um registro de data e hora baseado no valor do relógio em tempo real quando o tópico mais recente 'Value' foi publicado. Insira os nomes dos tópicos desejados para publicar como valores iniciais em Publications[i].Name antes de fazer o download do projeto para o controlador.

Defina a variável local 'ChangeOfState' como TRUE para publicar qualquer valor que mude em uma base de exceção. Defina a variável local 'Interval' como TRUE e 'intervalTime' como um valor não zero para publicar todos os valores atuais que não são nulos ('') em uma base de intervalo de tempo. Normalmente, escolhe-se 'ChangeOfState' ou 'Interval' como o método para publicar atualizações de tópicos. Para uma atualização única, defina a variável local 'OnDemand' como TRUE para publicar todos os valores atuais que não são nulos (''). 'OnDemand' é definido como FALSE assim que todo o vetor 'Publications' tiver sido publicado. A variável local 'enablePublications' deve ser definida como TRUE para habilitar esta funcionalidade do programa.

  • Etapa 6 - captura de tela

    Etapa 6 - Imagem 1

  • Etapa 6 - captura de tela

    Etapa 6 - Imagem 2

Etapa 6 - captura de tela
Etapa 6 - captura de tela
Tem uma dúvida geral?

A Rockwell Automation e nossos parceiros oferecem conhecimento excepcional do setor para ajudar a projetar, implementar e dar suporte ao seu investimento em automação.

Contate a Rockwell Automation
  1. Chevron LeftChevron Left Página inicial da Rockwell Automation
  2. Chevron LeftChevron Left Sup...
  3. Chevron LeftChevron Left Pro...
  4. Chevron LeftChevron Left Downloads
  5. Chevron LeftChevron Left Innovation Center
  6. Chevron LeftChevron Left Controle remoto MicroLink, Controle remoto MQTT MicroLink
O conteúdo deste site foi traduzido usando inteligência artificial (IA) sem revisão nem edição humana. O conteúdo pode conter erros ou imprecisões e é fornecido “da forma como está” sem nenhum tipo de garantia. O texto oficial é a versão em inglês.
Atualize suas preferências de cookies para continuar.
Este recurso requer cookies para melhorar sua experiência. Atualize suas preferências para permitir esses cookies:
  • Cookies de Redes Sociais
  • Cookies Funcionais
  • Cookies de Desempenho
  • Cookies de Marketing
  • Todos os Cookies
Você pode atualizar suas preferências a qualquer momento. Para mais informações, consulte nosso {0} Política de Privacidade
CloseClose