SCM - (EAI) Unidad III - Protocolo MODBUS

Page 1


EDITORIAL Protocolo MODBUS Bienvenidos a esta nueva edición de la revista académica del equipo SCM, un suplemento creado para compartir conocimientos, opiniones, aportes y información veraz de los distintos temas de interés del curso especial de grado de ACPI(Automatización y Control de Procesos Industriales) de la Universidad de Oriente, Núcleo de Monagas. En esta edición les presentamos información del seminario de EAI (Estrategias para la Automatización Industrial), sobre el protocolo industrial Modbus que fue desarrollado en 1979 para permitir la comunicación entre dispositivos de automatización. Originalmente implementado como un protocolo a nivel de la aplicación para transferir datos en una capa serial, el protocolo se ha expandido para incluir implementaciones a través de protocolo serial, TCP/IP y UDP (User Datagram Protocol). Hoy en día, es un protocolo común usado por innumerables dispositivos para comunicación simple, confiable y eficiente en una variedad de redes modernas.


CONTENIDO 01

Editorial

03

Introducción

05

MODBUS ¿Qué es?

06

Funcionamiento y elementos de una red MODBUS

08

Representación de datos en MODBUS

08

Elementos del MODBUS

09

Modos de Transmisión del MODBUS

11

En síntesis

12

Conclusiones y referencias Revista SCM “Un producto Editorial de Cursos Especiales de Grado” Tutor: Judith Devia Diseño y Diagramación: Carlos Natera Natekla@gmail.com

Editor - Director Manuel Meneses manuelmm1987@gmail.com


Introducción

E

l principio de todo sistema de control automático es la aplicación del concepto de realimentación cuya característica especial es la de mantener al controlador central informado del estado de las variables para generar acciones correctivas, cuando así sea necesario. El uso de las computadoras digitales ha posibilitado la aplicación en forma óptima del control automático a sistemas físicos que hace algunos años atrás eran imposibles de analizar o controlar. Además, se puede decir que han contribuido enormemente al desarrollo y eficiencia de la industria, porque han reducido las posibilidades de fallos como también obtener los resultados deseados. En virtud de esto, con el pasar del tiempo se vio la necesidad de crear de forma inmediata tecnologías que hicieran posible la comunicación directa entre las maquinarias o procesos de operación y la persona

03

encarga de la supervisión y control. Es aquí donde se dio la creación de los protocolos de comunicación industrial, accediendo así crear estándares para establecer una correcta comunicación pero de forma bidireccional entre ambos actores. Atendiendo estas consideraciones, los protocolos industriales deben poseer algunas características importantes para su utilización en los Sistemas de Control de Procesos. Estas deben ser sistemas fáciles de reparar y mantener, poseer un alto nivel de integridad en la transferencia de datos y Alta velocidad en la actualización de parámetros. El protocolo industrial Modbus permitir la comunicación entre dispositivos de automatización.. Hoy en día, es un protocolo común usado por innumerables dispositivos para comunicación simple, confiable y eficiente en una variedad de redes modernas.


04


MODBUS

M

odbus es un protocolo de comunicación serie desarrollado y publicado por Modicon en 1979. En su origen el uso de Modbus estaba orientado exclusivamente al mundo de los controladores lógicos programables o PLCs de Modicon. No hace falta más que echar un vistazo al mercado industrial actual para darse cuenta que, a día de hoy, el protocolo Modbus es el protocolo de comunicaciones más común utilizado en entornos industriales, sistemas de telecontrol y monitorización. Lo que implica de forma implícita que: tanto a nivel local como a nivel de red, en su versión TCP/IP, seguirá siendo uno de los protocolos de referencia en las llamadas Smart Grids, redes de sensores, telecontrol y un largo etc de sistemas de información que ya empiezan a asomar la cabeza en nuestro día a día. El objeto del protocolo Modbus es bien sencillo: La transmisión de información entre

05

¿Qué es MODBUS?

distintos equipos electrónicos conectados a un mismo bus. Existiendo en dicho bus un solo dispositivo maestro (Master) y varios equipos esclavos (Slaves) conectados. En su origen estaba orientado a una conectividad a través de líneas serie como pueden ser RS-232 o RS-485, pero con el paso del tiempo han aparecido variantes como la Modbus TCP, que permite el encapsulamiento del Modbus serie en tramas Ethernet TCP/IP de forma sencilla. Esto sucede porque desde un punto de vista de la torre OSI, el protocolo Modbus se ubica en la capa de aplicación. El hecho que se haya extendido su uso hasta convertirse en el protocolo más estandarizado en el sector industrial se debe a varias razones diferenciales respecto a otros protocolos.


