Вы находитесь на странице: 1из 10

Gua Rpida

MODBUS TCP
CS1W-ETN21 CJ1W-ETN21

1. Especificaciones 2. Cdigos de funcin 3. Respuesta de error 4. Contadores de estado 5. Programa PLC y ejemplos

Gua Rpida

MODBUS TCP

1. Especificaciones
1.1 Lista de comandos. Cdigo (Hex) 0x01 0x02 0x03 0x04 0x05 0x06 0x08 0x0F 0x10 Funcin Lectura mltiples bits en rea de memoria CIO Lectura mltiples bits en rea de memoria CIO Lectura mltiples registros en rea de memoria DM Lectura mltiples registros en rea de memoria CIO Escritura de un bit en rea de memoria CIO Escritura de un registro en rea de memoria DM Test de comunicacin *** Sin implementar *** Escritura de mltiples registros en rea de memoria DM Nombre en MODBUS Lectura de bits Lectura de entradas discretas Lectura de registros Lectura de registros de entrada Escritura de un bit Escritura de un registro Diagnostico Escritura de varios bits Escritura de varios registros

1.2 Mapa de memoria Memoria empleada por programa del PLC. Proceso Modbus Tipo rea de trabajo rea de recepcin rea de envo Direccin de memoria W 480 - 511 CIO 5800 6000 CIO 6001 - 6143 Descripcin Contadores y clculos necesarios Almacena los bytes recibidos Zona de bytes a enviar

Unidad Ethernet (n de unidad 0). Tipo rea flag/comandos rea de parmetros Direccin de memoria CIO 1000 1024 D 30000 30099 Descripcin Para mayor detalle consultar manual W343

1.3 Zona de memoria accesible por peticin de Modbus TCP. Direccin MODBUS 1 5120 1 65536 1 5801 1 32768 Direccin PDU 0 5119 0 65535 0 57800 0 32767 Correspondencia con direccin en CS/CJ 0 5119 (CIO 0.00 319.15) 0 65535 (CIO 0.00 - 4095.15) 0 5800 (CIO 0 5800)* 0 32767 (D 0 32767)

Entradas discretas Bits Registros de entrada Registros DM

*: rea CIO 5801 6143 est reservada para el programa del PLC. 1.4. Formato de la trama de Modbus TCP. Una cabecera es empleada en TCP/IP para la identificacin de la unidad MODBUS (capa aplicacin). Es conocida como cabecera MBAP (MODBUS Application Protocol header). Esta cabecera contiene algunas diferencias con respecto a la capa de aplicacin del MODBUS RTU en lnea serie, estas son: El campo direccin esclavo MODBUS empleado en MODBUS lnea serie es sustituido por un nico byte, identificador de unidad. El identificador de unidad es empleado
OMRON Electronics, S.A. Pgina 2 de 10

MODBUS TCP

para la comunicacin a travs de dispositivos como puentes, routers y gateways que emplean una nica direccin IP que soportan mltiples e independientes unidades finales de MODBUS. Todas las peticiones y respuestas MODBUS estn diseadas para poder verificar que el mensaje ha finalizado. Para los cdigos de la funcin donde la PDU de MODBUS tiene una longitud fija, con el cdigo de la funcin es suficiente. Para los cdigos de funcin cuya longitud no es fija posee un campo de datos adicional que acta como contador de bytes. Cuando MODBUS es transmitido en TCP, se le aade en la cabecera una informacin adicional de longitud del mensaje, que permite conocer los lmites del mismo, incluso si el mensaje es enviado en mltiples paquetes.

1.4.1. Descripcin de la cabecera MBAP. La cabecera MBAP contiene los siguientes campos: Campos Identificador de trama Identificador de protocolo Longitud Identificador de unidad Longitud 2 bytes 2 bytes 2 bytes 1 byte Descripcin Identificacin de una peticin MODBUS/ Respuesta trama 0 = protocolo MODBUS Nmero de bytes Identificador del esclavo remoto conectado en la lnea serie o en otro tipo de bus Cliente Inicializado por el cliente (peticin) Inicializado por el cliente (peticin) Inicializado por el cliente (peticin) Inicializado por el cliente (peticin) Servidor Recogido por el servidor desde la peticin recibida Recogido por el servidor desde la peticin recibida Inicializado por el servidor (Respuesta) Recogido por el servidor desde la peticin recibida

La cabecera tiene una longitud de 7 bytes: Identificador de trama: Es empleado para la transaccin, el servidor MODBUS copia en la respuesta el identificador de la trama de la peticin. Identificador de protocolo: Es empleado para los sistemas multiplexados. El protocolo MODBUS es identificado por el valor 0. Longitud: Este campo es un contador de bytes de los siguientes campos, incluyendo el identificador de unidad y el campo de datos. Identificador de unidad: Este campo es empleado para enrutados. Tpicamente se utiliza para la comunicacin MODBUS o en MODBUS + esclavo serie a travs de gateway entre una red Ethernet TCP-IP y una lnea serie MODBUS. Este campo es puesto por el cliente MODBUS en la peticin y debe ser devuelto con el mismo valor en la respuesta del servidor.

