Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LABORATORIO 08:
REGISTRO DE DATOS EN PROTOCOLO MODBUS RTU
1. OBJETIVO
2. FUNDAMENTO TEORICO
Protocolo Modbus
Visión General
Modbus es un protocolo industrial que fue desarrollado en 1979 para hacer
posible la comunicación entre dispositivos de automatización. Originalmente
implementado como un protocolo al nivel de la aplicación con la finalidad de
transferir datos por una capa serial, Modbus se ha expandido para incluir
implementaciones a través de protocolo serial, TCP/IP y el User Datagram
Protocol (UDP). Este documento ofrece una perspectiva detallada de la
implementación del protocolo.
1. ¿Qué es el Protocolo Modbus?
Modbus es un protocolo de solicitud-respuesta implementado usando una
relación maestro-esclavo. En una relación maestro-esclavo, la comunicación
siempre se produce en pares, un dispositivo debe iniciar una solicitud y luego
esperar una respuesta y el dispositivo de inicio (el maestro) es responsable de
iniciar cada interacción. Por lo general, el maestro es una interfaz humano-
máquina (HMI) o sistema SCADA y el esclavo es un sensor, controlador lógico
programable (PLC) o controlador de automatización programable (PAC). El
contenido de estas solicitudes y respuestas, y las capas de la red a través de
las cuales se envían estos mensajes, son definidas por las diferentes capas del
protocolo.
acceso directo a estos datos, los cuales son alojados localmente en los
dispositivos. Los datos disponibles por medio de Modbus generalmente son un
subconjunto de la memoria principal del dispositivo. En contraste, los maestros
Modbus deben solicitar el acceso a estos datos a través de diversos códigos de
función. El comportamiento de cada bloque se describe en la Tabla 1.
Existen bobinas con un prefijo 0. Esto significa que una referencia de 4001
podría referirse al registro de retención uno o bobina de 4001. Por esta razón,
se recomienda que todas las nuevas implementaciones usen dirección de 6
dígitos con ceros a la izquierda y se especifique esto en la documentación. Por
lo tanto, el registro de retención uno es referenciado como 400,001 y la bobina
de 4001 es referenciada como 004,001.
Existen bobinas con un prefijo 0. Esto significa que una referencia de 4001
podría referirse al registro de retención uno o bobina de 4001. Por esta razón,
se recomienda que todas las nuevas implementaciones usen dirección de 6
dígitos con ceros a la izquierda y se especifique esto en la documentación. Por
lo tanto, el registro de retención uno es referenciado como 400,001 y la bobina
de 4001 es referenciada como 004,001.
Características Comunes
Modbus requiere ciertas características para proporcionar una comunicación
confiable. El No. de Unidad o de Dirección es usado en cada formato de ADU
para proporcionar información de enrutado a la capa de la aplicación. Cada
ADU se vende con una PDU completa, la cual incluye el código de función y los
datos asociados para una solicitud determinada. Para mayor fiabilidad, cada
mensaje incluye la información de comprobación de errores. Finalmente, todas
las ADUs proporcionan un mecanismo para determinar el comienzo y el final de
un marco de solicitud, pero los implementa de manera diferente.
Formatos Estándares
Los tres formatos ADU estándares son TCP, unidad terminal remota (RTU), y
ASCII. RTU y ASCII ADUs normalmente son usados a través de una línea
serial, mientras que el TCP es usado a través de redes TCP/IP o UDP/IP
modernas.
TCP/IP
Las ADUs de TCP consisten en el Encabezado de Protocolo de Aplicación
Modbus (MBAP) combinado con la PDU de Modbus. El MBAP es un
encabezado de uso general que depende de una capa de red confiable. El
formato de esta ADU, incluyendo el encabezado, se muestra en la Figura 6.
Finalmente, la ADU incluye una PDU. La longitud de esta PDU está aún
limitada a 253 bytes para el protocolo estándar.
RTU
La ADU de RTU parece ser mucho más simple, como se muestra en la Figura
7.
un mecanismo para detectar silencio sobre una línea serial excepto al consultar
los bytes en el puerto. Esto resulta en una escala de bajo rendimiento (si la
consulta es realizada demasiada lento) o alto uso del CPU (si la consulta es
realizada demasiado rápido).
ASCII
La ADU de ASCII es más compleja que la de RTU como se muestra en la
Figura 8, también evita muchos de los problemas del paquete RTU. Sin
embargo, tiene algunas de sus propias desventajas.
La desventaja del ADU de ASCII es que todos los datos son transferidos como
caracteres hexadecimales codificados en ASCII. Es decir, en lugar de enviar un
solo byte para el código de función 3, 0x03, envía los caracteres ASCII "0" y "3"
o 0x30 / 0x33. Esto hace que el protocolo sea más legible, pero también
significa que el doble de datos deben ser transferidos a través de la red en
serie y que las aplicaciones que envían y reciben deben ser capaces de
analizar los valores ASCII.
3. ELEMENTOS A UTILIZAR
- Computadora personal
- Modbus Poll (maestro)
- Modbus slave (esclavo)
4. PROCEDIMIENTO DE EJECUCION
4.1 Ejecutar el emulador de puertos (Virtual serial ports emulator).
5. OBSERVACIONES Y CONCLUSIONES