¿Qué es MODBUS?

El estándar Modbus es público, lo que permite a los fabricantes desarrollar dispositivos tanto Master como Slave sin royalties aplicados al protocolo. Este hecho facilita el acceso a la información y estructura del protocolo que, además, es muy básica pero funcional para su objetivo. Desde un punto de vista técnico, su implementación es muy sencilla y en consecuencia el tiempo de desarrollo se acorta considerablemente respecto a otros protocolos en los que se complica la estructura de las tramas y en consecuencia el acceso a los datos que no están almacenados en estructuras complejas. La transmisión de información no está

Funcionamiento y elementos de una red ModBUS El funcionamiento tiene una base muy sencilla: El Master pregunta y los Slaves responden o actúan en función de lo que este diga. Un dispositivo conectado al bus ejerce de maestro solicitando información del resto de dispositivos conectados que ejercen como esclavos y son quienes suministran la información al primero. Según el estándar Modbus y dada su implementación, en una red Modbus habrá un Master y hasta un máximo de 247 dispositivos Slaves. Esta limitación está determinada por el simple hecho que en una trama Modbus la dirección del esclavo se representa con un

MODBUS comprometida a ningún tipo de datos. Lo que implica cierta flexibilidad a la hora del intercambio de información. Que quiere decir esto? Para expresarlo de forma más clara, si se transmite un dato de 16bits de información su representación no está sujeta a ninguna restricción, por lo que puede tratarse de un dato tipo Word con signo, un entero sin signo de 16bits o la parte alta de una representación tipo Float de 32bits, etc.La representación del valor vendrá definida por la especificación que el fabricante dé del dispositivo, lo que permite la representación de un amplio rango de valores.

solo Byte, existiendo algunas direcciones reservadas para propósitos específicos como broadcast, etc. Todo a su tiempo. Lo dicho, en una red Modbus todos los dispositivos esclavos deben tener una dirección asignada que debe estar comprendida entre la 1 y la 247.Desde un punto de vista práctico, no pueden co-existir dos dispositivos esclavos con la misma dirección Modbus.

06


MODBUS

Funcionamiento y elementos MODBUS

Dentro de la trama Modbus RTU, la dirección del esclavo corresponde al primer byte. En una red Modbus el Master no sólo puede ejercer la función de recompilar información de los esclavos mediante preguntas, sino que puede interactuar con ellos o alterar su estado, pudiendo escribir además de leer información en cualquiera de ellos. Con el paso de los años y según la evolución de las redes de comunicaciones entre dispositivos electrónicos, así como de la conectividad entre dispositivos, han ido apareciendo variantes del protocolo Modbus que estaba pensado en su inicio para redes

07

implementadas sobre líneas serie. La evolución más utilizada/conocida es la que se conoce como Modbus TCP, una “versión” del protocolo Modbus que permite la implementación de este protocolo sobre redes Ethernet i, en consecuencia, aumenta el grado de conectividad. Está “versión” del protocolo encapsula la trama base del protocolo Modbus en la capa de aplicación TCP/IP de forma sencilla. Con un poco de tiempo colgaré la estrucura a nivel de byte de las tramas Modbus RTU y Mobus TCP.


Representación de datos en MODBUS

MODBUS

Representación de datos en MODBUS El protocolo MODBUS usa el concepto de tablas de datos para almacenar la información en un esclavo, una tabla de datos no es más que un bloque de memoria usado para almacenar datos en el esclavo, las tablas de datos que usa en MODUS son cuatro y se muestran en la siguiente tabla: Dirección MODBUS Dirección Usada en el protocolo 1 - 9999 0000 – 9998 10001 - 19999 0000 – 9998 30000 - 39999 0000 – 9998 40001 - 49999 0000 – 9998

Nombre de la Tabla de Datos Output Coils (Lectura/escritura) Inputs Contact (Lectura) Inputs Registers (Lectura) Holding Registers (Lectura/Escritura)

Se puede observar que hay dos direcciones, una es usada para diferenciar entre las tablas de datos, la llamamos dirección MODBUS y la otra es la dirección usada en la comunicación entre el maestro y el esclavo, está es la dirección usada en la trama o paquetes de datos enviados entre maestros y esclavos conceptos.

