Sunteți pe pagina 1din 5

Rede Modbus

Modbus é um protocolo de comunicação entre vários equipamentos interligados através


de um meio físico.
Para que os equipamentos comuniquem entre si deve-se configurar os endereços dos
Escravos, Bauld Rate, Paridade, Stop Bits e Data Bits.

No TPW03 que será o mestre deve-se montar o telegrama para enviá-lo ao escravo.
O telegrama da rede Modbus é constituído de 6 Bytes*, ou 3 Words:

Word 0 Word 1 Word 2


Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5

Cada Byte tem uma função no telegrama:

Byte 0 – Endereço do escravo que irá receber o telegrama;


Byte 1 – Comando do telegrama, que poderá ser Escrita ou Leitura;
Byte 2 e Byte 3 – Parâmetro que será Escrito ou Lido;
Byte 4 e Byte 5 – Valor que será Escrito no parâmetro selecionado no caso de Escrita ou
quantidade de parâmetros que serão lidos no caso de Leitura.

*Na verdade o Modbus trabalha com 8 Bytes, os outros dois são chamados de Check
Sum ou CRC, porém o TPW03 já executa estes cálculos automaticamente.

Na tabela abaixo estão listados os principais comandos para Leitura e Escrita Modbus:

Leitura – 3
Escrita – 6

Quando um telegrama é enviado ao Escravo pelo mestre e este tem o comando de


Escrita, o escravo irá responder com o mesmo telegrama para o mestre, indicando seu
recebimento.

Quando este telegrama for de leitura então o Escravo irá responder da seguinte maneira:

Byte 0 – Endereço do escravo que irá recebeu o telegrama e está respondendo;


Byte 1 – Comando do telegrama que no caso será 3;
Byte 2 – Quantidade de Bytes respondidos pelo Escravo, que nesse caso será 5;
Byte 3 – Byte mais significativo do valor atual do parâmetro selecionado no telegrama
do mestre;
Byte 4 – Byte menos significativo do valor atual do parâmetro selecionado no telegrama
do mestre;
Byte 5 – Vazio.

Percebe-se que os dois Bytes que formam a Word do valor do parâmetro vieram em
duas Words diferentes, uma em cada.

Para filtrar essa mensagem devemos utilizar um WAND (AND de Word) com o valor
“HFF00” para a Word 2, pegando assim somente o Byte mais significativo, e outro
WAND com valor “H00FF” na Word 3, pegando assim somente o Byte menos
significativo e somar os dois resultados utilizando WOR (OR de Word) constituindo
assim a Word com o valor do parâmetro solicitado.

Configurar a rede no TPW03

Para se configurar a rede no TPW03, deve-se utilizar uma tabela presente na função
MBUS página 127 do manual de programação do TPW03.

Com esta tabela cria-se a configuração da porta RS485.

Em Binário = 0000000010001001
Em Decimal = 137

Bauld Rate = 19200


Data Bits = 8
Stop Bits = 2
Paridade = none ou nenhuma

Esse valor então é movido para a Word de Sistema D8120.


Construindo um telegrama

Para se construir um telegrama é necessário criar a função MBUS e indicar a ela as


Words que serão utilizadas na transmissão e recepção de dados.

D1010 para transmissão, D1020 para recepção e a partir delas 6 Bytes (ou 3 Words),
reservando assim D1011 e D1012 para transmissão e D1021 e D1022 para recepção.

Obtendo as Words agora basta montar o telegrama respeitando a tabela de função de


cada Byte.

Para Escrita

D1010: Word 0 = Endereço e Comando:


01 = Endereço, 06 = Comando de Escrita.

D1011: Word 1 = Parâmetro Selecionado: ou P121.


Como os Bytes da função Modbus em relação aos Bytes do TPW03 são invertidos,
então devemos encarar H7900 como H0079, que em decimal significa o valor 121

D1012: Word 2 = Valor para ser escrito no parâmetro selecionado:


Mais uma vez como os Bytes são invertidos utiliza-se a função SWAP do TPW03 para
se inverter os Bytes das Words.
Para Leitura

D1010: Word 0 = Endereço e Comando:


01 = Endereço, 03 = Comando de Leitura.

D1011: Word 1 = Parâmetro Selecionado:


Como os Bytes da função Modbus em relação aos Bytes do TPW03 são invertidos,
então devemos encarar H300 como H0003, que em decimal significa o valor 3 ou P3.

D1012: Word 2 = Quantidade de parâmetros selecionados:

Depois do telegrama pronto podemos enviá-lo a rede, lembre-se no entanto que apenas
um telegrama deve ser enviado por vez, sendo que deve-se respeitar um tempo ou a
resposta do escravo para que outro seja enviado, evitando assim falhas na comunicação.
Para enviar os dados a rede deve-se utilizar o bit M8122, que quando é setado envia
todo o conteúdo do telegrama para a rede. O escravo irá indicar que recebeu pelo bit
M8123 que quando assumir o valor 1 indica a resposta do escravo.

S-ar putea să vă placă și