O protocolo Modbus surgiu no fim dos anos 1970 e continua relevante na interação M2M (Machine-to-Machine). É um protocolo de rede muito usado na indústria para monitorar e integrar equipamentos. Na prática, o Modbus é um padrão de fato, suportado por quase todos os fabricantes de dispositivos industriais. Com ele, os valores dos sensores são lidos e os controladores são comandados. No início, o Modbus usava RS-232 e RS-485. Depois surgiu o Modbus TCP, que usa a rede Ethernet entre os participantes da troca. Por padrão, a porta TCP é a 502.
Os dispositivos Modbus interagem no princípio master-slave. O master abre a conexão e faz as requisições; o slave só responde. O desenvolvedor do Modbus passou a usar a terminologia Client-Server. O dispositivo ou software cliente (master) envia requisições ao servidor consultado (slave) e recebe as respostas.
Cada dispositivo Modbus tem um endereço único (Slave ID), na faixa 1-247. O endereço 0 serve para requisições em broadcast do cliente a todos os servidores, e os endereços 248-255 são reservados. No Modbus TCP, o identificador é o endereço IP do dispositivo. Um endereço padrão ainda pode ser necessário se a conexão passar por uma rede RS485 e um roteador específico.
Uma requisição Modbus tem um código de função e os dados a ler ou gravar no dispositivo. Cada função opera só em um tipo de dado. Há funções só de leitura e só de escrita.
Funções de leitura de registradores Modbus TCP
Código da função |
O que a função faz |
Tipo do valor |
Tipo de acesso |
|---|---|---|---|
01 (0x01) |
Read Coil Status |
Discreto |
Leitura |
02 (0x02) |
Read Input Status |
Discreto |
Leitura |
03 (0x03) |
Read Holding Registers |
16 bit |
Leitura |
04 (0x04) |
Read Input Registers |
16 bit |
Leitura |
Os registradores são acessados por um endereço de 16 bits. O primeiro elemento de cada grupo corresponde ao endereço 0. O índice de qualquer registrador fica na faixa 0-65535. Os registradores guardam variáveis internas, contadores, leituras de sensores e flags. Os índices necessários estão na documentação do dispositivo, em geral na seção "Modbus Mapping Table".
Para ler e monitorar parâmetros de dispositivos Modbus, use programas que suportem o protocolo. O 10-Strike Network Monitor Pro conecta aos dispositivos via Modbus TCP e lê os parâmetros necessários. Para ler um registrador, informe:
- Endereço IP do dispositivo
- Porta (502, por padrão)
- Slave ID
- Índice do registrador
- Código da função
Se o servidor de monitoramento não estiver na rede do dispositivo, a conexão com outra rede passa por um Agent (serviço de proxy).
O programa pode ficar em um servidor da rede 1 e conectar, via Modbus TCP, a um dispositivo da rede 2 ligada à rede 1. Para isso, instale o agente remoto em um PC da rede 2, junto do dispositivo Modbus. O programa envia a requisição ao agente no IP indicado, e o agente a encaminha ao dispositivo Modbus.
Quando o valor do parâmetro sai dos limites, o programa avisa na hora, de várias formas. O limite do alarme fica nos parâmetros da verificação.
Os valores monitorados aparecem em indicadores gráficos ou em um esquema, diagrama ou mapa no estilo SCADA.
Limitações do protocolo Modbus
O protocolo foi criado há mais de 40 anos, quando a proteção dos dados ainda não era tão relevante. Há várias limitações, e não só de segurança:
- Não há autenticação nem cifragem dos dados transmitidos. Para protegê-los, use túneis VPN.
- Só o dispositivo master inicia a transferência. Ele precisa consultar o slave o tempo todo, o que gera tráfego extra.
- O dispositivo slave não detecta a desconexão do master.
Apesar da idade e das limitações, o Modbus continua simples de usar. Isso acelera a implantação industrial. A ausência de funções extras é a principal vantagem. O Modbus segue em desenvolvimento e é suportado por muitos dispositivos industriais de vários fabricantes. Provedores também o usam em plataformas de IoT na nuvem.
Atenção! Esta verificação está disponível só na versão Pro do programa.
Veja também:
Monitoramento de dispositivos MQTT
Requisitos: Windows XP/Vista/7/8.1/10/11, Server 2003/2008/2012/2016/2019/2022.

