Está en la página 1de 10

Gua Rpida

MODBUS TCP
CS1W-ETN21
CJ1W-ETN21

Gua Rpida

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

MODBUS TCP

1. Especificaciones
1.1 Lista de comandos.
Cdigo
(Hex)
0x01
0x02
0x03
0x04
0x05
0x06
0x08
0x0F
0x10

Funcin

Nombre en MODBUS

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

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.

Entradas discretas
Bits
Registros de entrada
Registros DM

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)

*: 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

Longitud
2 bytes

Identificador de
protocolo
Longitud

2 bytes

Descripcin
Identificacin de una
peticin MODBUS/
Respuesta trama
0 = protocolo MODBUS

2 bytes

Nmero de bytes

Identificador de
unidad

1 byte

Identificador del esclavo


remoto conectado en la
lnea serie o en otro tipo
de bus

Cliente
Inicializado por el
cliente (peticin)

Servidor
Recogido por el servidor
desde la peticin recibida

Inicializado por el
cliente (peticin)
Inicializado por el
cliente (peticin)
Inicializado por el
cliente (peticin)

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:

Cdigo de funcin
Direccin de comienzo
Cantidad de bits

Longitud
1 Byte
2 Bytes
2 Bytes

Datos
0x01
0x0000 0xFFFF
1 2000 (0x7D0)

Longitud
1 Byte
1 Byte
n Byte

Datos
0x01
N
n = N o N+1

Respuesta:

Cdigo de funcin
Contador de byte
Estado de bits
Nota: Ejemplo de uso en el apartado 5.3.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:

Cdigo de funcin
Direccin de comienzo
Cantidad de bits

Longitud
1 Byte
2 Bytes
2 Bytes

Datos
0x02
0x0000 0x13FF
1 2000 (0x7D0)

Longitud
1 Byte
1 Byte
n byte

Datos
0x02
N
n = N o N+1

Respuesta:

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

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:

Cdigo de funcin
Direccin de comienzo
Cantidad de registros

Longitud
1 Byte
2 Bytes
2 Bytes

Datos
0x03
0x0000 0x7FFF*
1 125 (0x7D)

* 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

Cdigo de funcin
Contador de bytes
Estado de bits

Datos
0x03
Nx2*

* 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)

Longitud
1 Byte
1 Byte
N x 2 bytes

Datos
0x04
Nx2*

Cdigo de funcin
Direccin de comienzo
Cantidad de registros
Respuesta:

Cdigo de funcin
Contador de bytes
Valor del registro

* 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:

Cdigo de funcin
Direccin de salida
Valor de salida

Longitud
1 Byte
2 Bytes
2 Bytes

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

Longitud
1 Byte
2 Bytes
2 Bytes

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

Respuesta:

Cdigo de funcin
Direccin de salida
Valor de salida

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:

Cdigo de funcin
Direccin del registro
Valor del registro

Longitud
1 Byte
2 Bytes
2 Bytes

Datos
0x06
0x0000 0x7FFF
0x0000 0xFFFF

Longitud
1 Byte
2 Bytes
2 Bytes

Datos
0x06
0x0000 0x7FFF
0x0000 0xFFFF

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.

Funcin: Ejecuta un test de la red, el dato enviado es recibido, a travs del cdigo de
funcin 0x08.
Peticin:

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
---

Longitud
1 Byte
2 Bytes
N x 2 Bytes *

Datos
0x08
0x0000
---

Respuesta:

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

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:

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

Longitud
1 Byte
2 Bytes
2 Bytes
1 Byte
N x 2 Bytes *

Datos
0x10
0x0000 0x17FF
1 123 (0x7B)
2xN*
Valor

Longitud
1 Byte
2 Bytes
2 Bytes

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

Respuesta:

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

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

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

Datos
Cdigo de funcin +0x80
01, 02 03

Descripcin
Error en el campo Funcin
Error en el campo Direccin
Error en el campo Valor

4. Contadores de estado
Contador
Exception_Counter
RCV_Counter
SND_Counter
ER_RCV_Counter
ER_SND_Counter

OMRON Electronics, S.A.

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

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

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

Ch.1
Ch.2

15
1
x

14
0
x

13
1
x

12
1
x

11
1
x

10
1
x

Respuesta
0x01
0x03
0xCD
0x6B
0x05
9
0
x

8
0
x

7
1
x

6
1
1

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
5
0
0

4
1
1

3
x
0

2
x
1

1
x
1

0
x
0

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

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

Ch.1
Ch.2

15
1
x

14
0
x

13
1
x

OMRON Electronics, S.A.

12
1
x

11
1
x

10
1
x

Respuesta
0x02
0x03
0xCD
0x6B
0x05
9
0
x

8
0
x

7
1
x

6
1
1

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
5
0
0

4
1
1

3
x
0

2
x
1

1
x
1

0
x
0

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

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

15

14

Ch.1000
Ch.1001
Ch.1002

13

12

11

Respuesta
0x03
0x06
0xAB
0x12
0x56
0x78
0x97
0x13

10

A
5
9

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

B
6
7

1
7
1

2
8
3

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

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

15
Ch.1000
Ch.1001
Ch.1002

14

13

12

11

Respuesta
0x04
0x06
0xAB
0x12
0x56
0x78
0x97
0x13

10

A
5
9

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

B
6
7

1
7
1

2
8
3

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.

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

OMRON Electronics, S.A.

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)

Pgina 9 de 10

MODBUS TCP

5.3.6 Escritura de un registro del rea de memoria DM.


Peticin: Escribir 0x3AC5 en el DM2000.

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

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)

Respuesta
0x08
0x00
0x00
0xA5
0x37

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

5.3.7 Test de comunicacin.


Peticin: Envo y recepcin del dato 0xA537.

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

Peticin
0x08
0x00
0x00
0xA5
0x37

5.3.8 Escritura de mltiples registros del rea de memoria DM.


Peticin: Escribir 2 palabras en DM1000 (0x3AC5) y en DM1001 (0x9713).

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

OMRON Electronics, S.A.

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)

Pgina 10 de 10

También podría gustarte