Loading
Remote Control

MicroLink Remote Control, MicroLink MQTT Remote Control

Revisão: A (08/08/2023) - Tempo de implementação: 60 Minutos
Micro800
Nesta página:
  • Para que serve isso?
  • Guia de instalação
Innovation Center Home

O MicroLink MQTT é uma suíte transformadora de blocos de funções definidos pelo usuário (UDFBs) para controladores Micro800 que permite comunicação MQTT perfeita com qualquer agente 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 capacidade de personalização com configurações para IDs MQTT exclusivos, endereços IP do servidor/agente, nomes de usuário, senhas e a qualidade de serviço (QoS) escolhida.

Indicado para uso com inversores de componentes PowerFlex 523 e 525 da Rockwell Automation.

Este código pode ser usado com os seguintes equipamentos:

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

 

Qual é a finalidade disso?

MO MicroLink MQTT é uma suíte de UDFBs projetada para obter uma integração total com os controladores Micro800 da Rockwell Automation. O objetivo dele é aprimorar os recursos desses controladores, permitindo a comunicação MQTT com qualquer agente MQTT.

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

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

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

Recursos gerais:

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

  • RA_MQTT_CONNECT_v2: entre no futuro com nosso bloco de funções de conexão. Ele permite que seu controlador Micro800 estabeleça uma conexão com um agente MQTT, preparando o terreno para um intercâmbio de dados robusto.
  • RA_MQTT_SUBSCRIBE_v2: aproveite nosso bloco de funções de assinatura para ficar conectado com os dados de que você precisa. Adapte suas assinaturas para tópicos específicos do agente MQTT e sempre mantenha as operações atualizadas e com muitos dados.
  • RA_MQTT_PUBLISH_v2: assuma o controle com nosso bloco de funções de publicação. Transmita dados com precisão publicando tópicos para o agente MQTT, fazendo de suas operações orientadas por dados uma referência a ser seguida por outros.

Cada bloco de funções é altamente personalizável, permitindo que você especifique IDs MQTT exclusivos, endereços IP do servidor/agente, nomes de usuário, senhas e a 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 ao Micro820, Micro850 e Micro870.
  • Depende do agente MQTT de terceiros.

 

Como posso fazer isso funcionar?

La arquitectura implica el uso de hardware Micro820, Micro850 y Micro870. Y este es el software necesario: 

  • Workbench de componente conectado, versión 21 o superior.
  • El firmware del equipo utilizado debe ser compatible con la versión del Workbench de componente conectado.
  • Bloque de funciones definido por el usuario:
    • RA_MQTT_CONNECT_v2
    • RA_MQTT_SUBSCRIBE_v2
    • RA_MQTT_PUBLISH_v2

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

  • Connected Component Workbench, versão 21 ou superior.
  • O firmware do equipamento utilizado deve ser compatível com a versão do Connected Component Workbench.
  • Blocos de funções definidos pelo usuário:
    • RA_MQTT_CONNECT_v2
    • RA_MQTT_SUBSCRIBE_v2
    • RA_MQTT_PUBLISH_v2

Conhecimentos necessários:

Recomendamos muito ter uma compreensão básica da programação da lógica ladder e da configuração do sistema com o uso do software Connected Components Workbench. Além disso, seria vantajoso ter familiaridade com os protocolos MQTT.

Downloads

Observação: você precisará concordar com os Termos e Condições para cada download.

