O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura.



Documentos relacionados
Quadro de consulta (solicitação do mestre)

Redes Industriais ModBus RTU

Manual Técnico Interface Modbus

Manual da Comunicação Modbus-RTU

Porta Série. Trabalhos Práticos AM 2007/2008. Porta Série. Objectivos

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Relé Inteligente SRW 01 V1.3X

Introdução às Comunicações

Capítulo 2. Numéricos e Códigos Pearson Prentice Hall. Todos os direitos reservados.

Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira

significativo em nível 1. Abaixo é mostrado na TABELA III os principais códigos das funções. TABELA III Funções Modbus

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Fabio Bento

Redes e Telecomunicações

Prof. Manuel A Rendón M

Relé Inteligente SRW 01 V4.0X

Comunicação de dados. Introdução

Sistema de Numeração e Códigos. CPCX UFMS Prof. Renato F. dos Santos

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Motores I Automação I Energia I Transmissão & Distribuição I Tintas. Modbus RTU PLC300. Manual do Usuário

Q VIA MODBUS COM MÓDULO QJ71MB91

Copyright 2013 VW Soluções

REDE EM BARRENTO UTILIZANDO O MÉTODO DE ACESSO CSMA-CD ETHERNET

Sistemas Digitais Reconfiguráveis

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto

Protocolo de Comunicação TA3840C

Rede de Computadores

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Programação 2ºSemestre MEEC /2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

Aula 04. Código BCD, Códigos Alfa-numéricos e Sistemas de Detecção de Erros

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

Sumário INTRODUÇÃO... 4 PROTOCOLO ARP...5 ARP - ADDRESS RESOLUTION PROTOCOL...5 FUNCIONAMENTO DO PROTOCOLO ARP...5 CACHE ARP... 6

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

Sistemas de Numeração

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

Funções específicas de cada camada do modelo OSI da ISO.

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) SÃO CAETANO DO SUL - SP - CEP:

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE : SÃO CAETANO DO SUL - SP - CEP:

Capítulo I : Noções Gerais

Informática e informação 2

Redes de Computadores

ADMINISTRAÇÃO DE REDES DE COMPUTADORES. Elementos da rede (Repetidor, hub, bridge, switch, router) Spanning Tree Protocol UALG/FCT/DEEI 2005/2006

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

COMUNICAÇÃO ENTRE INVERSOR E PLC SÉRIE Q COM MÓDULO QJ71MB91

Redes de Comunicações Capítulo 6.1

Redes de Computadores (RCOMP 2014/2015)

Unidade 1 - Objectivos das Tecnologias Informáticas

ABB Automação kV 119.4kA kV 121.3kA kV 120.2kA IDR 144 INDICADOR DIGITAL REMOTO MODO DE USO

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Permite o acesso remoto a um computador;

20 Caracteres - Tipo char

Arquitetura de Rede de Computadores

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

Redes de Computadores

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Sistemas Operacionais

MANUAL DO USUÁRIO. Software de Gerenciamento. Controlador de Fator de Potência. Self Control

UNIVERSIDADE CATÓLICA DE PETRÓPOLIS CENTRO DE ENGENHARIA E COMPUTAÇÃO

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Arquitetura de Computadores. Tipos de Instruções

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

Multimedidores Inteligentes MGE G3 Modo de uso do software IBIS_BE_cnf. ABB Automação. Hartmann & Braun

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Relatório do 2º Guião Laboratorial de Avaliação: Encaminhamento de pacotes. Licenciatura: ETI Turma : ETC1 Grupo : rd2_t3_02 Data: 30/10/2009

Informática I. Aula 4. Aula 4-11/09/2006 1

DIFERENÇAS ENTRE HUB, SWITCH E ROOTER

WATCHDOG ELITE NTC OPÇÃO DE COMUNICAÇÕES SERIAIS

