0% acharam este documento útil (0 voto)
74 visualizações5 páginas

Modbus

O Modbus é um protocolo de comunicação de dados utilizado em sistemas de automação industrial criado na década de 1970 pela Modicon. É um dos mais antigos e utilizados protocolos para comunicação entre controladores lógicos programáveis e instrumentos. Pode utilizar RS-232, RS-485 ou Ethernet como meios físicos e possui comandos para envio de dados discretos ou numéricos.

Enviado por

silviogarbes
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
74 visualizações5 páginas

Modbus

O Modbus é um protocolo de comunicação de dados utilizado em sistemas de automação industrial criado na década de 1970 pela Modicon. É um dos mais antigos e utilizados protocolos para comunicação entre controladores lógicos programáveis e instrumentos. Pode utilizar RS-232, RS-485 ou Ethernet como meios físicos e possui comandos para envio de dados discretos ou numéricos.

Enviado por

silviogarbes
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 5

Modbus

Origem: Wikip�dia, a enciclop�dia livre.


Saltar para a navega��oSaltar para a pesquisa
Modbus � um Protocolo de comunica��o de dados utilizado em sistemas de automa��o
industrial. Criado originalmente no final da d�cada de 1970, mais especificamente
em 1979[1], pela fabricante de equipamentos Modicon. � um dos mais antigos e at�
hoje mais utilizados[2] protocolos em redes de Controladores l�gicos program�veis
(PLC) para aquisi��o de sinais(0 ou 1) de instrumentos e comandar atuadores. A
Schneider Electric (atual controladora da Modicon) transferiu os direitos do
protocolo para a Modbus Organization (Organiza��o Modbus[3]) em 2004 e a utiliza��o
� livre de taxas de licenciamento[4]. Por esta raz�o, e tamb�m por se adequar
facilmente a diversos meios f�sicos, � utilizado em milhares de equipamentos
existentes e � uma das solu��es de rede mais baratas a serem utilizadas em
Automa��o Industrial.

�ndice
1 Caracter�sticas t�cnicas
2 Modelo de comunica��o
3 Acesso ao meio
4 Frames
5 Comandos do MODBUS
6 Modbus serial
6.1 Modbus RTU
6.1.1 Formato do pacote RTU
6.2 Modbus ASCII
6.2.1 Formato do pacote ASCII
7 Modbus TCP
8 Modbus Plus
9 Refer�ncias
10 Liga��es externas
Caracter�sticas t�cnicas
O Modbus � um protocolo de comunica��o da camada de aplica��o (modelo OSI) e pode
utilizar o RS-232, RS-485 ou Ethernet como meios f�sicos - equivalentes camada de
enlace (ou link) e camada f�sica do modelo. O protocolo possui comandos para envio
de dados discretos (entradas e sa�das digitais) ou num�ricos (entradas e sa�das
anal�gicas).

Modelo de comunica��o
O protocolo Modbus especifica que o modelo de comunica��o � do tipo mestre-escravo
(ou cliente-servidor). Assim, um escravo n�o deve iniciar nenhum tipo de
comunica��o no meio f�sico enquanto n�o tiver sido requisitado pelo mestre. Por
exemplo, a esta��o mestre (geralmente um PLC) envia mensagens solicitando dos
escravos que enviem os dados lidos pela instrumenta��o ou envia sinais a serem
escritos nas sa�das, para o controle dos atuadores ou nos registradores. A imagem
abaixo mostra um exemplo de rede Modbus com um mestre (PLC) e tr�s escravos
(m�dulos de entradas e sa�das, ou simplesmente E/S). Em cada ciclo de comunica��o,
o PLC l� e escreve valores em cada um dos escravos.

Exemplo de uma rede Modbus com quatro dispositivos.


Acesso ao meio
No entanto, ainda � poss�vel haver colis�es durante o acesso ao meio compartilhado,
e o protocolo n�o � espec�fico em como solucion�-las. Como ilustra��o de um
problema poss�vel, suponha que, em uma dada aplica��o do protocolo Modbus sobre um
barramento RS-485, o mestre requisita seus escravos em sequ�ncia. Suponha tamb�m
que o mestre, ap�s um tempo espec�fico, passa a requisitar o escravo seguinte,
tendo recebido ou n�o uma resposta do escravo anterior. Nesse caso, se o primeiro
escravo demora mais tempo para responder do que o tempo que o mestre espera, pode
acontecer de o primeiro escravo responder bem no per�odo em que o mestre resolveu
fazer a requisi��o ao escravo seguinte, ou no per�odo em que o segundo escravo j�
tinha iniciado sua resposta � havendo colis�o no meio. N�o h� nada especificado no
protocolo para resolver esse tipo de problema. Cabe inteiramente � aplica��o �
atrav�s de hardware ou software - implementar de forma correta o acesso ao meio, os
par�metros de time-out etc.

