O que precisa de saber sobre o Protocolo de Comunicação Modbus
Um protocolo fundamental no campo da automação industrial que continua a ser relevante em várias indústrias.
O Modbus é frequentemenente utilizado em sistemas de automação industrial. Desenvolvido no final dos anos 1970, tornou-se um standard amplamente adotado para conectar dispositivos eletrónicos em várias aplicações industriais.
Neste artigo da Tekon, terá o que é preciso para entender como este protocolo de comunicação funciona.
O Modbus é um protocolo de comunicação serial que utiliza uma arquitetura master-slave, isto é, um dispositivo (master) inicia e controla a comunicação, enquanto um ou mais dispositivos (slaves) respondem aos pedidos do master. Assim, o Modbus utiliza uma forma simples e eficiente de representar dados, incluindo muitas vezes a leitura ou escrita de valores em registos de retenção ou entradas/saídas discretas.
Este protocolo é amplamente utilizado em automação industrial, controlo de processos e sistemas de monitorização. É utilizado, por exemplo, para a comunicação entre PLCs, HMIs (Human-Machine Interfaces) e sensores.
Modbus é um protocolo standard aberto, o que contribui para a sua adoção generalizada no setor de automação industrial, permitindo a sua implementação em diferentes dispositivos de vários fabricantes.
Diferenças e arquiteturas de rede
Existem diferentes tipos de protocolos Modbus. Os mais utilizados são o RTU (Remote Terminal Unit) e o TCP/IP (Transmission Control Protocol/Internet Protocol):
- Modbus RTU: esta é a especificação original do Modbus que utiliza codificação binária para comunicação sobre linhas serial, como RS-232 ou RS-485. O RS-232 conta com uma configuração ponto a ponto, permitindo apenas um master e um slave uma distância de 50 metros. O RS-485 suporta uma configuração multidrop, com um máximo de 64 dispositivos a uma distância de 1 km.
- Modbus TCP/IP: é uma extensão do Modbus que utiliza o protocolo TCP/IP para comunicação em redes Ethernet. Este protocolo permite ter múltiplos clients (equivalentes a masters) e múltiplos servers (equivalente a slaves).
Estruturas Modbus
A estrutura para o Modbus RTU é um pacote binário que contém as seguintes informações:
- Campo de Endereço (1 byte): especifica o endereço do slave ao qual a mensagem se destina. O valor do endereço pode variar de 1 a 247, e o 0 é reservado para mensagens de difusão.
- Código de Função (1 byte): indica o tipo de ação que o slave destinatário deve executar. Os códigos de função definem várias operações, como ler e escrever registos de retenção, ler entradas discretas, escrever single coils, etc.
- Campo de Dados (Comprimento variável, até 252 bytes): contém os dados reais transmitidos. O comprimento deste campo depende do código de função específico e do tipo de pedido ou resposta.
- Campo de Verificação de Erro (2 bytes): permite deteção de erro para a estrutura. O método mais usado é o Cyclic Redundancy Check (CRC), que é calculado com base nos conteúdos do endereço, código de função e campos de dados.
- Timeout Inter-Character (Variável): especifica o intervalo de tempo entre caracteres. Indica o fim de um caractere e o início do próximo. Tipicamente, é maior que 3,5 bytes.
A estrutura para o Modbus TCP/IP é encapsulada dentro de pacotes TCP/IP padrão, uma vez que é projetada para ser usada em redes Ethernet. A estrutura Modbus TCP/IP contém as seguintes informações:
- Identificador de Transação (2 bytes): identificador único atribuído a cada transação, permitindo que o servidor associe a resposta ao pedido correspondente.
- Identificador de Protocolo (2 bytes): identifica o protocolo Modbus, e para TCP/IP este campo é normalmente definido como 0x0000.
- Campo de Comprimento (2 bytes): indica o número de bytes restantes após o campo de comprimento. Inclui o identificador de unidade, código de função e de dados.
- Identificador de Unidade (1 byte): especifica o endereço do dispositivo numa rede Modbus TCP/IP. Ao contrário do Modbus RTU, onde o endereço faz parte da estrutura, o Modbus TCP/IP utiliza o identificador de unidade para distinguir entre dispositivos.
- Código de Função (1 byte): como no Modbus RTU, indica o tipo de ação que o dispositivo destinatário deve executar.
- Campo de Dados (Comprimento variável): contém os dados reais transmitidos. O comprimento deste campo depende do código de função específico e do tipo de pedido ou resposta.
Relevância enquanto protocolo de comunicação
Estas estruturas representam uma visão geral, e seu conteúdo real pode variar com base na operação específica do Modbus a realizar e nos dados transmitidos.
No geral, o Modbus tem sido um protocolo fundamental no campo da automação industrial e continua a ser relevante em várias indústrias. Também foi adaptado para atender às necessidades em evolução dos sistemas de comunicação industrial modernos.
Este ano, a Tekon Electronics lançou um Gateway IoT Universal disruptivo com múltiplas opções de conectividade, onde o Modbus RTU e TCP/IP estão disponíveis nos modos Master/Slave e Client/Server, respetivamente, fazendo deste Gateway uma solução avançada para comunicar e partilhar dados de forma transparente.
Descubra o novo Gateway IoT Universal AQUI
A Tekon Electronics contribui para a inovação, ao desenvolver soluções distintas de IoT. Junte-se a nós nesta jornada em direção a um futuro mais inteligente e conectado!
Modbus Organization. Modbus Technical Resources. https://modbus.org/tech.php