Modbus RTU, direccionamiento y ajustes de comunicación
Referencia traducida seleccionada para la puesta en servicio de los dos módulos. A continuación se enlazan las tablas completas de registros específicas de cada dispositivo.
Protocolo y valores predeterminados
Modbus RTU funciona sobre RS-485. Las operaciones estándar incluyen leer bobinas (0x01), entradas discretas (0x02), registros de mantenimiento (0x03) y registros de entrada (0x04), y escribir una bobina (0x05), un registro de mantenimiento (0x06), varias bobinas (0x0F) o varios registros de mantenimiento (0x10).
Los ajustes serie de fábrica son 9600 bit/s, 8 bits de datos, sin paridad y 2 bits de parada. El firmware actual tolera una diferencia en los bits de parada, aunque sigue siendo recomendable que los ajustes coincidan. Utilice una dirección de dispositivo única de 1 a 247; la dirección de fábrica está impresa en la carcasa.
Detección y cambio de direcciones
Utilice la búsqueda de dispositivos en el bus del controlador para descubrir dispositivos y resolver conflictos de direcciones. Para acceder directamente desde la línea de comandos, detenga los demás programas que utilizan ese puerto serie y vuelva a iniciarlos después.
systemctl stop wb-mqtt-serial modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a1 -t0x06 -r128 12 systemctl start wb-mqtt-serial
Este ejemplo cambia la dirección 1 a 12 escribiendo en el registro de mantenimiento 128. Sustituya el puerto, la dirección y los parámetros serie por los del dispositivo real.
Si se desconoce la dirección, una escritura de difusión mediante la dirección 0 puede asignar una dirección nueva, pero conecte únicamente el dispositivo deseado: todos los dispositivos que reciban la difusión pueden aplicar el cambio. Se espera un tiempo de espera agotado porque las escrituras de difusión no tienen respuesta. Utilice preferentemente el descubrimiento cuando sea posible.
Velocidad en baudios y paridad
El registro de mantenimiento 110 almacena la velocidad en baudios dividida por 100. Para 115200 bit/s, escriba 1152 utilizando los ajustes de comunicación anteriores; después cambie el maestro a la nueva velocidad. El registro 111 establece la paridad (0 sin paridad, 1 impar, 2 par); el registro 112 selecciona 1 o 2 bits de parada.
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a12 -t0x06 -r110 1152
Las velocidades en baudios altas requieren un cableado correcto del bus. Todos los dispositivos de un puerto compartido deben utilizar ajustes compatibles.
Fast Modbus
Fast Modbus añade descubrimiento rápido de dispositivos y consulta de eventos. El maestro activa explícitamente la extensión; los maestros Modbus convencionales siguen siendo compatibles. No todos los registros generan eventos: los que los admiten están marcados con ⚡ en los mapas de registros. La entrega de eventos reduce la latencia cuando muchos dispositivos comparten el bus.