MicroLink MQTT files ›
Legal Disclaimer Aceitação. A ROCKWELL AUTOMATION FORNECERÁ ACESSO AOS PRODUTOS ROCKWELL (MELHORES PRÁTICAS, APLICAÇÕES E CONHECIMENTO) SOB A CONDIÇÃO DE QUE VOCÊ ACEITE E CUMPRIR OS SEGUINTES TERMOS E CONDIÇÕES. VOCÊ ACEITA E CONCORDA EM CUMPRIR OS TERMOS DESTE CONTRATO AO FAZER O DOWNLOAD, INSTALAR, COPIAR OU USAR PRODUTOS DE OUTRA FORMA. SE VOCÊ ESTÁ ACEITANDO ESTES TERMOS EM NOME DE OUTRA PESSOA, EMPRESA OU OUTRA ENTIDADE LEGAL, VOCÊ DECLARA E GARANTE QUE TEM TOTAL AUTORIDADE PARA VINCULAR ESSA PESSOA, EMPRESA OU ENTIDADE LEGAL A ESTES TERMOS. SE VOCÊ NÃO CONCORDA COM ESTES TERMOS, NÃO FAÇA O DOWNLOAD, INSTALE, COPIE, ACESSE OU USE O SOFTWARE E/OU OS SERVIÇOS EM NUVEM. 1. A Rockwell Automation retém total propriedade e título de todos os produtos e documentação relacionada. Nenhum direito ou licença é concedido além dos estabelecidos neste Contrato. A empresa concede à Rockwell Automation uma licença não exclusiva, mundial, isenta de royalties, perpétua e não revogável para usar qualquer feedback que a empresa forneça sobre os 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 para a Empresa. 2. A Empresa não pode arrendar, subarrendar, atribuir, licenciar, sublicenciar ou de outra forma transferir nenhum dos Produtos sem o consentimento prévio por escrito da Rockwell Automation. A Empresa não pode atribuir 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 baseados nos Produtos pela Empresa são proibidos. 3. A Empresa reconhece que os Produtos fornecidos sob este Contrato são Informações Confidenciais da Rockwell Automation e estão cobertos por direitos autorais, patentes, marcas registradas e/ou segredos comerciais vigentes ou pendentes da Rockwell Automation, e a Empresa concorda em manter a confidencialidade ao não divulgar Produtos ou documentação a qualquer terceiro sem o consentimento prévio por escrito da Rockwell Automation e para proteger a confidencialidade dos Produtos, assim como protegeria as informações confidenciais da própria Empresa. A Empresa concorda que sua obrigação de confidencialidade nos termos deste parágrafo sobreviverá à expiração ou rescisão deste Contrato. 4. A Empresa concorda que os Produtos fornecidos neste Contrato 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 Contrato não deve, de forma alguma, ser interpretado como um compromisso da Rockwell Automation em qualquer momento de fabricar e/ou oferecer Produtos para venda. Não há contrato de 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 "COMO ESTÃO". A ROCKWELL AUTOMATION RENUNCIA TODA E QUALQUER GARANTIA, EXPRESSA, IMPLÍCITA OU LEGAL, INCLUINDO, SEM LIMITAÇÃO, QUAISQUER GARANTIAS DE COMERCIABILIDADE OU ADEQUAÇÃO PARA UM FIM ESPECÍFICO. A ROCKWELL AUTOMATION SE ISENTA EXPLICITAMENTE DE TODAS AS GARANTIAS DE NÃO VIOLAÇÃO E NÃO GARANTE EXPRESSAMENTE QUE OS PRODUTOS, NO TODO OU EM PARTE, ESTARÃO LIVRES DE ERROS OU VULNERABILIDADES DE SEGURANÇA. EM NENHUM CASO A ROCKWELL AUTOMATION SERÁ RESPONSÁVEL POR (i) PERDA DE LUCROS, PERDA DE ECONOMIAS, PARADAS, DANOS ESPECIAIS, INDIRETOS OU CONSEQÜENCIAIS DE QUALQUER TIPO, OU (ii) QUALQUER LESÕES PESSOAIS, DANOS MATERIAIS OU AMBIENTAIS DECORRENTES DE OU EM CONEXÃO COM ESTE ACORDO, SEJA EM UMA AÇÃO DE CONTRATO, RESPONSABILIDADE ESTRITA OU EM ILÍCITO INCLUINDO NEGLIGÊNCIA. 6. A EMPRESA CONCORDA EM INDENIZAR E ISENTAR A ROCKWELL AUTOMATION DE TODOS OS CUSTOS, PRÊMIOS, DANOS, DESPESAS E TAXAS (INCLUINDO HONORÁRIOS DE ADVOGADOS) RESULTANTES OU RELACIONADOS A QUAISQUER RECLAMAÇÕES DE TERCEIROS (INCLUINDO FUNCIONÁRIOS E AGENTES DA EMPRESA) CONTRA A ROCKWELL AUTOMATION, SEUS DISTRIBUIDORES, AGENTES, OFICIAIS, DIRETORES OU FUNCIONÁRIOS POR DANOS PESSOAIS (INCLUINDO MORTE), DANOS DE PROPRIEDADE OU AMBIENTAL RELACIONADOS OU RESULTANTES DO USO DOS PRODUTOS. 7. Caso um Produto seja exportado, a Empresa concorda em cumprir todas as Leis e Regulamentos de Controle de Exportação aplicáveis dos Estados Unidos e as leis de controle de exportação aplicáveis de outros países. Este Contrato será regido pelas leis do estado de Wisconsin. Este Contrato é o Contrato completo e exclusivo entre a Rockwell Automation e a Empresa e substitui todos os contratos anteriores, escritos ou verbais, relacionados aos Produtos.