Frames
Basicamente, uma comunica��o em Modbus obedece a um frame que cont�m o endere�o do
escravo, o comando a ser executado, uma quantidade vari�vel de dados complementares
e uma verifica��o de consist�ncia de dados (CRC).

Exemplo-1: Se o PLC precisa ler as 10 primeiras entradas anal�gicas (do endere�o


0000 ao 0009) no m�dulo 2. Para isso � preciso utilizar o comando de leitura de
m�ltiplos registros anal�gicos (comando 3). O frame de comunica��o utilizado �
mostrado abaixo (os endere�os s�o mostrados em sistema hexadecimal):

endere�o comando end. dos registros quant. de registros CRC


02 03 00 00 00 0A 2 caracteres
A resposta do escravo seria um frame semelhante composto das seguintes partes: O
endere�o do escravo, o n�mero do comando, os dez valores solicitados e um
verificador de erros (CRC). Em caso de erros de resposta (por exemplo um dos
endere�os solicitados n�o existe) o escravo responde com um c�digo de erro.

A resposta para a pergunta acima seria a seguinte:

Mas antes uma pequena recorda��o!

Para se entender este frame de resposta, antes precisamos saber corretamente o que
� um byte.

Cada palavra tem as seguintes formas, - bit, - nibble, - byte e - word.

Segue abaixo uma tabela representa��o de cada formato.

Bit Nibble Byte Word


1 = 4 bits = 8 bits = 16 bits
Agora que ja sabemos o que � byte podemos ent�o decifrar o frame da rede modbus.

Exemplo-2: Reposta da pergunta citada no exemplo-1.

RX 02 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (xx xx CRC)
O primeiro byte(02) � o n� do escravo; O segundo byte(03) � a fun��o utilizada para
leitura, sendo essa um Holding Register; O terceiro byte � a quantidade de
endere�os que o Slave(escravo) est� enviando ao Master, sendo que a cada 2 bytes se
forma uma Word que significa uma palavra de 16 bit, por isso este frame tem 14
(hexadecimal) = 20 bytes que � = 10 word ou 10 palavras de 16 bits que tem seu
range m�nimo de -32768 ate 32767.

Com isso entendemos que o Slave(Escravo) respondeu 10 endere�os a ao master e todos


com o valor zero.

Comandos do MODBUS
Os principais comandos do Modbus s�o mostrados na tabela abaixo:

c�digo do comando descri��o


0x01 L� um n�mero vari�vel1 de sa�das digitais (bobinas)
0x02 L� um n�mero vari�vel1 de entradas digitais
0x03 L� um n�mero vari�vel1 de registros retentivos (sa�das anal�gicas ou
mem�rias)
0x04 L� um n�mero vari�vel1 de registros de entrada (entradas anal�gicas)
0x05 For�a uma �nica bobina (altera o estado de uma sa�da digital)
0x06 Preset de um �nico registro (altera o estado de uma sa�da anal�gica)
0x07 L� exce��es2 (registros de erro)
0x08 V�rias fun��es de diagn�stico
0x0F For�a uma quantidade vari�vel1 de bobinas (sa�das digitais)
0x10 Preset de uma quantidade vari�vel1 de registros (sa�das anal�gicas)
1 A quantidade de vari�veis a ler � definida no frame de solicita��o
2 Oito bits previamente configurados. N�o � necess�rio fornecer par�metros de
endere�amento com este comando pois o escravo vai enviar sempre os oito bits pr�
configurados.
Para alguns comandos de diagn�stico, tais como rein�cio de comunica��o, reset do
m�dulo ou sincroniza��o de rel�gio, podem ser utilizados comunica��es do tipo
broadcast, ou seja, destinada a todos os escravos simultaneamente.

Modbus serial
Em redes seriais baseadas em RS-485 ou RS-232 o Modbus pode ter dois modos de
transmiss�o: RTU e ASCII.

Modbus RTU
O termo RTU, do ingl�s Remote Terminal Unit, refere-se ao modo de transmiss�o onde
endere�os e valores s�o representados em formato bin�rio. Neste modo para cada byte
transmitido s�o codificados dois caracteres. N�meros inteiros variando entre -32768
e 32767 podem ser representados por 2 bytes. O mesmo n�mero precisaria de quatro
caracteres ASCII para ser representado (em hexadecimal). O tamanho da palavra no
modo RTU � de 8 bits.

Formato do pacote RTU


