PROTOCOLO DE COMUNICACIONES DEL REG FILTER
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.
88