13_modbus

34
1 © 2005 - 2011 Copyright Smar PROTOCOLO MODBUS

Upload: julianodelima

Post on 03-Dec-2015

6 views

Category:

Documents


1 download

DESCRIPTION

13_MODBUS

TRANSCRIPT

Page 1: 13_MODBUS

1© 2005 - 2011 Copyright Smar

PROTOCOLO MODBUS

Page 2: 13_MODBUS

2

Tipos de Controle x Tipos de Equipamentos

Sensorbus

• Seriplex• INTERBUS Loop

• AS-i•

Devicebus

• INTERBUS-S • CAN • LONWorks • MODBUS• DeviceNet• PROFIBUS-DP

Fieldbus

• 4-20mA/HART• Wireless HART• PROFIBUS-PA• Foundation Fieldbus

Quantidadede

Dados

Tipos de Controle

Controle deProcessos

ControleLógico

BIT BYTE BLOCO

Equipamentos Simples Equipamentos Complexos

Controle deProcessos

Com Diagnóstico

Page 3: 13_MODBUS

3

Protocolo MODBUS

• Criado em 1978 pela Modicon (Schneider Electric);• Implementação de transferência de dados entre

controladores, sensores e atuadores usando uma porta RS232;

• Após sua criação, tornou-se padrão industrial “de-facto” adotado por muitas empresas com uma segunda opção para intercâmbio de dados;

• MODBUS® é um protocolo proprietário. No entanto, a Schneider optou por uma licença sem royalties e as especificações do protocolo estão disponíveis em seu web-site gratuitamente;

Page 4: 13_MODBUS

4

Protocolo MODBUS

• O MODBUS® essencialmente é uma estrutura de troca de mensagens usada para comunicação tipo mestre- escravo ou cliente-servidor entre dispositivos inteligentes;

• MODBUS é usualmente implementado também utilizando RS422, ou RS485 sobre uma variedade de meios de transmissão (fibra, rádio, celular, etc.);

Page 5: 13_MODBUS

5

Arquitetura MODBUS

Page 6: 13_MODBUS

6

Protocolo MODBUS

• O MODBUS TCP/IP é usado para comunicação entre sistemas de supervisão e controladores lógicos programáveis. O protocolo Modbus é encapsulado no protocolo TCP/IP e transmitido através de redes padrão ethernet com controle de acesso ao meio por CSMA/CD;

• O MODBUS PLUS é usado para comunicação entre si de controladores lógicos programáveis, módulos de E/S, chaves de partida eletrônica de motores, interfaces homem máquina etc. O meio físico é o RS-485 com taxas de transmissão de 1 Mbps, controle de acesso ao meio por HDLC (High Level Data Link Control).

Page 7: 13_MODBUS

7

Protocolo MODBUS

• O MODBUS PADRÃO é usado para comunicação dos CLPs com os dispositivos de entrada e saída de dados, instrumentos eletrônicos inteligentes (IEDs) como relés de proteção, controladores de processo, atuadores de válvulas, transdutores de energia e etc. o meio físico é o RS-232 ou RS-485 em conjunto com o protocolo mestre-escravo.

Page 8: 13_MODBUS

8

Modbus e o Modelo OSI

Page 9: 13_MODBUS

9

Modbus e o Modelo OSI

• O protocolo MODBUS PADRÃO pode ser enquadrado na camada de aplicação do modelo OSI;

• Os protocolos MODBUS são usados associados com outros protocolos da camada de enlace e camada física (RS-232, RS-485 e Ethernet);

• Ele define uma estrutura de mensagens de comunicação usadas para transferir dados discretos e analógicos entre dispositivos microprocessados com detecção e informação de erros de transmissão.

Page 10: 13_MODBUS

10

Protocolo Modbus Padrão

• Escopo do ProtocoloComo o CLP solicita o acesso a outro dispositivo?Como este responderá?Como os erros serão detectados e informados?

• Topologia FísicaPonto a Ponto com RS-232Barramento Mutiponto com RS-485

• Controle de Acesso ao MeioProtocolo Mestre-escravo

Page 11: 13_MODBUS

11

Protocolo Modbus Padrão

• Durante a comunicação em uma rede Modbus, o protocolo determina como o dispositivo conhecerá uma mensagem endereçada para ele, como determinar o tipo de ação a ser tomada e como extrair o dado ou outra informação qualquer contida na mensagem;

• Se uma resposta é necessária, como o dispositivo construirá uma mensagem e a enviará;

Page 12: 13_MODBUS

12

Protocolo Modbus Padrão

• O mestre pode endereçar mensagens para um escravo individual ou enviar mensagens para todos (broadcast);