OMRON Electronics, S.A.

Pgina 3 de 10

MODBUS TCP

2. Cdigos de funcin
2.1 Lectura de mltiples bits del rea de memoria de E/S (CIO). Funcin: Lee bits del rea de memoria de E/S a travs del cdigo de funcin 0x01. Peticin: Longitud 1 Byte 2 Bytes 2 Bytes Datos 0x01 0x0000 0xFFFF 1 2000 (0x7D0)

Cdigo de funcin Direccin de comienzo Cantidad de bits Respuesta:

Cdigo de funcin Contador de byte Estado de bits Nota: Ejemplo de uso en el apartado 5.3.1.

Longitud 1 Byte 1 Byte n Byte

Datos 0x01 N n = N o N+1

2.2 Lectura de mltiples bits del rea de memoria de E/S (CIO). Funcin: Lee bits del rea de memoria de E/S a travs del cdigo de funcin 0x02. Peticin: Longitud 1 Byte 2 Bytes 2 Bytes Datos 0x02 0x0000 0x13FF 1 2000 (0x7D0)

Cdigo de funcin Direccin de comienzo Cantidad de bits Respuesta:

Cdigo de funcin Contador de byte Estado de bits Nota: Ejemplo de uso en el apartado 5.3.2.

Longitud 1 Byte 1 Byte n byte

Datos 0x02 N n = N o N+1

2.3 Lectura de mltiples registros del rea de memoria DM. Funcin: Lee registros del rea de memoria DM a travs del cdigo de funcin 0x03. Peticin: Longitud 1 Byte 2 Bytes 2 Bytes Datos 0x03 0x0000 0x7FFF* 1 125 (0x7D)

Cdigo de funcin Direccin de comienzo Cantidad de registros

* El rango de la direccin de inicio depende del rea de localizacin.


OMRON Electronics, S.A. Pgina 4 de 10

MODBUS TCP

Respuesta: Longitud 1 Byte 1 Byte N x 2 bytes Datos 0x03 Nx2*

Cdigo de funcin Contador de bytes Estado de bits * N = Cantidad de registros. Nota: Ejemplo de uso en el apartado 5.3.3.

2.4 Lectura de mltiples registros del rea de memoria CIO. Funcin: Lee registros del rea de memoria CIO, a travs del cdigo de funcin 0x04. Peticin: Longitud 1 Byte 2 Bytes 2 Bytes Datos 0x04 0x0000 0x16A8 1 125 (0x7D)

Cdigo de funcin Direccin de comienzo Cantidad de registros Respuesta:

Cdigo de funcin Contador de bytes Valor del registro

Longitud 1 Byte 1 Byte N x 2 bytes

Datos 0x04 Nx2*

* N = Cantidad de registros. Nota: Ejemplo de uso en el apartado 5.3.4. 2.5 Escritura de un bit en el rea de memoria de E/S. Funcin: Escribe en un bit, a travs del cdigo de funcin 0x05. Peticin: Longitud 1 Byte 2 Bytes 2 Bytes Datos 0x05 0x0000 0xFFFF* 0x0000 OFF. 0xFF00 ON.

Cdigo de funcin Direccin de salida Valor de salida Respuesta:

Cdigo de funcin Direccin de salida Valor de salida

Longitud 1 Byte 2 Bytes 2 Bytes

Datos 0x05 0x0000 0xFFFF 0x0000 OFF. 0xFF00 ON.

OMRON Electronics, S.A.

Pgina 5 de 10

MODBUS TCP

* Los valores 0x0000 0xFFFF tienen la siguiente relacin con los bits del rea CIO: Direccin de salida 0x0000 0x0001 0x000E 0x000F Canal CIO 0.00 0.01 0.14 0.15 Direccin de salida 0x0020 0x0105 0x022A 0x0333 Canal CIO 2.00 10.05 22.15 33.03

Nota: Ejemplo de uso en el apartado 5.3.5. 2.6 Escritura de un registro del rea de memoria DM. Funcin: Escribe en un registro, a travs del cdigo de funcin 0x06. Peticin: Longitud 1 Byte 2 Bytes 2 Bytes Datos 0x06 0x0000 0x7FFF 0x0000 0xFFFF

Cdigo de funcin Direccin del registro Valor del registro Respuesta:

Cdigo de funcin Direccin del registro Valor del registro Nota: Ejemplo de uso en el apartado 5.3.6. 2.7 Test de comunicacin.

