Pular para o conteúdo principal

Edge Box RPi 200 com Node-RED e Modbus RS485

Introdução

Modbus RTU (Remote Terminal Unit) é um protocolo popular em automação industrial para conectar dispositivos como sensores e controladores por meio de linhas de comunicação serial. Conhecido por sua simplicidade e confiabilidade, é amplamente utilizado no monitoramento e controle de processos industriais. O Edge Box RPi 200, um gateway de IoT industrial baseado em Raspberry Pi, permite a integração de dispositivos Modbus RTU com redes modernas. Usando Node-RED, uma ferramenta de desenvolvimento baseada em fluxos, este wiki orienta os usuários na configuração da comunicação Modbus RTU com o Edge Box RPi 200. Ele destaca aplicações como gerenciamento de energia, monitoramento ambiental e controle de processos. Este recurso oferece uma abordagem rápida e prática para aproveitar o Modbus RTU em diversos cenários industriais.

Primeiros Passos

Antes de iniciar este projeto, você pode precisar preparar seu hardware e software com antecedência, conforme descrito aqui.

Preparação de Hardware

Edge Box RPi 200

Preparação de Software

O Edge Box chega até você com o Raspberry Pi OS pré-instalado. Se você estiver inicializando este dispositivo pela primeira vez, leia nosso Wiki de Primeiros Passos. Preparamos um Guia de Primeiros Passos com Node-RED. É recomendado revisar este guia antes de prosseguir para este wiki. Neste tutorial, vamos conectar o PC host executando o simulador de temperatura ambiente YABE ao Node-RED em execução no Edge Box.

RS485

No Edge Box RPi 200, há uma porta RS-485. Você pode encontrar mais detalhes aqui. Antes de trabalhar no Node-RED, você deve fazer a fiação do dispositivo corretamente.

Instalar Nó Modbus

Para instalar o nó Modbus, inicie o Node-RED no seu Edge Box. Normalmente você pode acessá-lo abrindo um navegador e indo para http://<your-edgebox-ip>:1880. E siga estes passos:

Passo 1. Clique no botão Settings, indicado por um ícone de três traços, localizado no canto superior direito, e selecione Manage palette.

Passo 2. Na aba da paleta, navegue até a aba Install.

Passo 3. Use a barra de busca de nós para encontrar o nó Modbus desejado.

Passo 4. Clique no botão Install ao lado do nó.

Passo 5. Se solicitado, clique no botão Install na janela de aviso em lista suspensa para confirmar a instalação.

Passo 6. Aguarde até que o processo de instalação seja concluído. Quando terminar, o botão Install deve mudar para Installed.

Identificação de Endereços Modbus

Identificar os endereços Modbus corretos é uma etapa crucial. Recomenda-se consultar o datasheet do PLC, dispositivo ou sensor do fabricante para obter informações detalhadas sobre os endereços Modbus, incluindo registradores de entrada, saída e holding.

Aqui vamos usar o sensor de temperatura SHT20 RS485. Usando uma interface de hardware RS485 (com design de proteção contra raios), a camada de protocolo é compatível com o protocolo industrial padrão Modbus-RTU. Quando analisamos o datasheet, podemos encontrar o registrador de entrada que fornece os dados de temperatura e umidade.

Obter Dados do Dispositivo

Nós necessários: Modbus Getter, 2 nós Function, 2 nós Debug, Modbus Response.

Arraste e solte esses nós e conecte-os de acordo com a seguinte forma/ordem.

Configurar Nó Modbus Getter

  1. Dê um clique duplo no nó Modbus Getter.
  2. Defina Unit ID como 1.
  3. Defina FC como FC4: Read Input Registers.
  4. Defina Address como 1 (conforme fornecido pelo datasheet do dispositivo de simulação).
  5. Defina Quantity como 2 (para ler dois blocos).

Configurar Servidor Modbus

  1. Na seção Server, clique no botão de lápis para criar uma nova configuração de servidor.
  2. Dê um nome ao servidor.
  3. Defina Type como Serial Expert.
  4. Defina Serial Port como /dev/ttyACM0.
  5. Defina Serial Type como RTU.
  6. Mantenha as demais configurações como estão.

Configuração dos Blocos de Função

Usamos o bloco de função para extrair os valores relevantes de temperatura e umidade. A saída do nó getter é um número decimal que contém partes inteira e fracionária, então precisamos ajustá-la usando matemática básica.

Para Temperatura

var tempMsg = { payload: msg.payload[0] / 100.0 };
return tempMsg;

Para Umidade

var humidMsg = { payload: msg.payload[1] / 100.0 };
return humidMsg;

Deploy

Pressione o botão Deploy. Você verá os valores de umidade e temperatura na janela de depuração.

Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...