Arquivo da tag: Modbus RTU

RS-485 Networks: Features, Applications and Overview

RS-485 networks, also known as EIA-485 or EIA/TIA-485, are widely used in various industry applications due to their versatility and efficiency in data communication. This article provides an overview of the main features of these networks, their practical applications, and the benefits they provide.

If you want to deepen your knowledge and specialize in this topic with certification, I invite you to check out this course on RS-485 networks on Udemy.

The RS-485 Standard

RS-485 is a standard defined by the ANSI/TIA/EIA-485-A standard, initially established on March 13, 1998, and reaffirmed on December 7, 2012. This standard specifies the electrical and mechanical parameters for balanced serial communication in multipoint systems. Electronic component manufacturers acquire this standard to develop circuits that are compatible with the established requirements, ensuring interoperability and compliance in the market.

Main Features

Network Topologies

RS-485 networks support two main topologies, shown in Figure 1. In all cases, signals A and B are used for transmitting differential voltages according to the data bits and, optionally, a ground reference wire (SG) is used. All signals A are connected together on the bus, as well as all signals B. The same is true for devices that have the SG available.

  • Point-to-Point: Direct connection between two devices, such as Device 1 and Device 2. This configuration is simple and effective for direct communications without sharing the physical medium with other devices.
  • Multipoint (Bus): Several devices are connected on a common bus. This topology is ideal for systems that require communication between multiple devices, allowing up to 32 devices on a single standard bus, which can be expanded to up to 256 with special transceivers.
Figure 1. a) Point-to-point and b) multipoint

Versatility

One of the great advantages of RS-485 is its flexibility:

  • Connectors: The standard does not define a specific type of connector, allowing the use of different models according to the application needs. Some types are shown in Figure 2.
  • Communication Protocols: RS-485 only specifies the physical layer, that is, how electrical signals behave. It does not define communication protocols, leaving this choice to the developer. Protocols such as Modbus, Profibus, DMX-512 and others can be implemented over RS-485.
Figura 2. Conectores tipicamente utilizados em redes RS-485
a) Bornes parafusáveis b) Barra de pinos c) RJ-45 d) DB-9
Figure 2. Connector used in RS-485 networks
a) Screw terminals b) pin headers c) RJ-45 d) DB-9

Low Cost

RS-485 requires few electronic hardware components for its implementation:

  • Microcontroller: Responsible for processing and controlling communication. Usually it has a UART (Serial) port which is connected to the RS-485 transceiver.
  • Transceiver: Component that converts voltage levels between the microcontroller and the RS-485 network, ensuring signal compatibility and integrity.
  • Termination resistors and fail-safe bias: Used to reduce the effect of noise and balance the voltage level of signals A and B on the network.

This simplicity results in a reduced cost, making RS-485 an economical option for several applications. Equipment with this type of network is more affordable when compared to those with protocols such as EtherNet/IP, ProfiNet and others.

Communication Rates and Range

RS-485 offers an excellent relationship between communication speed and distance:

  • Up to 1,200 meters: At rates below 100 kbps, it is possible to reach distances of up to 1,200 meters, ideal for large industrial installations.
  • High Speeds: For shorter distances, such as 50 meters, it is possible to reach rates of up to 2 Mbps, and at 6 meters, up to 10 Mbps. These use cases require a certain amount of care and are normally found in Profibus DP networks.

This flexibility allows RS-485 to be adapted to the specific needs of each project.

High Noise Immunity

RS-485’s robustness in noisy environments is achieved through:

  • Twisted Pair Cable: Uses twisted wires to reduce electromagnetic interference, since induced noise affects both wires in a similar manner, allowing them to be canceled in the cable.
  • Differential Communication: Transmits signals with differential voltages in signals A and B, which facilitates the elimination of common noise in the receiver circuit.
  • Ground Reference (SG): The use of a ground wire as a voltage reference for transceivers improves signal stability and reduces problems caused by potential differences between devices.
  • Shielding and Grounding: Additional cable shielding and proper grounding techniques provide an extra layer of protection against external interference.

