0x03: Ler registro de retenção
0x04: Ler registro de entrada
0x06: Escreva um único registro de retenção
0x10: Escreva vários registros de retenção
Tipo de registro | Registrar endereço | Conteúdo de dados | Número de bytes |
Registro de entrada | 0x0001 | valor da temperatura | 2 |
0x0002 | Valor de umidade | 2 | |
Registros de retenção | 0x0101 | Endereço do dispositivo (1~247) | 2 |
0x0102 | taxa de transmissão 0:9600 1:14400 2:19200 | 2 | |
0x0103 | Valor de correção de temperatura (/10) -10,0~10,0 | 2 | |
0x0104 | Valor de correção de umidade (/10) -10,0~10,0 | 2 |
O host envia um quadro de dados:
Endereço Escravo | código de função | Registrar endereço Byte alto | Registrar endereço Byte baixo | Número de registros Byte alto | Número de registros Byte baixo | CDC Byte alto | CDC Byte baixo |
|
|
|
|
|
|
|
|
Quadro de dados de resposta escravo:
Endereço Escravo | Código de função de resposta | Número de bytes | Registrar 1 dado Byte alto | Registrar 1 dado Byte baixo | Registrar N Dados Byte alto | Registrar N Dados Byte baixo | CDC Byte alto | CDC Byte baixo |
|
|
|
|
|
|
|
|
|
Quadro de comando MODBUS
Endereço Escravo | código de função | Registrar endereço Byte alto | Registrar endereço Byte baixo | Número de registros Byte alto | Número de registros Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x04 | 0x00 | 0x01 | 0x00 | 0x01 | 0x60 | 0x0a |
Quadro de dados de resposta escravo:
Endereço Escravo | código de função | Número de bytes | temperatura Byte alto | temperatura Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x04 | 0x02 | 0x01 | 0x31 | 0x79 | 0x74 |
Valor da temperatura = 0x131, convertido em decimal 305, valor da temperatura real = 305/10 = 30,5 ℃
Nota: A temperatura é um número hexadecimal assinado, valor de temperatura = 0xFF33, convertido em decimal -205, temperatura real = -20,5℃;
Endereço Escravo | código de função | Registrar endereço Byte alto | Registrar endereço Byte baixo | Número de registros Byte alto | Número de registros Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x04 | 0x00 | 0x02 | 0x00 | 0x01 | 0x90 | 0x0A |
Quadro de dados de resposta escravo:
Endereço Escravo | código de função | Número de bytes | umidade Byte alto | umidade Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x04 | 0x02 | 0x02 | 0x22 | 0xD1 | 0xBA |
Valor de umidade = 0x222, convertido para decimal 546, valor de umidade real = 546/10 = 54,6%;
Endereço Escravo | código de função | Registrar endereço Byte alto | Registrar endereço Byte baixo | Número de registros Byte alto | Número de registros Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x04 | 0x00 | 0x01 | 0x00 | 0x02 | 0x20 | 0x0B |
Quadro de dados de resposta escravo:
Endereço Escravo | código de função | Número de bytes | temperatura Byte alto | temperatura Byte baixo | umidade Byte alto | umidade Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x04 | 0x04 | 0x01 | 0x31 | 0x02 | 0x22 | 0x2A | 0xCE |
Veja a leitura do endereço do escravo como exemplo:
Endereço Escravo | código de função | Registrar endereço Byte alto | Registrar endereço Byte baixo | Número de registros Byte alto | Número de registros Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x03 | 0x01 | 0x01 | 0x00 | 0x01 | 0xD4 | 0x36 |
Quadro de resposta escravo:
Endereço Escravo | código de função | Número de bytes | Endereço Escravo Byte alto | Endereço Escravo Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x03 | 0x02 | 0x00 | 0x01 | 0x30 | 0x18 |
Veja a modificação do endereço do escravo como exemplo:
Endereço Escravo | código de função | Registrar endereço Byte alto | Registrar endereço Byte baixo | Registrar Valor Byte alto | Registrar Valor Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x06 | 0x01 | 0x01 | 0x00 | 0x08 | 0xD8 | 0x30 |
Modifique o endereço do escravo: 0x08 = 8
Quadro de resposta escravo (igual ao envio):
Endereço Escravo | código de função | Registrar endereço Byte alto | Registrar endereço Byte baixo | Registrar Valor Byte alto | Registrar Valor Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x06 | 0x01 | 0x01 | 0x00 | 0x08 | 0xD4 | 0x0F |
Endereço Escravo | código de função | endereço inicial Byte alto | endereço inicial Byte baixo | Número de registros Byte alto | Número de registros Byte baixo | Número de bytes | Registrar 1 byte alto | Registrar 1 byte baixo | Registrar 2 bytes altos | Registrar 2 bytes baixos | CDC Byte alto | CDC Byte baixo |
0x01 | 0x10 | 0x01 | 0x01 | 0x00 | 0x02 | 0x04 | 0x00 | 0x20 | 0x25 | 0x80 | 0x25 | 0x09 |
Modifique o endereço do escravo: 0x20 = 32
Taxa de transmissão: 0x2580 = 9600
Quadro de resposta escravo:
Endereço Escravo | código de função | Registrar endereço Byte alto | Registrar endereço Byte baixo | Número de registros Byte alto | Número de registros Byte baixo | CDC Byte alto | CDC Byte baixo |
0x01 | 0x10 | 0x00 | 0x11 | 0x00 | 0x04 | 0xD4 | 0x0F |
Protocolo de versão normal
A taxa de transmissão padrão é 9600 (configurável pelo usuário), dados de 8 bits, parada de 1 bit, sem soma de verificação
Comunicação RS485
Comandos de porta serial | ilustrar |
LER | Acione um relatório de temperatura e umidade (27,4℃, 67,7% Temperatura 27,4℃ Umidade 67,7%) |
AUTO | Habilite relatórios automáticos de temperatura e umidade (O mesmo que acima) |
PARAR | Pare a função automática de relatório de temperatura e umidade |
BR:XXXX | Configurando a taxa de transmissão 9600~19200 (BR:9600 taxa de transmissão é 9600) |
CT:XX.X | Configurando a calibração de temperatura (-10,0~10,0) (TC:02,0 valor de correção de temperatura é 2,0°C) |
HC:XX.X | Configurando a calibração de umidade (-10,0~10,0) (HC:-05.1 valor de correção de umidade é -5.1%) |
Hz:XXX | Defina a taxa de relatório de temperatura e umidade (0,5,1,2,5,10) (HZ:2 taxa de relatório automático 2Hz) |
PARAM | Leia as configurações atuais do sistema
|
Diretiva PARAM:
TC:0.0,HC:0.0,BR:9600,HZ:1 -> Valor de correção de temperatura 0.0 Valor de correção de umidade 0.0 Taxa de transmissão 9600 Taxa de relatório 1Hz
SLAVE_ADD:1 ->endereço do escravo MODBUS 0x01