• Os escravos retornam uma mensagem somente para as consultas endereçadas especificamente para ele;

• As mensagens broadcast não geram respostas.

Page 13: 13_MODBUS

13

Transações entre dispositivos

Page 14: 13_MODBUS

14

Transações entre dispositivos

• Na mensagem de consulta, o código de

função informa ao dispositivo escravo com o

respectivo endereço, qual a ação a ser

executada;

• Os bytes de dados contêm informações para o

escravo, por exemplo, qual o registrador inicial

e a quantidade de registros a serem lidos;

• O campo de verificação de erro permite ao

escravo validar os dados recebidos;

Page 15: 13_MODBUS

15

Transações entre dispositivos

• Na mensagem de resposta, o código de função é repetido de volta para o mestre. Os bytes de dados contêm os dados coletados pelo escravo ou o seu estado;

• Se um erro ocorre, o código de função é modificado para indicar que a resposta é uma resposta de erro e os byte de dados contém um código que descreverá o erro;

• A verificação de erro permite o mestre validar os dados recebidos.

Page 16: 13_MODBUS

16

Conteúdo da Transação

• Endereçamento (1 byte)0 : Usado para “broadcast”.

1 a 247 : Usados pelos escravos.

• Código da Função (1 byte)Estabelece a ação a ser efetuada.

0 a 127 : Funções

128 a 255 : Informe de erro na transmissão.

• Bytes de DadosInformação adicionais necessárias.

Endereços de memória

Quantidade de itens transmitidos

Quantidade de bytes do campo

• Verificação de Erros (2 bytes)Paridade, LRC ou CRC

Page 17: 13_MODBUS

17

Conteúdo da Transação• A verificação de erro é efetuada opcionalmente pela

paridade de cada byte transmitido e obrigatoriamente pelo método LRC ou CRC sobre toda a mensagem. O LRC descarta os caracteres de inicio e fim de mensagem. O CRC descarta os bits de inicio, de parada (start & stop bits) e paridade de cada byte;

• O dispositivo mestre espera uma resposta por um determinado tempo antes de abortar uma transação (timeout);

• O tempo deve ser longo o suficiente para permitir a resposta de qualquer escravo. Se ocorre um erro de transmissão, o escravo não construirá a resposta para o mestre. Será detectado um “timeout” e o mestre tomará as providências programadas.

Page 18: 13_MODBUS

18

Camada de Enlace

• Modos de Transmissão

RTU: Cada byte contem dois dígitos hexadecimais.

ASCII: Cada byte contem um caractere ASCII entre 0 e 9, A a F.• Formação dos Quadros

Definição do inicio e fim da mensagem

RTU: Tempos de silêncio de 3,5 caracteres.

ASCII: Inicia com “:” e termina com “CR” e “LF”.• Conteúdo dos Quadros

Conjuntos de caracteres Hexadecimais de 00 a FF. [LSB ... MSB]

Page 19: 13_MODBUS

19

Camada de Enlace

• Algumas características do protocolo Modbus são fixas, como o formato da mensagem, funções disponíveis e tratamento de erros de comunicação;

• Outras características são selecionáveis como o meio de transmissão, velocidade, timeout, bits de parada e paridade e o modo de transmissão (RTU os ASCII);

Page 20: 13_MODBUS

20

Camada de Enlace

• A seleção do modo de transmissão define como os dados serão codificados. Exemplo: Transmissão do endereço 3Bh

RTU: 0011 1011ASCII: 3 = 33h B = 42h

0011 0011 0100 0010

• Nos protocolos MODBUS Plus e TCP/IP as mensagens são colocadas em frames, não sendo necessário a definição do modo de transmissão, usando sempre o modo RTU.

Page 21: 13_MODBUS

21

Camada de Enlace

• O modo ASCII permite intervalos de tempo de até um segundo entre os caracteres sem provocar erros, mas sua mensagem típica tem um amanho duas vezes maior que a mensagem equivalente usando o modo RTU.

• O modo RTU transmite a informação com um menor número de bits, mas a mensagem deve ter todos os seus caracteres enviados em uma seqüência contínua;

• O modo RTU também é chamado de ModBus-B ou Modbus Binario e é o modo preferencial.

Page 22: 13_MODBUS

22

Modelagem de Dados

Page 23: 13_MODBUS

23

Modelagem de Dados

• Todo dispositivo em uma rede Modbus deve ter a sua memória dividida em registradores de 16 bits numerados conforme o modelo apresentado;

• A divisão é baseada na estrutura de memória de um CLP:– Saídas discretas para os atuadores ON-OFF utilizam um bit.

Cada registrador comporta 16 saídas.– Entradas discretas para os sensores ON-OFF utilizam um

