MODBUS

28
REDES DE DATOS INDUSTRIALES Ing. Paul Gálvez Modbus Master Modbus Slave Ascii Conexión remota 1 2 3

description

Por : Ing. Paul Gálvez

Transcript of MODBUS

REDES DE DATOSINDUSTRIALESIng. Paul Glvez

Modbus MasterModbus SlaveAsciiConexin remota123

REDES DE DATOS INDUSTRIALES 2011Presentacin ModbusModbus RTU es un bus de campo utilizado para que se comuniquen los equipos heterogneos de acuerdo con un protocolo definido por la sociedad Modicon.

En este bus, que se ha convertido en uno de los estndares de hecho del sector, se pueden utilizar numerosos equipos, propios o de terceros.

La terminologa protocolo de comunicacin define la parte del software (controlador) aplicada en los equipos que se pueden conectar al bus Modbus RTU.REDES DE DATOS INDUSTRIALES 2011MODELO ISO-OSI

REDES DE DATOS INDUSTRIALES 2011MODELO ISO-OSI

REDES DE DATOS INDUSTRIALES 2011Estructura segn Modelo de Referencia ISO-OSI

El bus Modbus RTU sigue este modelo por niveles sin, no obstante, contenerlos todos. Tan slo son necesarios para el bus de campo los niveles Aplicacin (Modbus), Enlace y Unidad (Modbus RTU).REDES DE DATOS INDUSTRIALES 2011Nivel Aplicacin El nivel Aplicacin del bus de campo Modbus serie RTU es el nivel visible por parte de los programas de los equipos interconectados. Permite formular peticiones (lectura y escritura de palabras, lectura y escritura de bits, etc.) que se enviarn posteriormente al equipo remoto.

El nivel Aplicacin que utiliza el bus Modbus RTU es el protocolo de aplicacin Modbus.

Ejemplo: Un XBTG conectado a un bus Modbus RTU como maestro enviar peticiones Modbus con la finalidad de actualizar los objetos grficos de estas pginas.REDES DE DATOS INDUSTRIALES 2011Nivel EnlaceEl nivel Enlace del bus Modbus serie RTU utiliza el principio de comunicacin Maestro/Esclavo.

El principio de un nivel Enlace es definir un mtodo de comunicacin de bajo nivel en el medio de comunicacin (nivel Unidad). Para el bus Modbus serie RTU, el mtodo Maestro/Esclavo consiste en un grupo de esclavos (consulta de cada esclavo acerca del bus) para que el maestro sepa si tienen que enviar algn mensaje.

Cuando un esclavo tiene un mensaje para enviar, entonces le pide al maestro que le conceda la autorizacin para realizar el envo.Por cada bus Modbus serie RTU, debe haber un solo maestro que controle los esclavos del bus.REDES DE DATOS INDUSTRIALES 2011Nivel Unidad ( Fsica)El nivel Unidad del modelo OSI se caracteriza por la topologa del bus o la red de comunicacin, el medio (cable, hilo, fibra ptica, etc.) gracias al cual circularn tanto la informacin como su codificacin elctrica.

Si se trata de un bus Modbus serie RTU, la topologa puede ser, en cadena, en derivacin o una solucin mixta de ambos casos. El medio est constituido por pares cruzados blindados y la seal es una seal de banda base con una velocidad predeterminada de 9.600 bits por segundo, una paridad par, 8 bits de datos y 1 bit de detencin.REDES DE DATOS INDUSTRIALES 2011Ejemplos de buses

REDES DE DATOS INDUSTRIALES 2011Estructura de tablasEl modo master de Modbus permite al controlador enviar una solicitud Modbus a un slave y esperar una respuesta.

El modo master de Modbus slo se admite a travs de la instruccin EXCHx. El modo master de Modbus admite Modbus ASCII y Modbus RTU.

El tamao mximo de las tramas enviadas o recibidas es de 250 bytes. La tabla de palabras asociada a la instruccin EXCHx est formada por tablas de control, de envo y de recepcin.REDES DE DATOS INDUSTRIALES 2011

Estructura de tablasREDES DE DATOS INDUSTRIALES 2011

Estructura de tablas (Control)El byte Longitud contiene la longitud de la tabla de envo (250 bytes mx.), que se sobrescribe con el nmero de caracteres recibidos al final de la recepcin, en caso de que sta se solicite.Este parmetro es la longitud en bytes de la tabla de envo. Si el parmetro de offset del envo es igual a 0, ser igual a la longitud de la trama de envo. Si el parmetro de offset del envo no es igual a 0, no se enviar un byte de la tabla de envo (indicado por el valor de offset) y este parmetro ser igual a la longitud de la propia trama ms 1.REDES DE DATOS INDUSTRIALES 2011