Network Topology

The recommended topology is Daisy Chain, where the connections of signals A, B and SG in the bus devices are made close to the connection terminals. Figure 3 shows one of the recommended installation methods to maintain high reliability.

Figure 3. Recommended topology for RS-485 networks: Daisy Chain
Source: https://know.innon.com/howtowire-non-optoisolated

Half Duplex Communication

In RS-485, communication is half duplex, which means that only one device can transmit on the bus at a time. To coordinate access and avoid collisions, it is necessary to implement a control mechanism, such as:

  • Master-Slave Protocol: A master device initiates communications, sending requests to slaves, which respond as requested. Protocols such as Modbus RTU and Profibus DP use this model. This approach ensures organized and efficient communication between connected devices.

Applications in Industrial Automation

RS-485 is widely used in automation devices and systems due to its favorable characteristics:

  • Programmable Logic Controllers (PLCs): Many PLCs have integrated RS-485 ports or expansion modules, facilitating communication with other devices.
  • Human-Machine Interfaces (HMIs): HMIs use RS-485 to exchange information with PLCs and other control equipment.
  • Frequency Inverters: Allow precise control of electric motors through commands sent via RS-485.
  • Remote Input and Output Modules: Sensors, actuators and other field devices can be connected to the control system using RS-485, simplifying the infrastructure and reducing costs.

Other Protocols and Applications

  • DH-485: Used in Allen-Bradley equipment, it is a protocol that operates over RS-485 in specific industrial applications.
  • DMX-512: Widely used in professional lighting to control luminaires and special effects devices. Each piece of equipment receives an address and is controlled by a central panel via RS-485.
  • Closed Circuit TV (CCTV): In systems that do not use Ethernet, RS-485 is used to control PTZ (Pan-Tilt-Zoom) cameras, allowing focus, movement and zoom adjustments from a control center.

Conclusion

RS-485 remains a solid choice for many industrial and commercial applications, offering a balance between performance, cost, and robustness. Its ability to operate in harsh environments and support long communication distances still make it attractive in many systems.

If you want to master RS-485 and apply it effectively in your projects, I offer a course on Udemy that introduces you to the necessary knowledge and skills. Learn about the technical details, best installation practices, communication protocols, and develop practices using low-cost components such as Arduino and RS-485 modules. Learn more about the RS-485 Networks Course by accessing the Course Link on Udemy.

References

The course is based on a vast bibliography which includes, among others:

CONTROL SOLUTIONS. RS-485 FAQ – Control Solutions. www.csimn.com. Disponível em: <https://www.csimn.com/CSI_pages/RS-485-FAQ.html>. Acesso em: 23 out. 2023.

EEP – ELECTRICAL ENGINEERING PORTAL. 9 rules for correct cabling of the Modbus RS485 communication systems. EEP – Electrical Engineering Portal. Disponível em: <https://electrical-engineering-portal.com/correct-cabling-modbus-rs485>.

EVERY CONTROL SOLUTIONS. Every Control – Controladores de temperatuta, umidade, pressão e tempo – Boletins. www.everycontrol.com.br. Disponível em: <https://www.everycontrol.com.br/portal/index.php/boletins>. Acesso em: 23 out. 2023.

IF TOOLS. Serial Analyzers for RS232 and RS485. www.iftools.com. Disponível em: <https://www.iftools.com/analyzer/index.en.php>. Acesso em: 23 out. 2023.

INNON. How do I wire RS485 devices? know.innon.com. Disponível em: <https://know.innon.com/howtowire-non-optoisolated>. Acesso em: 23 out. 2023.

MACKAY, Steve ; AL, Et. Practical industrial data networks : design, installation and troubleshooting. Oxford ; Burlington: Newnes, 2004.

MAXIM. Full Guide to Serial Communication Protocol and Our RS-485 |. www.maximintegrated.com. Disponível em: <https://www.maximintegrated.com/en/design/technical-documents/app-notes/3/3884.html>.

