13
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL Tema: Protocolo Modbus Carrera: Ingeniería en Electrónica y Comunicaciones Área Académica: Redes Línea de Investigación: Programación y Redes Ciclo Académico y Paralelo: VI Semestre Paralelo “A” Autor: Laica Cunalata Oscar daniel Módulo y Docente: Interfaz de Pc– Ing. Santiago Collantes

RED MODBUS

Embed Size (px)

DESCRIPTION

El presente documento muestra un análisis de la red modbus que se emplea para realizar comunicaciones en plantas industriales,

Citation preview

Page 1: RED MODBUS

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E

INDUSTRIAL

Tema: Protocolo Modbus

Carrera: Ingeniería en Electrónica y Comunicaciones

Área Académica: Redes

Línea de Investigación: Programación y Redes

Ciclo Académico y Paralelo: VI Semestre Paralelo “A”

Autor:

Laica Cunalata Oscar daniel

Módulo y Docente: Interfaz de Pc– Ing. Santiago Collantes

Ambato-Ecuador

2015

Page 2: RED MODBUS

Protocolo Modbus

INTRODUCCIÓN

Este  ensayo se elabora con el fin de dar a conocer la historia y

funcionamiento del protocolo MODBUS, sus usos y aplicaciones para la

correcta comprensión del tema.

El protocolo MODBUS define una estructura de mensajes que puede ser

reconocida por diferentes dispositivos independientemente del tipo de red de

comunicaciones utilizada. El protocolo describe el proceso para acceder a

información de un dispositivo, cómo debe responder éste, y como se notifican

las situaciones de error. El protocolo MODBUS define una red digital de

comunicaciones con un solo master y uno o más dispositivos slave.

DESARROLLO

Modbus es un protocolo de comunicaciones publicado por Modicon en 1979,

diseñado para funcionar con equipos industriales tales como Controladores

Lógicos Programables (PLCs), Computadoras, Motores, Sensores, y otros tipos

de dispositivos físicos de entrada/salida. Simple y robusto, se ha convertido en

un protocolo estándar de comunicación, siendo uno de los más comunes en

industria para la comunicación de dispositivos electrónicos.

Las principales razones por las que se ha extendido tanto el uso de este

protocolo son las siguientes:

Es público.

Su implementación es sencilla y requiere tiempos de desarrollo

reducidos.

Maneja bloques de datos sin suponer restricciones.

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

la familia Modbus destinado a la supervisión y el control de equipos de

automatización. Específicamente, el protocolo cubre el uso de mensajes

Modbus en un entorno Intranet o Internet usando los protocolos TCP/IP1 . La

especificación Modbus/TCP define un estándar interoperable en el campo de la

Page 3: RED MODBUS

automatización industrial, el cual es simple de implementar para cualquier

dispositivo que soporta sockets TCP/IP.

Modo de transmisión

El modo de transmisión es la estructura de las unidades de información

contenidas en un mensaje. El protocolo MODBUS define dos modos de

transmisión: ASCII (American Satandard Code for Information Interchange) y

RTU (Remote Terminal Unit). En una red de dispositivos conectados mediante

el protocolo MODBUS NO se pueden compartir dispositivos utilizando

diferentes modos de transmisión.

Estructura del mensaje

Un mensaje consiste en una secuencia de carácteres que puedan ser

interpretados por el receptor. Esta secuencia de carácteres define la trama.

Para sincronizar la trama, los dispositivos receptores monitorizan el intervalo de

tiempo transcurrido entre carácteres recibidos. Si se detecta un intervalo mayor

que tres veces y media el tiempo necesario para transmitir un carácter, el

dispositivo receptor ignora la trama y asume que el siguiente carácter que

recibirá será una dirección.

Ilustración 1. Estructura MODBUS maestro esclavo

Dirección.- El campo dirección es el primero de la trama después del tiempo

de sincronización. Indica el dispositivo al que va dirigido el mensaje. Cada

dispositivo de la red debe tener asignada una dirección única, diferente de

cero. Igualmente, cuando un dispositivo responde a un mensaje, debe enviar

en primer lugar su dirección para que el master reconozca la procedencia del

