Материал: m012800p

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

O status das entradas 7 a 0 é indicado como valor byte 0x12 ou binário 0001 0010. A entrada 7 é o bit com o valor mais elevado deste byte e a entrada 0 o valor mais baixo. Por conseguinte, a atribuição é feita de 7 a 0 com OFF-OFF-OFF-ON-OFF-Off-ON- OFF.

Bit:

0

0

0

1

0

0

1

0

Coil:

7

6

5

4

3

2

1

0

58

MODBUS / Configuração

 

01-03-16

 

5.3.1.4 Registro Read Holding (código de função 0x03)

Com esta função são lidos os conteúdos binários de registros holding nos slaves. A difusão não é suportada.. O número máximo é limitado em 128 registros em um frame.

Consulta:

Função! A consulta determina o endereço de partida (registro de partida) e o número dos registros que devem ser lidos.

O endereçamento começa com 0. Em Modicon o endereçamento começa com 1 (0x01).

Exemplo para uma consulta dos registros 0 e 1 do slave 11:

Nome do campo

Exemplo

RTU

ASCII

 

Start of frame

-

t1-t2-t3

”:”

0x3a

Slave address

0x0B

0x0B

”0B”

0x30, 0x42

Function code

0x03

0x03

”03”

0x30, 0x33

Starting address high

0x00

0x00

”00”

0x30, 0x30

Starting address low

0x00

0x00

”00”

0x30, 0x30

Number of points high

0x00

0x00

”00”

0x30, 0x30

Number of points low

0x02

0x02

”02”

0x30, 0x32

Error Check (LRC / CRC)

-

0xC4

”F0”

0x46, 0x30

 

 

0xA1

 

 

End of frame

 

t1-t2-t3

-

0xD, 0xA

Tabela 5.34: Exemplo consulta, registro Read Holding

Resposta:

Os dados de registro são condensados como 2 bytes por registro. O primeiro byte contém os bits de valores elevados, o segundo byte os bits de valores baixos. Uma resposta à consulta acima indicada, apresenta-se conforme se segue:

Nome do campo

Exemplo

RTU

ASCII

 

Start of frame

-

t1-t2-t3

”:”

0x3A

Slave address

0x0B

0x0B

”0B”

0x30, 0x42

Function code

0x03

0x03

”03”

0x30, 0x33

Byte Count

0x04

0x04

”04”

0x30, 0x34

Data Hi (Register 0)

0x3F

0x3F

”3F”

0x33, 0x46

Data Lo (Register 0)

0xFB

0xFB

”FB”

0x46, 0x42

Data Hi (Register 1)

0x00

0x00

”00”

0x30, 0x30

Data Lo (Register 1)

0x00

0x00

”00”

0x30, 0x30

Error Check (LRC / CRC)

-

0x2D

”B4”

0x42, 0x34

 

 

0x61

 

 

End of frame

-

t1-t2-t3

-

0xD, 0xA

Tabela 5.35: Exemplo resposta, registro Read Holding

Os conteúdos do registro 0 são indicados por meio de dois valores de byte hexadecimais: 0x3F e 0xFB ou 16379 decimais. Os conteúdos do registro 1 são 0x00 e 0x00 ou 0 decimal.

MODBUS / Configuração

59

01-03-16

 

 

5.3.1.5 Registro Read Input (código de função 0x04)

Esta função serve para ler um número de palavras de entrada (também designado ”registros de entrada”). A difusão não é suportada e o número é limitado em 128 registros em um frame.

 

 

A consulta determina o endereço de partida (registro de partida) e o número dos

Função!

 

registros que devem ser lidos.

 

 

 

 

 

 

O endereçamento começa com 0. Em Modicon o endereçamento começa com 1 (0x01).

 

 

Exemplo para uma consulta dos registros 0 e 1 do slave 11:

 

 

 

 

 

 

 

 

 

 

Nome do campo

Exemplo

RTU

ASCII

 

 

 

 

Start of frame

-

t1-t2-t3

”:”

0x3a

 

 

 

Slave address

0x0B

0x0B

”0B”

0x30, 0x42

 

 

 

Function code

0x03

0x03

”03”

0x30, 0x33

 

 

 

Starting address high

0x00

0x00

”00”

0x30, 0x30

 

 

 

Starting address low

0x00

0x00

”00”

0x30, 0x30

 

 

 

Number of points high

0x00

0x00

”00”

0x30, 0x30

 

 

 

Number of points low

0x02

0x02

”02”

0x30, 0x32

 

 

 

Error Check (LRC / CRC)

-

0xC4

”F0”

0x46, 0x30

 

 

 

 

 

0xA1

 

 

 

 

 

End of frame

 

t1-t2-t3

-

0xD, 0xA

 

Tabela 5.36: Exemplo consulta, registro Read Input

Resposta:

Os dados de registro são condensados como 2 bytes por registro. O primeiro byte contém os bits de valores elevados, o segundo byte os bits de valores baixos. Uma resposta à consulta acima indicada, apresenta-se conforme se segue:

Nome do campo

Exemplo

RTU

ASCII

 

Start of frame

-

t1-t2-t3

”:”

0x3A

Slave address

0x0B

0x0B

”0B”

0x30, 0x42

Function code

0x03

0x03

”03”

0x30, 0x33

Byte Count

0x04

0x04

”04”

0x30, 0x34

Data Hi (Register 0)

0x3F

0x3F

”3F”