MAXIM. General Description PART NUMBER HALF/FULL DUPLEX DATA RATE (Mbps). [s.l.: s.n.], 2014. Disponível em: <https://datasheets.maximintegrated.com/en/ds/MAX1487-MAX491.pdf>.

MAXIM. HOW FAR AND HOW FAST CAN YOU GO WITH RS-485? [s.l.: s.n.], 2014. Disponível em: <https://pdfserv.maximintegrated.com/en/an/AN3884.pdf>.

MAXIM. RS-485 Cable Specification Guide | Maxim Integrated. www.maximintegrated.com. Disponível em: <https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/763.html>.

NOVUS. NOVUS PRODUTOS ELETRONICOS LTDA RS485 & RS422 Basics. [s.l.: s.n., s.d.]. Disponível em: <https://www.novusautomation.com/downloads/Arquivos/rs485%20&%20rs422%20basics%20-%20english.pdf>.

SOLTERO, Manny; ZHANG, Jing; COCKRIL, Chris; et al. Application Report RS-422 and RS-485 Standards Overview and System Configurations. [s.l.: s.n.], 2002. Disponível em: <https://www.ti.com/lit/an/slla070d/slla070d.pdf>.

TEXAS INSTRUMENTS. SN75176B data sheet, product information and support | TI.com. www.ti.com. Disponível em: <https://www.ti.com/product/SN75176B>. Acesso em: 23 out. 2023.

WIKIPEDIA CONTRIBUTORS. RS-485. Wikipedia. Disponível em: <https://en.wikipedia.org/wiki/RS-485>.

Redes RS-485: características, aplicações e visão geral

As redes RS-485, também conhecidas como EIA-485 ou EIA/TIA-485, são amplamente utilizadas em diversas aplicações industriais devido à sua versatilidade e eficiência na comunicação de dados. Este artigo oferece uma visão geral sobre as principais características dessas redes, suas aplicações práticas e os benefícios que elas proporcionam. Se você deseja aprofundar seus conhecimentos e se especializar nesse tema com certificação, convido você a conhecer este curso sobre redes RS-485 no Udemy.

O Padrão RS-485

O RS-485 é um padrão definido pela norma ANSI/TIA/EIA-485-A, estabelecida inicialmente em 13 de março de 1998 e reafirmada em 7 de dezembro de 2012. Essa norma especifica os parâmetros elétricos e mecânicos para comunicação serial balanceada em sistemas multiponto. Fabricantes de componentes eletrônicos adquirem essa norma para desenvolver circuitos compatíveis com as exigências estabelecidas, garantindo interoperabilidade e conformidade no mercado.

Principais Características

Topologias de Rede

As redes RS-485 suportam duas principais topologias, apresentadas na Figura 1. Os sinais A e B são utilizados para transmitir tensões diferenciais de acordo com os bits e, opcionalmente um sinal de referência de terra SG (Signal Ground). Todos os terminais A são ligados em um mesmo fio, enquanto que todos os sinais B em outro fio. O mesmo vale para os dispositivos que possuem o SG disponível.

  • Ponto a Ponto: Conexão direta entre dois dispositivos, como um dispositivo (Device 1) e um (Device 2). Essa configuração é simples e eficaz para comunicações diretas sem o compartilhamento do meio físico com outros dispositivos.
  • Multiponto (Barramento): Vários dispositivos são conectados em um barramento comum, utilizando um par de fios para os sinais A e B e, opcionalmente, um fio de referência de terra (SG). Essa topologia é ideal para sistemas que requerem comunicação entre múltiplos equipamentos, permitindo até 32 dispositivos em um único barramento padrão, podendo ser expandido para até 256 com transceivers especiais.
Figura 1. Topologias a) Ponto a Ponto e b) Multiponto

Versatilidade

