node-red-contrib-serial-modbus-energiam 0.2.0
Node-RED node para Modbus RTU sobre RS485 con soporte de control manual de RTS para adaptadores half-duplex que lo requieren
node-red-contrib-serial-modbus-energiam
Nodo de Node-RED para Modbus RTU sobre RS485 (puerto serie), con soporte de control manual de RTS.
Fork de node-red-contrib-serial-modbus (originalmente de IBM Corp., mantenido por tyrrellsystems / leifnel), actualizado y con una opción nueva agregada por EnergIAM.
Por qué este fork
node-red-contrib-modbus (el paquete más popular) y el original
node-red-contrib-serial-modbus no exponen ninguna forma de forzar la línea
RTS del puerto serie. Algunos adaptadores USB-RS485 half-duplex (sin
auto-detección de dirección) necesitan RTS en alto para habilitar su
transmisor — sin esto, el maestro nunca llega a poner nada en el bus físico,
aunque el puerto abra sin error. Esto se confirmó de forma empírica contra
hardware real (adaptador USB-RS485 basado en FTDI) antes de escribir este
nodo.
Cambios respecto al original
- Nueva opción "Forzar RTS" en el nodo de configuración
(
modbusSerialConfig): si está activada, al conectar el puerto se llamaserialPort.set({ rts: true })sobre elSerialPortinterno demodbus-serial. - Dependencias actualizadas (
modbus-seriala la versión actual). - Categoría y color de nodo alineados a la paleta EnergIAM
(
category: 'EnergIAM',color: '#27F555').
Uso
Un nodo de configuración modbusSerialConfig (puerto, baudrate,
data/parity/stop bits, y el checkbox de RTS), y tres nodos de trabajo:
- Modbus-Serial In: sin entrada, poll automático a intervalo fijo (igual que el original).
- Modbus-Serial Out: solo entrada, escribe en cada mensaje recibido (igual que el original).
- Modbus-Serial Request (nuevo): entrada y salida. Cada mensaje que
llega dispara una lectura o escritura puntual — la dirección, function
code y cantidad van en
msg.payload({unitid, fc, address, quantity}para leer, o{unitid, fc, address, value|values}para escribir). Pensado para encadenarinject → Request → debug, otrigger → Request → function → base de datos.
Licencia
Apache-2.0 (heredada del proyecto original — ver LICENSE).