mensaje. MODBUS permite enviar mensajes a todos los dispositivos a la vez

utilizando para ello la dirección cero. Sin embargo, para evitar conflictos con

Page 4: RED MODBUS

otros dispositivos en la red, los modelos AK30/32 de la serie Akros no aceptan

este tipo de mensajes.

Función.- El campo función indica al dispositivo direccionado qué tipo de

función ha de realizar. Los modelos AK30/32 aceptan las siguientes funciones:

Ilustración 2. rangos de funcion

Datos.-El campo datos contiene la información necesaria para que los

dispositivos puedan ejecutar las funciones solicitadas, o la información enviada

por los dispositivos al master como respuesta a una función.

CRC.-El campo CRC es el último de la trama y permite al master y a los

dispositivos detectar errores de transmisión. Ocasionalmente, debido a ruido

eléctrico o a interferencias de otra naturaleza, se puede producir alguna

modificación en el mensaje mientras se está transmitiendo. El control de

errores por medio de CRC asegura que los dispositivos receptores o el master

no efectuaran acciones incorrectas debido a una modificación accidental del

mensaje.

Para el cálculo de CRC no se consideran los bits de stop ni de paridad. Sólo los

de datos. La secuencia para el cálculo de CRC se describe a continuación:

1. Cargar un registro de 16 bits a 1’s.

2. Efectuar un OR exclusivo de los primeros 8 bits recibidos con el byte

alto del registro, guardando el resultado en el registro.

3. Desplazar el registro un bit a la derecha.

4. a) Si el bit desplazado es un 1, efectuar un OR exclusivo del valor

1010 0000 0000 0001 con el contenido del registro y guardarlo en el

registro.

Page 5: RED MODBUS

4. b) Si el bit desplazado es un 0, volver al paso 3. 5. Repetir los pasos 3

y 4 hasta haber efectuado 8 desplazamientos de bit

Estructura del protocolo [1]

A continuación se describe la forma general de encapsulación de una solicitud

o respuesta Modbus cuando es llevada sobre una red Modbus/TCP. Es

importante anotar que la estructura del cuerpo de la solicitud y respuesta,

desde el código defunción hasta el fin de la porción de datos, tiene

exactamente la misma disposición y significado como en las otras variantes

Modbus, tal como:

Modbus serial. codificación ASCII

Modbus serial. codificación RTU

Modbus PLUS

Las únicas diferencias en esos otros casos son la especificación de los

delimitadores inicial y final del mensaje7 , el patrón de chequeo de error y la

interpretación de la dirección.

Todas las solicitudes son enviadas vía TCP sobre el puerto registrado 502. Las

solicitudes normalmente son enviadas en forma half-duplex8 sobre una

conexión dada.

El campo dirección esclavo de Modbus es reemplazado por un byte

identificador de unidad, el cual puede ser usado para comunicar a través de

dispositivos tales como puentes y gateways, los cuales usan una dirección IP

única para soportar múltiples unidades terminales independientes.

Conformación de Clases

Modbus por su naturaleza es ya implementada en muchísimos lugares, por

tanto se debe evitar una ruptura de las implementaciones existentes. De esta

forma el conjunto de los tipos de transacción Modbus existente ha sido

clasificado en clases, donde el nivel 0 representa funciones que son

universalmente implementadas y totalmente consistentes, y el nivel 2

representa funciones útiles pero algo dependientes del esclavo.

Page 6: RED MODBUS

Comandos Clase 0.- Este es el mínimo conjunto útil de funciones, tanto para

el maestro como para el esclavo.

Ilustración 3. Comandos clase 0

Comandos Clase 1.- Este es el conjunto adicional de funciones, el cual es

comúnmente implementado e interoperable. Como fue explicado antes,

muchos esclavos deciden tratar entradas, salidas, registros, y valores discretos

como equivalentes.

Ilustración 4. Comandos clase 1

Comandos Clase 2.- Estas son las funciones de transferencia de datos

necesarias para operaciones de rutina tal como supervisión y HMI.

Ilustración 5. Comandos clase 2

Page 7: RED MODBUS

Comandos específicos de la máquina/red/vendedor.- Todas de las