Uma das grandes vantagens do RS-485 é sua flexibilidade:

  • Conectores: O padrão não define um tipo específico de conector, permitindo o uso de diferentes modelos conforme a necessidade da aplicação. Alguns tipos são apresentados na Figura 2.
  • Protocolos de Comunicação: O RS-485 especifica apenas a camada física, ou seja, como os sinais elétricos se comportam. Ele não define protocolos de comunicação, deixando essa escolha para o desenvolvedor. Protocolos como Modbus, Profibus, DMX-512 e outros podem ser implementados sobre o RS-485.
Figura 2. Conectores tipicamente utilizados em redes RS-485
a) Bornes parafusáveis b) Barra de pinos c) RJ-45 d) DB-9
Figura 2. Conectores tipicamente utilizados em redes RS-485
a) Bornes parafusáveis b) Barra de pinos c) RJ-45 d) DB-9

Baixo Custo

O RS-485 requer poucos componentes eletrônicos de hardware para sua implementação:

  • Microcontrolador: Responsável pelo processamento e controle da comunicação. Normalmente possui uma porta UART (Serial) conectada ao transceiver.
  • Transceiver: Componente que converte os níveis de tensão entre o microcontrolador e a rede RS-485, garantindo compatibilidade e integridade dos sinais.
  • Resistores de terminação e fail-safe bias: Utilizados para reduzir o efeito de ruídos e equilibrar o nível de tensão dos sinais A e B na rede.

Essa simplicidade resulta em um custo reduzido, tornando o RS-485 uma opção econômica para diversas aplicações. Equipamentos com este tipo de rede são mais acessíveis quando comparados àqueles com protocolos como o EtherNet/IP, ProfiNet e outros.

Taxas de Comunicação e Alcance

O RS-485 oferece uma excelente relação entre velocidade de comunicação e distância:

  • Até 1.200 metros: A taxas inferiores a 100 kbps, é possível alcançar distâncias de até 1.200 metros, ideal para instalações industriais extensas, onde diversos painéis contendo controladores e inversores estão distribuídos pelo chão de fábrica.
  • Velocidades Elevadas: Para distâncias menores, como 50 metros, é possível atingir taxas de até 2 Mbps, e a 6 metros, até 10 Mbps. Estes casos de uso demandam um certo cuidado e normalmente são encontrados em redes Profibus DP.

Essa flexibilidade permite que o RS-485 seja adaptado conforme as necessidades específicas de cada projeto.

Alta Imunidade a Ruídos

A robustez do RS-485 em ambientes ruidosos é alcançada através de:

  • Cabo de Par Trançado: Utiliza fios trançados para reduzir interferências eletromagnéticas, já que ruídos induzidos afetam ambos os fios de maneira similar, permitindo que sejam cancelados no par trançado.
  • Comunicação Diferencial: Transmite sinais com tensões diferenciais nos sinais A e B, que facilitam a eliminação de ruídos comuns no circuito do receptor.
  • Referência de Terra (SG): O uso de um fio de terra como referência de tensão para os transceivers melhora a estabilidade dos sinais e reduz problemas causados por diferenças de potencial entre dispositivos.
  • Blindagem e Aterramento: Técnicas adicionais de blindagem dos cabos e aterramento adequado proporcionam uma camada extra de proteção contra interferências externas.

Topologia de rede

A topologia recomendada é a Daisy Chain, onde as conexões dos sinas A, B e SG nos dispositivos do barramento são feitas próximas aos terminais de conexão. A Figura 3 apresenta uma das formas de instalação recomendadas para manter uma alta confiabilidade e imunidade a ruídos.

Figura 3. Topologia recomendada para uma rede RS-485: Daisy Chain
Fonte: https://know.innon.com/howtowire-non-optoisolated

Comunicação Half Duplex

No RS-485, a comunicação é half duplex, o que significa que apenas um dispositivo pode transmitir por vez no barramento. Para coordenar o acesso e evitar colisões, é necessário implementar um mecanismo de controle em protocolo, como por exemplo:

  • Protocolo Mestre-Escravo: Um dispositivo mestre inicia as comunicações, enviando requisições aos escravos, que respondem conforme solicitado. Protocolos como Modbus RTU e Profibus DP utilizam esse modelo.

