Protocolo de Comunicacin Modbus
Elaborado por:
Orlando Hidalgo R. Manuel Blanco O. 1
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.
2
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.
3
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
4
Ventajas
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 . Comunica a 8 bits de datos. Finaliza la trama con un suma control de redundancia cclica CRC ( deteccin de error ).
Modbus ASCII
Es una representacin legible del protocolo y aunque es ms fcil de leer, es menos eficiente, debido a que cada byte requiere de dos bytes ASCII. Comunica a 7 bits de datos. Utiliza un cdigo el formato de control de redundancia longitudinal (LRC)
Es una versin extendida del protocolo Modbus.
Trabaja a una velocidad de 1 Mbit/s en un par trenzado, a diferencia del Modbus que trabaja a un mximo de 19k2.
Fue desarrollado para superar la limitacin de un solo maestro prevalente en el protocolo Modbus, con el fin de compartir informacin entre varias redes Modbus.
10
Dispositivos de red pueden intercambiar mensajes para el control y seguimiento de los procesos en ubicaciones remotas en la planta industrial.
Fue pionera en el desarrollo de otros protocolos deterministas ms avanzados hoy en da.
11
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
12
Tramas de Red
La secuencia bsica en las comunicaciones Modbus consiste siempre en una trama de pregunta, seguida de su correspondiente trama de respuesta.
13
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
14
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.
15
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.
16
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.
17
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).
18
Durante la comunicacin en una red Modbus, el protocolo asigna una direccin a cada controlador, reconociendo el mensaje direccionado para l, determina la clase de accin a tomar y extrae cualquier dato de otra informacin contenido en un mensaje. Si una respuesta es requerida, el controlador debera construir el mensaje de respuesta y enviarlo usando el mismo protocolo.
Utilizan la interfaz serial RS-232c
19
20
21