Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivo:
Comunicar un servidor y un cliente mediante el protocolo Modbus RTU en una red
esclavo/maestro.
Duración:
Ciento veinte (120) minutos.
Materiales y Herramientas:
Navegador Web
Terminal (CMD)
Introducción:
Modbus es un protocolo de comunicación serial que fue desarrollado y publicado por MODICON
en 1979. Modbus es un protocolo de enlace, debido a esto puede implementarse con diversos
tipos de redes físicas donde normalmente cada fabricante suele suministrar un software de
aplicación propio, en la actualidad el protocolo es de acceso libre, lo cual lo ha convertido en un
protocolo ampliamente utilizado, con las siguientes características:
Página 1 | 8
La codificación de datos del protocolo Modbus dentro de la Trama puede hacerse en modo
ASCII o puramente binario, según el estándar RTU (Remote Transmission Unit). En cualquiera
de los dos casos, cada mensaje tiene una trama que contiene cuatro campos principales, según
se muestra en la ilustración.
Página 2 | 8
*Function Code: Se envía el código de función para establecer que se hará con el dato.
*Data: Es el dato que se envía hacia el esclavo o se recibe del esclavo
*Error Check: En esta parte de la trama se obtiene un reconocimiento, para saber si el mensaje fue recibido
Investigación
Pregunta 1: Investigue las primeras 16 funciones más utilizadas en el protocolo Modbus,
indicando su código, función y que tipo de datos manipula.
Haga clic o pulse aquí para escribir texto.
Pregunta 2: Investigue cuáles son los 4 segmentos de memoria Modbus, indique los
rangos de memoria, el tipo de dato y el nivel de acceso a dichos segmentos de memoria.
Haga clic o pulse aquí para escribir texto.
Procedimiento
Luego de la instalación cierre el proceso de Node-red desde el terminal (CTRL+C), vuelva a iniciarlo y
refresque la página del navegador.
Página 3 | 8
e) Hacer el Deploy y mostrar el resultado, basado en la descripción de Node-red, ¿qué
representa cada uno de esos arreglos?
Haga clic o pulse aquí para escribir texto.
Captura del debug con los arreglos del nodo Modbus Server
Paso 2: Envío y recepción de datos individuales a través de Modbus
a) Agregar el siguiente conjunto de nodos, para enviar y obtener valores mediante el protocolo
Modbus.
b) Colocar las funciones para enviar a los nodos Getter y Write respectivamente.
Página 4 | 8
msg.payload = { msg.payload = {
'fc': 3, value: msg.payload,
'unitid': 1, 'fc': 6,
'address': 0 , 'unitid': 1,
'quantity': 1 'address': 0 ,
} 'quantity': 1
}
return msg; return msg;
c) En los nodos Getter y Write, establecer la conexión al nodo Modbus Server a través de la
dirección localhost (127.0.0.1) y el puerto 10502.
d) Modificar el primer nodo inject (Getter) para que se active cada segundo.
e) Modificar el segundo nodo inject (Write) para que envíe un número (0-65535) cuando se lo
presione.
Captura del debug con los arreglos modificados del nodo Modbus Server
Captura del área de trabajo con el dato recibido en el nodo Modbus Response
f) Modificar las funciones para que tanto el nodo Getter como el nodo Write, trabajen con datos
binarios (coils).
Haga clic o pulse aquí para escribir texto.
Código para la función que se conecta con el nodo Getter
Haga clic o pulse aquí para escribir texto.
Código para la función que se conecta con el nodo Write
Página 5 | 8
Captura del debug con los arreglos modificados del nodo Modbus Server
Captura del área de trabajo con el dato recibido en el nodo Modbus Response
Paso 3: Envío y recepción de datos múltiples a través de Modbus
a) Modificar las funciones para enviar a los nodos Getter y Write respectivamente.
msg.payload = { msg.payload = {
'fc': 3, value: msg.payload,
'unitid': 1, 'fc': 16,
'address': 0 , 'unitid': 1,
'quantity': 3 'address': 0 ,
} 'quantity': 3
}
return msg; return msg;
b) Colocar un nodo join entre el nodo inject y el nodo function que está conectado al nodo
Write.
c) Configurar el nodo join de la siguiente manera:
Página 6 | 8
Puede conectar más injects al nodo join para crear el arreglo con números diferentes.
Captura del área de trabajo con los datos recibidos en el nodo Modbus Response
d) Instalar un módulo para trabajar con números aleatorios en Node-red.
e) Implementar el nodo que genera valores aleatorios entre 0 y 65535 automáticamente cada
segundo para generar el arreglo de envío.
Haga clic o pulse aquí para escribir texto.
Nombre del módulo instalado
Página 7 | 8
Captura del área de trabajo con los datos recibidos en el nodo Modbus Response
Página 8 | 8