Está en la página 1de 15

Protocolo MODBUS

Desarrollado por Modicon para comunicacion entre PLCs. Debido a su simplicidad y especicacion abierta, actualmente es ampliamente utilizado por diferentes fabricantes.

Entre los dispositivos que lo utilizan podemos mencionar: PLC, HMI, RTU, Drives, sensores y actuadores remotos.
El protocolo establece como los mensajes se intercambian en forma ordenada y la de teccion de errores.

Laboratorio de Automatizacion II.

MODBUS

Principales Caractersticas

Control de acceso al medio tipo Maestro/Esclavo. El protocolo especica: formato de trama, secuencias y control de errores. Existen dos variantes en el formato: ASCII y RTU
Solo especica la capa de enlace del modelo ISO/OSI. A cada esclavo se le asigna una direccion ja y unica en el rango de 1 a 247. La direccion 0 esta reservada para mensajes de difusion sin respuesta.

Laboratorio de Automatizacion II.

MODBUS

Formato General de las Tramas

Laboratorio de Automatizacion II.

MODBUS

Formatos MODBUS

Modo ASCII Comienzo de Trama : Direccion 2 bytes Funcion 2 bytes Datos N x 2 bytes Control de Errores 2 bytes Fin de Trama CR + LF

Modo RTU Comienzo de Trama Tiempo de 3 bytes Direccion Funcion Datos Control de Errores 2 bytes Fin de Trama

1 bytes

1 bytes

N x 1 bytes

Laboratorio de Automatizacion II.

MODBUS

Campo de Funcion
Codigo 01 02 03 04 05 06 15 16 Accion Leer Bobinas (0:xxxx) Leer Entradas (1:xxxx) Leer Registros (4:xxxx) Leer Registros (3:xxxx) Escribir Bobina (0:xxxx) Escribir Registro (4:xxxx) Escribir Bobinas (0:xxxx) Escribir Registros (4:xxxx) Signicado
Obtiene el estado actual ON/OFF de un grupo de bo binas logicas. Obtiene el estado actual ON/OFF de un grupo de en tradas logicas. Obtiene el valor binario de uno o mas registros de almacenamiento. Obtiene el valor binario de uno o mas registros de entrada. Fuerza el estado de una bobina. Escribe el valor binario de un registro de almacenamiento. Fuerza el estado de un grupo de bobinas. Escribe el valor binario de un grupo de registros de almacenamiento.

Laboratorio de Automatizacion II.

MODBUS

Respuesta de Error
Si el esclavo no puede realizar la funcion requerida devuelve una trama de error. Interrogacion
Direccion Funcion Bobina comienzo (alto) 04 Bobina comienzo (bajo) A1 Cantidad Bobinas (alto) 00 Cantidad Bobinas (bajo) 01 Control de Error 4F

0A

01

Respuesta:
Direccion Funcion Codigo de Error 02 Control de Error 73

0A

81

Laboratorio de Automatizacion II.

MODBUS

Codigos de Error
Codigo 01 02 03 04 05 06 Tipo de Error Funcion ilegal Direccion ilegal Dato ilegal Falla en el dispositivo Reconocimiento (ACK) Ocupado Signicado La funcion recibida no esta permitida en el esclavo. La direccion esta fuera del rango permitido. El dato contiene un valor no valido. El controlador no responde o ha ocurrido un error. Se ha aceptado la funcion y se esta procesando. El mensaje ha sido recibido sin error, pero el dispositivo no puede procesarlo en este momento. La funcion solicitada no puede realizarse en este momento.

07

Reconocimiento Negativo (NAK)

Laboratorio de Automatizacion II.

MODBUS

Funcion 01 Leer Bobinas (0:xxxx)

Interrogacion:
Direccion Funcion Bobina comienzo alto 00 Bobina comienzo bajo 13 Cantidad Bobinas alto 00 Cantidad Bobinas bajo 25 Control de Error B6

11

01

Respuesta:
Direccion Funcion Cuenta de bytes 05 Bobinas 2027 CD Bobinas 2835 6B Bobinas 3643 B2 Bobinas 4451 0E Bobinas 5256 1B Control de Error D6

11

01

Laboratorio de Automatizacion II.

MODBUS

Funcion 02 Leer Entradas (1:xxxx)

