Como o Modbus RTU funciona?
O protocolo Modbus é basicamente um sistema que processa solicitações e respostas de dispositivos eletrônicos. A arquitetura mestre/escravo é usada com o mestre fazendo solicitações que são respondidas pelos dispositivos escravos.
O que é um mestre Modbus RTU?
Um mestre Modbus RTU é o dispositivo central que solicita informações dos dispositivos escravos conectados. Um controlador central em um sistema de produção automatizado pode desempenhar o papel de mestre Modbus RTU. Uma implementação do Modbus possui um mestre. Os dispositivos mestres obtêm informações dos escravos e também podem gravar nos registros dos dispositivos escravos.
O que é um escravo Modbus RTU?
O escravo Modbus RTU é o dispositivo que responde à solicitação feita pelo dispositivo mestre. Ele não pode iniciar transferências de informação e fica em um padrão de espera até responder a uma solicitação feita pelo mestre.
Como afirmado, há um dispositivo mestre em uma implementação Modbus RTU e pode haver até 247 dispositivos escravos. Cada dispositivo escravo é identificado por um endereço escravo de 1 a 247.
No coração do protocolo Modbus está o componente conhecido como Unidade de Dados do Protocolo (PDU). A PDU consiste em um código de função e dados e é construída de forma consistente, independentemente do modo de transmissão Modbus usado. O código da função especifica quais dados estão sendo solicitados pelo mestre.
No modo de transmissão Modbus RTU, informações adicionais são agrupadas em torno da PDU para criar uma Unidade de Dados de Aplicação (ADU) completa. No fluxo de sinal e antes do código da função, no modo Modbus RTU, um ID escravo de 1 byte é enviado para identificar o dispositivo escravo que deve atender à solicitação. Anexado à PDU está um CRC de 2 bytes, que garante que a quantidade correta de bytes foi enviada e recebida.
Os dispositivos Modbus suportam quatro tabelas de dados que são usadas para facilitar a comunicação entre dispositivos. São Entradas Discretas, Saídas Discretas (Bobinas), Registros de Entrada e Registros de Retenção. Os registradores executam funções diferentes e nem todos estão incluídos em todos os dispositivos. Em alguns casos, apenas os registros de retenção são usados para a funcionalidade de E/S.
Campo |
Acesso |
Tamanho |
Descrição |
Entradas Discretas |
somente leitura |
1 bit |
usado como entradas |
Saídas de Bobinas |
leitura/escrita |
1 bit |
usado para controle discreto |
Registros de Entrada |
somente leitura |
16 bit |
usado para entrada |
Registros de Retenção |
leitura/escrita |
16 bit |
usado para uma variedade de coisas, incluindo entradas, saídas, dados de configuração, etc. |
Os códigos de função indicam como o mestre interage com o dispositivo escravo especificado no ID do escravo. Com base no código de função enviado, o dispositivo mestre pode ler um dos registros do escravo ou gravá-los.
Os escravos retornam códigos de erro quando recebem um pacote que contém um erro na solicitação. Os códigos de erro são retornados para problemas como solicitação de uma função ilegal, endereços de registro ilegais que não podem ser alcançados pelo escravo especificado e mensagens indicando que o dispositivo escravo está ocupado ou sofreu uma falha.
O Modbus RTU exige que você conheça ou defina parâmetros como taxa de transmissão, formato de caractere (8 bits sem paridade etc.) e ID do escravo ao iniciar a comunicação. Uma incompatibilidade em qualquer um desses parâmetros resultará na falha de sua tentativa de comunicação.