Downloads
PRA QUE SERVE?
Atualmente os projetos e aplicações de automação, sejam eles processo ou fabricantes de máquinas, estão cada vez mais conectados com a computação em nuvem, permitindo que essas aplicações enviem dados para análise e tomada de decisão.
MQTT é um protocolo que ganhou muita força nos últimos anos devido sua facilidade de implementação e configuração, segurança, baixo consumo computacional e grande flexibilidade de aplicações.
Esse projeto Demo MQTT é um exemplo que consiste em dois projetos: Field Application e Data Aggregator Application. O objetivo desta demo é simplesmente mostrar um exemplo de comunicação via protocolo MQTT entre uma aplicação hipotética rodando em uma máquina/planta (Field Application) e uma aplicação que coleta os dados enviados pela máquina, mostrando-os na forma de um dashboard (Data Aggregator Application). Normalmente, isso seria feito apenas com a visualização de dados históricos (cold data), mas neste projeto, também queríamos mostrar um exemplo de recebimento de dados ao vivo.
CARACTERISTICAS GERAIS
O exemplo é fornecido como está e pode ser uma referência útil para construir seu aplicativo.
Essa aplicação é um guia para servir de base para uma aplicação real (máquina), devendo ser adaptado para o propósito e características de funcionamento de cada fabricante, respeitando os mais altos padrões de segurança exigidos.
Um broker MQTT público e de código aberto é usado no projeto apenas para fins de demonstração, ele não é seguro e seu tempo de atividade não pode ser garantido.
Recomendamos fortemente que você altere os nomes do tópico e do servidor usando seu provedor antes de implementar o aplicativo final.
NOTA
Este aplicativo funciona em conjunto com o Field Application, mostrando dados recebidos via protocolo MQTT na forma de um painel de controle.
Observação: você precisará concordar com os Termos e Condições de cada download.
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.
- Aplicação de Campo
- Aplicação Agregadora de Dados
- MQTT Broker Logic / MQTT Server
- MQTT Client
- Subscriber
- Publisher
MQTT Broker Logic
MQTT Server
Ele deve ser ativado (TRUE) somente se você quiser usar seu aplicativo Uniqo como um Broker (portanto, não usar um broker MQTT existente, neste exemplo test.mosquitto.org)
Parâmetros:
- IPAddress: endereço IP onde o Broker será instanciado
- Port: número da porta na qual o broker está escutando
- UseSSL: habilita o uso de certificados
- Certificate
- CertificatePassword
- AutoStart LEAVE TRUE
- UserAuthentication: se true somente os usuários especificados podem acessar
- AuthorizedUsers
- IsRunning: status do servidor
- IsDebuggingMode NOT USED
- MaxNumberOfConnections: número máximo de clientes que podem se conectar ao Broker
- NumberOfConnections: número de conexões ativas
MQTT Client
Ele deve estar sempre ativo (TRUE) porque é a conexão com o Broker no qual você publica ou no qual você assina. Se você quiser conectar dois aplicativos, você precisa definir o mesmo broker e a mesma porta em ambos os projetos. Em vez disso, o parâmetro ClientID deve ser diferente (único) em cada aplicativo.
Parâmetros:
- IPAddress: endereço do broker (test.mosquitto.org) pode ser externo como neste caso, ou interno se o aplicativo funcionar como um broker (por exemplo, MQTTBrokerLogic.MQTTServer.IPAddress)
- Port: porta do broker (1883 para test.mosquitto.org)
- UseSSL: alterne para TRUE se o broker exigir certificados
- CaCertificate
- ClientCertificate
- ClientCertificatePassword
- AllowUntrustedCertificates
- UserAuthentication: altere para TRUE se o broker exigir usuários autorizados.
- AuthorizedUsers: matriz de strings que contém usuários Uniqo (User1; User2; User […]);
- IsRunning NÃO USADO
- IsDebuggingMode NÃO USADO
- ClientId: este é o ID exclusivo, diferente para cada aplicativo que deseja participar do compartilhamento/troca de dados
- Connected: status da conexão com o broker
- SentPackages STATS
- ReceivedPackages STATS
Parâmetros:
- LiveTags: TRUE = recebe DADOS AO VIVO
- LiveTagsFolder: esta pasta/nó contém uma cópia do parâmetro Publisher
- LiveTagsFolder, no qual o Netlogic copiará os valores lidos do broker.
- LiveTagsTopic: neste parâmetro precisa ser especificado o tópico no qual você está inscrito e deseja receber valores de variáveis/tags ao vivo.
- LastPackageTimestamp: Carimbo de data/hora do último pacote publicado
- StoreTables: TRUE = recebe DADOS HISTÓRICOS
- Store: DataStore no qual estamos salvando os dados recebidos. As tabelas do store devem ser renomeadas com o parâmetro “TablesPrefix”, mais o nome das tabelas do aplicativo publisher. Abaixo está um exemplo:
- Nomes das tabelas do DataStore do aplicativo Publisher: Datalogger, AlarmsEventLogger
- Parâmetro “TablesPrefix” do Publisher: Station1
- Nomes das tabelas do DataStore do aplicativo Subscriber: Station1_DataLogger, Station1_EventLogger Verifique se tem as mesmas colunas que você tem no aplicativo Publisher
- StoreTablesTopic: neste parâmetro precisa ser especificado o tópico no qual você está inscrito e deseja receber valores de variáveis/tags históricas.
- Store: DataStore no qual estamos salvando os dados recebidos. As tabelas do store devem ser renomeadas com o parâmetro “TablesPrefix”, mais o nome das tabelas do aplicativo publisher. Abaixo está um exemplo:
- CustomPayload: Mensagem personalizada sem formato predefinido
- CustomPayloadMessage: Mensagem de texto personalizada do CustomPayloadTopic
- CustomPayloadTopic: neste parâmetro precisa ser especificado o tópico no qual você está inscrito e deseja receber mensagens personalizadas.
- LiveTags: TRUE = publicar DADOS AO VIVO
- LiveTagsPeriod: Frequência de envio (se 0000:00:00.000 enviar dados na alteração de valor).
- LiveTagsFolder: pasta (ou nó) que contém dados a serem enviados
- LiveTagsTopic: /UniqoFieldHmiLiveTopic é o tópico no qual estamos enviando/publicando dados
- QoS: Qualidade de serviço MQTT (0,1,2)
- Retain: Retém mensagem no tópico mesmo após a leitura
- StoreTables: TRUE = publica DADOS HISTÓRICOS
- Store: DataStore no qual estamos salvando nossos dados
- TableNames: Armazena tabelas a serem enviadas
- Table1: Datalogger
- Table2: AlarmsEventLogger
- A tabela (...) pode ser adicionada ou removida
- PreserveData NÃO USADO
- MaximumItemsPerPacket: define quantas linhas por pacote enviar
- MaximumPublishTime: Tempo máximo de espera antes de publicar dados mesmo se não for atingido o valor MaximumItemsPerPacket.
- MinimumPublishTime: Tempo mínimo de espera antes de publicar dados quando o valor MaximumItemsPerPacket é atingido.
- StoreTablesTopic: /UniqoFieldHmiDataLoggerTopic é o tópico sobre o qual estamos enviando/publicando dados
- QoS: Qualidade de serviço MQTT (0,1,2)
- Retain: Retém a mensagem no tópico mesmo após a leitura
- TablesPrefix: Uma variável de modelo contendo o nome hipotético de diferentes sites de produção, neste caso, será "Station1". No pacote enviado aparecerá a tabela enviada com o prefixo exclusivo correspondente à máquina/site correto de onde o pacote chega (Station1_AlarmsEventLogger). Isso é útil quando temos mais de um modelo de máquina/mais de uma configuração de planta e precisamos distinguir de qual máquina/planta os dados chegam.
- AllRows: Quando for TRUE, publique todos os dados já presentes nas Store Tables. Defina como FALSE para publicar apenas os dados armazenados após a implementação do MQTTBrokerLogic.
- CustomPayload: Mensagem personalizada sem formato predefinido
- CustomPayloadMessage: Mensagem de texto personalizada publicada no CustomPayloadTopic
- CustomPayloadTopic: O tópico no qual a mensagem será publicada
- CustomPayloadPeriod: Frequência de envio da mensagem personalizada (se 0000:00:00.000 enviar dados na alteração de valor)
- QoS: Qualidade de serviço MQTT (0,1,2)
- Retain: Reter mensagem no tópico mesmo após a leitura
Atenção:
A Rockwell Automation mantém esses repositórios como uma conveniência para você e outros usuários. Embora a Rockwell Automation reserve o direito de, a qualquer momento e por qualquer motivo, recusar o acesso para editar ou remover conteúdo deste Repositório, você reconhece e concorda em aceitar a responsabilidade exclusiva por qualquer conteúdo do Repositório publicado, transmitido, baixado ou usado por você. A Rockwell Automation não tem obrigação de monitorar ou atualizar o conteúdo do Repositório.
Os exemplos fornecidos devem ser usados como referência para a construção de seu próprio aplicativo e não devem ser usados na produção como estão. É recomendável adaptar o exemplo para o propósito, observando os mais altos padrões de segurança.
VANTAGENS
MQTT simples e fácil de integração, podendo ser customizado para cada tipo de dado e aplicação/máquina e suas necessidades específicas.
LIMITAÇÕES E DESVANTAGENS
Aplicação para FT-Optix apenas.
ISSO É ÚTIL PARA MIM?
Aplicação pronta para integração com FT-Optix e Azure, código aberto, podendo ser facilmente implementada ou utilizada com base em seu projeto.
Para conexão com controladores o FT-Optix permite integração com controladores Logix (Rockwell Automation) ou controladores de terceiros.
Veja nossos drivers disponíveis:
https://www.rockwellautomation.com/pt-pt/docs/factorytalk-optix/current/contents-ditamap/creating-projects/communication-driver/communication-drivers-overview.html
COMO POSSO FAZER ISSO FUNCIONAR? Requisitos
- Hardware
- Intel Core i5 Standard Power processor (i5-8xxx)
- 8 GB of RAM memory
- 20 GB free hard disk space
- Os requisitos de hardware para aplicativos FactoryTalk Optix podem variar dependendo do aplicativo e do tipo de dispositivo que executa o aplicativo.
- Software
- FactoryTalk Optix
- Baixe e instale o FactoryTalk Optix Studio e Runtime.
- Link para download: https://home.cloud.rockwellautomation.com/sign-in?returnTo=%2Fdashboard
- Pode ser feito download do PCDC: https://compatibility.rockwellautomation.com/Pages/home.aspx
- Broker MQTT
- Recomendamos broker privado de alta disponibilidade para aplicações reais.
- Requisitos de software para aplicativos FactoryTalk Optix
- Windows 10 (x64), Windows 11 (x64), Windows Server 2016, Windows Server 2019, Windows Server 2022, or Ubuntu 22 (x64)
- Conhecimento
- SO Windows
- FactoryTalk Optix Studio
Guia de implementação
Coletando dados da sua máquina via MQTT com FT-Optix
Versão 1.0 - Janeiro de 2024