Está en la página 1de 9
MODBUS RTU 2? Electron Protccolo de Comuniaso MODBUS RTU noice. INTRODUGAO «nn MODBUS ATU .. [APLICAGOES DO PROTOCOLO... MAPAS DE ENDEREGAMENTO DE PROTOCOLO CODIGOS DE FUNCKO MODBUS... FRAMES DO MODBUS RTU.. ESTRUTURA DE FUNCIONAMENTO DE FRAMES D0 MODBUS TU FUNCIONAMENTO, EFERENCIA, a eee eee sie 1 www.electron.com.br a Electron Protocolo de Comunicagio MODBUS RTU 0 objetivo deste artigo é introduzir conceitos bésicos do Protocolo de Comunicagio de Gados Modbus RTU afim de instruir 0 usudrio com os principals aspectos de sua apliceco. Hoje fem diz, Modbus € um Protacalo aberto usado em multas produtes de automago, Modbus pode ser usado em comunicagées Serials ¢ Ethernet. Neste artigo, 0 alvo € o Protocolo Modbus ATU em redes seria. onset ‘0 Protocolo de Comunicagdo MODBUS ATU (Remote Terminal Unit — Unidade Terminal Remota} € projetado para operar redes serials baseade na configuraglo entre Mestre-Escravo. Desenvolvido pela Modcon em 1978, suas aplicagdes consistiam em sistemas BSM (Building Management Systern ~ Sistema de gerenciomento predic!) e IAS (industrial Automation Systems ~ Sistema de Automacia industrial} e também em sistemas SCADA (Supervisory Control and Data Acquisition — Sistemas de Superviso ¢ Aquisicdo de Dados). Detalhes sobre a aplicacio de cabeamento RS-485 ndo serdo detalhados neste artigo. Mais inforrmagbes sobre a rede fisica RS- 485 poderdo ser consultadas no artigo Rede fisica RS~485. 0 Modbus & um protacolo de mensagens de comandos e respostas na posiro de camada fsica do nivel 7 no madelo OSI (Open System interconnection ~ interconexio de Sistemas Abertas}. O Modbus RTU em especifico monta um gaccte de dados utizando cédigos binérios e inclui CRC (Cyclic Redundancy Check — Verficocdo de Redundncia Ciclica} de 16 bits. Weey sels eueecie) ‘Na figura 1, temos um esquema completo das aplicagées de comunicago Modbus, Conforme dito anteriormente, neste artigo, detalharemos os conceitos basicos da Protocolo Modbus RTU na rede serial RS-485, DoviceMtaster UP ‘orRTS. Etnernet ~ ee 8 4 ' Heel vows sppketns Oy - 4 meas. a 1) Senator 2 mm ser Coonctons Eom Comosters isdbie Sever == ema: ToPaP Sree: Canractons ita = Protocole de Communiactio Modbus 2 wonw.electron.com.br “7 es Electron Protocolo de Comunicagto MODBUS RTU Wetter creens Existem 4 tabelas de enderegos onde as informacGes so armazenadas. Dols mapas ‘armazenam valores discretos simples, charvados "Bobinss” (Coils), e dois mapas onde so _armazenados valores numéricos de 26 bits, chamacas “Registradores” (Registers). Para cada tipo de dado, existe um mapa apenas para leltura (Read Only) © um mapa para Leitura ¢ Escrita (Read/Write). Cada mapa é cepaz de armazenar até 9,999 enderagos. NOMEDOMAPA | FUNGOES | ENDEREGO | TAMANHO DE DADOS coms LEITURA E | 00001 -09999 1BIT ESCRITA DISCRETEINPUTS | SOMENTE | 10001-19999 ABIT LEITURA INPUT REGISTER | SOMENTE | 30001 -39999 16 BITS LEITURA HOLDING REGISTERS | LEITURAE | 49001-49999 16 BITS ESCRITA Tobelo 4 Mapas do Protocole Modbus 0 Primeiro mapa, Coils~ Read/Write, enderega dados entre 00001 a 9.999; (0 segundo mapa, Discrete Inputs Read only enderaca dados entre 10001 a 19999; O terceiro mapa, input Register —read only, endereca dados entre 30001 a 39969,; (0 Quarto mapa, Holding Registers ~ Read/Write, enderera dedos entre 40001 a 49999.; As tabelas Bobinas e Entradas Discretas contem 1 bit de dados. Basicamente, refere-sea ligado (ON) ou desligado (OFF). 0 Registradores € 0 termo para uma word (palavra} ou 16 bits ou 2 bytes de dacos. Neste artigo, usaremos o termo 16 bits. ‘As fungdes Mocbus estdo divididas entre Fungdes de Leitura © Fungies de Escrita. As mais comuns séo: FUNCAO LEITURA: > 01: Read Coll Status ~Ox {Leitura de Bit); (02: Read input Status — 1x (Leiture de Bit); 03: Read Holding Register ~ 4x (Leitura de 16 bits); (04: Read input Register ~ 3x (Leitura de 16 bits); (07: Read Exception Status ~ 6x (Letra de Status); 20: Read File Register ~ 6x (Leitura de Registro de Arquivo); vuvvy 7 www electron.com.br 22 Electron Protocolo de Conunicagio MODBUS RTU FUNCAO DE ESCRITA: 05: Force Single Coil Ox (Escrita de Bit); 06: Preset Single Register ~4x (Escrita de 16 bits Simples) 15: Force Multiple Colls - Ox Escrita de Bits); 16: Preset Multiple Registers ~ 4x (Escrita de 16 bits); 21: Write File Register ~ 6x (Escrits de Registro de Arquivo); vv Na rede Modbus RTU, cada Escravo tem um ID, que identifica o nimero do Escravo na rede e pode conter de 1 até 247 enderegos ID. Sabendo que o Modbus RTU opera em Half Duplex, apenas ume opereedo por vez é permitida e é 0 Mestre quem direcione 3 troce de mensagens. Analisaremos as duas operagbes: Mestre Escravo 1 ‘Tx. FRAME MODBUS RTU ID Funcao|Enderego| Tamanho |CRC| Onde: © ID: £0 Byte do endereco de rede do Escravo que o Mestre estd direcionando a mensagem; '* FUNCKO: indica qual fungi Modbus esté sendo utilizada; ‘= ENDERECO: Endereco inicial da meméria formada por um conjunto de 2 Bytes; ‘= TAMANHO: Quantos dados estio sendo requisitados, ou seja, a quanticade de registros 2 serem lidos a partir do endereco iniclal da meméria. Lembrando que ¢ quantidade de dados de registro so de 0.0 252 bytes; © CRC: Verificagao de erros na transmissio de dados; ‘ll Mestre Rx- FRAME MODBUS RTU Esoravo ID|Fungao| Contador Valor Tere| Figura 3 Frome de recebimento de mensagem woww.electron.com.br C2 Electron Protocolo de Comunicaeio MODBUS RTU Onde: + 10:€08yte do endereco de rede do Escravo, no freme Rx, 0 Escrava responde para o Mestre ue ele esté respondendo a mensagem que foi enderecada com o ID dele; ‘+ FUNCAO: indica qual fungdo Modbus esté sendo utilizade; ‘© CONTADOR: incica 2 quantidade de Bytes de todos os valores recebidos; ‘© VALOR: Valor de 2 Bytes que o equipamento (Escravo} estd retornando @ requisigfo do Mestre; © CRC: Verficacdo de erros na transmissS0 de dados; verses Foro aeagece Pe] Ps ‘i 8 Escravo 2 Wo: 02 Escravo 3 i008 [emcees eee oes Escreve 5 tb:08 Figure 4~ Estrvtura de funciongmento do frome Tx Na figura acima, temos um exemplo de comunicagao em uma configuracéo barramento onde o Mestre esté transmitindo um oacote de dados na rede, onde: ‘© IDEscravo: No inicio da mensagem do exemplo, o mesire esta cirecionando a mensagem para o Escravo 4 (10: 04}; ‘© Fungo: & funcdo que o Mestre esté especificando ¢ 3 03 Read Holding Register - 4x, Lettura de word, a partir do enderego 400001; Endereco: Qual enderesa no Mapa Read Holding Register que o Mestre quer acessar, no ‘caso do exemplo, o endereso & 00 0B = 11 (0 endereco do pedido esté em Hexadecimal 2 conversio em Decimal), ou ento, simplesmente, enderego 40011; Quantidade de Registros: Neste campo podemos ler até duas varidvels, no caso do exemplo, o pedido é de apenas 1 variével; RC: Checagem de erros; www-electron.com.br SS G2 Electron Protocolo de Conmunicaséo MODBUS RTU voor tice mss Feng80) uenaaade Desc, septs one we Ciet04 03 0 00 03 F845". ‘Te: FRAME MCOBUS ATU” Escravo4 oat Eecc02 tovoe Exeravo 3 ioe > Escravo4 iDoe Escravo 5 os Figura 5~ mento do frome Re Na figura acima, temos um exemplo de comunicagéo em uma configuracdo barramento onde 9 Mestre esté recebendo uma resposta do Escrava do qual solicitou um comando, onde: ‘© ID Escravo: 0 Escravo se identifica para o Mestre, No caso do exemplo, o Escravo 4 {ID 4), Fungo: © Escravo indica que executou a funsio requisiteds, no caso do exempla, a fungao executada 6 203 read Holding register ~ 4x (Leitura de 16 bits); © Quantidade de Bytes: Especifica a quantidade de Bytes que o escravo esta lendo, no caso do exemplo, s80 2 bytes; + Valor Lido: Caracteres da Word (16bits) lida; © CRC: Checagem de erros; Give anes © Protocolo Modbus tem uma unidade de dados simples, chamada POU (Protocol data Unit), que se mantém intacta nas miltiplos modes de protocolo e em diversas camadas de aplicagdo. O FRAME de comunicagSo na integra, que inclui @ PDU e os campos adicionais, denominades ADU (Application Data Unit) que so 0 Cabecalho do pacote. Somando ADU e PDU 0 limite méximo de dados pera mensagem, no Padr8o Modbus, é de 253 bytes. ADU (Cabecaiho) Enderego | Fungao | Dados | Checagem de Erro - » PDU (inaltersvet) Figura 6 —Identfcagéo de POU e ADU 7 www.electron.com.br | OY Electron Protocolo de Comunicagdo MODBUS RTU Portanto, dependendo do tipo de func#o e/au de dado que comunicasSi comunicagio 4 utlizado na , @ tabela 2 do padrio Modbus os seguintes limites de dacios de bloco em cade eee) 247 Bytes (123 Registros) 2 Limite de dades de funs Outra observagao importante do mensagem completa, € que o Mestre envia uma CondigSo de Infcio (Start Condition, au simplesmente, Start) para todos os escravos da rede. assim como @ Condic#o de Inicio, o enderego do Escravo (ID) também & enviado a todos os equipamentos da rede. Quande o Escravo requisitado recebe @ mensagem contendo seu enderego, ele ¢ ativado. 0 tamanho da Candido de Inicio consiste em 28 bits ou 3,5 caracteres, (Cada Caractere contém & bit ou 1 byte). E ands o envio do pacote de mensagem, o Mestre envie a0 Escravo enderecado na mensagem (ID) @ Condicio de Término (Stop Condition, ou simplesmente, Stop} que também contém 16 bits (ou 3,5 caracteres}, ‘Adaress [Funcion] Bala End Bwis | ebis | Nx e bis 16 bits =a chor Figura 7— Protocelo Complete www-electron.com.br 2? Electron Protocolo de Comnicasio MODBUS RTU MODBUS APPLICATION PROTOCOL SPECIFICATION Vi.1b,pdf ELIPSE TUTORIAL DRIVER MODBUS www-electron.com.br

También podría gustarte