PROGRAMA DE GERENCIAMENTO DOS AMPLIFICADORES MR 4.50D-XT MR 6.50D-XT MR 6.80-XT Rev. 2.3 de 29/01/2014

Camada de Ligação de Dados

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Exercícios do livro: Tecnologias Informáticas Porto Editora

Arquitetura de Sistemas Operativos

Manual do instalador Box Input Rev Figura 01 Apresentação do Box Input.

Módulo 6 Conceitos Básicos sobre Ethernet

Telecomunicações CONCEITOS DE COMUNICAÇÃO

Sistemas Tolerantes a Falhas. Aulas Práticas

Módulo 1 Introdução às Redes

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Prof. Marcelo Machado Cunha Parte 3

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

FTP Protocolo de Transferência de Arquivos

Descobertas do electromagnetismo e a comunicação

PRODUTO: IDENTIFICADOR DE CHAMADAS Ic-Box SUB-PRODUTO: DESCRIÇÃO: PROTOCOLO DE COMUNICAÇÃO USB/SERIAL ELABORAÇÃO: FABIO / Wagner ESPECIFICAÇÃO TÉCNICA

1 Problemas de transmissão

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais. Prof. André Y. Kusumoto

Tecnologia de Redes de Computadores - aula 5

1) Botão "Ler Versão": apresenta a versão do firmware do leitor de cartões acoplado;

REDES DE COMPUTADORES

Eletrônica Industria e Comércio Ltda

Entradas/Saídas. Programação por espera activa Programação por interrupções

Manual MifareUSB/Serial

Memória Cache. Prof. Leonardo Barreto Campos 1

Redes de Computadores

Transcrição:

Universidade de Aveiro Departamento de Engenharia Mecânica Informática Industrial 2010/2011 5 PROTOCOLO DE COMUNICAÇÃO MODBUS 5.1 Protocolo de comunicação MODBUS Este protocolo foi proposto em 1979 pela empresa Modicon para permitir a comunicação entre os seus autómatos. Em 2004 este protocolo passou a ser público, todos os equipamentos, de todas as marcas, passaram a poder usar livremente este protocolo. Apesar de este protocolo não definir o tipo de ligações físicas entre equipamentos, nem o tipo de sinais eléctricos, ópticos ou outros, define um conjunto de mensagens (sequências de bytes) que todos os equipamentos que respeitem este protocolo saberão interpretar e executar. Estas mensagens permitem, por exemplo, monitorizar ou controlar as saídas e entradas dos equipamentos remotos. Como este protocolo não define uma rede física para transmitir as suas mensagens, os equipamentos que respeitarem este protocolo tem de implementar também um protocolo de comunicação como o Rs232, Rs485, Ethernet ou outro para transmitir as mensagens MODBUS entre eles. Cada byte desta mensagem é enviado para os outros equipamentos MODBUS através de por exemplo, uma palavra série Rs232 ou Rs485. Cada palavra série é composta por um start, 8 s de dados, um de paridade, e um stop. Por isso, para uma comunicação Rs232 ou Rs485 com de paridade e 1 stop são enviados 11 s para a linha por cada byte da mensagem MODBUS. Tempo de envio de um byte MODBUS Cada byte de uma mensagem MODBUS demora um tempo conhecido a ser enviado, por exemplo, se os equipamentos estiverem ligados através de uma ligação Rs232 ou Rs485, além dos 8 s de um byte MODBUS é enviado para o barramento um start, 1 de paridade e 1 stop, ou seja, são enviados 11 s para o barramento por cada byte MODBUS. Se a taxa de transferência for de 9600 /s, cada demora 1/9600 segundos a ser enviado. Logo, 11 s demoram 11/9600 segundos a enviar. T byte MODBUS = 11/9600 = 1,145 ms Tempo máximo de espera entre bytes MODBUS Todos os bytes da mesma mensagem RTU têm ser enviados consecutivamente, e preferencialmente sem tempo de espera entre eles. Se o tempo decorrido entre o envio de um byte e o byte seguinte exceder 1,5 vezes o tempo de envio de um byte essa mensagem é ignorada. Por outras palavras, o tempo espera entre bytes tem de ser menor que 1,5 x T bytemodbus. Com uma taxa de transferência de 9600 bps o tempo máximo de espera entre bytes é de 1,71 ms. T EsperaEntreBytes 1,5 x T bytemodbus 1,71 ms Informática Industrial 2010/2011 41