Essa abordagem garante uma comunicação organizada e eficiente entre os dispositivos conectados.

Aplicações na Automação Industrial

O RS-485 é amplamente utilizado em diversos dispositivos utilizados na automação de processos:

  • Controladores Lógicos Programáveis (CLPs): Muitos CLPs possuem portas RS-485 integradas ou módulos de expansão, facilitando a comunicação com outros dispositivos.
  • Interfaces Homem-Máquina (IHMs): IHMs utilizam o RS-485 para trocar informações com CLPs e outros equipamentos de controle.
  • Inversores de Frequência: Permitem o controle de motores elétricos trifásicos através de comandos enviados via RS-485.
  • Módulos de Entradas e Saídas Remotas: Sensores, atuadores e outros dispositivos distribuídos pelo chão de fábrica podem ser conectados ao sistema de controle usando o RS-485, simplificando a infraestrutura e reduzindo custos de cabeamento.

Outros Protocolos e Aplicações

  • DH-485: Utilizado em equipamentos Allen-Bradley, é um protocolo que opera sobre o RS-485 em aplicações industriais específicas.
  • DMX-512: Amplamente empregado em iluminação profissional para controle de luminárias e dispositivos de efeitos especiais. Cada equipamento recebe um endereço e é controlado por uma mesa central através do RS-485.
  • Circuitos Fechados de TV (CFTV): Em sistemas que não utilizam Ethernet, o RS-485 é usado para controlar câmeras PTZ (Pan-Tilt-Zoom), permitindo ajustes de foco, movimento e zoom a partir de uma central de controle.

Conclusão

O RS-485 continua sendo uma escolha para diversas aplicações industriais e comerciais, oferecendo um equilíbrio entre desempenho, custo e robustez. Sua capacidade de operar em ambientes adversos e suportar longas distâncias de comunicação ainda o tornam atraentes em muitos sistemas.

Se você deseja dominar o RS-485 e aplicá-lo de forma eficaz em seus projetos, ofereço um curso no Udemy que introduz você aos conhecimentos e habilidades necessárias. Aprenda sobre os detalhes técnicos, melhores práticas de instalação, protocolos de comunicação e desenvolve práticas utilizando componentes de baixo custo como Arduino e módulos RS-485. Conheça o conteúdo do Curso de Redes RS-485 acessando Link do curso no Udemy.

Conteúdos de Comunicação de Dados e Redes

Referências

O curso e este artigo é pautado em uma vasta bibliografia que engloba, entre outras:

CONTROL SOLUTIONS. RS-485 FAQ – Control Solutions. www.csimn.com. Disponível em: <https://www.csimn.com/CSI_pages/RS-485-FAQ.html>. Acesso em: 23 out. 2023.

EEP – ELECTRICAL ENGINEERING PORTAL. 9 rules for correct cabling of the Modbus RS485 communication systems. EEP – Electrical Engineering Portal. Disponível em: <https://electrical-engineering-portal.com/correct-cabling-modbus-rs485>.

EVERY CONTROL SOLUTIONS. Every Control – Controladores de temperatuta, umidade, pressão e tempo – Boletins. www.everycontrol.com.br. Disponível em: <https://www.everycontrol.com.br/portal/index.php/boletins>. Acesso em: 23 out. 2023.

IF TOOLS. Serial Analyzers for RS232 and RS485. www.iftools.com. Disponível em: <https://www.iftools.com/analyzer/index.en.php>. Acesso em: 23 out. 2023.

INNON. How do I wire RS485 devices? know.innon.com. Disponível em: <https://know.innon.com/howtowire-non-optoisolated>. Acesso em: 23 out. 2023.

MACKAY, Steve ; AL, Et. Practical industrial data networks : design, installation and troubleshooting. Oxford ; Burlington: Newnes, 2004.

MAXIM. Full Guide to Serial Communication Protocol and Our RS-485 |. www.maximintegrated.com. Disponível em: <https://www.maximintegrated.com/en/design/technical-documents/app-notes/3/3884.html>.

MAXIM. General Description PART NUMBER HALF/FULL DUPLEX DATA RATE (Mbps). [s.l.: s.n.], 2014. Disponível em: <https://datasheets.maximintegrated.com/en/ds/MAX1487-MAX491.pdf>.

MAXIM. HOW FAR AND HOW FAST CAN YOU GO WITH RS-485? [s.l.: s.n.], 2014. Disponível em: <https://pdfserv.maximintegrated.com/en/an/AN3884.pdf>.

MAXIM. RS-485 Cable Specification Guide | Maxim Integrated. www.maximintegrated.com. Disponível em: <https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/763.html>.

NOVUS. NOVUS PRODUTOS ELETRONICOS LTDA RS485 & RS422 Basics. [s.l.: s.n., s.d.]. Disponível em: <https://www.novusautomation.com/downloads/Arquivos/rs485%20&%20rs422%20basics%20-%20english.pdf>.

SOLTERO, Manny; ZHANG, Jing; COCKRIL, Chris; et al. Application Report RS-422 and RS-485 Standards Overview and System Configurations. [s.l.: s.n.], 2002. Disponível em: <https://www.ti.com/lit/an/slla070d/slla070d.pdf>.

TEXAS INSTRUMENTS. SN75176B data sheet, product information and support | TI.com. www.ti.com. Disponível em: <https://www.ti.com/product/SN75176B>. Acesso em: 23 out. 2023.

WIKIPEDIA CONTRIBUTORS. RS-485. Wikipedia. Disponível em: <https://en.wikipedia.org/wiki/RS-485>.

Cliente Modbus RTU em Linguagem C – Windows e Porta COM

Um Cliente Modbus RTU desenvolvido em Linguagem C para Windows, utilizando Porta COM.

Download do código fonte

Cliente Modbus RTU em Linguagem C no Windows (.zip)

Download

Enviar link de download para: / Send download link to:

Para fazer o download deste arquivo, inscreva-se em nossa newsletter e fique por dentro de novidades e conteúdos exclusivos! Seu apoio é fundamental para que possamos continuar oferecendo material de qualidade. Muito obrigado por contribuir com a manutenção do nosso blog!

To download this file, sign up for our newsletter and stay up to date with news and exclusive content! Your support is essential for us to continue offering quality material. Thank you very much for contributing to the maintenance of our blog!

Link de Download do Dev-Cpp 5.11 TDM-GCC 4.9.2 Setup.exe

Aula no YouTube

Escravo Modbus RTU desenvolvido com Arduino Uno/Mega

No post de hoje eu vou mostrar como pode ser implementado um Escravo Modbus RTU desenvolvido com Arduino Uno/Mega. O projeto também pode ser implementado no Mega e em outras versões do Arduino.

Os objetivos desta aula prática são:

  • Utilizar um Arduino Uno/Mega como escravo/servidor Modbus RTU;
  • Montar um circuito de testes utilizando potenciômetros, botões, LEDs e resistores. Os potenciômetros e botões vão representar entradas que podem ser lidas, e os LEDs vão representar saídas digitais que podem ser escritas no escravo;
  • Mapear as entradas e saídas como endereços de registradores que serão utilizados para acesso aos dados do escravo;
  • Utilizar bibliotecas do próprio site oficial da Arduino: ArduinoModbus e ArduinoRS485;
  • Apresentar um código de exemplo (bem didático) para a configuração do escravo;
  • Testar a comunicação do escravo com o Elipse E3. O Elipse E3 é um software de supervisão, que vai agi como mestre/cliente. A partir do driver modbus.dll, vamos acessar os registradores configurados.

No nosso canal no YouTube eu já fiz uma aula sobre o Protocolo Modbus (visão geral) e também sobre o Protocolo Modbus RTU (que detalha mais protocolo). Neste artigo, não vamos entrar em detalhes sobre os quadros e bytes que estão sendo enviados. Estaremos simplesmente aplicando esse protocolo em um nível mais abstrato.

Aula em vídeo no YouTube

Arquitetura da aplicação

A Arquitetura é apresentada na Figura 1. Os dispositivos vão estar ligados pela USB/Serial. É possível também, a partir da porta Serial do Arduino Uno, utilizar módulos para montar uma rede RS-485 ou RS-232.

Figura 1. Arquitetura da Aplicação com Escravo Modbus RTU e Arduino UNO
Figura 1. Arquitetura da Aplicação com Escravo Modbus RTU e Arduino Uno

Um computador rodará o Elipse E3. Este programa vai agir como o mestre/cliente. No Modbus RTU, o mestre/cliente é o único dispositivo que pode fazer requisições para os escravos/servidores. Os escravos só podem responder às requisições do mestre. O mestre faz uma requisição solicitando o estado de uma entrada ou solicitando para alterar o valor de uma saída, e o escravo vai responder confirmando ou não a essa requisição (vou, a partir daqui, utilizar apenas os termos mestre e escravo no texto).

Definição de entradas, saídas e registradores

O circuito que foi montado é apresentado na Figura 2. Na lista abaixo, são apresentados os componentes, as entradas, as saídas e os registradores que serão configurados na aplicação.

  • 2 botões representam entradas digitais. O tipo de dados Modbus para entradas digitais é Discrete Inputs;
  • 2 potenciômetros representam entradas analógicas. O tipo de dados para entradas analógicas é Input Registers;
  • 2 LEDs são utilizados para representar saídas digitais. O tipo de dados Modbus para saídas digitais é Coils;
  • 2 LEDs são utilizados para representar saídas analógicas. O valor escrito nestas variáveis, entre 0 e 255, será utilizado para o valor do PWM do pino. O tipo de dados Modbus para saídas analógicas é Holding Registers;
  • O LED embutido (pino 13) é controlado por uma variável interna do tipo Holding Register. Toda vez que o valor do registrador estiver acima de 1000, o LED é ativado;
  • O tempo decorrido desde a inicialização do Arduino Uno é armazenado em uma variável do tipo Holding Register que pode ser lida pelo mestre;
  • Resistores de 330 ohms são utilizados para limitar a corrente dos LEDs.
Figura 2. Esquema Elétrico - Escravo Modbus RTU com Arduino UNO no TinkerCAD
Figura 2. Esquema Elétrico – Escravo Modbus RTU com Arduino Uno no TinkerCAD

A biblioteca ArduinoModbus

No Arduino Uno vai rodar um servidor (ModbusRTUServer). Esse é um objeto que vem da biblioteca ArduinoModbus e atende às requisições que vão chegar na porta Serial. Qualquer requisição que chegar será respondida automaticamente. Além disso, o servidor mantém o valor atual de cada registrador que foi configurado na inicialização do ModbusRTUServer.

Periodicamente, teremos que atualizar no servidor o estado das entradas, e utilizar as informações atuais no servidor para atualizar as saídas. Como usuários da biblioteca, nós precisamos chamar funções para fazer a leitura e escrita dos registradores que nós configuramos.  Em outras palavras, vamos sincronizar o estado das entradas e saídas com o ModbusRTUServer.

As bibliotecas ArduinoModbus e ArduinoRS485 são constantemente atualizadas, e as versões atuais não têm mais compatibilidade garantida com o Arduino Uno e ao Mega. Elas estão sendo desenvolvidas para outros modelos e as versões que eu utilizei (que não dão Warnings de compilação) são a versão 1.0.7 (ArduinoModbus) e 1.0.4 (ArduinoRS485).

Você pode instalar as bibliotecas através do Gerenciador de Bibliotecas da Arduino IDE.

Definição dos Endereços de Registradores

Será necessário definir os endereços de registradores para as entradas e saídas do Escravo Modbus RTU desenvolvido com Arduino Uno/Mega. A Figura 3 apresenta um resumo das configurações de pinos, tipos de dados e endereços de registradores. Os endereços estão apresentados no formato hexadecimal.

