Integrando o Arduino em sistemas de automação via MODBUS TCP
- Publicado em Eletrônica
O hardware da plataforma Arduino não possui tanta confiabilidade quanto Controladores Lógicos Programáveis (CLPs ou PLCs) industriais, mas devido ao baixo custo e viabilidade de distribuição de hardware à distância em múltiplos locais, eles podem ter grande utilidade e serem integrados a sistemas industriais profissionais por meio do protocolo MODBUS Serial ou TCP.
Neste exemplo, empregamos o MODBUS TCP via rede Ethernet, que pode ser integrado a servidores OPC e, finalmente, ao software National Instruments LabVIEW para exibição e processamento de dados com muita facilidade.
Conectividade Ethernet
Por meio do shield Ethernet, é possível conectar o Arduino facilmente a uma rede TCP/IP por meio de Ethernet. Neste exemplo, configuramos o Arduino com um endereço IP fixo que obterá dados de um sensor analógico de luminosidade TEMT6000 (um foto-transistor NPN) e dois sensores digitais, sendo um de temperatura por meio do protocolo 1-Wire (DS18B20) e de luz ambiente por meio de I²C (BH1750), conforme diagrama de rascunho abaixo eleborado no software Fritzing:
Biblioteca MODBUS
Lembre-se que o protocolo MODBUS define diversos meios físicos de transmissão, sendo os mais utilizados o RS-485 (mais utilizado nas conexões diretas com CLPs/PLCs) e o Ethernet (rede TCP/IP).
Neste exemplo, utilizados o MODBUS TCP porque o intuito do sistema é empregar centenas de plataformas Arduino com ou sem fio distribuídos por meio de rede TCP/IP em um empreendimento comercial para monitoramento de sensores e atuação de relés sem necessidade de comunicações sincronizadas.
A biblioteca MODBUS IP para a plataforma Arduino foi desenvolvida por André Sarmento Barbosa. Apesar da falta de comentários no código-fonte e documentação da biblioteca, a mesma é uma das melhores disponíveis nesta data:
A utilização da biblioteca é bem simples e exige apenas uma configuração de endereços e posterior atualização das variáveis publicadas:
Servidor OPC
Um servidor OPC é o software intermediário responsável por conectar aos dispositivos industriais por meio de diversas tecnologias industriais (MODBUS é apenas uma das possibilidades) e monitorar as variáveis dos dispositivos periodicamente e disponibilizá-las para outras aplicações clientes, como VIs no LabVIEW.
Na configuração abaixo, temos três variáveis configuradas por meio de endereços distintos estabelecidos em hexadecimal para ficar coerente com o software Arduino:
Processamento e exibição de dados no LabVIEW
Após todas as etapas supramencionadas concluídas, temos a exibição e processamento das grandezas obtidas por meio de sensores instalados na placa Arduino no software LabVIEW: