Está en la página 1de 39

Jorge Rodrguez Zapata

Ingeniero de Proyectos en Industria Sigrama S.A. de C.V.

Egresado de la Universidad Tecnolgica de Torren


Ingeniera Mecatrnica
Curso Modbus TCP Bsico
Curso Bsico de Modbus TCP

Objetivo:
Ser capaces de configurar y operar dispositivos
que utilicen el protocolo Modbus TCP para
comunicacin.
Curso Bsico de Modbus TCP
Contenido:

Que es Modbus TCP?


Operacin de dispositivos
Configuracin de dispositivos. (Practica)
MODBUS
Modbus es un protocolo que permite el control y la transferencia
De datos entre dos dispositivos industriales y esta basado en la
arquitectura cliente / servidor o maestro/esclavo.

Existen dos tipos de Modbus:

Modbus Serial

Modbus TCP
Modbus TCP
Modbus/TCP es un protocolo de comunicacin diseado para permitir a equipo
industrial tal como Controladores Lgicos Programables (PLCs), computadores,
motores, sensores, y otros tipos de dispositivos fsicos de entrada/salida
comunicarse sobre una red.

Modbus/TCP fue introducido por Schneider Automation como una variante de la


familia MODBUS ampliamente usada, los protocolos de comunicacin simples y
abiertos, destinados para la supervisin y el control de equipo de automatizacin.
Especficamente, el protocolo cubre el uso de mensajes MODBUS en un entorno
intranet o internet usando los protocolos TCP/IP.
Modbus TCP

MODBUS es un protocolo de comunicacin sin estado, es decir, cada

solicitud del maestro es tratada independientemente por el esclavo y es

considerada una nueva solicitud no relacionada a las anteriores, de esta

forma haciendo a las transacciones de datos altamente resistentes a

rupturas debido a ruido y adems requiriendo mnima informacin de

recuperacin para ser mantenida la transaccin en cualquiera de los dos

terminales .
Modbus TCP

Las operaciones de programacin de otro lado, esperan una comunicacin

orientada a la conexin, es decir, las mquinas de origen y de destino establecen

un canal de comunicaciones antes de transferir datos. Este tipo de operaciones

son implementadas de diferentes maneras por las diversas variantes de

MODBUS (Modbus RTU, Modbus ASCII, Modbus PLUS).


Modbus TCP

Modbus/TCP maneja ambas situaciones. Una conexin es inicialmente

establecida en esta capa de protocolo (nivel de aplicacin), y esa conexin unica

puede llevar mltiples transacciones independientes.

En adicin, TCP permite establecer un gran nmero de conexiones concurrentes,

de este modo el cliente (maestro) puede ya sea re-usar una conexin

previamente establecida o crear una nueva, en el momento de realizar una

transaccin de datos.
Modbus TCP
Es interesante analizar porqu el protocolo TCP orientado a la conexin es usado

en lugar del protocolo UDP orientado a datagramas. La principal razn es

mantener control de una transaccin individual encerrndola en una conexin la

cual pueda ser identificada, supervisada, y cancelada sin requerir accin

especfica de parte de las aplicaciones cliente y servidor. Esto da al mecanismo

una amplia tolerancia a cambios del desempeo de la red, y permite que

herramientas de seguridad tal como firewalls y proxies puedan ser fcilmente

aadidos.
Modbus TCP
Codificacin de Datos:

MODBUS usa una representacin big-endian para direcciones y datos.

Esto significa que cuando una cantidad numrica ms grande que un byte es

transmitido, el byte ms significante es enviado primero. As, por ejemplo:

0x1234 ser 0x12 0x34


Modbus TCP
Modelo de Datos:

MODBUS basa su modelo de datos sobre una serie de tablas las cuales tienen

caractersticas distintivas. Las cuatro principales son:


Entradas discretas. Bit simple, suministrado por un sistema I/O, de solo
lectura.
Salidas discretas. Bit simple, alterable por un programa de aplicacin, de
lectura-escritura.
Registros de entrada. Cantidad de 16 bits, suministrado por un sistema I/O, de
solo lectura.
Registros de salida. Cantidad de 16 bits, alterable por un programa de
aplicacin, de lectura-escritura.
Modbus TCP
Filosofa de la longitud implicada:

Todas las solicitudes y respuestas MODBUS estn diseadas en tal forma que el

receptor puede verificar que un mensaje esta completo. Para cdigos de funcin

donde la solicitud y respuesta son una longitud fija, el cdigo de funcin solo es

suficiente. Para cdigos de funcin llevando una cantidad variable de datos en la

solicitud o respuesta, la porcin de datos estar precedida por un campo que

representa el nmero de bytes que siguen.


Modbus TCP
Cuando MODBUS es llevado sobre TCP informacin de longitud se adiciona en el

prefijo (o encabezado) para permitir al receptor reconocer los lmites del

mensaje, igual si el mensaje ha sido dividido en mltiples paquetes para la

transmisin. La existencia de reglas de longitud implcitas o explcitas, y el uso de

un cdigo de chequeo de error CRC-32 (sobre Ethernet) resulta en una

probabilidad muy pequea de corrupcin no detectada sobre un mensaje de

solicitud o respuesta.
Ventajas de Modbus TCP
Es escalable en complejidad. Un dispositivo el cual tiene solo un propsito
simple necesita solo implementar uno o dos tipos de mensaje.

Es simple para administrar y expandir. No se requiere usar herramientas de


configuracin complejas cuando se aade una nueva estacin a una red
Modbus/TCP.

No es necesario equipo o software propietario de algn vendedor.