Longitud 1 Byte 2 Bytes 2 Bytes

Datos 0x06 0x0000 0x7FFF 0x0000 0xFFFF

Funcin: Ejecuta un test de la red, el dato enviado es recibido, a travs del cdigo de funcin 0x08. Peticin: Longitud 1 Byte 2 Bytes N x 2 Bytes * Datos 0x08 0x0000 ---

Cdigo de funcin Cdigo de subfuncin Datos * 2 a 125, (0x0002 a 0x007D) Bytes. Respuesta:

Cdigo de funcin Cdigo de subfuncin Datos * 2 a 125, (0x0002 a 0x007D) Bytes.

Longitud 1 Byte 2 Bytes N x 2 Bytes *

Datos 0x08 0x0000 ---

Nota: Ejemplo de uso en el apartado 5.3.7.

OMRON Electronics, S.A.

Pgina 6 de 10

MODBUS TCP

2.8 Escritura de mltiples registros del rea de memoria DM. Funcin: Escribe registros, a travs del cdigo de funcin 0x10. Peticin: Longitud 1 Byte 2 Bytes 2 Bytes 1 Byte N x 2 Bytes * Datos 0x10 0x0000 0x17FF 1 123 (0x7B) 2xN* Valor

Cdigo de funcin Direccin de comienzo Cantidad de registros Contador de byte Valor de registros * N, cantidad de registros a escribir. Respuesta:

Cdigo de funcin Direccin de comienzo Cantidad de registros Nota: Ejemplo de uso en el apartado 5.3.8.

Longitud 1 Byte 2 Bytes 2 Bytes

Datos 0x10 0x0000 0x17FF 1 123 (0x7B)

3. Respuesta de error
Si la trama enviada contiene algn tipo de error, el PLC generar una trama de error compuesta por los siguientes campos: Respuesta Longitud 1 Byte 1 Byte Descripcin Error en el campo Funcin Error en el campo Direccin Error en el campo Valor Datos Cdigo de funcin +0x80 01, 02 03

Cdigo de funcin Cdigo de error Cdigo de error 01 02 03

4. Contadores de estado
Contador Exception_Counter RCV_Counter SND_Counter ER_RCV_Counter ER_SND_Counter Canal W491 W492 W493 W494 W495 Descripcin Contador de peticiones incorrectas Contador de respuestas enviadas Contador de tramas recibidas Contador de error en recepcin en socket Contador de error en envo en socket

OMRON Electronics, S.A.

Pgina 7 de 10

MODBUS TCP

5. Programa PLC
El proyecto incluye dos PLCs, uno que actuar como servidor y el otro como cliente. 5.1 PLC cliente. El programa est realizado para el empleo de la tarjeta de ethernet ETN21 configurada como nmero de unidad 0, empleando el TCP socket no. 1 y el puerto local y remoto no. 502. En la seccin Setup habr que indicar la direccin IP, poniendo la direccin IP correspondiente al PLC que acta de servidor. En la seccin Your_Request_Here, se muestra el ejemplo del envo del comando de lectura de mltiples registros del rea de memoria DM. 5.2 PLC servidor. El programa est realizado para el empleo de la tarjeta de ethernet ETN21 configurada como nmero de unidad 0, empleando el TCP socket no. 1 y el puerto local y remoto no. 502. En la seccin Setup habr que indicar la direccin IP del PLC que actuar como cliente. 5.3 Ejemplos. 5.3.1 Lectura de mltiples bits del rea de memoria de E/S (CIO). Peticin: Lectura de 19 bits, CIO001.04 a CIO002.06. Peticin 0x01 0x00 0x14 0x00 0x13 11 1 x 10 1 x 9 0 x 8 0 x Respuesta 0x01 0x03 0xCD 0x6B 0x05 7 1 x 6 1 1 5 0 0

Cdigo de funcin Direccin de comienzo (H) Direccin de comienzo (L) Cantidad de bits (H) Cantidad de bits (L) 15 1 x 14 0 x 13 1 x 12 1 x

Cdigo de funcin Contador de bytes Estado de bits, 1.11-1.04 Estado de bits, 2.03-1.12 Estado de bits, 2.06-2.04 4 1 1 3 x 0 2 x 1 1 x 1 0 x 0

Ch.1 Ch.2

5.3.2 Lectura de mltiples bits del rea de memoria de E/S (CIO). Peticin: Lectura de 19 bits, CIO001.04 a CIO002.06. Peticin 0x02 0x00 0x14 0x00 0x13 11 1 x 10 1 x 9 0 x 8 0 x Respuesta 0x02 0x03 0xCD 0x6B 0x05 7 1 x 6 1 1 5 0 0

Cdigo de funcin Direccin de comienzo (H) Direccin de comienzo (L) Cantidad de bits (H) Cantidad de bits (L) 15 1 x 14 0 x 13 1 x 12 1 x

Cdigo de funcin Contador de bytes Estado de bits, 1.11-1.04 Estado de bits, 2.03-1.12 Estado de bits, 2.06-2.04 4 1 1 3 x 0 2 x 1 1 x 1 0 x 0

Ch.1 Ch.2

OMRON Electronics, S.A.

Pgina 8 de 10

MODBUS TCP

5.3.3 Lectura de mltiples registros del rea de memoria DM. Peticin: Lectura de 3 words, DM1000 a DM1002. Peticin 0x03 0x03 0xE8 0x00 0x03 Respuesta 0x03 0x06 0xAB 0x12 0x56 0x78 0x97 0x13 9 B 6 7 8 7 6 1 7 1

Cdigo de funcin Direccin de comienzo (H) Direccin de comienzo (L) Cantidad de registros (H) Cantidad de registros (L)

Cdigo de funcin Contador de bytes Valor del registro (H) D1000 Valor del registro (L) D1000 Valor del registro (H) D1001 Valor del registro (L) D1001 Valor del registro (H) D1002 Valor del registro (L) D1002 5 4 3 2 2 8 3 1 0

15 Ch.1000 Ch.1001 Ch.1002

14 A 5 9

13

12

11

10

5.3.4 Lectura de mltiples registros del rea de memoria CIO. Peticin: Lectura de 3 words, CIO1000 a CIO1002. Peticin 0x04 0x03 0xE8 0x00 0x03 Respuesta 0x04 0x06 0xAB 0x12 0x56 0x78 0x97 0x13 9 B 6 7 8 7 6 1 7 1

Cdigo de funcin Direccin de comienzo (H) Direccin de comienzo (L) Cantidad de registros (H) Cantidad de registros (L)

Cdigo de funcin Contador de bytes Valor del registro (H) C1000 Valor del registro (L) C1000 Valor del registro (H) C1001 Valor del registro (L) C1001 Valor del registro (H) C1002 Valor del registro (L) C1002 5 4 3 2 2 8 3 1 0

15 Ch.1000 Ch.1001 Ch.1002

14 A 5 9

13

12

11

10

5.3.5 Escritura de un bit en el rea de memoria de E/S. Peticin: Poner a ON el CIO002.02, para que se produzca la escritura de 1 bit. Peticin 0x05 0x00 0x22 0xFF 0x00 Respuesta 0x05 0x00 0x22 0xFF 0x00

Cdigo de funcin Direccin de comienzo (H) Direccin de comienzo (L) Valor de salida (H) Valor de salida (L)

Cdigo de funcin Direccin de comienzo (H) Direccin de comienzo (L) Valor de salida (H) Valor de salida (L)

OMRON Electronics, S.A.

Pgina 9 de 10

MODBUS TCP

5.3.6 Escritura de un registro del rea de memoria DM. Peticin: Escribir 0x3AC5 en el DM2000. Peticin 0x06 0x07 0xD0 0x3A 0xC5 Respuesta 0x06 0x07 0xD0 0x3A 0xC5

Cdigo de funcin Direccin del registro (H) Direccin del registro (L) Valor del registro (H) Valor del registro (L)

Cdigo de funcin Direccin del registro (H) Direccin del registro (L) Valor del registro (H) Valor del registro (L)

5.3.7 Test de comunicacin. Peticin: Envo y recepcin del dato 0xA537. Peticin 0x08 0x00 0x00 0xA5 0x37 Respuesta 0x08 0x00 0x00 0xA5 0x37

Cdigo de funcin Cdigo de subfuncin (H) Cdigo de subfuncin (L) Dato (H) Dato (L)

Cdigo de funcin Cdigo de subfuncin (H) Cdigo de subfuncin (L) Dato (H) Dato (L)

5.3.8 Escritura de mltiples registros del rea de memoria DM. Peticin: Escribir 2 palabras en DM1000 (0x3AC5) y en DM1001 (0x9713). Peticin 0x10 0x03 0xE8 0x00 0x02 0x04 0x3A 0xC5 0x97 0x13 Respuesta 0x10 0x03 0xE8 0x00 0x02

Cdigo de funcin Direccin de comienzo (H) Direccin de comienzo (L) Cantidad de registros (H) Cantidad de registros (L) Contador de bytes Valor del registro (H) D1000 Valor del registro (L) D1000 Valor del registro (H) D1001 Valor del registro (L) D1001

Cdigo de funcin Direccin de comienzo (H) Direccin de comienzo (L) Cantidad de registros (H) Cantidad de registros (L)

OMRON Electronics, S.A.

Pgina 10 de 10

Вам также может понравиться