PROTOCOLO DE COMUNICACIONES DEL REG REINTAIR
El protocolo empleado es MODBUS modo RTU con las siguientes características:
RS-485 (2 wire). Número máximo de elementos en el bus: 32 (1 maestro + 31 esclavos).
- Velocidad de comunicación: 9600 baudios.
- Formato de datos:
- 8 bits.
- Sin paridad.
- 1 bit de stop.
- Registros de 16 bits (2 bytes).
Formato de variables: High Word First [H/L].
- CRC según polinomio x16 + x15 + x2 + 1.
Nota: Es recomendable realizar reintentos en las comunicaciones. Timeout: 1seg.
Nota: Mínimo tiempo Wait To Send recomendado: 100ms.
LECTURA DE REGISTROS
Para la lectura de registros es posible utilizar los códigos de comando 3 ó 4 con la siguiente estructura de mensaje:
Nº esclavo (1 byte) – Código (03 ó 04) (1 byte) – Dirección del 1er registro a leer (00-XX) (2 bytes) – Nº de registros a leer (00-YY) (2 bytes) – CRC16 (2 bytes)
Nº máximo de registros a leer en el mismo mensaje = 55 (del registro 0 al registro 54)
La contestación del regulador tiene la siguiente estructura de mensaje:
Nº esclavo (1 byte) – Código (03 ó 04) (1 byte) – Nº de bytes de datos (XX) (1 byte) – Datos (AA-BB-CC-DD...) (2 bytes para cada registro) – CRC16 (2 bytes) Nº de
bytes de datos = 2 * Nº de registros a leer
ESCRITURA DE REGISTROS
Para la escritura de registros se utiliza el código de comando 6 con la siguiente estructura de mensaje:
Nº esclavo (1 byte) – Código (06) (1 byte) – Dirección del registro a escribir (00-XX) (2 bytes) – Dato a escribir en el registro (AA-BB) (2 bytes) – CRC16 (2 bytes)
La contestación del regulador tiene la siguiente estructura de mensaje:
Nº esclavo (1 byte) – Código (06) (1 byte) – Dirección del registro escrito (00-XX) (2 bytes) – Dato escrito en el registro (AA-BB) (2 bytes) – CRC16 (2 bytes)
ERRORES
Si se utiliza un código diferente al de lectura o escritura indicado, la respuesta que se recibe es:
Nº esclavo – Código OR 80Hex – Código de error (1) – CRC16 (2 bytes)
Si se intenta acceder en lectura o escritura a un registro con una dirección inexistente, la respuesta que se recibe es:
Nº esclavo – Código OR 80Hex – Código de error (2) – CRC16 (2 bytes)
Si se intenta escribir en un registro de sólo lectura o se intenta escribir un valor ilegal en un registro, la respuesta que se recibe es:
Nº esclavo – Código OR 80Hex – Código de error (3) – CRC16 (2 bytes)
MAPA DE REGISTROS
Los bits no utilizados de los siguientes registros son 0.
Nota: En algunos programas de comunicaciones la primera dirección de palabra es configurada como 400001, con lo que el registro 0 del regula-
dor corresponde a la dirección de palabra 400001. En resumen, la dirección de palabra a la que corresponde cada registro del regulador se calcula
sumando 1 al número de registro del mapa de registros descrito a continuación.
Registro ID del dispositivo
Registro 0: 143 [sólo lectura].
- El regulador siempre responde 143 como punto de centinela en binario de 16 bits.
Registros lectura/escritura
Registro 1: Dirección de comunicaciones [lectura/escritura].
- El valor que se envía es el valor de la dirección (1 a 240) en binario de 16 bits.
Valor por defecto: 1 [1].
Si el regulador está conectado a una red de comunicaciones serie, no es posible configurar ningún equipo de la red en la dirección 245, ya que el
regulador también responde a esa dirección.
DIRECCIÓN DE BROADCAST: Dirección 250 (el regulador recibe la comunicación, pero no responde). Todos los registros de escritura son
broadcast.
CV05_2020-Rev.01
10