Puerto RS485 de reTerminal DM con Node-RED
Breve información sobre RS485, Modbus, Modbus RTU y el Nodo Modbus de Node-RED
RS485
RS485 es un protocolo de comunicación serie utilizado para transmitir datos entre dispositivos. RS485 es un estándar para la transmisión de datos en comunicación serie, que se utiliza comúnmente en aplicaciones industriales. Utiliza una señal diferencial, lo que significa que hay dos líneas de datos (A y B) y una línea de tierra (GND) para la comunicación. Esta señal diferencial ofrece una mejor inmunidad al ruido y permite longitudes de cable de hasta 4,000 pies. La tasa máxima de transmisión de datos para RS485 es típicamente mayor que la de RS232, llegando hasta 10 Mbps. RS485 está diseñado para comunicación multipunto. Esto significa que RS485 puede transmitir datos entre múltiples dispositivos en el mismo bus. En resumen, RS485 se utiliza comúnmente para comunicaciones de larga distancia entre múltiples dispositivos, como en sistemas de control industrial.
Modbus RTU
Modbus RTU es un popular protocolo de comunicación industrial utilizado para el intercambio de datos entre dispositivos en un sistema de supervisión y adquisición de datos (SCADA). Es un protocolo de comunicación serie que opera sobre los estándares de bus RS485 o RS232. Modbus RTU utiliza una arquitectura maestro-esclavo, donde un dispositivo maestro inicia la comunicación con uno o más dispositivos esclavos. El maestro envía un mensaje de solicitud a un dispositivo esclavo, que luego responde con un mensaje que contiene los datos solicitados. Los mensajes de Modbus RTU constan de un encabezado, datos y un campo de verificación de errores. El encabezado contiene información sobre el mensaje, como la dirección del esclavo y el código de función. El campo de datos contiene los datos reales que se están transmitiendo. El campo de verificación de errores se utiliza para garantizar la integridad del mensaje. Modbus RTU soporta una variedad de tipos de datos, incluyendo binario, entero, punto flotante y cadena. Además, soporta una gama de códigos de función que permiten diferentes tipos de acceso a datos, tales como leer registros de retención, escribir en una única bobina y leer registros de entrada. Una de las ventajas de Modbus RTU es su simplicidad y facilidad de implementación. Es ampliamente soportado por una variedad de dispositivos y software, lo que lo convierte en una opción popular para sistemas de automatización y control industrial. También es adecuado para aplicaciones que requieren intercambio de datos en tiempo real y comunicación de baja latencia.
Modbus RTU es un protocolo de comunicación popular utilizado en una variedad de aplicaciones industriales, tales como:
- Sistemas de automatización y control de edificios: Modbus RTU se utiliza comúnmente para monitorizar y controlar la iluminación, HVAC y otros sistemas de edificios.
- Sistemas de gestión energética: Modbus RTU puede utilizarse para monitorizar y controlar el consumo de energía en edificios comerciales e industriales.
- Manufactura y control de procesos: Modbus RTU se usa frecuentemente para monitorizar y controlar procesos de fabricación, tales como líneas de ensamblaje, sistemas de transporte y máquinas de envasado.
- Tratamiento de agua y aguas residuales: Modbus RTU se utiliza para monitorizar y controlar la operación de bombas, válvulas y otros equipos en plantas de tratamiento de agua y aguas residuales.
- Producción de petróleo y gas: Modbus RTU se utiliza en instalaciones de producción de petróleo y gas para monitorizar y controlar bombas, compresores y otros equipos.
- Sistemas de energía renovable: Modbus RTU puede emplearse para monitorizar y controlar paneles solares, aerogeneradores y otros sistemas de energía renovable.
- Sistemas de transporte: Modbus RTU se usa para monitorizar y controlar señales de tráfico, iluminación y otros equipos en sistemas de transporte.
En general, cualquier aplicación que requiera intercambio de datos en tiempo real y comunicación de baja latencia en un entorno industrial puede beneficiarse del uso de Modbus RTU.
Nodo Modbus
Node-RED cuenta con un nodo Modbus integrado, que permite a los usuarios integrar fácilmente dispositivos Modbus en sus flujos de trabajo de Node-RED. El nodo Modbus soporta tanto los protocolos Modbus TCP como Modbus RTU, y se puede usar para leer y escribir datos en dispositivos Modbus.
Para utilizar el nodo Modbus en Node-RED, simplemente arrastra y suelta el nodo en el lienzo y configúralo con los ajustes Modbus correspondientes, como la dirección del dispositivo, el código de función y el tipo de dato. Una vez configurado, el nodo Modbus se puede conectar a otros nodos en el flujo de trabajo para procesar y mostrar los datos.
Node-RED también cuenta con una variedad de otros nodos y plugins que se pueden utilizar para ampliar su funcionalidad e integrarse con otros sistemas y dispositivos. Por ejemplo, existen nodos para MQTT, HTTP y otros protocolos de comunicación, así como nodos para procesamiento, visualización y almacenamiento de datos.
En general, Node-RED proporciona una plataforma poderosa y flexible para construir aplicaciones de IoT y automatización industrial, y su nodo Modbus integrado facilita la integración de dispositivos Modbus en estos flujos de trabajo.
Empezando con el Nodo Modbus en reTerminal DM
Puedes encontrar más información en la página de Nodo Modbus de Node-RED.
Si estás usando Senscraft Edge OS, puedes omitir los pasos de instalación del nodo Modbus y dirigirte a la sección cómo utilizar el Nodo Modbus con reTerminal DM
Instalar el Nodo Modbus
En esta sección vamos a instalar el nodo node-red-contrib-modbus
, por lo que, por favor, revisa cómo instalar nodos.
Opción 1: Línea de comandos
Primero que nada, por favor, refresca tus conocimientos sobre cómo acceder a reTerminal DM mediante SSH, por favor revisa los pasos aquí.
Una vez que tengas acceso a reTerminal DM con SSH, puedes proceder a los siguientes pasos:
STEP 1: Por favor, ve a la carpeta de Node-RED