siguientes funciones, aunque mencionadas en los manuales del protocolo

Modbus, no son apropiadas para propósitos de interoperabilidad porque son

dependientes de la máquina, un ejemplo de esto puede verse en la siguiente

tabla.

Ilustración 6. Funciones dependientes de la máquina

Descripción de las funciones

Leer N bits (Código de función 01o 02) [1]

Esta función permite al usuario obtener los valores lógicos (ON/OFF) de los bits

del dispositivo direccionado. Los datos de respuesta van empaquetados en

bytes de manera que el primer bit solicitado ocupa el bit de menos peso del

primer byte de datos. Los siguientes van a continuación de manera que si no

son un número múltiplo de 8, el último byte se completa con ceros.

Trama master-dispositivo:

trama dispositivo-master:

Page 8: RED MODBUS

Ejemplo: Leer 2 bits a partir del bit con dirección 4, del indicador con dirección

2. Master-dispositivo:

Dispositivo-master:

La respuesta nos indica que los bits de dirección 4 (AL1) y 5 (AL2) se

encuentran a 1. Por lo tanto, las alarmas AL1 y AL2 se encuentran activadas.

La respuesta ha asignado ceros a las direcciones que no se han pedido desde

el master, lo cual no significa que su valor real sea cero.

INTERFACE MODBUS-RTU

Kit Modbus-RTU [1]

Compuesto por el módulo de comunicación

Modbus-RTU (figura a lado) más una guía de

instalación.

Interface sigue el padrón EIA-485.

Interface aislada galvánicamente y con señal

diferencial, confiriendo mayor robustez contra

interferencia electromagnética.

Longitud máxima para conexión de los

dispositivos de 1000 metros.

Terminación de red vía llave, que debe estar

conectada en las extremidades de la red.

Terminales del Conector

Ilustración 7. kit MODBUS

Page 9: RED MODBUS

Una vez instalado el kit de comunicación Modbus-RTU, el relé permite dos

conectores diferentes para interface con la red:

Conector DB9 hembra (XC15).

Conector plug-in de 8 vías (XC2).

Tabla 2. Terminales del conector DB9

(XC15) para interface

Ventajas del protocolo Modbus/TCP [3]

A continuación se detallan las principales ventajas que implica la utilización de

la variante Modbus/TCP

Es escalable en complejidad. Un dispositivo el cual tiene solo un

propósito simple necesita solo implementar uno o dos tipos de mensaje.

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

de configuración complejas cuando se añade una nueva estación a una

red Modbus/TCP.

No es necesario equipo o software propietario de algún vendedor.

Cualquier sistema computador o microprocesador con una pila de

protocolos TCP/IP puede usar Modbus/TCP.

Tabla 1.Terminales del conector plug-in 8 vías (XC2) para interface

Ilustración 8. Conectores XC15, XC2 de un Pc

Page 10: RED MODBUS

Puede ser usado para comunicar con una gran base instalada de

dispositivos Modbus, usando productos de conversión los cuales no

requieren configuración.

CONCLUSIONES

El protocolo Modbus define el formato de los mensajes utilizado por los

elementos que hacen parte de la red, los servicios (o funciones) que pueden

ser ofrecidos vía red, y también como estos elementos intercambian datos en la

red.

La red Modbus-RTU utiliza el sistema maestro-esclavo para el intercambio de

mensajes, la comunicación inicia con el maestro haciendo una solicitación a un

esclavo, y este contesta al maestro el que fue solicitado.

BIBLIOGRAFIA

[1] «Manual Modbus ver 1.0,» [En línea]. Available:

http://www.salbus.es/Manual%20Comunicaciones%20AK36.pdf. [Último

acceso: 07 06 2015].

[2] MODBUS, «Protocolo Modbus,» Laboratorio de Automatizacion ll., vol. 1, p.

4.

[3] «Manual de la comunicacion Modbus-RTU,» SERIE: SRW, p. 11, 12 2012.

[4] R. S. llamas, «IMPLEMENTACION DE PROTOCOLO DE COMUNICACION

MODBUS/TCP PARA LINUX EN LENGUAJE C++,» Cartagena, 2012.

Page 11: RED MODBUS