Neste artigo, será abordado o que é o MODBUS, como é seu funcionamento, quais são suas principais versões (RTU e TCP) e, ainda, serão mostrados alguns casos de uso deste protocolo na indústria e suas vantagens.
Introdução
MODBUS é um dos protocolos de comunicação mais utilizados em ambientes industriais há décadas. Com origem em 1979 pela empresa Modicon (hoje chamada Schneider Electric), esse protocolo é feito para permitir a troca de dados entre dispositivos de controle, como sensores, atuadores e controladores lógicos programáveis (PLCs), de forma segura e confiável.
O que é o MODBUS?
O MODBUS é um protocolo de comunicação serial que permite a troca de dados entre dispositivos em uma rede industrial, no modelo requisição resposta, composta de um mestre (ou centralizador) e N nós. A regra geral dessa comunicação é que nenhum nó da rede MODBUS deve, espontaneamente (sem receber uma requisição explícita do mestre ao endereço / identificador do nó), enviar um dado na rede. Ou seja, o nó só se comunica quando for requisitado pelo mestre que o faça.
Dessa forma, além do mestre ter certeza de que a mensagem trafegada no é a resposta de uma requisição que ele fez, é também garantido que não exista concorrência (dois ou mais nós respondendo simultaneamente na rede), uma vez que somente um dispositivo da rede MODBUS envia dados num dado instante de tempo.
Trata-se de um protocolo de comunicação que faz uso de uma interface de comunicação para trafegar seus dados. isso significa que, embora as mensagens MODBUS sigam um protocolo ou padrão, a interface na qual elas trafegam podem ser a que melhor se encaixar na solução, tais como: RS-485, UART, RS-232, Ethernet, ou até mesmo interfaces de comunicação sem fio como Wi-Fi ou LoRa. Observe a Figura 1, onde é mostrado o uso de MODBUS (em azul) com interfaces de comunicação cabeadas (em laranja) e sem fio (em verde), para interfacear as mensagens MODBUS com o meio físico (em cinza).
Figura 1 – organização em camadas
Existem alguns termos e nomenclaturas comuns, sendo:
- Endereço MODBUS de um nó: numa comunicação MODBUS, todo nó possui um endereço único, de 1 byte de tamanho, ou seja, de 0x00 a 0xFF (ou de 0 a 255 em decimal). Em hipótese alguma pode haver mais de um nó com o mesmo endereço, caso contrário a comunicação não ocorrerá.
- Registradores e endereço dos registradores: no MODBUS, todos os dados a serem lidos ou escritos são chamados de registradores. Um registrador contém, sempre, 16 bits (ou 2 bytes) de tamanho. Ainda, cada registrador tem um endereço específico, também de 16 bits. Na comunicação, o mestre tem, obrigatoriamente, que ter conhecimento dos endereços dos registradores dos demais nós.
- Função MODBUS: o protocolo também compreende um dado de 1 byte de tamanho chamado função MODBUS. Ele informa ao receptor da mensagem o que deve ser feito com os registradores apontados na mensagem, como por exemplo: leitura de um registrador, escrita de um registrador, leitura de múltiplos registradores ou escrita de múltiplos registradores.
- Verificador de integridade (CRC): trata-se de um dado, de 16 bits de tamanho, que é calculado a partir dos demais dados trafegados numa mensagem MODBUS. O receptor da mensagem deve recalcular (seguindo o mesmo algoritmo) o CRC de cada mensagem recebida e, então, comparar com o CRC vindo originalmente na mensagem. Se os CRCs forem iguais, a mensagem não está corrompida e pode ser processada. Caso contrário, algum (ou alguns) bit(s) da mensagem foram corrompidos e, portanto, a mensagem não está íntegra e deve ser desconsiderada.
Funcionamento
Observe o fluxo abaixo, no qual demonstra, em linhas gerais, como ocorre a comunicação:
- O mestre da rede requisita um ou mais dados (no MODBUS, chamados de registradores) para um dos nós, através de uma mensagem que compreende: o identificador (ou endereço) MODBUS do nó que deve responder à requisição, quais registradores devem ser lidos (através da indicação de seus endereços), a função de comunicação (que informa ao nó o que deve ser feito, como por exemplo a leitura ou escrita dos registradores apontados na mensagem) e um verificador de integridade (CRC).
- Embora todos os nós MODBUS recebam a requisição, somente aquele que tem o endereço igual ao especificado na mensagem vai responder, lendo ou escrevendo os registradores de acordo com a função MODBUS informada. Os demais nós da rede MODBUS ignoram a requisição.
- O nó cujo endereço é o informado pelo mestre responde à requisição, informando seu próprio endereço, os dados (registradores) solicitados e um verificador de integridade (CRC).
- O mestre, então, trata a resposta recebida.
MODBUS RTU e MODBUS TCP/IP
Existem duas versões principais do protocolo: MODBUS RTU (Remote Terminal Unit) e MODBUS TCP/IP.
O RTU MODBUS é uma variante que utiliza interface de comunicação serial para trocar dados entre os nós atrelados à comunicação MODBUS em questão. É frequentemente usado com interfaces de comunicação serial cabeadas, como RS-232 e RS-485, por exemplo. E é conhecido por sua simplicidade na transmissão de dados, utilizando datagramas (formato das mensagens MODBUS) compactos que minimizam a quantidade de dados trafegados entre o mestre e demais nós. Se usado em conjunto com interfaces de comunicação que utilizam par diferencial para comunicação (como o MODBUS RS485, por exemplo), aliado a baixa quantidade de dados trafegados no formato RTU MODBUS, a imunidade a ruídos eletromagnéticos é alta, permitindo comunicação à longas distâncias (em alguns casos, até 1 quilômetro).
O datagrama do MODBUS RTU é, de forma geral, conforme mostrado na Figura 2.
Figura 2 – datagrama
Neste protocolo, os endereços dos registradores a serem escritos ou lidos (de acordo com a função) estão compreendidos no campo Data, e a quantidade e formato de dos dados a serem inseridos nesse campo dependem da função MODBUS escolhida. Para ter acesso a descrição completa de cada função, acesse: https://www.simplymodbus.ca/FC01.htm
O MODBUS TCP/IP foi desenvolvido para funcionar em redes modernas baseadas em TCP/IP, tais como Ethernet e Wi-Fi. Em linhas gerais, o TCP MODBUS encapsula as mensagens MODBUS a serem trafegadas em pacotes TCP/IP, permitindo a comunicação MODBUS ocorrer utilizando com interface de comunicação redes redes LAN e WAN. Pelo fato da velocidade de comunicação via Ethernet e Wi-Fi ser muito superior à RS-232 ou RS-485, a quantidade de mensagens por período de tempo é muito superior no TCP MODBUS em relação ao MODBUS RTU, permitindo a comunicação rápida entre nós e o mestre, o que pode ser necessária em casos de uso de controle de periféricos críticos, como é o caso de equipamentos industriais que exigem reação rápida a algum erro que pode causar um dano físico (explosões, por exemplo).
Em termos de datagrama, o protocolo TCP MODBUS tem diferenças significativas. O seu datagrama é conforme mostrado na figura 3.
Figura 3 – datagrama
O campo MBAP (acrônimo para MODBUS Application Protocol) é composto de:
- Transaction identifier: identificador da resposta para a transação, indicando de qual requisição esta resposta é. Ele tem 2 bytes de tamanho
- Protocol identifier: se 0 (zero) indica MODBUS, para outras variações (até mesmo proprietárias), pode assumir outros valores. Ele tem 2 bytes de tamanho.
- Length: contagem de todos os próximos bytes a serem transmitidos. Ele tem 2 bytes de tamanho.
- Unit identifier: campo utilizado para identificar o nó remoto em uma rede MODBUS. Ele tem 1 byte de tamanho.
Note que não há verificador de integridade (CRC) no MODBUS TCP. Isso ocorre porque o TCP/IP já apresenta um mecanismo de verificação de integridade, logo o MODBUS TCP aproveita-se disso para reduzir o número de bytes trafegados por mensagem.
Comparação entre MODBUS e CAN Bus
Outro protocolo frequentemente utilizado em sistemas com muitos nós para controle e monitoramento é o CAN (acrônimo para Controller Area Network) Bus. O CAN Bus é muito usado em veículos terrestres (carros, caminhões e ônibus) e em navios, uma vez que apresenta grande imunidade a ruídos e é, assim como o MODBUS, bastante confiável e robusto.
Um grande diferencial entre MODBUS e CAN Bus é o número de fios necessários para comunicação. O CAN Bus exige apenas 2 fios para tráfego de dados, enquanto no MODBUS pode ser exigido até 8 fios (no caso de uso do MODBUS TCP com Ethernet, onde são necessários 4 pares de fios trançados).
Observe abaixo um quadro comparativo entre ambos protocolos de comunicação:
Figura 4 – tabela comparativa
Importância do MODBUS na Indústria
Se destaca na indústria pela sua capacidade de facilitar a interoperabilidade entre dispositivos de diferentes fabricantes, desde que sejam conhecidos os endereços dos registradores de cada um deles, algo facilmente encontrado nos manuais de operação de dispositivos MODBUS.
Isso é fundamental em ambientes industriais, onde a integração de sistemas diversos é uma ocorrência comum, sobretudo em plantas industriais complexas. A capacidade de permitir a comunicação de diversos tipos de dispositivos faz do protocolo (seja RTU ou TCP, a depender do caso de uso) uma escolha natural para automação, monitoramento e controle de processos industriais.
Em setores como geração de energia e gerenciamento de água e esgoto, por exemplo, o protocolo é massivamente empregado para monitorar e controlar todos os subsistemas que compõem estes setores, tais como: leitura de tensão e corrente, controle preciso de bombas e monitoramento de alarmes e alertas. Essa ampla aplicação se deve à sua confiabilidade, robustez e maturidade, uma vez que é usado há mais de 40 anos na indústria.
Aplicações do MODBUS (RTU e TCP)
O protocolo (nas suas duas versões: TCP e RTU) é utilizado em uma variedade de aplicações, das quais destacam-se:
- Automação industrial: controle de processos e sistemas de manufatura, em plantas industriais de todas as complexidades.
- Monitoramento de consumo e qualidade energia: gestão de consumo energético e análise de eficiência energética.
- Automação predial: controle de iluminação, climatização e segurança.
- Geração de energia: monitoramento de geração de energia elétrica em usinas eólicas e solares.
- Gerenciamento de água e esgoto: controle de bombas, medições de vazão, monitoramento de alarmes e controle de ações emergenciais (desligamento emergencial de uma bomba caso a vazão estiver fora dos parâmetros normais, por exemplo).
Além das versões RTU e TCP/IP, há também implementações e aplicações específicas do protocolo, como o MODBUS ETS2, que atendem a necessidades específicas da indústria.
Vantagens do MODBUS (RTU e TCP)
As principais vantagens – em suas versões RTU e TCP – são:
- Simplicidade: fácil de implementar e entender, ideal para engenheiros e técnicos.
- Facilidade de prototipação: o hardware necessário para fazer prototipações é fácil de encontrar e tem custo acessível. Como exemplos, veja:
- Conversor RS485 / RS232 / RS422 para Ethernet TCP/IP
- Conversor Modbus RS485 / RS232 para Ethernet TCP/IP
- Conversor RS232 para RS485
- Cabo Conversor USB Serial RS485
- Interoperabilidade: permite que dispositivos de diferentes fabricantes se comuniquem, facilitando a integração dos mesmos em uma solução de automação ou solução industrial.
- Flexibilidade: adequado para diversas configurações de rede, cabeadas e sem fio.
- Confiabilidade e robustez: usado há décadas em ambientes industriais e automações diversas com interfaces de comunicações robustas (MODBUS 485, por exemplo), provou-se confiável.
Conclusão
O MODBUS – seja sua versão TCP ou RTU – é um protocolo de comunicação versátil e confiável para comunicação em sistemas de automação industrial. Suas variantes, RTU e TCP/IP, oferecem flexibilidade para diferentes necessidades de rede, desde conexões seriais locais até a nível global via Internet. A simplicidade e a interoperabilidade deste protocolo continuam a torná-lo uma escolha preferida em uma vasta gama de aplicações industriais e automações diversas.
À medida que a indústria evolui, esse protocolo se mantém bastante presente, sendo um dos principais que todo integrador ou desenvolvedor de soluções industriais e automação deve conhecer.
Se você tiver dúvidas, sugestões ou experiências para compartilhar, fique a vontade para deixar um comentário abaixo. E para não perder nenhum conteúdo como este, não deixe de nos seguir no Instagram.