cd .node-red/
STEP 2: Instala el Nodo Modbus

npm install node-red-contrib-modbus
STEP 3: Una vez instalado el nodo, por favor, reinicia el servicio de Node-RED con:

node-red-restart
Opción 2: Editor de Node-RED
STEP 1: Haz clic en el botón Settings
con el ícono de "tres rayas" ubicado en la esquina derecha y luego selecciona Manage palette

STEP 2: En la pestaña de paleta, haz clic en la pestaña Install

STEP 3: Busca el nodo en la barra de búsqueda de nodos y haz clic en el botón install
para instalar

STEP 4: Haz clic en el botón Install
del menú desplegable de advertencia para confirmar la instalación

STEP 5: Espera a que la instalación se complete y deberías ver que el botón install
cambia a installed


STEP 6: Deberías ver los nodos Modbus en la barra lateral

Cómo utilizar el Nodo Modbus con reTerminal DM
Requisitos previos
Hardware
- 1 x Adaptador USB a RS485/RS232
- 6 x Cables
- 1 x reTerminal DM
- 1 x Computadora Host
Software
- Herramienta GUI para comunicación MODBUS, tal como
ModbusMechanic
instalada en tu máquina host

Preparación
STEP 1: Por favor, conecta el Hardware como se muestra a continuación

STEP 2: Instala ModbusMechanic
si deseas seguir los pasos exactos a continuación.
STEP 2-1: Descarga el archivo de la versión de ModbusMechanic release
En el momento en que preparamos este wiki, la última versión de ModbusMechanic
es la v2.7.
STEP 2-2: Descomprime el archivo de la versión y ejecuta el archivo ejecutable java ModbusMechanic.jar
usando el siguiente comando en Linux:
java -jar ModbusMechanic.jar

STEP 2-3: Por favor, configura los Ajustes del Puerto Serial
para ModbusMechanic
tal como se muestra a continuación

STEP 3: Configurar el Simulador de Esclavo
STEP 3-1: Abre el Simulador de Esclavo
desde las herramientas de ModbusMechanic

STEP 3-2: Luego, selecciona RTU
desde el popup1 Mbit
STEP 3-4-2: Ingresa 1
como el Número de Registro
STEP 3-4-3: Selecciona U int 16
como el Tipo de dato
STEP 3-4-4: Ingresa 120
como el Valor
STEP 3-4-5: Activa la opción Intercambio de palabras
STEP 3-4-6: Haz clic en Agregar
para confirmar

STEP 3-5: Deberías tener una configuración similar a la imagen a continuación

