Skip to main content

Puerto RS485 de reTerminal DM con Node-RED

Información breve sobre RS485, Modbus, Modbus RTU y el Nodo Modbus de Node-RED

pir


RS485

RS485 son protocolos de comunicación serie utilizados para transmitir datos entre dispositivos. RS485 es un estándar para la transmisión de comunicación serie de datos, 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 proporciona mejor inmunidad al ruido y permite longitudes de cable más largas de hasta 4,000 pies. La velocidad máxima de datos para RS485 es típicamente mayor que RS232, 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 comunicación de larga distancia entre múltiples dispositivos, como en sistemas de control industrial.

Modbus RTU

Modbus RTU es un protocolo de comunicación industrial popular utilizado para el intercambio de datos entre dispositivos en un sistema de control supervisorio 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 Modbus RTU consisten en 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 asegurar la integridad del mensaje. Modbus RTU soporta una variedad de tipos de datos, incluyendo binario, entero, punto flotante y cadena. También soporta un rango de códigos de función que permiten diferentes tipos de acceso a datos, como leer registros de retención, escribir bobina única 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 muy 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 monitorear y controlar iluminación, HVAC y otros sistemas de edificios.

  • Sistemas de gestión de energía: Modbus RTU puede utilizarse para monitorear y controlar el consumo de energía en edificios comerciales e industriales.

  • Manufactura y control de procesos: Modbus RTU se utiliza a menudo para monitorear y controlar procesos de manufactura, como líneas de ensamblaje, sistemas de transportadores y máquinas empacadoras.

  • Tratamiento de agua y aguas residuales: Modbus RTU se utiliza para monitorear y controlar la operación de bombas, válvulas y otros equipos en instalaciones 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 monitorear y controlar bombas, compresores y otros equipos.

  • Sistemas de energía renovable: Modbus RTU puede utilizarse para monitorear y controlar paneles solares, turbinas eólicas y otros sistemas de energía renovable.

  • Sistemas de transporte: Modbus RTU se utiliza para monitorear y controlar semáforos, 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 tiene un nodo Modbus incorporado, 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 puede utilizarse para leer y escribir datos desde dispositivos Modbus.

Para usar el nodo Modbus en Node-RED, simplemente puedes arrastrarlo y soltarlo en el lienzo y configurarlo con las configuraciones Modbus apropiadas, como la dirección del dispositivo, código de función y tipo de datos. Una vez configurado, el nodo Modbus puede conectarse a otros nodos en el flujo de trabajo para procesar y mostrar los datos.

Node-RED también tiene un rango de otros nodos y plugins que pueden utilizarse para extender su funcionalidad e integrar con otros sistemas y dispositivos. Por ejemplo, hay nodos para MQTT, HTTP y otros protocolos de comunicación, así como nodos para procesamiento de datos, visualización y almacenamiento.

En general, Node-RED proporciona una plataforma poderosa y flexible para construir aplicaciones de IoT y automatización industrial, y su nodo Modbus incorporado hace fácil integrar dispositivos Modbus en estos flujos de trabajo.

Comenzando con el Nodo Modbus en reTerminal DM

Puedes encontrar más información en la página de Modbus Node-RED.

Si estás usando Senscraft Edge OS puedes omitir los pasos de instalación del nodo modbus e ir a cómo usar el Nodo Modbus con reTerminal DM

Instalar el Nodo Modbus

En esta sección vamos a instalar el nodo node-red-contrib-modbus, así que por favor revisa cómo instalar nodos.

Opción 1: Línea de comandos

Primero que todo, por favor procede a refrescar tu conocimiento sobre acceder al reTerminal DM vía SSH, por favor revisa los pasos aquí

Una vez que hayas accedido al reTerminal DM con SSH puedes proceder a los pasos siguientes:

PASO 1: Por favor ve a la carpeta de Node-RED


cd .node-red/

PASO 2: Instalar el Nodo Modbus


npm install node-red-contrib-modbus

PASO 3: Una vez que el nodo se instale, por favor reinicia el servicio Node-RED con:


