SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Estudio de un protocolo
industrial: Modbus
• Desarrollado por Modicon en 1979
• 2 implementaciones de capa física:
• Serie: Modbus-RTU / Modbus-ASCII
• Ethernet: Modbus-TCP
• Maestro/esclavo en Modbus-RTU y ASCII
• Cliente/servidor en Modbus-TCP
• Campos de la trama de maestro (orden): Dirección, Código de función, datos y campo de
comprobación.
• Campos de la trama de esclavo (respuesta): Dirección, Confirmación de función, datos y
campo de comprobación.
• Modbus define la capa de aplicación.
• Diferentes especificaciones en la capa física.
• RS485 de dos hilos recomendado. Tambíén posible RS232.
• Importante resistencias de terminación LT (line termination) para evitar reflexión de la señal
(120-150Ω).
• Resistencias de polarización (pull-up y pull-down), necesarias si así lo especifican los
equipos. Evitan tensiones flotantes.
Modbus (capa física)
• Conexión de esclavos de 2 hilos a bus ya existente de 4 hilos RS485.
Modbus (capa física)
• Conexión de esclavos de 4 hilos a bus ya existente de 2 hilos RS485.
Modbus (capa física)
• Comunicación unicast y broadcast (usando la dirección 0).
• Siempre comienza la comunicación el maestro o cliente.
Modbus (capa de enlace)
• Modo RTU (remote terminal unit).
• Modo ASCII (American standard code for information interchange).
Modbus (implementaciones serie)
• Dirección (1Byte): Dirección del esclavo.
• Código de función (1B): Número de función modbus (lectura de entradas (02), escritura de
registros (06)…).
• Datos (n Bytes): Longitud en función de lo requerido por el código de función.
• CRC (2 Bytes): Código de comprobación de redundancia cíclica.
Figura 2.7. Modos de Modbus serie: a) RTU y b) ASCII.
Modbus (Trama)
Modbus (Diálogo maestro-esclavo)
OK
ERROR
Códigos de función
DIRECCIONAMIENTO MODBUS (ENTRADAS, BOBINAS Y REGISTROS
Nombre Dirección MB R/W Tamaño
Coils 1-9.999 Read/Write 1 bit
Discrete Input 10.0001-19.999 Read only 1 bit
Input Registers 30.0001-13.999 Read only 16-bit
Holding registers 40.001-49.999 Read/Write 16-bit
ESTRUCTURA DE MEMORIA DE MODBUS (ENTRADAS, BOBINAS Y REGISTROS
Función 01: Lectura de bobinas
Ejemplo de uso:
Función 02: Lectura de entradas
Ejemplo de uso:
Función 03: Lectura de registros de retención
Ejemplo de uso:
Función 05: Escritura de bobinas
Ejemplo de uso:
Función 06: Escritura de un registro de retención
Ejemplo de uso:
Función 15: Escritura de múltiples bobinas
Ejemplo de uso:
Función 16: Escritura de múltiples registros de retención
Ejemplo de uso:
Modbus: Códigos de excepción
Cód Nombre Significado
01 ILLEGAL FUNCTION El código de función requerido no existe en el
esclavo (no está implementada).
02 ILLEGAL DATA ADDRESS Se ha intentado acceder a uno o varios registros
que no existen o bien no están permitidos.
03 ILLEGAL DATA VALUE Se ha intentado escribir un valor fuera de los
límites para este esclavo, o la longitud no es la
correcta.
04 SERVER DEVICE FAILURE Error indeterminado al procesar la orden.
05 ACKNOWLEDGE Se envía cuando se espera que se tarde mucho
tiempo en procesar la petición, con el objetivo
de evitar que se produzca un “timeout”
Modbus: Códigos de excepción
Cód Nombre Significado
06 SERVER DEVICE BUSY El esclavo está ocupado procesando otra petición
08 MEMORY PARITY ERROR Usado con función 20 y 21 (R/W file record) .
Fallo en la paridad de la memoria.
0A GATEWAY PATH UNAVAILABLE El Gateway no puede encontrar el dispositivo.
Usado cuando se pide por Modbus-TCP el acceso
a un esclavo RTU a través de un Gateway.
0B GATEWAY TARGET DEVICE
FAILED TO RESPOND
El Gateway no obtiene respuesta del dispositivo
destino.
Modbus: Diagrama de estados maestro
Modbus: Diagrama de estados esclavo
• Variante introducida por Schneider.
• Protocolo basado en socket TCP, usando el puerto registrado 502.
• Funciona encapsulando una trama Modbus-RTU dentro de una trama TCP.
Modbus-TCP
• Identificador de transacción (transaction identifier) (2B): Un número ascendente para
cada petición, para asociar la respuesta a la petición correspondiente.
• Protocolo de identificación (protocol identifier) (2B): Generalmente es cero, puede
usarse para ampliar el comportamiento.
• Longitud (length) (2B): Longitud en bytes de los siguientes campos (Unit ID+ Modbus
PDU)
• Identificador de la unidad (unit identifier). (2B): Se usa con gateways que para una
misma IP (Modbus-TCP) , comunican con varios equipos por Modbus-RTU.
• Modbus PDU (hasta 253B): Código de función y datos.
Modbus-TCP

Más contenido relacionado

Similar a Redes_Modbus.pdf

Generar subredes castro
Generar subredes castroGenerar subredes castro
Generar subredes castro
VERO
 
Protocolos de red clase 2
Protocolos de red   clase 2Protocolos de red   clase 2
Protocolos de red clase 2
ing_jlcarrillo
 
Direccionamiento de una ip y conceptos BY JAVIER DAVID LOBATO PARDO
Direccionamiento de una ip y conceptos BY JAVIER DAVID LOBATO PARDODireccionamiento de una ip y conceptos BY JAVIER DAVID LOBATO PARDO
Direccionamiento de una ip y conceptos BY JAVIER DAVID LOBATO PARDO
javier david lobato pardo
 

Similar a Redes_Modbus.pdf (20)

Generar subredes castro
Generar subredes castroGenerar subredes castro
Generar subredes castro
 
3 capa de red
3 capa de red3 capa de red
3 capa de red
 
Protocolo modbus
Protocolo modbusProtocolo modbus
Protocolo modbus
 
Christian gavilanes
Christian gavilanesChristian gavilanes
Christian gavilanes
 
Interfaces
InterfacesInterfaces
Interfaces
 
Proyecto, investigacion equipo #1 5°B programacion
Proyecto, investigacion equipo #1 5°B programacionProyecto, investigacion equipo #1 5°B programacion
Proyecto, investigacion equipo #1 5°B programacion
 
EL_RS232.pptx
EL_RS232.pptxEL_RS232.pptx
EL_RS232.pptx
 
Direccionamiento IPV4
Direccionamiento IPV4Direccionamiento IPV4
Direccionamiento IPV4
 
Rs232
Rs232Rs232
Rs232
 
Protocolos de red clase 2
Protocolos de red   clase 2Protocolos de red   clase 2
Protocolos de red clase 2
 
Modulo 14 Curso Soporte Linux.ppt
Modulo 14 Curso Soporte Linux.pptModulo 14 Curso Soporte Linux.ppt
Modulo 14 Curso Soporte Linux.ppt
 
Vlsm1
Vlsm1Vlsm1
Vlsm1
 
Componentes fisicos de redes informáticas
Componentes fisicos de redes informáticasComponentes fisicos de redes informáticas
Componentes fisicos de redes informáticas
 
Protocolo Tcp Ip
Protocolo Tcp IpProtocolo Tcp Ip
Protocolo Tcp Ip
 
Redes y telecomunicaciones - Afquitectura TCP IP
Redes y telecomunicaciones -  Afquitectura TCP IPRedes y telecomunicaciones -  Afquitectura TCP IP
Redes y telecomunicaciones - Afquitectura TCP IP
 
Direccionamiento de una ip y conceptos BY JAVIER DAVID LOBATO PARDO
Direccionamiento de una ip y conceptos BY JAVIER DAVID LOBATO PARDODireccionamiento de una ip y conceptos BY JAVIER DAVID LOBATO PARDO
Direccionamiento de una ip y conceptos BY JAVIER DAVID LOBATO PARDO
 
Direcciones ip
Direcciones ipDirecciones ip
Direcciones ip
 
Gprs
GprsGprs
Gprs
 
1.3.1b software de red
1.3.1b software de red1.3.1b software de red
1.3.1b software de red
 
pre4_2.2.docx
pre4_2.2.docxpre4_2.2.docx
pre4_2.2.docx
 

Redes_Modbus.pdf

  • 1. Estudio de un protocolo industrial: Modbus
  • 2. • Desarrollado por Modicon en 1979 • 2 implementaciones de capa física: • Serie: Modbus-RTU / Modbus-ASCII • Ethernet: Modbus-TCP • Maestro/esclavo en Modbus-RTU y ASCII • Cliente/servidor en Modbus-TCP • Campos de la trama de maestro (orden): Dirección, Código de función, datos y campo de comprobación. • Campos de la trama de esclavo (respuesta): Dirección, Confirmación de función, datos y campo de comprobación.
  • 3. • Modbus define la capa de aplicación. • Diferentes especificaciones en la capa física.
  • 4. • RS485 de dos hilos recomendado. Tambíén posible RS232. • Importante resistencias de terminación LT (line termination) para evitar reflexión de la señal (120-150Ω). • Resistencias de polarización (pull-up y pull-down), necesarias si así lo especifican los equipos. Evitan tensiones flotantes. Modbus (capa física)
  • 5. • Conexión de esclavos de 2 hilos a bus ya existente de 4 hilos RS485. Modbus (capa física)
  • 6. • Conexión de esclavos de 4 hilos a bus ya existente de 2 hilos RS485. Modbus (capa física)
  • 7. • Comunicación unicast y broadcast (usando la dirección 0). • Siempre comienza la comunicación el maestro o cliente. Modbus (capa de enlace)
  • 8. • Modo RTU (remote terminal unit). • Modo ASCII (American standard code for information interchange). Modbus (implementaciones serie)
  • 9. • Dirección (1Byte): Dirección del esclavo. • Código de función (1B): Número de función modbus (lectura de entradas (02), escritura de registros (06)…). • Datos (n Bytes): Longitud en función de lo requerido por el código de función. • CRC (2 Bytes): Código de comprobación de redundancia cíclica. Figura 2.7. Modos de Modbus serie: a) RTU y b) ASCII. Modbus (Trama)
  • 12. DIRECCIONAMIENTO MODBUS (ENTRADAS, BOBINAS Y REGISTROS Nombre Dirección MB R/W Tamaño Coils 1-9.999 Read/Write 1 bit Discrete Input 10.0001-19.999 Read only 1 bit Input Registers 30.0001-13.999 Read only 16-bit Holding registers 40.001-49.999 Read/Write 16-bit
  • 13. ESTRUCTURA DE MEMORIA DE MODBUS (ENTRADAS, BOBINAS Y REGISTROS
  • 14. Función 01: Lectura de bobinas Ejemplo de uso:
  • 15. Función 02: Lectura de entradas Ejemplo de uso:
  • 16. Función 03: Lectura de registros de retención Ejemplo de uso:
  • 17. Función 05: Escritura de bobinas Ejemplo de uso:
  • 18. Función 06: Escritura de un registro de retención Ejemplo de uso:
  • 19. Función 15: Escritura de múltiples bobinas Ejemplo de uso:
  • 20. Función 16: Escritura de múltiples registros de retención Ejemplo de uso:
  • 21. Modbus: Códigos de excepción Cód Nombre Significado 01 ILLEGAL FUNCTION El código de función requerido no existe en el esclavo (no está implementada). 02 ILLEGAL DATA ADDRESS Se ha intentado acceder a uno o varios registros que no existen o bien no están permitidos. 03 ILLEGAL DATA VALUE Se ha intentado escribir un valor fuera de los límites para este esclavo, o la longitud no es la correcta. 04 SERVER DEVICE FAILURE Error indeterminado al procesar la orden. 05 ACKNOWLEDGE Se envía cuando se espera que se tarde mucho tiempo en procesar la petición, con el objetivo de evitar que se produzca un “timeout”
  • 22. Modbus: Códigos de excepción Cód Nombre Significado 06 SERVER DEVICE BUSY El esclavo está ocupado procesando otra petición 08 MEMORY PARITY ERROR Usado con función 20 y 21 (R/W file record) . Fallo en la paridad de la memoria. 0A GATEWAY PATH UNAVAILABLE El Gateway no puede encontrar el dispositivo. Usado cuando se pide por Modbus-TCP el acceso a un esclavo RTU a través de un Gateway. 0B GATEWAY TARGET DEVICE FAILED TO RESPOND El Gateway no obtiene respuesta del dispositivo destino.
  • 23. Modbus: Diagrama de estados maestro
  • 24. Modbus: Diagrama de estados esclavo
  • 25. • Variante introducida por Schneider. • Protocolo basado en socket TCP, usando el puerto registrado 502. • Funciona encapsulando una trama Modbus-RTU dentro de una trama TCP. Modbus-TCP
  • 26. • Identificador de transacción (transaction identifier) (2B): Un número ascendente para cada petición, para asociar la respuesta a la petición correspondiente. • Protocolo de identificación (protocol identifier) (2B): Generalmente es cero, puede usarse para ampliar el comportamiento. • Longitud (length) (2B): Longitud en bytes de los siguientes campos (Unit ID+ Modbus PDU) • Identificador de la unidad (unit identifier). (2B): Se usa con gateways que para una misma IP (Modbus-TCP) , comunican con varios equipos por Modbus-RTU. • Modbus PDU (hasta 253B): Código de función y datos. Modbus-TCP