Cualquier sistema computador o microprocesador con una pila de
protocolos TCP/IP puede usar Modbus/TCP.

Puede ser usado para comunicar con una gran base instalada de
dispositivos MODBUS, usando productos de conversin los cuales no
requieren configuracin.
Ventajas de Modbus TCP
Es de muy alto desempeo, limitado tpicamente por la capacidad del
sistema operativo del computador para comunicarse. Altas ratas de
transmisin son fciles de lograr sobre una estacin nica, y cualquier red
puede ser construida para lograr tiempos de respuesta garantizados en el
rango de milisegundos.
Estructura del Protocolo
Es importante anotar que la estructura del cuerpo de la solicitud y respuesta,
desde el cdigo de
funcin hasta el fin de la porcin de datos, tiene exactamente la misma
disposicin y significado como en las otras variantes MODBUS, tal como:

-MODBUS serial codificacin ASCII


-MODBUS serial codificacin RTU
-MODBUS PLUS

Las nicas diferencias en esos otros casos son la especificacin de los


delimitadores inicial y final del mensaje, el patrn de chequeo de error y la
interpretacin de la direccin.
Estructura del Protocolo
Todas las solicitudes son enviadas va TCP sobre el puerto registrado 502.
Las solicitudes normalmente son enviadas en forma half-duplex sobre una
conexin dada. Es decir, no hay beneficio en enviar solicitudes adicionales
sobre una nica conexin mientras una respuesta este pendiente.

El campo direccin esclavo de MODBUS es remplazado por un byte


identificador de unidad el cual puede ser usado para comunicar a travs de
dispositivos tales como puentes y gateways, los cuales usan una direccin IP
nica para soportar mltiples unidades terminales independientes.

1
(Identificador de Unidad)
Cliente Gateway
192.168.0.50 192.168.0.10 2

Modbus Serial
Estructura del Protocolo
Estructura de mensajes en Modbus/TCP
Conformacin de las Clases
MODBUS por su naturaleza es ya implementada en muchsimos lugares,
por tanto una ruptura de las implementaciones existentes debe ser evitada.

De esta forma el conjunto de los tipos de transaccin MODBUS existente ha


sido clasificado en clases, donde el nivel 0 representa funciones las cuales
son universalmente implementadas y totalmente consistentes, y el nivel 2
representa funciones tiles pero algo dependientes del esclavo.

Esas funciones del conjunto, las cuales no son convenientes por


interoperabilidad son tambin identificadas.
Conformacin de las Clases
Comandos de Clase 0:

Este es el mnimo conjunto til de funciones, tanto para el maestro como


para el esclavo.
Conformacin de las Clases
Comandos de Clase 1:

Este es el conjunto adicional de funciones, el cual es comnmente


implementado e interoperable. muchos esclavos deciden tratar
entradas, salidas, registros, y valores discretos como equivalentes.
Conformacin de las Clases
Comandos de Clase 2:

Estas son las funciones de transferencia de datos necesarias para


operaciones de rutina tal como supervisin y HMI.

* Esta funcin ser la ms apropiada para manejar grandes espacios de registros y


datos, los cuales carecen de nmeros de referencia.
** Esta funcin permite la entrada y salida de un rango de registros como una
transaccin nica. Es la forma ms eficiente usando MODBUS para desempear un
intercambio regular de datos tal como con un mdulo I/O.
*** Una funcin algo especializada, destinada a permitir la transferencia de datos desde
una tabla estructurada como una FIFO a un computador.
Modbus TCP
Ejemplo de comunicacin con un servidor
modbus usando las funciones bsicas de
escritura y lectura de IO digitales y valores
analgicos.
MODBUS TCP

Como comunicarse con un esclavo Modbus TCP

Configuracin de direccin IP
Configurar Id de Esclavo (Default: 1)
Verificar Mapeo Interno de Dispositivo
Funciones Modbus TCP
Funciones ms utilizadas:

Read Coils FC01 (Digital)


Read Holding Registers FC03 (Analgico)
Write Single Coil FC05 (Digital)
Write Single Register FC06 (Analgico)
Registros Internos en Hardware
Escritura Digital

Mensaje:
Funcin 5 (Escribir Digital Sencilla)
Registro: 0
Id Esclavo: 1

Resultado: Se activa la primer salida digital de nuestro dispositivo.


Lectura Digital

Mensaje:

Funcin 01 (Read Coils)


Direccin: 1

Respuesta:

Registro Entrada 2
Valor: TRUE
Escritura Analgica
Mensaje:

Funcion 06 (Write Single Register)


Direccin: 0
Valor: 50

Resultado:

El registro 0 del esclavo Modbus toma un valor de 50.


Lectura Analgica
Mensaje:

Funcin 03 (Read Holding Register)


Direccin: 0

Resultado:

El cliente recibe el valor 50 almacenado en el registro 0 del servidor modbus.


Estructura de Mensaje
Arquitectura Bsica
Arquitectura Mixta

Distintivo en TCP:
Direccin IP

Distintivo en Serial:
Slave ID

Modbus TCP con mltiples clientes y convertidor de medios para accesar a


Dispositivos modbus serial.
Arquitectura Multi-Cliente

Modbus TCP con mltiples servidores y mltiples clientes.


Arquitecturas

Dos maestros Modbus comunicndose a un Dispositivo Modbus RTU esclavo


Por medio de un convertidor de medios.
Ejemplo de Configuracin
Configurando un cliente Modbus TCP para
comunicarnos con un servidor.
Practica

ioLogik E2242
Ethernet Micro RTU Controller with
4 analog inputs and 12 configurable DIOs

También podría gustarte