Figura 3. Endereços de registradores configurados
Figura 3. Endereços de registradores configurados

Códigos-Fonte e diagramas

Download dos arquivos de código-fonte, diagrama elétrico e configuração do driver Modbus.dll para o Elipse E3.

Escravo Modbus RTU com Arduino UNO (.zip)

Download

Enviar link de download para: / Send download link to:

Para fazer o download deste arquivo, inscreva-se em nossa newsletter e fique por dentro de novidades e conteúdos exclusivos! Seu apoio é fundamental para que possamos continuar oferecendo material de qualidade. Muito obrigado por contribuir com a manutenção do nosso blog!

To download this file, sign up for our newsletter and stay up to date with news and exclusive content! Your support is essential for us to continue offering quality material. Thank you very much for contributing to the maintenance of our blog!

Explicação do Código fonte

Inicialmente, são feitas diversas definições de bibliotecas, pinos, quantidades de entradas e saídas, endereços iniciais de registradores e outras relacionadas à comunicação Serial.

Em seguida, no setup(), configuramos os pinos como entradas e saídas. Além disso, o ModbusRTUServer precisa ser configurado com o endereço de escravo, taxa de comunicação e codificação da Serial. Por fim, configuramos os tipos de registradores que serão utilizados, bem como os endereços de cada tipo de dados e a quantidade de registradores.

Em seguida, no loop(), faremos a atualização do ModbusRTUServer, escrevendo o estado das entradas. Depois, atualizamos os pinos de saída com os valores armazenados no ModbusRTUServer. Também acessamos o valor atual do Holding Register do LED embutido e atualizamos no ModbusRTUServer o tempo decorrido.

Teste de comunicação com o Elipse E3

O driver de comunicação modbus.dll, obtido diretamente do site da Elipse, foi utilizado para os testes de comunicação. O driver foi configurado para acessar a porta COM onde está ligado o Arduino Uno. Em seguida, foram configuradas as tags que conseguem acessar os dados. A Figura 4 apresenta a configuração e os parâmetros utilizados.

Figura 4. Configuração de tags e endereços de registradores Modbus no Elipse E3
Figura 4. Configuração de tags e endereços de registradores Modbus no Elipse E3

Preste atenção em algumas configurações adicionais do driver modbus.dll nas Figuras 5 e 6. Na Figura 6, verifique se a taxa de comunicação (baud rate) configurada é igual à do código no Arduino. O recomendável é usar 9600 8-N-2.

Figura 5. Configuração do driver modbus.dll no Elipse E3
Figura 6. Configuração do driver modbus.dll no Elipse E3

Considerações finais

O protocolo Modbus é muito utilizado em aplicações de comunicação industrial, principalmente por ser um protocolo aberto. Sua facilidade de implementação em relação a outros protocolos, a compatibilidade com diversos equipamentos e a disponibilidade de bibliotecas e exemplos facilitam seu uso.

Porém, ele não é um protocolo determinístico, o que significa que em aplicações hard real-time e controle crítico não é adequada a sua utilização. Ele é mais indicado em aplicações soft real-time e para aplicações de supervisão de processos.

É importante também compreender o funcionamento das bibliotecas, suas limitações, e quais recursos do microcontrolador serão utilizados pela biblioteca, para que o uso não interfira em outras funcionalidades e bibliotecas utilizadas na aplicação.

Referências

Modbus (2023) Wikipedia. Available at: https://en.wikipedia.org/wiki/modbus (Acessado em 17 Jul 2023).

Modbus Application Protocol Specification V1. Available at: https://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf (Acessado em 17 Jul 2023).

Modbus Tools (no date) Modbus Protocol. Available at: http://www.modbustools.com/modbus.html (Acessado em 17 Jul 2023).

Hard and soft real-time operating system – javatpoint (no date) www.javatpoint.com. Available at: https://www.javatpoint.com/hard-and-soft-real-time-operating-system (Acessado em 17 Jul 2023).

Comunicação de Dados