0x33, 0x46

Data Lo (Register 0)

0xFB

0xFB

”FB”

0x46, 0x42

Data Hi (Register 1)

0x00

0x00

”00”

0x30, 0x30

Data Lo (Register 1)

0x00

0x00

”00”

0x30, 0x30

Error Check (LRC / CRC)

-

0x2D

”B4”

0x42, 0x34

 

 

0x61

 

 

End of frame

-

t1-t2-t3

-

0xD, 0xA

Tabela 5.37: Exemplo resposta, registro Read Input

Os conteúdos do registro 0 são indicados por meio de dois valores de byte hexadecimais: 0x3F e 0xFB ou 16379 decimais. Os conteúdos do registro 1 são 0x00 e 0x00 ou 0 decimal.

60

MODBUS / Configuração

 

01-03-16

 

5.3.1.6 Force Single Coil (código de função 0x05):

Com a ajuda desta função é escrito um bit de saída individual. Esta função também pode ser enviada como difusão, sendo definido o mesmo bit em todos os slaves. No acoplador/controlador o número dos pontos I/O está limitado em 256.

Enecessesmioque Consulta:

O estado fique ON ou OFF é especificado como constante no campo de dados da consulta. Um valor de 0xFF00 define o bit de saída para 1, um valor de 0x00 para 0. Não estão especificados outros valores e não têm qualquer efeito sobre o estado das saídas. Neste exemplo, o bit 0 no slave 11 é definido para 1:

Nome do campo

Exemplo

RTU

ASCII

 

Start of frame

-

t1-t2-t3

”:”

0x3a

Slave address

0x0B

0x0B

”0B”

0x30, 0x42

Function code

0x05

0x05

”05”

0x30, 0x35

Coil address high

0x00

0x00

”00”

0x30, 0x30

Coil address low

0x00

0x00

”00”

0x30, 0x30

Force data high

0xFF

0xFF

”FF”

0x46, 0x46

Force data low

0x00

0x00

”00”

0x30, 0x30

Error Check (LRC / CRC)

-

0x8C

”F1”

0x46, 0x31

 

 

0x90

 

 

End of frame

 

t1-t2-t3

-

0xD, 0xA

Tabela 5.38: Exemplo consulta, Force Single Coil

Resposta:

A resposta é um eco da consulta. É dada uma resposta se tiver sido definido um bit.

Nome de campo

Exemplo

RTU

ASCII

 

Start of frame

-

t1-t2-t3

”:”

0x3a

Slave address

0x0B

0x0B

”0B”

0x30, 0x42

Function code

0x05

0x05

”05”

0x30, 0x35

Coil address high

0x00

0x00

”00”

0x30, 0x30

Coil address low

0x00

0x00

”00”

0x30, 0x30

Force data high

0xFF

0xFF

”FF”

0x46, 0x46

Force data low

0x00

0x00

”00”

0x30, 0x30

Error Check (LRC / CRC)

-

0x8C

”F1”

0x46, 0x31

 

 

0x90

 

 

End of frame

 

t1-t2-t3

-

0xD, 0xA

Tabela 5.39: Exemplo resposta, Force Single Coil

MODBUS / Configuração

61

01-03-16

 

 

5.3.1.7 Registro Preset Single (Código de função 0x06):

Esta função escreve um valor em uma palavra de saída individual (também designado por ”Registro de saída”). Esta função também pode ser enviada como difusão, sendo definida a mesma palavra de saída em todos os slaves.

Função! Consulta:

O endereçamento começa com 0. Em Modicon o endereçamento começa com 1 (0x01). A consulta determina o endereço da primeira palavra de saída que deve ser definida.

O valor a definir é definido no campo de dados de consulta.

No exemplo o registro 0 é definido no slave 11.

Nome do campo

Exemplo

RTU

ASCII

 

Start of frame

-

t1-t2-t3

”:”

0x3a

Slave address

0x0B

0x0B

”0B”

0x30, 0x42

Function code

0x06

0x06

”06”

0x30, 0x36

Register address high

0x00

0x00

”00”

0x30, 0x30

Register address low

0x00

0x00

”00”

0x30, 0x30

Preset data high

0x12

0x12

”12”

0x31, 0x32

Preset data low

0x34

0x34

”34”

0x33, 0x34

Error Check (LRC / CRC)

-

0x8C

”A9”

0x41, 0x39

 

 

0x17

 

 

End of frame

 

t1-t2-t3

-

0xD, 0xA

Tabela 5.40: Exemplo consulta, registro Preset Single

Resposta:

A resposta é um eco da consulta que é enviada depois de definir os registros.

Nome de campo

Exemplo

RTU

ASCII

 

Start of frame

-

t1-t2-t3

”:”

0x3a

Slave address

0x0B

0x0B

”0B”

0x30, 0x42

Function code

0x06

0x06

”06”

0x30, 0x36

Register address high

0x00

0x00

”00”

0x30, 0x30

Register address low

0x00

0x00

”00”

0x30, 0x30

Preset data high

0x12

0x12

”12”

0x31, 0x32

Preset data low

0x34

0x34

”34”

0x33, 0x34

Error Check (LRC / CRC)

-

0x8C

”A9”

0x41, 0x39

 

 

0x17

 

 

End of frame

 

t1-t2-t3

-

0xD, 0xA

Tabela 5.41: Exemplo resposta, registro Preset Single

62

MODBUS / Configuração

 

01-03-16