node-red-restart

Opción 2: Editor de Node-RED

PASO 1: Haz clic en el botón Settings con el icono de "tres rayas" ubicado en la esquina derecha y luego selecciona Manage palette

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

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

PASO 4: haz clic en el botón 'Install` de la ventana de advertencia desplegable para confirmar la instalación

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

PASO 6: deberías ver los nodos Modbus en la barra lateral

Cómo usar el nodo Modbus con reTerminal DM

Prerrequisitos

Hardware

  • 1 x Adaptador USB a RS485/RS232
  • 6 x Cables
  • 1 x reTerminal DM
  • 1 x Computadora anfitriona

Software

  • Herramienta GUI de comunicación MODBUS como ModbusMechanic instalada en tu máquina anfitriona

Preparación

PASO 1: Por favor conecta el hardware como se muestra a continuación

PASO 2: Instala ModbusMechanic si quieres seguir los pasos exactos a continuación.

PASO 2-1: Descarga el archivo de lanzamiento de ModbusMechanic release

note

Al momento de preparar este wiki, la última versión de lanzamiento de ModbusMechanic es la v2.7.

PASO 2-2: descomprime el archivo de lanzamiento y ejecuta el archivo ejecutable java ModbusMechanic.jar usando el siguiente comando en linux:


java -jar ModbusMechanic.jar

PASO 2-3: Por favor configure el Puerto de Configuración Serial para ModbusMechanic como se muestra a continuación

PASO 3: Configurar Simulador Esclavo

PASO 3-1: Abra el Simulador Esclavo desde las Herramientas de ModbusMechanic

PASO 3-2: Luego seleccione RTU desde la ventana emergente1 Mbit

PASO 3-4-2: Ingrese 1 como el Número de registro

PASO 3-4-3: Seleccione U int 16 como el Tipo de datos

PASO 3-4-4: Ingrese 120 como el Valor

PASO 3-4-5: marque el Intercambio de Palabras

PASO 3-4-6: haga clic en Agregar para confirmar

PASO 3-5: debería tener configuraciones similares como se muestra en la imagen a continuación

PASO 3-6: repita los PASOS 4-4 para agregar dos Registros más como se muestra a continuación, donde Registro 2 con Valor de 12 y Registro 3 con Valor de 1

Editar los Flujos

PASO 1: Arrastre Modbus Read al panel del Editor de Flujos

PASO 2: Configurar el Servidor Modbus

PASO 2-1: Haga doble clic en Modbus Read para abrir el panel del editor de nodos

PASO 2-2: Haga clic en el icono de lápiz para la opción de configuración del servidor

Una vez que haya hecho clic en el icono de lápiz debería ver el panel de configuración Agregar nuevo nodo de configuración modbus-client

PASO 2-3: Por favor siga cuidadosamente los pasos a continuación para configurar el puerto Modbus como se muestra en la imagen a continuación.

PASO 2-3-1: establezca el tipo a Serial Expert desde la lista desplegable

PASO 2-3-2: seleccione el puerto Serial /dev/ttyCH343USB1

PASO 2-3-3: configure las opciones del puerto serial como se muestra en la imagen a continuación

PASO 2-3-4: configure la opción adicional del puerto del servidor Modbus como se muestra en la imagen a continuación

PASO 2-3-5: Haga clic en Agregar o Actualizar para aplicar los cambios.

PASO 3: Configure el Nodo Modbus-Read como se muestra en la imagen a continuación y haga clic en Listo

note

Los siguientes pasos son solo un ejemplo; puedes cambiar la configuración según tu propia situación.

PASO 4: Encuentra y arrastra el nodo debug y el nodo Response de Modbus y conecta los nodos juntos como se muestra a continuación

Resultado Final

Felicitaciones, has experimentado y aprendido exitosamente cómo usar Modbus con reTerminal DM con node-RED ahora, tus resultados finales deberían ser similares a la imagen mostrada a continuación

Puedes copiar el siguiente 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 en reTerminal DM con node-RED

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...