Tempo mínimo de espera entre envio de mensagens MODBUS Pelo contrário, entre mensagens RTU tem de existir um tempo de silêncio igual ou superior a 3,5 vezes o tempo de envio de um byte MODBUS. Por outras palavras, o tempo de espera entre mensagens MODBUS tem de ser maior ou igual a 3,5 x T byte MODBUS. Com uma taxa de transferência de 9600 bps o tempo mínimo de espera entre mensagens MODBUS é de 4 ms T Espera entre mensagens MODBUS 3,5 x T bytemodbus 4 ms O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura. O protocolo MODBUS permite também resolver algumas limitações de outros protocolos, nomeadamente do protocolo Rs485. Recorda-se de no capítulo anterior, ter constatado que o protocolo Rs485 não define os endereços de cada equipamento, nem o tipo de mensagens que devem ser transmitidas entre eles, nem o momento em que cada equipamento pode enviar os seus dados. Ao contrário dos protocolos Rs232 ou Rs485 que são implementados pelo hardware de cada equipamento (amplificadores operacionais, ou amplificadores diferenciais), o protocolo MODBUS é implementado por software. Têm de ser os programas dos PLCs ou de outros equipamentos programáveis a respeitar e a implementar o protocolo MODBUS. Por vezes esses programas já vêm de fábrica, gravados em EPROMs e nessa altura diz-se que são implementados por Firmware. 5.1.1 Tipo de diálogo/partilha do meio de transmissão (Master-Slave) O tipo de diálogo entre equipamentos definido por este protocolo é o master slave. Ao contrário de outros protocolos que permitem a cada equipamento enviar os seus dados para o meio de comunicação sempre que o desejarem, podendo ocorrer colisões de dados quando dois ou mais tentarem enviar dados em simultâneo, o protocolo MODBUS prevê um diálogo do tipo master slave. Num diálogo deste tipo apenas um dos equipamentos assume o papel de master e só ele pode enviar dados para todos os outros sempre que quiser. Os outros equipamentos actuam como slaves só podendo enviar dados como resposta a um pedido prévio do master. O equipamento master pode enviar uma mensagem MODBUS para um determinado equipamento unicast ou para todos os equipamentos ligados ao barramento broadcast. Algumas mensagens do master pressupõem uma resposta do slave, outras não. Se a mensagem do master for do tipo leitura de entradas, saídas ou memórias do slave, o slave depois de a receber e processar responde ao master com outra mensagem contendo itens pedidos pelo master. Se a mensagem do master for do tipo escrita no slave essa mensagem não pressupõem resposta do slave. O slave limita-se a actualizar as suas posições de memória ou as suas saídas com os valores indicados pelo master. Informática Industrial 2010/2011 42