STEP 3-6: Repite los PASOS 4-4 para agregar dos Registros más, como se muestra a continuación, donde el Registro 2
tendrá un Valor de 12
y el Registro 3
tendrá un Valor de 1

Editar los Flujos
STEP 1: Arrastra el nodo Modbus Read
al panel del Editor de Flujos

STEP 2: Configura el Servidor Modbus
STEP 2-1: Haz doble clic en el nodo Modbus Read
para abrir el panel del Editor de Nodos

STEP 2-2: Haz clic en el ícono de lápiz
para la opción de configuración del servidor

Una vez que hagas clic en el ícono de lápiz
, deberías ver el panel de configuración Agregar nuevo nodo de configuración modbus-client

STEP 2-3: Por favor, sigue cuidadosamente los pasos a continuación para configurar el puerto Modbus como se muestra en la imagen siguiente.
STEP 2-3-1: Establece el tipo como Serial Expert desde la lista desplegable
STEP 2-3-2: Selecciona el Puerto Serial /dev/ttyCH343USB1
STEP 2-3-3: Configura las opciones del puerto serial como se muestra en la imagen siguiente
STEP 2-3-4: Configura la opción extra del puerto del servidor Modbus como se muestra en la imagen siguiente
STEP 2-3-5: Haz clic en Add
o Update
para aplicar los cambios.

STEP 3: Configura el nodo Modbus-Read como se muestra en la imagen siguiente y haz clic en Done
Los siguientes pasos son solo ejemplos; puedes cambiar la configuración de acuerdo a tu propia situación.

STEP 4: Busca y arrastra el debug node
y el Modbus Response node
y conecta los nodos como se muestra a continuación

Resultado Final
Felicidades, ahora has experimentado y aprendido con éxito cómo utilizar Modbus con reTerminal DM y Node-RED. Tu resultado final debería ser similar a la imagen que se muestra a continuación

Puedes copiar este código JSON para importar los nodos:
[
{
"id": "0692ee641d6fffbc",
"type": "tab",
"label": "Flow 1",
"disabled": false,
"info": "",
"env": []
},
{
"id": "d16d0d962267f762",
"type": "modbus-client",
"name": "",
"clienttype": "serial",
"bufferCommands": true,
"stateLogEnabled": false,
"queueLogEnabled": false,
"failureLogEnabled": true,
"tcpHost": "127.0.0.1",
"tcpPort": "502",
"tcpType": "DEFAULT",
"serialPort": "/dev/ttyACM1",
"serialType": "RTU",
"serialBaudrate": "9600",
"serialDatabits": "8",
"serialStopbits": "1",
"serialParity": "none",
"serialConnectionDelay": "100",
"serialAsciiResponseStartDelimiter": "0x3A",
"unit_id": "1",
"commandDelay": "1",
"clientTimeout": "1000",
"reconnectOnTimeout": true,
"reconnectTimeout": "2000",
"parallelUnitIdsAllowed": true,
"showWarnings": true,
"showLogs": true
},
{
"id": "aef2687aed916539",
"type": "modbus-read",
"z": "0692ee641d6fffbc",
"name": "",
"topic": "1",
"showStatusActivities": true,
"logIOActivities": false,
"showErrors": true,
"showWarnings": true,
"unitid": "1",
"dataType": "InputRegister",
"adr": "1",
"quantity": "3",
"rate": "500",
"rateUnit": "ms",
"delayOnStart": false,
"startDelayTime": "",
"server": "d16d0d962267f762",
"useIOFile": false,
"ioFile": "",
"useIOForPayload": false,
"emptyMsgOnFail": true,
"x": 250,
"y": 300,
"wires": [
[
"c17ac94368fd6df1"
],
[
"409e4a77818587d8"
]
]
},
{
"id": "c17ac94368fd6df1",
"type": "debug",
"z": "0692ee641d6fffbc",
"name": "debug 1",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 560,
"y": 240,
"wires": []
},
{
"id": "409e4a77818587d8",
"type": "modbus-response",
"z": "0692ee641d6fffbc",
"name": "",
"registerShowMax": 20,
"x": 530,
"y": 380,
"wires": []
}
]
Explora más nodos para reTerminal DM con node-RED
Soporte Técnico y Discusión de Producto
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte soporte a través de diversos canales y asegurarnos de que tu experiencia sea lo más fluida posible. Ofrecemos varias vías de comunicación para adaptarnos a diferentes preferencias y necesidades.