10. Comunicación RS485 Protocolo Modbus
10.1
Hardaware y formato de datos
Interface:
RS485
Baud rate:
9600 (velocidad)
Formato:
RTU 8N1
Check:
CRC16 polinomial A001
10.2
Address Dirección del dispositivo en una red RS485. De fábrica está configurado en "01"
La dirección del transmisor puede configurarse desde 01 a 127. Esta dirección (address) se
puede cambiar en el submenú 4.0 Servicio 4.6 HART trabajando en modo "Multidrop Mode"
Reglas de cálculo del código CRC:
a) El registro preestablecido de 16 bits es FFFF hexadecimal (todo 1), este registro es el CRC.
b) Or-Exclusiva de los primeros 8 bits de datos y el bit bajo del registro CRC de 16 bits, coloca
los resultados en el registro CRC.
c) Comprobar si el bit más bajo es 0 ó 1.
- Si es 0, mover el contenido del registro a la derecha un bit (hacia abajo), usar 0 para
completar el bit más alto.
- Si es 1, mover el contenido del registro a la derecha un bit (hacia abajo), usar 0 para
completar el bit más alto.
- Entonces CRC registra XOR con el polinomio A001 (1010 0000 0000 0001).
d) Repetir el paso c) hasta que se mueva a la derecha 8 veces, para que todos los bits de la
palabra de 8 bits se procesen por completo.
e) Repetir los pasos b) a d), para el procesamiento de datos de los próximos 8 bits.
f) El último registro de CRC es el código de CRC, cuando se colocan los resultados de CRC en el
marco de información, el intercambio de bits alto y bajo, bajo en el formato.
10.3
Códigos de función
Están definidos de la siguiente manera:
medida de distancia, unidad cm (solo lectura)
0x0000
medida de distancia, unidad mm (solo lectura)
0x0001
medida de nivel, unidad cm (solo lectura)
0x0002
medida de nivel, unidad mm (solo lectura)
0x0003
0x0004
estado de medición (solo lectura); fuerza de señal en hexadecimal (dB)
rango, unidad cm (lectura y escritura)
0x0005
zona ciega, unidad cm (lectura y escritura)
0x0006
ajuste del bit bajo, unidad cm (lectura y escritura)
0x0007
ajuste del bit alto, unidad cm (lectura y escritura)
0x0008
El código 03 permite leer los registros anteriores por separado o en general
El código 06 permite modificar por encima de 0x0005 ~ 0x0008 registros por separado
(Sólo si la opción está habilitada)
33