5.1.2 Estrutura das mensagens MODBUS As mensagens MODBUS são compostas por vários campos, neste exemplo 4 campos: Endereço (1 byte), Função (1 byte), Dados (comprimento variável), CRC/LRC (2 bytes). 1 byte 1byte Comprimento variável: 0 a 252 2 bytes Endereço Função Dados CRC/LRC Endereço O primeiro campo da mensagem e também o primeiro a ser enviado é o campo de endereço, com o endereço do equipamento MODBUS a quem se destina a mensagem. Esse endereço é codificado com 8 s, por esta razão apenas podem existir 255 endereços e alguns destes endereços estão reservados. Se a mensagem tiver um endereço de destino 0 destina-se a todos os equipamentos e é forçosamente uma mensagem de escrita. Os equipamentos que actuam como slaves podem ter endereços de 1 a 247. Os endereços de 248 a 255 estão reservados. Função Cada mensagem MODBUS tem uma função específica, pode por exemplo, ter por função activar uma saída digital de um equipamento remoto. A função que cada mensagem desempenha é codificada em 8 s. Antes de analisar as diferentes funções compreendidas pelo protocolo MODBUS e as suas mensagens é importante compreender o tipo de itens que este protocolo reconhece num equipamento remoto. Em cada equipamento podem existir: Entradas digitais (discrete inputs): As entradas digitais podem ser lidas pelos equipamentos remotos através da troca de mensagens MODBUS. Uma entrada digital X0 de um PLC é um exemplo de uma entrada deste tipo. Saídas digitais (coils): As saídas digitais podem ser controladas remotamente ou apenas lidas pelos equipamentos remotos através da troca de mensagens MODBUS entre esses equipamentos. A saída digital Y0 de um PLC é um exemplo de uma saída digital que pode ser controladas remotamente ou apenas lidas, através de mensagens MODBUS. Posições de memória só de leitura (input registers): São posições de memória de 16 s. Os s destas posições de memória reflectem o estado das entradas digitais ou analógicas do equipamento. Estas memórias podem ser lidas pelo master através de mensagens MODBUS. Por exemplo, a posição de memória D4072 do PLC - FATEK contém o valor da sua entrada analógica CH0 e pode assumir valores de 0 a 16380, consoante a tensão externa analógica aplicada a esta entrada variar de 0 a 10Volt. Este tipo de memória pode ser lido remotamente através das mensagens MODBUS, mas, naturalmente, este protocolo não prevê nenhuma mensagem para escrever neste tipo de memórias. Posições de memória de leitura ou escrita (holding registers): são posições de memória de 16 s que podem ser lidas ou escritas pelos equipamentos remotos, para isso existem mensagens MODBUS específicas. As posições de memória dos PLCs do tipo D, por exemplo a D100, são posições de memória que podem ser escritas ou lidas remotamente através das mensagens MODBUS. Informática Industrial 2010/2011 43

Código da Função Dec Hex Binário 1 1 00000001 Leitura do estado das saídas digitais do equipamento remoto (on/off) 2 2 00000010 Leitura de entradas digitais do equipamento remoto (on/off) 3 3 00000011 Leitura de posições de memória do equipamento remoto (2 bytes) 4 4 00000100 Leitura de posições de memória (2 bytes) 5 5 00000101 Activa/Desactiva uma saída digital 6 6 00000110 Escreve numa posição de memória do equipamento remoto 7 7 00000111 8 8 00001000 Mensagem de teste que o equipamento remoto deve apenas devolver ao emissor 15 0F 00001111 Activa/Desactiva um conjunto de saídas digitais consecutivas 16 10 00010000 Escreve em várias posições de memória Detecção de erro de transmissão Durante a transmissão da mensagem MODBUS entre equipamentos podem existir erros devido a interferências electromagnéticas, por essa razão o protocolo MODBUS prevê um mecanismo para detectar se a mensagem foi bem transmitida. Esse mecanismo consiste no envio de dois bytes adicionais, no final da mensagem MODBUS, com um valor que é calculado em função de todos os bytes da mensagem. Quando um equipamento envia uma mensagem MODBUS calcula dois bytes adicionais, em função de todos os outros bytes da mensagem. O equipamento receptor faz o mesmo, calcula esses dois bytes, em função de todos os bytes que recebeu nessa mensagem. Se a mensagem tiver sido transmitida correctamente o valor calculado pelo receptor é igual ao valor enviado pelo emissor. Existem duas formas de calcular esses dois bytes: um dos algoritmos chama-se CRC - Cyclical Redundancy Checking o outro chama-se LRC Longitudinal Redundancy Checking. Informática Industrial 2010/2011 44

