Escolar Documentos
Profissional Documentos
Cultura Documentos
com
Introdução
O código de amostra que acompanha este manual permite que um controlador Logix com capacidade de soquete se
conecte a um broker ou servidor MQTT. Os tópicos podem ser assinados, cancelados e publicados. As atualizações de
tópicos inscritos podem ser monitoradas para atualizações.
Requisitos
Para usar este código, o controlador deve ter uma interface Ethernet compatível com Sockets. Os controladores
CompactLogix 5370 e 5380 e ControlLogix 5580 têm isso integrado. Outros controladores ControlLogix podem ser
adaptados para soquetes com um cartão 1756-EN2T ou similar. Para obter mais informações, consulte o artigo 470690 da
base de conhecimento. O controlador deve ter o firmware 24 ou superior.
Princípio
O código de amostra consiste em duas partes, um Programa que atua como um backbone de comunicação e Instruções
Add-On que tratam dos comandos relacionados ao tópico.
A tabela também mostra quais parâmetros são para configuração, comandos e status. Os termos específicos do MQTT não
são explicados aqui. Presume-se que o usuário esteja familiarizado com a terminologia MQTT.
Incluindo o código de comunicação MQTT em um projeto
Clique com o botão direito na Tarefa que executará o programa de comunicação e selecione Adicionar - Importar Programa.
Obrigatório
Na linha 0 da MainRoutine do programa de comunicações, na última instrução da segunda ramificação, defina
o número do slot da placa de interface de rede com capacidade de soquetes.
cliente é uma string que deve ser diferente para cada cliente.
Opcional
Defina os valores desejados nos membros da tag listados abaixo.
Esses são parâmetros opcionais para conexão com o servidor ou broker MQTT.
Também opcional é alterar o valor da tag 'mqttKeepAlive'. Este é o valor de tempo limite em segundos usado ao
fazer a conexão com o servidor MQTT. O código de comunicação faz ping automaticamente no servidor quando a
metade desse tempo expira. O valor padrão é 256, os valores válidos vão de 17 a 1024 segundos.
Incluindo os AOIs MQTT em um projeto
Este código possui uma única rotina que demonstra o uso do código de comunicação e das instruções
add-on.
Quando o código não for ou não for mais necessário, exclua o Programa. Os AOIs MQTT importados permanecerão
disponíveis no projeto.
AOI mqpt - Publicar tópico
A instrução mqpt permite a publicação de um tópico. Pode ser usado em Ladder e Texto Estruturado. Não deve
haver nenhuma lógica antes da instrução, por isso ela sempre executa.
Parâmetros
A tag mqtp é a tag de apoio da instrução.
Quando a tag do membro de publicação faz a transição de 0 para 1, a instrução publica o tópico. Cabe ao
usuário acionar a transição.
Qos, reter e duplicar podem ser configurados de acordo com a preferência do usuário para o protocolo MQTT.
Id pode ser definido pelo usuário, se desejado. Quando deixado em 0, o programa de comunicação atribuirá automaticamente
um ID incremental. Isso é recomendado.
Tópico e carga útil são strings que podem ser preenchidas pelo código do aplicativo do usuário antes de acionar a
instrução.
AOI mqsu - assinar e cancelar a assinatura do tópico
A instrução mqsu permite assinar e cancelar a assinatura de um tópico. Pode ser usado em Ladder e Texto
Estruturado. Não deve haver nenhuma lógica antes da instrução, por isso ela sempre executa.
Parâmetros
A tag mqsu é a tag de apoio da instrução.
A instrução é executada quando o tag de inscrição ou de cancelamento faz a transição de 0 para 1. Cabe ao
usuário disparar a transição.
O tópico é a string que identifica o tópico. Como essa string é passada ao servidor sem processamento,
qualquer caractere curinga pode ser usado, desde que o servidor o suporte.
AOI mqmt - monitorar tópico inscrito
Parâmetros
A tag mqmt é a tag de apoio da instrução.
O tópico é uma sequência, definida pelo código do usuário que é o tópico exato para o qual é monitorado. Deve ser uma correspondência exata para
Qos, retém, dup e id são atualizados pela instrução e contêm os valores que foram recebidos do
servidor.