bit. Cada registrador comporta 16 entradas.– Entradas analógicas utilizam registradores de 16 bits para os

valores obtidos por conversores A/D a partir dos sinais dos sensores analógicos.

– Registradores de Memória com 16 bits para os valores utilizados internamente no CLP.

Page 24: 13_MODBUS

24

Modelagem de Dados

• A identificação dos comandos (funções) de leitura e escrita são diferentes de acordo com o tipo de dado a ser lido ou escrito:– A função 1 efetua a leitura do estado das saídas

discretas;– A função 5 efetua a escrita de uma única saída

discreta;– A função 15 efetua a escrita de múltiplas saídas

discretas;– A função 2 efetua a leitura do estado das

entradas discretas;

Page 25: 13_MODBUS

25

Modelagem de Dados

– A função 4 efetua a leitura dos valores das entradas analógicas.

– A função 3 efetua a leitura dos valores dos registradores de memória.

– A função 6 efetua a escrita de um valor em um registrador de memória.

– A função 16 efetua a escrita de múltiplos valores em registradores de memória.

Page 26: 13_MODBUS

26

Exemplo de Transação Modbus

• O Mestre solicita uma leitura dos registradores 40108 a 40110 do elemento escravo 06.

• A mensagem especifica o endereço inicial como 0107 (006Bh)

Page 27: 13_MODBUS

27

Exemplo de Transação Modbus

• O primeiro registrador é o “40001”, mas é endereçado como “0”. Portanto se precisamos da informação do endereço “40108”, devemos endereçá-lo como “107”, que transformado em hexadecimal será “6B”;

• Os registradores utilizam 16 bits para codificar a informação. Estes 16 bits são enviados em dois bytes separados (HIGH BYTE e LOW BYTE).

Page 28: 13_MODBUS

28

Exemplo de Transação Modbus• O escravo repete o código da função

indicando uma resposta normal;• A quantidade de bytes especifica quantos

itens estão sendo retornados.

Page 29: 13_MODBUS

29

Exemplo de Transação Modbus

• O valor 63h é enviado como um byte no modo RTU (0110 0011);

• O mesmo valor enviado no modo ASCII necessita de dois bytes, mas são contabilizados como apenas um. 6 (011 0110) e 3 (011 0011);

• As respostas indicam:

Registro 40108: 02 2Bh = 555

Registro 40109: 00 00h = 0

Registro 40110: 00 63h = 99

Page 30: 13_MODBUS

30

Modbus/TCP• Lançado em 1999, foi o primeiro protocolo

aberto a usar ethernet e TCP/IP;

Sem distinção entre mestre e escravos ao usar a uma arquitetura cliente servidor.

Conexões através da Porta 502.

Gateways disponíveis para o Modbus RTU• Encapsulamento TCP

Page 31: 13_MODBUS

31

Modbus/TCP

• Desde que não há diferenças entre mestre e escravo, qualquer nó com uma porta TCP pode acessar qualquer outro nó, possibilitando a implementação de comunicação ponto-a-ponto entre os antigos escravos;

• A mensagem é encapsulada em um pacote TCP/IP. Os comandos são enviados por um cliente usando uma mensagem TCP/IP para a porta 502 de um servidor, que responde com o dado desejado encapsulado em um pacote TCP/IP;

Page 32: 13_MODBUS

32

Modbus/TCP

• O encapsulamento TCP não modificou a estrutura básica da mensagem original do Modbus. As diferenças estão na interpretação do endereço e na verificação de erro;

• No endereçamento, o campo do endereço do escravo foi substituído por um único byte chamado de Identificador único que pode ser usado para comunicação via dispositivos como gateways e briges que usam um único endereço IP para integrar vários dispositivos;

Page 33: 13_MODBUS

33

Modbus/TCP

• Não são usados os campos CRC ou LRC para verificação de erro. São usados os mecanismos semelhantes do já existentes do TCP/IP e protocolo Ethernet;

• Ao usar pacotes TCP/IP, o MODBUS/TCP permite acesso remoto via a estrutura das redes corporativas e mesmo a Internet, o que pode ser uma vantagem e um risco. LAN e internet permitem operações remotas, mas requer que salvaguardas sejam usadas para prevenir acesso não autorizado;

Page 34: 13_MODBUS

34

Atrasos de Tempo do ProcessoOs processos têm características que atrasam as mudanças nos valoresdas variáveis, o que, conseqüentemente, dificulta a ação de controle.

Atrasos na malha de controle

São os atrasos inerentes à associação de instrumentos, como por exemplo, atrasos na medição, na transmissão, dos controladores e do elemento final de controle.