Interrogacion:
Direccion Funcion Entrada comienzo (alto) 00 Entrada comienzo (bajo) C4 Cantidad de Entradas (alto) 00 Cantidad de Entradas (bajo) 16 Control de Error 0D

17

02

Respuesta:
Direccion Funcion Cuenta de bytes 03 Entradas 1019710204 AC Entradas 1020510212 DB Entradas 1021310218 35 Control de Error 28

17

02

Laboratorio de Automatizacion II.

MODBUS

Funcion 03 Leer Registros (4:xxxx)

Interrogacion:
Direccion Funcion Registro comienzo (alto) 00 Registro comienzo (bajo) 6B Cantidad de Registros (alto) 00 Cantidad de Registros (bajo) 03 Control de Error 7E

11

03

Respuesta:
Direccion Funcion Cuenta de bytes 06 Reg. 40108 (alto) 02 Reg. 40108 (bajo) 2B Reg. 40109 (alto) 00 Reg. 40109 (bajo) 00 Reg. 40110 (alto) 00 Reg. 40110 (bajo) 64 Control de Error 55

11

03

Laboratorio de Automatizacion II.

MODBUS

10

Funcion 04 Leer Registros (3:xxxx)

Interrogacion:
Direccion Funcion Registro comienzo (alto) 00 Registro comienzo (bajo) 08 Cantidad de Registros (alto) 00 Cantidad de Registros (bajo) 01 Control de Error E2

11

04

Respuesta:
Direccion Funcion Cuenta de bytes Registro 30009 (alto) 05 Registro 30009 (bajo) 39 Control de Error

11

04

02

AB

Laboratorio de Automatizacion II.

MODBUS

11

Funcion 05 Escribir Bobina (0:xxxx)

Interrogacion:
Direccion Funcion Direccion Bobina (alto) 00 Direccion Bobina (bajo) AC Datos (alto) Datos (bajo) Control de Error 3F

11

05

FF

00

Respuesta:
Direccion Funcion Direccion Bobina (alto) 00 Direccion Bobina (bajo) AC Datos (alto) Datos (bajo) Control de Error 3F

11

05

FF

00

Laboratorio de Automatizacion II.

MODBUS

12

Funcion 06 Escribir Registro (4:xxxx)

Interrogacion:
Direccion Funcion Direccion Registro (alto) 00 Direccion Registro (bajo) 77 Datos (alto) Datos (bajo) Control de Error 30

23

06

02

2E

Respuesta:
Direccion Funcion Direccion Registro (alto) 00 Direccion Registro (bajo) 77 Datos (alto) Datos (bajo) Control de Error 30

23

06

02

2E

Laboratorio de Automatizacion II.

MODBUS

13

Funcion 15 Escribir Multiples Bobinas (0:xxxx)

Interrogacion:
Dir Func Direcc. Bobina (alto) 00 Direcc. Bobina (bajo) 13 Cantidad (alto) 00 Cantidad (bajo) 0A Cuenta de bytes 02 Valor Bob. 2027 CD Valor Bob. 2829 00 Control de Error F4

11

0F

Respuesta:
Dir Func Direcc. Bobina (alto) 00 Direcc. Bobina (bajo) 13 Cantidad (alto) 00 Cantidad (bajo) 0A Cuenta de bytes 02 Valor Bob. 2027 CD Valor Bob. 2829 00 Control de Error F4

11

0F

Laboratorio de Automatizacion II.

MODBUS

14

Funcion 16 Escribir Multiples Registros (4:xxxx)

Interrogacion:
Dir Func Direcc. Regist (alto) 00 Direcc. Regist (bajo) 87 Cant. (alto) Cant. (bajo) Cuenta de bytes 04 Dato 40136 (alto) 00 Dato 40136 (bajo) 0A Dato 40137 (alto) 01 Dato 40137 (bajo) 02 Control de Error

11

10

00

02

45

Respuesta: (Devuelve solo direccion primer registro y cantidad registros modicados)


Dir Func Direcc. Regist (alto) 00 Direcc. Regist (bajo) 87 Cant. (alto) 00 Cant. (bajo) 02 Control de Error 56

11

10

Laboratorio de Automatizacion II.

MODBUS

15

También podría gustarte