Curso MODBUS
Curso MODBUS
Curso MODBUS
El protocolo MODBUS fue desarrollado originalmente por GouldModicon. A lo largo de los aos fue imponindose en la industria como uno de los protocolos ms difundidos para la adquisicin de datos. Hoy en da es un standard de facto en aplicaciones de telemetra. La especificacin original del protocolo ha sufrido diversas modificaciones para adaptarlo a las necesidades cambiantes de la comunicacin de datos. As nacieron diversas variaciones del protocolo, como el Modbus Enron (soporte para registros en punto flotante), Modbus Daniel (adaptado a computadores de caudal de gas), etc. Las variaciones han afectado principalmente el direccionamiento de los registros, dejando intactas las dems caractersticas del protocolo
Las comunicaciones Modbus pueden realizarse sobre enlaces punto a punto o multipunto, con fsica RS-232, RS-422 o RS-485, mediante enlaces radiales, tpicamente del tipo Spread Spectrum, que tienen la ventaja de no requerir lincencia para su instalacin o mediante comunicaciones telefnicas via modem.
Del punto anterior se desprende que los enlaces pueden ser half duplex o full duplex indistintamente. Dado que se trata de un protocolo tipo master-slave, basta con un enlace half duplex para su implementacin Los baud rates soportados dependen de los equipos a conectar, tpicamente van desde 1200 a 38400 bps
HARDWARE DE COMUNICACION
MASTER SLAVE
SLAVE
Multipunto RS-485
SLAVE 4
MASTER
SLAVE 1
SLAVE 2 SLAVE 3
CARACTERISTICAS LOGICAS DEL PROTOCOLO Es de tipo Master-Slave Hay un nico Master en la red. El mster no tiene nmero de nodo. Slo el Master puede iniciar una comunicacin. Los esclavos no pueden comunicarse entre s. El Master puede realizar operaciones de lectura y escritura sobre los esclavos Se admiten hasta 254 esclavos, cada uno de los cuales tiene un nmero de nodo entre 1 y 254 La direccin 255 se reserva para mensajes tipo broadcast (difusin masiva - llegan a todos los esclavos)
Existen 2 formas de transmitir las tramas de comunicacin entre los dispositivos en una red Modbus:
Modo ASCII: Todas las tramas comienzan con un carcter : y terminar con CRLF (Retorno de carro - Alimentacin de lnea, cdigos ASCII 13 y 10 respectivamente). Todos los bytes transmitidos entre ambos delimitadores son caracteres ASCII entre 0-9 y A-F, representando en hexadecimal los valores binarios a transmitir. Ejemplo: el valor 00111111 bin = 3F hex, se transmite como 3 seguido de F. En este modo las tramas son del doble de la longitud que en el modo RTU para cumplir la misma funcin. Modo RTU: El inicio de la trama queda marcado por la llegada del primer carcter. El fin queda marcado por un silencio de ms de 3 tiempos de carcter. Los bytes de la trama van en binario.
MODBUS ASCII Ventajas: desde el punto de vista del fabricante, es ms fcil de implementar, dado que no requiere temporizaciones precisas. Es por ello que muchos equipos slo soportan este modo de comunicacin. Desde el punto de vista del diagnstico, es ms simple, ya que las tramas se pueden ver directamente con cualquier software tipo terminal. Desventajas: Las tramas tienen una longitud de aproximadamente el doble que las tramas RTU, lo cual tiene el efecto neto de reducir la velocidad de comunicacin a la mitad. En el desarrollo de drivers de comunicacin, se presta mejor para ser implementado mediante lenguajes de alto nivel
MODBUS RTU Ventajas: es ms eficiente pues las tramas son ms cortas, lo cual redunda en un mejor aprovechamiento de enlaces lentos como los radiales o en un menor tiempo de actualizacin cuando la red posee gran nmero de esclavos. Desventajas: es ms difcil de implementar, pues requiere temporizaciones precisas para marcar el fin del mensaje. En el desarrollo de drivers de comunicacin, se presta mejor para ser implementado mediante lenguajes de bajo nivel
Todos los dispositivos que integran una red deben tener los mismos parmetros de comunicacin
En los dispositivos esclavos debe configurarse el nmero de nodo (1-254)
MAPA DE DIRECCIONES MODBUS El protocolo Modbus en su versin original soportaba 4 tipos de datos: Entradas digitales (direcciones 10001-19999): son entradas fsicas discretas. Un bit, valores 0 o 1.Slo lectura. Salidas digitales - bobinas internas (direcciones 00001-09999): son salidas fsicas discretas o bobinas internas del equipo. Un bit, valores 0 o 1. Lectura y escritura Entradas analgicas (direcciones tipo 30001-39999): son entradas fsicas analgicas. Registros de 16 bits. Slo lectura. Salidas analgicas - registros internos (direcciones 4000149999): son salidas fsicas analgicas o registros internos del equipo. Registros de 16 bits. Lectura y escritura.
MAPA DE DIRECCIONES MODBUS (cont.) Un dispositivo esclavo normalmente implementa slo una parte del mapa de direcciones. El significado de cada direccin depende del dispositivo y debe consultarse en el manual correspondiente
En el caso de dispositivos que soporten variaciones del protocolo Modbus original, el mapa de memoria incluye direcciones que no figuran en este mapa.
1 2 3 4 5 6 8 15 16
Leer estado de salidas Leer estado de entradas Leer registros de memoria Leer registros de entrada Forzar bobina nica Escribir registro nico Test de comunicacin Forzar mltiples bobinas Escribir mltiples registros
00001-09999 40001-49999
Direccin
Comando lectura Bobinas (Salidas digitales) Entradas (Entradas digitales) Registros de entrada (entradas analgicas) Registros Holding (registros de memoria) 1
40001
6,16
49999
LIMITACIONES DEL PROTOCOLO MODBUS No todos los dispositivos esclavos soportan todos los modos del protocolo (ASCII, RTU, velocidades,etc.). Esto muchas veces hace imposible integrar en una misma red dispositivos diferentes, aunque todos funcionen con el protocolo Modbus. En una red Modbus existe un nico master. Ello impide que ms de un dispositivo tome datos del mismo esclavo. En algunos casos los esclavos poseen ms de un puerto Modbus, con lo cual se soluciona el problema, pero lo ms comn es que un dispositivo tenga un nico puerto. An cuando un dispositivo sea completamente configurable, puede ocurrir que la variante del protocolo que soporta sea diferente de la de los dems dispositivos que se quieren integrar en la misma red.
TIPOS DE DATOS EN REGISTROS Existen diversas formas de transmitir datos en registros 4xxxx Entero no signado: 0...65535
OPTIMIZACION DE LA COMUNICACION Una comunicacin Modbus es ms eficiente cuando la cantidad de paquetes intercambiados es mnima.
EXTENSIONES DE HARDWARE Existen en el mercado productos que permiten que ms de un master acceda a un esclavo, o que un master acceda a esclavos que tienen diferentes configuraciones de comunicacin