Elementos del MODBUS Output Coils En MODBUS un coil representa un valor booleano típicamente usado para representar una salida, solo hay dos estados para el coil el ON y el OFF. El coil entonces, puede verse como una celda o un bloquecito de memoria que permite almacenar el estado de un bit, que puede tener solo dos valores como se vio anteriormente, el ON o el OFF, o en lógica binaria, un 1 o un 0, o más cerca de la realidad física, tierra (0 Volts) y voltaje (5 Volts), como el lector quiera verlo, eso sí debe quedar claro que son solo dos valores por cada coil. Hablemos de las direcciones, el coil según la tabla de datos puede tener una dirección MODBUS, la cual yo elijo y según la tabla anterior, puede ser entre 1 y 9999 valores,

por simplicidad, se puede elegir el coil 1 y el coil 2 para, activar o desactivar, pero por supuesto que se puede elegir el coil 9998 y coil 9999, si así se quisiera, cualquier dirección en ese rango se puede usar sin ningún problema. Holding Registers Los registros Holding, representan cantidades de 16 bits, se puede ver cada registro como un bloque o celda de memoria, que es capaz de almacenar números entre 0 y 65535. Las direcciones usadas para los registros holding inician en la dirección 40001, pero puede usarse cualquiera de las mencionadas en la tabla para los registros holding. Estos registros son de lectura/escritura, es decir que el maestro puede hacer peticiones de información para leer el dato que está almacenado, o puede enviar peticiones para escribirle un valor al registro holding en el momento que se requiera.

08


MODBUS

Modos de transmisión MODBUS

Modos de Transmisión del MODBUS Los modos de transmisión definen como se envían los paquetes de datos entre maestros y esclavos, el protocolo MODBUS define dos principales modos de transmisión: MODBUS RTU (Remote Terminl Unit). La comunicación entre dispositivos se realiza por medio de datos binarios. Esta es la opción más usada del protocolo.

ASCII (American Standard Code for Information Interchange). La comunicación entre dispositivos se hace por medio de caracteres ASCII. Es una representación legible del protocolo pero menos eficiente.

Modos de Transmisión del MODBUS Los controladores pueden ser inicializados para la comunicación en redes estándar tipo MODbus, usando cualquiera de los siguientes modos de transmisión: ASCII o RTU. El usuario esta en posibilidad de seleccionar el modo de transmisión algunos otros parámetros de el puerto serial como la tasa de baudios, el modo de paridad etc. Todo esto como labores a realizar durante la configuración de cada controlador. El modo y parámetros de la comunicación serial deben ser el mismo para todos los dispositivos que se tendrán en la red MODbus. La selección del modo ASCII o RTU es inherente al estándar de las redes MODbus. Esta selección determinará el contenido de los campos de los mensajes, en cuanto a sus bits a ser transmitidos en forma serial. De

09

igual forma la selección del modo determinará la forma como la información será empaquetada en los diferentes campos de los mensajes y como será codificada. En otras redes industriales como MAP y MODbus Plus, los mensajes MODbus son colocados en las tramas que no están relacionadas con la transmisión serial propiamente dicha. Por ejemplo, una petición de lectura de los registros de memoria puede ser realizada entre dos controladores en MODbus plus sin considerar al servicio de ejecución de otro controlador del puerto serial MODbus.


Modos de transmisión MODBUS

MODBUS

Modos de Transmisión del MODBUS Modo RTU

Cuando los controladores se configuran en el modo RTU (Remote Terminal Unit) cada byte de 8 bits en un mensaje contiene dos caracteres hexadecimales de 4 bits. La mayor ventaja de este modo radica en el hecho de que la mayor densidad de los caracteres permite un mejoramiento en el “throughput” con respecto al modo ASCII para casos donde se tiene la misma rata de baudios. Cada mensaje debe ser transmitido en una corriente continua. El formato para cada byte en el modo RTU es el siguiente: Sistema de codificación: 8 Bits en binario, hexadecimal 0-9, A-F 2 Caracteres hexadecimales contenidos en cada campo de 8 bits de el mensaje Bits por byte: 1 BIT de start 8 bits de datos, el menos significativo se envia primero 1 BIT para paridad par o impar, no se envia BIT si no hay paridad 1 BIT de stop, si se usa paridad; 2 bits si no hay paridad * Campo de chequeo de error: Chequeo de redundancia cíclica (CRC)

Modo ASCII Este modo particular se da cuando los controladores están configurados para comunicarse con la red MODbus utilizando la codificación estándar ASCII (American Standard Code for Information Interchange). Para este modo cada byte de 8 bits en un mensaje es enviado como dos caracteres ASCII. La principal ventaja de este modo radica en que los intervalos de tiempo por encima de un segundo, que se dan entre dos caracteres no ocasionan ningún error. El formato para cada byte en el modo ASCII es el siguiente: Sistema de codificación: Hexadecimal, caracteres ASCII que van del 0 al 9, e incluyen las letras de A – F. Un carácter hexadecimal es contenido en cada carácter ASCII del mensaje. * Bits por cada byte: 1 BIT start 7 bits de datos. El BIT menos significativo se envía primero. 1 BIT para paridad par o impar. No hay BIT si no hay paridad 1 BIT stop si es usada la paridad; 2 bits si no hay paridad. Campo de chequeo de error: Chequeo longitudinal de redundancia (LRC)