El byte Comando, en caso de que se produzca una solicitud RTU Modbus (excepto para una difusin), debe ser siempre igual a 1 (en el envo y la recepcin).Estructura de tablas (Control)REDES DE DATOS INDUSTRIALES 2011

El byte de offset de envo contiene el rango (1 para el primer byte, 2 para elsegundo byte, etc.) dentro de la tabla de envo del byte que se ignorar cuando se enven los bytes. Se utiliza para gestionar los envos asociados a los valores de byte/palabra del protocolo Modbus. Por ejemplo, si este byte es igual a 3, el tercer byte se ignorar, haciendo que el cuarto byte de la tabla sea el tercero en enviarse.Estructura de tablas (Control)REDES DE DATOS INDUSTRIALES 2011

El byte de offset de recepcin contiene el rango (1 para el primer byte, 2 para el segundo byte, etc.) dentro de la tabla de recepcin que se agregar cuando se enve el paquete.Estructura de tablas (Control)REDES DE DATOS INDUSTRIALES 2011En uno de los dos modos (Modbus ASCII o Modbus RTU), la tabla de envo se cumplimenta con la peticin antes de ejecutar la instruccin EXCHx. En el momento de la ejecucin, el controlador determina cul es la capa de enlace de datos y realiza todas las conversiones necesarias para procesar el envo y la respuesta. Los caracteres de inicio, fin y comprobacin no se almacenan en las tablas de emisin/recepcin.Una vez enviados todos los bytes, el controlador cambia a modo de recepcin y espera a recibir los bytes.

La recepcin finaliza de una de las formas siguientes:Se detecta un timeout en un carcter o en una trama.Los caracteres de fin de trama se recibe en modo ASCII oLa tabla de recepcin est llena.Estructura de tablas (emisin/recepcin)REDES DE DATOS INDUSTRIALES 2011Las entradas de byte X enviado contienen los datos del protocolo Modbus (codificacin RTU) que se va a emitir. Si el puerto de comunicacin est configurado para Modbus ASCII, los caracteres de trama correctos se agregan al envo. El primer byte contiene la direccin del dispositivo (especfica o general), el segundo byte contiene el cdigo de funcin y el resto contiene informacin asociada al cdigo de funcin.

Los bytes X recibidos contienen los datos del protocolo Modbus (codificacin RTU) que se van a recibir. Si el puerto de comunicacin est configurado para Modbus ASCII, los caracteres de trama correctos se eliminan de la respuesta. El primer byte contiene la direccin del dispositivo, el segundo byte contiene el cdigo de funcin (o cdigo de respuesta) y el resto contiene informacin asociada al cdigo de funcin.Estructura de tablas (emisin/recepcin)REDES DE DATOS INDUSTRIALES 2011ReferenciasEl modo Slave Modbus permite al controlador responder a las solicitudes Modbus estndar procedentes de un de Modbus.

La capa de enlace de datos de Modbus tiene las limitaciones siguientes:Direccin 1-247Bits: 128 bits previa solicitudPalabras: 125 palabras de 16 bits previa solicitudREDES DE DATOS INDUSTRIALES 2011Intercambio de mensajesEl lenguaje le ofrece dos servicios de comunicacin:

Instruccin EXCHx: para enviar/recibir mensajes.

Bloque de funcin %MSGx: para controlar los intercambios de mensajes.REDES DE DATOS INDUSTRIALES 2011Master de Modbus: Leer N bits

Esta tabla representa las peticiones 01 y 02.REDES DE DATOS INDUSTRIALES 2011Master de Modbus: Lectura de N palabrasEsta tabla representa las peticiones 03 y 04.

REDES DE DATOS INDUSTRIALES 2011Master de Modbus:Escritura de un bitEsta tabla representa la peticin 05.

REDES DE DATOS INDUSTRIALES 2011Master de Modbus:Escritura de una palabraEsta tabla representa la peticin 06.

REDES DE DATOS INDUSTRIALES 2011Master de Modbus:Escritura de N bitsEsta tabla representa la peticin 15.

REDES DE DATOS INDUSTRIALES 2011Master de Modbus:Escritura de N palabrasEsta tabla representa la peticin 16.

REDES DE DATOS INDUSTRIALES 2011Esclavo

MaestroREDES DE DATOS INDUSTRIALES 2011

MaestroControlEmisinREDES DE DATOS INDUSTRIALES 2011