Precisa de ajuda?

Se você precisar de ajuda com uma inscrição ou tiver um feedback do centro de inovação, escreva para nós.

Guia de instalação

Passo 1:

Estabelecimento de configurações de conexão para se conectar ou desconectar de um agente MQTT

Um agente MQTT serve essencialmente como um servidor para gerenciar mensagens MQTT. Para se conectar a um agente MQTT, devemos inserir o número da porta e o endereço IP do agente no UDFB RA_MQTT_CONNECT_v2. O agente pode estar hospedado em seu computador (nesse caso, você precisaria instalar e operar um agente 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 agente MQTT ao UDFB RA_MQTT_CONNECT_v2.

Este exemplo serve para se conectar ao agente test.mosquitto.org na nuvem.  Uma alternativa para inserir o endereço IP diretamente é ativar o Serviço de nome de domínio (defina “EnableDNS” como TRUE) após inserir o URL do agente 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 um “userPass”, se o agente MQTT exigir (muitos agentes 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 obrigatórios)

1.3 Defina “EnableMQTT” como TRUE para se conectar ao agente MQTT.

Observação:

É preciso se lembrar de algumas coisas para garantir uma conexão bem-sucedida. Em algum momento, MQTTsocketSts deve exibir um 9. Se mostrar um 7 e depois voltar para 0, isso pode significar que o agente 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, ele responde com uma confirmação. A confirmação é indicada pelo 1º byte, que neste caso é “32”.

Outra resposta frequente que você receberá é uma confirmação de ping, indicada pelo “208” no 1º byte dos dados retornados. O comando ping é enviado ao agente remoto em intervalos de 50 segundos. Esse intervalo é codificado permanentemente no UDFB, mas pode ser modificado, se necessário.

Se os dados de retorno são diferentes de 32 ou 208 na conexão, isso pode sugerir que o cliente assinou um tópico que foi transmitido enquanto estava off-line. A mensagem é retida e enviada ao cliente quando volta a ficar on-line. Se você encontrar isso, processe a mensagem e reinicie a conexão.

1.4 Se você deseja configurar para LWT, precisa acessar estes parâmetros no UDFB:

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

“willTopic_In” é onde você insere o tópico Last Will para a conexão.

“willData_In” é onde você insere a comprovação para a conexão.

O agente MQTT publicará a comprovação para todos os clientes que assinarem o tópico Last Will quando o cliente for desconectado abruptamente.

1.5 Se você deseja se desconectar normalmente do servidor (sem acionar o LWT), defina “disconnect_CmD” como TRUE.

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

  • Step 1 - screenshot

    Passo 1 - Imagem 1

  • Step 1 - screenshot

    Passo 1 - Imagem 2

  • Step 1 - screenshot

    Passo 1 - Imagem 3

  • Step 1 - screenshot

    Passo 1 - Imagem 4

  • Step 1 - screenshot

    Passo 1 - Imagem 1

  • Step 1 - screenshot

    Passo 1 - Imagem 2

  • Step 1 - screenshot

    Passo 1 - Imagem 3

  • Step 1 - screenshot

    Passo 1 - Imagem 4

  • Step 1 - screenshot

    Passo 1 - Imagem 1

  • Step 1 - screenshot

    Passo 1 - Imagem 2

  • Step 1 - screenshot

    Passo 1 - Imagem 3

  • Step 1 - screenshot

    Passo 1 - Imagem 4

Step 1 - screenshot
Step 1 - screenshot
Step 1 - screenshot
Step 1 - screenshot

Passo 2

Assinatura ou cancelamento de assinatura de um tópico

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

2.1. Digite o nome do tópico (“topicName_input”) para assinar ou cancelar a assinatura.

2.2. Defina a qualidade de serviço (“subQos”) para a assinatura. Por padrão, use “0”, pois consome menos largura de banda.

2.3. Defina “subscribe” ou “unsubscribe” como TRUE para assinar ou cancelar a assinatura do tópico.

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

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

Observação:

Recomenda-se usar apenas uma (1) instância de cada UDFB.

Step 2 - screenshot
Step 2 - screenshot

Passo 3:

Publicação de um tópico

Quando um tópico com dados é publicado em um agente MQTT, o agente encaminha os dados desse tópico para todos os clientes inscritos nele. O cliente que publica a mensagem não sabe se algum nó remoto está recebendo o tópico, pois essa responsabilidade é do agente, dependendo do nível da QoS. Os tópicos podem ser publicados ou assinados em qualquer nível de QoS, mas serão entregues apenas no menor nível de QoS.

3.1. Insira o tópico para publicar 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 menos largura de banda.

3.4. Defina “publish” como TRUE para publicar o tópico com os dados. Ele será automaticamente definido como FALSE quando “publishDN” ficar TRUE.

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

Step 3 - screenshot
Step 3 - screenshot

Passo 4

Recebimento de mensagens de tópicos assinados

O agente MQTT lida com todas as assinaturas de tópicos. Ele envia os dados de qualquer tópico publicado para os clientes assinantes. Quando um tópico é recebido pelo cliente MQTT do Micro800, ele preenche as variáveis de matriz “TopicName” e “TopicData” no UDFB RA_MQTT_CONNECT_v2. Os dados são armazenados na ordem de primeiro a entrar/primeiro a sair, por isso é crucial processar os dados antes que eles sejam substituídos.

Step 4 - screenshot
Step 4 - screenshot

Passo 5

Assinatura de uma matriz de tópicos

MQTT_Subscriptions é um programa de texto estruturado opcional que funciona em conjunto com o programa MQTT_Client. Ele permite assinar uma matriz “Subscriptions” de tópicos pré-configurados. Ajuste a dimensão da matriz da variável global “Subscriptions” para o tamanho desejado e modifique o valor inicial da variável local “maxSubscriptions” para corresponder ao tamanho da matriz (o padrão é 10). “Subscriptions” é uma matriz de tipo de dados definido pelo usuário (UDT) que compreende o tópico MQTT “Name”, o tópico mais recente “Data”, a data e hora reais de quando o tópico mais recente “Data” foi recebido e um indicador “Subscribed”. Insira os nomes de tópicos desejados para assinar como valores iniciais para 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.

  • Step 5 - screenshot

    Passo 5 - Imagem 1

  • Step 5 - screenshot

    Passo 5 - Imagem 2

  • Step 5 - screenshot

    Passo 5 - Imagem 1

  • Step 5 - screenshot

    Passo 5 - Imagem 2

  • Step 5 - screenshot

    Passo 5 - Imagem 1

  • Step 5 - screenshot

    Passo 5 - Imagem 2

Step 5 - screenshot
Step 5 - screenshot

Passo 6

Publicação automática de uma matriz de tópicos

MQTT_Publications é um programa de texto estruturado opcional que funciona em conjunto com o programa MQTT_Client. Ele permite publicar toda uma matriz de “Publications” de tópicos pré-configurados. Ajuste a dimensão da matriz da variável global “Publications” para o tamanho desejado e modifique o valor inicial da variável local “maxPublications” para corresponder ao tamanho da matriz (o padrão é 10). “Publications” é uma matriz de tipo de dados definido pelo usuário (UDT) que compreende o tópico MQTT “Name”, o tópico mais recente “Value”, o valor do tópico anterior “Valueprev” e a data e hora reais de quando o tópico mais recente “Value” foi publicado. Insira os nomes de tópicos desejados para publicar como valores iniciais para 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 como exceção. Defina a variável local “Interval” como TRUE e “intervalTime” como um valor diferente de zero para publicar todos os valores atuais que não são nulos ('') em intervalos de tempo. Normalmente, alguém escolheria “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 sejam nulos (''). “OnDemanD” é definido como FALSE depois que toda a matriz “Publications” é publicada. A variável local “enablePublications” deve ser definida como TRUE para ativar essa funcionalidade do programa.

  • Step 6 - screenshot

    Passo 6 - Imagem 1

  • Step 6 - screenshot

    Passo 6 - Imagem 2

  • Step 6 - screenshot

    Passo 6 - Imagem 1

  • Step 6 - screenshot

    Passo 6 - Imagem 2

  • Step 6 - screenshot

    Passo 6 - Imagem 1

  • Step 6 - screenshot

    Passo 6 - Imagem 2

Step 6 - screenshot
Step 6 - screenshot
Inscreva-se agora!

Receba novos lançamentos de aplicativos e outras inovações do Centro de Inovação diretamente em sua email.

Quero me inscrever
  1. Chevron LeftChevron Left Página inicial da Rockwell Automation Chevron RightChevron Right
  2. Chevron LeftChevron Left Sup... Chevron RightChevron Right
  3. Chevron LeftChevron Left Pro... Chevron RightChevron Right
  4. Chevron LeftChevron Left Downloads Chevron RightChevron Right
  5. Chevron LeftChevron Left Innovation Center Chevron RightChevron Right
  6. Chevron LeftChevron Left MicroLink Remote Control, MicroLink MQTT Remote Control Chevron RightChevron Right
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 Política de Privacidade
CloseClose