Mensagens MODBUS do tipo RTU Remote Terminal Unit As mensagens MODBUS podem ser de dois tipos: RTU ou ASCII. No modo RTU cada byte da mensagem MODBUS (o byte do endereço de destino, o byte de função e os bytes de dados da mensagem) é codificado em 8 s e cada byte MODBUS é transmitido numa palavra série Rs232 ou Rs485 Endereço 1 byte Função 1byte Comprimento variável:0 a 252 2 bytes 0x12 0x15 Dados CRC O número 12 hexadecimal corresponde ao valor binário 00010010 O número 15 hexadecimal corresponde ao valor binário 00010101 A seguir ao, o menos significativo de cada número é o primeiro a ser enviado para o barramento. 01001000 0x12 10101000 0x15 Dados CRC Cyclical Redundancy Checking O equipamento emissor utiliza o algoritmo CRC16 para gerar os últimos dois bytes da mensagem MODBUS-RTU. O equipamento receptor utiliza o mesmo algoritmo para calcular localmente o CRC16 da mensagem recebida e compara os 16 s calculados com CRC16 enviado pelo emissor. Informática Industrial 2010/2011 45

Mensagens MODBUS do tipo ASCII American Standard Code for Information Interchange Cada byte da mensagem MODBUS RTU contém um número, por exemplo o endereço de destino conter o número 12, o código de função pode conter o número 15. Cada número destes tem, ou pode, ter dois dígitos. Endereço 1 byte Função 1byte Comprimento variável:0 a 252 2 bytes 12 15 Dados LRC 1º passo - No modo MODBUS-ASCII, o número contido em cada byte é previamente dividido a meio e cada metade, cada dígito, é codificado em 7 s de acordo com a tabela ASCII. O dígito 1 corresponde ao valor binário 0110001 O dígito 2 corresponde ao valor binário 0110010 O dígito 5 corresponde ao valor binário 0110101 Endereço (2 chars) Função (2chars) Comprimento variável 2 chars 1000110 0100110 1000110 1010110 Dados 2 x 252 LRC Além disso as mensagens MODBUS-ASCII começam sempre pelo carácter : e terminam sempre com os caracteres CR e LF. De acordo com a tabela ASCII O caracter : corresponde ao valor binário 0111010 O caracter CR corresponde ao valor binário 0001101 O caracter LF corresponde ao valor binário 0001010 3º passo - cada caracter, codificado com 7 s, é enviado numa palavra série para o equipamento remoto. O menos significativo de cada caracter é o primeiro a ser enviado para o barramento logo a seguir ao. 0101110 Char : 1000110 Char 1 0100110 Char 2. Cada byte MODBUS-RTU corresponde no modo MODBUS-ASCII a duas palavras série, cada uma com 10 s. LRC Longitudinal Redundancy Checking O algoritmo LRC8 gera um resultado de 8 s, os 4 s mais significativos representam um número de 0 a F e os 4 s menos significativos também representam um número de 0 a F. Cada um desses números é considerado um caracter de 0 a F, é codificado em 7 s de acordo com a tabela ASCII e cada um é enviado numa palavra série para o barramento. De acordo com o algoritmo LRC8, o equipamento emissor calcula a soma de todos os bytes da mensagem, excepto os bytes correspondentes aos 3 caracteres :, CR, LF. Depois de somar Informática Industrial 2010/2011 46

todos os outros bytes obtém um resultado de 8 s. Cada um desses s é negado e depois o emissor incrementa o resultado de uma unidade. Este resultado final tem 8 s, os 4 s mais significativos representam um número de 0 a F e os 4 s menos significativos também representam um número de 0 a F. Cada um desses números é considerado um carácter, é codificado em 7 s de acordo com a tabela ASCII e cada conjunto de 7 s é enviado numa palavra série para o barramento. Os 7 s mais significativos são enviados primeiro Informática Industrial 2010/2011 47