MODBUS TD-500

From Base de datos Escort

Descripción de los registros Modbus ТD-500

Características del puerto

Baud rate: 19200 kbps

Data size: 8

Stop-bits: 1

Parity: None

Estructura de solicitud y respuesta

SOLICITUD:

  •        (u8) Dirección de red
  •        (u8) 0х03 -->Comando de lectura
  •        (u8) Byte final de registro lectura (valor ignorado)
  •        (u8) Byte inicial de registro lectura (valor ignorado)
  •        (u8) Byte final de cantidad -|-|-|-|
  •        (u8) Byte inicial de cantidad -|-|-|-|
  •        (u8) CRC16 - byte final
  •        (u8) CRC16 - byte inicial

RESPUESTA:

  •        (u8) Dirección de red
  •        (u8) Aprobación de comando (siempre 0х03)
  •        (u8) Cantidad de bytes descargados (siempre 8)
  • s8    (s8) Temperatura
  •        (u8) Byte inicial de nivel
  •        (u8) Byte final de nivel
  •        (u8) Siempre 0
  •        (u8) Siempre 0
  •        (u8) Siempre 0
  •        (u8) Siempre 0
  •        (u8) Siempre 0
  •        (u8) Byte final CRC16
  •        (u8) Byte inicial CRC16

s8 significa que el valor es entero con signo, u8 es un valor entero sin signo

Direcciones numeradas de los bytes de respuesta:

Número de byte Número de byte a partir de 0 Valor
1 0 Temperatura
2 1 Byte inicial de nivel
3 2 Byte final de nivel
4 3 Siempre 0
5 4 Siempre 0
6 5 Siempre 0
7 6 Siempre 0
8 7 Siempre 0

Baudrate no cambia

19200, 8, n, 1

Cantidad de los bits en un paquete es 12x8, es decir aprox 96

En la solicitud no son importantes la dirección de red ni cantidad de los registros solicitados. Es importante que la suma de comprobación sea calculada correctamente.

Ejemplo de sondear TD-500 en programa Terminal

$01$03$00$00$00$04$44$09 Comando para sondear el sensor mediante el protocolo Modbus RTU

  • 01 es la dirección de red del sensor
  • 03 es el comando para leer registros
  • 00 00 es el registro con el que empieza la solicitud de datos
  • 00 04 es la cantidad de los registros solicitados
  • 44 09 es la suma de comprobación CRC-16 MODBUS

Si se introduce una dirección de red diferente, es necesario recalcular la suma de comprobación. No obstante, esto no tiene sentido ya que el sensor responde a cualquiera dirección de red.

Calcular la suma de comprobación

Para calcular la suma de compobación puede ir al sitio web https://crccalc.com, introducir su solicitud sin el símbolo $, elegir HEX, CRC-16 Modbus y hacer click en Calc CRC-16.

Calculación de la suma de comprobación en crccalc

El valor calculado debe ser añadido al comando final. Tenga en cuenta que el valor 0C 44 obtenido después de calculación se añade al comando como 44 0C.

Respuesta del sensor:

01 03 08 14 04 67 00 00 00 00 00 D8 FF

  • 01 es la dirección de red
  • 03 es el comando al que sensor responde
  • 08 es la cantidad de los bytes en respuesta
  • 14 es la temperatura en HEX (20°C en decimal)
  • 04 67 son los bytes de nivel; Big Endian HEX (orden normal) (1127 unidades convencionales en decimal)
  • 00 00 00 00 00 es la reserva de 5 bytes que no se utiliza
  • D8 FF es la suma de comprobación CRC-16 Modbus; Little Endian HEX (orden inverso, es decir FF D8)