Endere�o do Escravo C�digo da Fun��o Dados CRC
1 byte 1 byte 0 a 252 bytes 2 bytes (CRC-16)
Modbus ASCII
Os dados s�o dados codificados e transmitidos atrav�s de caracteres ASCII - cada
byte � transmitido atrav�s de dois caracteres. Apesar de gerar mensagens leg�veis
por pessoas este modo consome mais recursos da rede. Por exemplo, para transmitir o
byte 0x5B este dever� ser codificado em dois caracteres ASCII: 0x35 (�5�) e 0x42
(�B�). O tamanho da palavra no modo ASCII � de 7 bits. Somente s�o permitidos
caracteres contidos nos intervalos

0-9
A-F
Intervalo entre duas mensagens deve ser de 3,5 caracteres.

Formato do pacote ASCII


In�cio Endere�o Fun��o Dados LRC Final
":" (ASCII 0x3Ah) 2 caracteres 2 caracteres 0 a 2 x 252 caracteres 2
caracteres CR+LF (ASCII 0x0Dh + 0x0Ah)
Modbus TCP
Aqui os dados s�o encapsulados em formato bin�rio em frames TCP para a utiliza��o
do meio f�sico Ethernet (IEEE 802.3). Quando o Modbus/TCP � utilizado, o mecanismo
de controle de acesso � o CSMA-CD (Pr�prio da rede Ethernet) e as esta��es utilizam
o modelo cliente-servidor.

Retrocompatibilidade e Conversores

Suponha que um PLC precisa trocar dados usando o protocolo Modbus-TCP com
dispositivos antigos, que n�o suportam esse protocolo, e est�o conectados em um
barramento RS-485. Nesse caso, existem no mercado conversores Modbus-TCP<->Modbus
Serial RS-232/485. Esses dispositivos diferem de um conversor puramente f�sico, que
somente converteria os sinais el�tricos de um protocolo f�sico para outro. Eles, em
vez disso, implementam os protocolos TCP e IP, al�m de implementar tamb�m o
protocolo Modbus.

Isso � necess�rio, pois � preciso haver uma conex�o TCP entre o conversor e o PLC,
j� que essa conex�o n�o pode existir diretamente com os equipamentos antigos. O
conversor precisa, portanto, implementar o protocolo TCP e aceitar conex�es atrav�s
de sockets etc. Caso contr�rio, a comunica��o n�o seria poss�vel.

Al�m disso, o conversor precisar� tirar os dados Modbus � que est�o dentro do
pacote IP, que por sua vez est� dentro do quadro Ethernet � para enviar ao escravo
correto no barramento RS-485.

H� tamb�m conversores com v�rias sa�das seriais. Nesse caso, � poss�vel separar os
escravos em v�rios barramentos distintos, cada um em uma porta. No primeiro
barramento, podem ser colocados os escravos cujos endere�os v�o de 1 ao 10; no
segundo, de 11 a 20, e por a� em diante � isso � s� um exemplo.

Nessa configura��o, o conversor precisaria ler o pacote Modbus, interpret�-lo ao


ponto de saber qual � o endere�o do escravo de destino, para ent�o envi�-lo � porta
de sa�da correta.

Modbus Plus
Vers�o que possui v�rios recursos adicionais de roteamento, diagn�stico,
endere�amento e consist�ncia de dados. Esta vers�o ainda � mantida sob dom�nio da
Schneider Electric e s� pode ser implantada sob licen�a deste fabricante.

Refer�ncias
Modbus Organization, Inc. �Modbus FAQ� (em ingl�s). Consultado em 30 de agosto de
2012
ControlDesign.com. �Three Variants Dominate Industrial Ethernet� (em ingl�s).
Consultado em 12 de outubro de 2012
Modbus Organization, Inc. �Modbus Organization� (em ingl�s). Consultado em 07 de
setembro de 2012 Verifique data em: |acessodata= (ajuda)
Modbus Organization, Inc. �Modbus FAQ� (em ingl�s). Consultado em 30 de agosto de
2012
Liga��es externas
Links em ingl�s:

Descritivo do protocolo
A �ntegra da especifica��o do protocolo (vers�o 1.1b)
Site da Organiza��o Modbus - associa��o de fabricantes
Site da Schneider Automation
Como Modbus trabalha
Modbus Test software
Links em portugu�s:

Resumo sobre redes Modbus


Modbus
Modos de Transmiss�o RTU e ASCII do Modbus[liga��o inativa]
Modbus-Master em Ruby.

Software gratuito para Modbus:

Software do teste do programa demostrativo de Modbus Simply Modbus


Software gratuito que simula dispositivos escravos : Modbus Simulator
C�digo fonte do protocolo para microcontrolador PIC
Projetos de c�digo aberto no Freshmeat
Projetos de c�digo aberto no Sourceforge
Software para simula��o e testes em Modbus

�cone de esbo�o Este artigo sobre redes de computadores � um esbo�o. Voc� pode
ajudar a Wikip�dia expandindo-o.
Categorias: Redes de computadoresTerminologia inform�ticaRedes
industriaisEletr�nica

Você também pode gostar