10


MODBUS Usualmente en las industrias se llevan a cabo muchos procesos que requieren la mano del hombre, sin embargo con el avance de la tecnología se han aplicado distinto dispositivos y software que han permitido que estas tareas pasen de ser realizada por el hombre a ser realizada por estos dispositivos o software, pero la aplicación de estas herramientas no es tarea fácil, puesto que se necesita que estén conectados a una red general de la industria de manera que los datos obtenido por estos dispositivos sean transmitidos y visualizados por el operador de planta y de esta forma poder saber cuál es el estado en que se encuentra el área que le compete. Estos dispositivos pueden ser sensores o captadores, controladores lógico programable (PLC) o controladores de automatización programable (PAC), entre otros; estos permiten captar señales o variables de forma que permite la automatización de procesos en la industria representando una mejor eficiencia y rendimiento en los procesos, así como también contribuyendo en la toma de decisiones, bien sea de cambiar formas de trabajo, mantenimiento correctivo, mantenimiento preventivo, ejecución de un proyecto, entre muchas otras. La red de comunicaciones a nivel industrial constituye parte importante en la implementación de estos dispositivos puesto que si bien es cierto que su función no está directamente ligada a la comunicación se

11

En síntesis

requiere de esta para que los datos extraídos sean visualizados por el operador o por la persona a quien le competa el trabajo de analizar los datos y posteriormente tomar decisiones. En este aspecto es cuando se habla de protocolos industriales de comunicación, ya que son estos van a permitir la transferencia e intercambio de datos entre los distintos dispositivos que conformen la red, a través de un conjunto de reglas que se llevan a cabo a la otra de trasmitir un dato de un dispositivo a otro. Por ser un protocolo de fácil uso, económico y simplicidad el protocolo modbus es muy usado en este tipo de comunicaciones industriales, está basado en una arquitectura cliente/servidor o maestro/esclavo. Básicamente el funcionamiento radica en solicitar una respuesta a un esclavo y el esclavo se limita a responder.


Conclusiones y Referencias

Cabe destacar que en este proceso de solicitar datos el mensaje puede enviado a todo los demás esclavos conectados en la red, es por esto que en el protocolo modbus se establece que todos y cada uno de los esclavos en la red posean una única dirección, de esta manera garantiza que solo el esclavo correcto procesara y retornara una respuesta a la solicitud recibida, esto sucede porque dentro del paquete de datos enviado por el maestro se encuentra la dirección especifica de quien va dirigido el mensaje, y en los demás sucede que cuando el paquete de datos llega este se encarga de desencapsular el dato recibido con el fin de obtener la dirección del destinatario y si coincide con él lo procesa si no coincida simplemente rechaza el mensaje y este seguirá navegando por la red hasta que localice el esclavo destinatario. .

MODBUS Conclusiones Los protocolos modbus son sumamente importantes en los procesos de comunicación industrial ya que de no existir este tipo de tecnología los procesos realizados en las industrias tendría un costo muy elevado porque se necesitaría la mano del hombre para realizarlas y esto implicaría costos para la industria. Aunque la mayoría de los usuarios nunca necesitan tener un amplio conocimiento del protocolo, dicho conocimiento puede ser valioso para diseñar un sistema o desarrollar controladores de dispositivos Modbus. Este documento ofrece un panorama del protocolo sin detenerse en los detalles de la especificación completa.

Fuentes consultadas http://www.tolaemon.com/docs/modbus.htm. http://www.dea.icai.upco.es/sadot/Comunicaciones/avanzadas/parte1.pdf. http://www.serbi.ula.ve/serbiula/libroselectronicos/Libros/trasmisiondedatos /pdf/CAPITULO%20V.pdf. http://jro.igp.gob.pe/teps/pdf/2009/ryaya_ProtocolosTX.pdf. http://es.wikipedia.org/wiki/Modbus. www.aie.cl/files/file/comites/ca/articulos/agosto-06.pdf. http://www.xmcarne.com/blog-tecnico/introduccion-modbus/11

12


MODBUS

Informaci贸n relevante

Para mas informaci贸n, consulte el sitio wed de MODBUS

http://www.modbus.org/

13


Visita: http://campusvirtual.monagas.udo.edu.ve/



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.