Está en la página 1de 15

Protocolo de Comunicacin Modbus

Fue desarrollado en 1979 por la empresa norteamericana MODICON para su gama de controladores lgicos programables y debido a que es pblico, relativamente sencillo de implementar y flexible se ha convertido en uno de los protocolos de comunicaciones ms populares en sistemas de automatizacin y control. Se encuentra situado en el nivel 7 del Modelo OSI.

Basado en la arquitectura maestro/esclavo o cliente/servidor. Existen versiones del protocolo Modbus para puerto serie y Ethernet (Modbus/TCP). Es un protocolo de comunicaciones estndar de facto en la industria es el que goza de mayor disponibilidad para la conexin de dispositivos electrnicos industriales. Solo especifica la capa de enlace del modelo ISO/OSI. A cada esclavo se le asigna una direccin fija y nica en el rango de 1 a 247.

Las razones por las cuales el uso de Modbus es superior a otros protocolos de comunicaciones son:
Es pblico. Se puede implementar sobre redes basadas en Ethernet , RS-485, RS-232.

Es simple para administrar y expandir.


Maneja bloques de datos sin suponer restricciones

Caractersticas
Permite el control de una red de dispositivos, por ejemplo un sistema de medida de temperatura y humedad, y comunicar los resultados a un ordenador.

Modbus TCP/IP
Modbus tambin se usa para la conexin de un ordenador de supervisin con una unidad remota (RTU) en sistemas de supervisin adquisicin de datos (SCADA). Existen versiones del protocolo Modbus para puerto serie y Ethernet (Modbus/TCP).

Hay dos versiones de protocolo Modbus segn su manera de comunicarse, con diferentes representaciones numricas de los datos y detalles del protocolo ligeramente desiguales.

Modbus RTU

Modbus ASCII

Modbus RTU
Utiliza datos binarios y finaliza la trama con un suma control de redundancia cclica CRC ( deteccin de error ).

Modbus ASCII
Es una representacin legible del protocolo y aaunque es ms fcil de leer, es menos eficiente, debido a que cada byte requiere de dos bytes ASCII y utiliza un cdigo el formato de control de redundancia longitudinal (LRC)

Es una versin extendida del protocolo.


Dada la naturaleza de la red precisa un coprocesador dedicado para el control de la misma. Con una velocidad de 1 Mbit/s en un par trenzado, sus especificaciones son muy semejantes al estndar EIA/RS485 aunque no guarda compatibilidad con este.

Comunicacin maestro/esclavo
Se realiza una comunicacin sin estado; logrando as que las transacciones de datos sean altamente resistentes a rupturas debido a ruido. Aunque la comunicacin es half-duplex, permite establecer un gran nmero de conexiones concurrentes.

El maestro se comunica con sus esclavo de dos modos: Peer to peer


Broadcast

Tramas de Red

La secuencia bsica en las comunicaciones Modbus consiste siempre en una trama de pregunta, seguida de su correspondiente trama de respuesta.

Tramas de Red
Interrogacin: con el cdigo de funcin que indica al esclavo que operacin ha de realizar, y los bytes necesarios (datos, comprobacin) para su ejecucin. Respuesta: es dada por la confirmacin o por los datos resultantes de la ejecucin de la funcin

Nmero de Esclavo (1byte)

En el caso de las tramas enviadas por el mster, el campo de nmero de esclavo indica la direccin del destinatario de esta trama. Permite direccionar hasta 247 esclavos. En el caso de las tramas enviadas por los esclavos, el byte asignado sirve para indicar al mster a quin pertenece la respuesta.

Cdigo de Operacin o Funcin ( 1byte)

Indica el tipo de operacin que se quiere realizar sobre el esclavo. Las operaciones se pueden clasificar en dos tipos:

De lectura / escritura en memoria: para consultar o modificar el estado de los registros del mapa de memoria del esclavo.
Ordenes de control del esclavo: para realizar alguna actuacin sobre el esclavo.

Direccin, datos y subfunciones (n bytes)

Este campo contiene la informacin necesaria para realizar la operacin indicada en el cdigo de operacin. Cada operacin necesitar de unos parmetros u otros, por lo que el nmero de bytes de este campo variar segn la operacin a realizar. En el caso del esclavo, este puede responder con tramas con o sin campo de datos dependiendo de la operacin. En los casos en que se produzca algn error es posible que el esclavo responda con un byte extra para especificar el cdigo de error.

Control de errores

Se utiliza un sistema de deteccin de errores diferente dependiendo del tipo de codificacin utilizado: ASCII es el LRC (2 caracteres representan 1 byte). RTU se utiliza el mtodo de CRC codificado en 2 bytes (16 bits).