Controlador industrial. Sistema de coleta de dados. ACS

Bom dia, Habr!



Desenvolvimento de um controlador industrial com display para coleta e análise de dados, bem como para gerenciamento de cargas agrupadas. Quem se importa com o que aconteceu, por favor, sob gato.

O tópico de controladores industriais vem sendo desenvolvido há muito tempo para uso em sistemas de controle automatizados (ACS). Quando vejo o próximo controlador da Siemens, ViewPAC ou qualquer outro fabricante, vejo apenas um tablet grande (escrevo sobre esse fator de forma, ou seja, não opções de montagem em rack) com software especializado, mas isso é apenas à primeira vista. De fato, na maioria das vezes, apenas a aparência do lado da tela é semelhante, mas o painel traseiro possui conectores de interface, compartimentos para conectar módulos de expansão, sensores, mídia de armazenamento externa, etc. Existem controladores industriais universais e altamente especializados, ou seja, projetados para executar um conjunto de tarefas, geralmente do mesmo tipo.

Foi um controlador (altamente especializado) que desenvolvemos. Para iniciantes, algumas palavras sobre implementação. Globalmente, o dispositivo é dividido em duas partes. O primeiro é o módulo do iMX6D, que desenvolvemos apenas para a implementação de tais tarefas, o segundo é o microcontrolador STM32F103RBT7. Como escrevi anteriormente (em artigos anteriores), é o sistema de blocos (modular) que permite implementar rapidamente projetos complexos. Nesse sistema, a maior parte do complexo de hardware e software já está depurada e resta apenas coordená-lo com outros módulos e modificá-lo para o cliente final.

iMX6D

Um módulo de processador completo (dois núcleos a 1 GHz), que lida com várias tarefas para interagir com o usuário:

  • saída de dados no processamento de tela / tela sensível ao toque;
  • Ethernet 10/100/1000;
  • sincronização de tempo;
  • armazenamento de logs de eventos;
  • interface web + atualização;
  • armazenamento de dados de perfil;
  • cálculos complexos para o microcontrolador.


E essa não é uma lista completa do que o módulo faz.



Fig. 1. Módulo do processador

A interface baseada na Web repete quase completamente a imagem da tela, o que facilita a navegação e a alteração rápida das configurações pelos usuários. A implementação, como nos projetos anteriores, é baseada no mecanismo de 11 partes. Como o microcontrolador executa a maior parte das tarefas, tornou-se necessário atualizar seu firmware (assim como o principal) via web. Essa tarefa foi especialmente aguda, pois o cliente planejava atualizar dispositivos para expandir a funcionalidade. O módulo do processador está conectado ao microcontrolador via UART (o último também é exibido através dele).

STM32

O microcontrolador neste projeto é muito importante. Primeiramente, seu uso tornou possível paralelizar tarefas para programadores e distinguir duas áreas principais:

  • Interação do usuário.
  • Coleta, processamento e gerenciamento de dados.


Em segundo lugar, um sistema modular é mais conveniente para depuração, teste e expansão de funcionalidade.

Este controlador industrial (doravante denominado PC) permite a manutenção de quatro salas independentes (grupos) com um grande número de sensores de elementos de atuação.

Especificamente para este projeto, para cada grupo estão disponíveis:

  • 6 sensores de temperatura combinados em uma única entidade para determinar a média;
  • 2 sensores de temperatura independentes;
  • 2 sensores de umidade;
  • 1 sensor de CO2;
  • 12 canais de controle para atuadores externos.


Também vários sensores de rua:

  • 2 sensores de temperatura independentes;
  • 2 sensores de umidade.


No total, o microcontrolador coleta dados de 48 sensores e controla 48 atuadores. Todos os sensores de temperatura são analógicos. Os sensores de umidade e CO2 possuem uma interface de corrente de 4-20mA.

Agora um pouco de circuito. Para sensores de comutação, decidiu-se usar os multiplexadores analógicos do HCF4051 (eles têm um atraso de comutação, mas isso não foi crítico para a nossa tarefa). É essa série que já foi descontinuada, sua diferença, por exemplo, do CD4051 apenas na velocidade de comutação (bem, no fabricante). Existem seis desses multiplexadores no controlador. A troca de todos os multiplexadores ocorre simultaneamente (pelas mesmas pernas do microcontrolador), o que reduz significativamente os recursos e o tempo de leitura. No microcontrolador, respectivamente, seis canais ADC estão envolvidos.



Fig. 2. Circuito de comutação multiplexador

Para cada sensor de temperatura, uma fonte de tensão de referência separada TL431 (no pacote SOT-23) é usada, portanto, com um curto-circuito em um dos sensores, os outros continuam trabalhando como antes. Para fornecer energia a todos os oporniku usados ​​LM1117 3.3V. A placa é alimentada a partir de uma fonte externa de DC24V; portanto, para a fonte de alimentação secundária, são usados ​​dois DC / DC TPS54560DDAR idênticos (formando 12V e 5V), pois eu não os uso no primeiro projeto. 3.3V é obtido a partir de 5V usando o ST1S10.



Fig. 3. Localização dos alimentadores no quadro

Para controlar cargas externas, geralmente são utilizados relés, acionados pelo fornecimento de corrente alternada de 24V. Portanto, o AC24V é fornecido a cada grupo, que é comutado pelos triacs BT138-600 via isolamento do optocoupler. O esquema é apresentado abaixo. Tudo funciona de forma estável.



Fig. 4. Circuito de controle Triac



Fig. 5. Grupo de sensores e conectores de controle na placa

Os programas de gerenciamento são armazenados em uma EEPROM separada conectada ao microcontrolador. Os parâmetros iniciais durante a partida a quente e o último estado de todo o sistema são armazenados lá (para que o programa possa continuar sendo executado).

Está claro que o microcontrolador não possui GPIO suficiente para controlar um número de optoacopladores (e não é humano arrastar tantos fios pela placa); portanto, são utilizados os expansores de porta TCA6424ARGJR, um para dois grupos e um sistema (processando vários sinais de entrada, botões do sistema de processamento, Indicadores LED, etc.).

O relé, que é claramente visível na Fig. 5. (um para cada grupo), é usado para determinar a presença da tensão de entrada AC24V e a saúde do fusível para cada grupo. Quando acionado, envia um sinal para o microcontrolador, que, por sua vez, notifica um mau funcionamento.

O tempo é sincronizado usando o protocolo NTP, mas também há um chip RTC PCF8523 (também usado repetidamente) para calcular o tempo na ausência de uma tensão de alimentação.



Fig. 6. Circuito RTC

Exibição

O controle do PC é realizado rapidamente usando uma tela sensível ao toque e remotamente via web. Como eu disse, a interface do navegador (essa funcionalidade ainda está sendo finalizada) repete a tela. No momento, um aplicativo é escrito em Qt, que se comunica com um PC diretamente via mqtt e é o mais próximo possível da realidade. Na web, no momento, existem configurações gerais do dispositivo, organização de acesso e atualizações de software.



Fig. 7. Exibir dados no aplicativo no Qt



Fig. 8. Exibir dados

Esses tipos de controladores permitem criar o ACS completo para complexos industriais. A funcionalidade e um conjunto de sensores, por regra, são diferentes e correspondem às tarefas necessárias, mas o objetivo é o mesmo - monitoramento e / ou controle. Para sistemas grandes, você pode aumentar o número de controladores unidos por uma tarefa. O controlador pode não conter um monitor, mas pode ser controlado por uma rede (Ethernet).



Fig. 9. Pequena festa

Obrigado e até breve!

Source: https://habr.com/ru/post/pt469037/


All Articles