Está en la página 1de 6

TRABAJO DE COMUNCACIONES SISTEMAS INDUSTRIALES

Nombre: Javier Rodriguez – Johnny Ucho


Fecha: 14 de junio de 2018

Describa 10 códigos para la comunicación ModBus RTU

1. Lectura del estado de uns bobina

 Solicitar:
Este comando solicita el estado ON/OFF de las bobinas discretas # 20 a 56
del dispositivo esclavo con dirección 17.

11 01 0013 0025 0E84


11: La dirección del esclavo (11 hex = dirección17)
01: El Código de Función 1 (lea el Estado de la Bobina)
0013: La dirección de datos de la primera bobina a leer.
( 0013 hex = 19 , + 1 offset = bobina #20)
0025: El número total de bobinas solicitadas. (25 hex = 37, entradas 20 a 56)
0E84: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

 Respuesta

11 01 05 CD6BB20E1B 45E6

11: La dirección del esclavo (11 hex = dirección17)


01: El Código de Función 1 (lea el Estado de la Bobina)
05: El número de bytes de datos a seguir (37 bobinas / 8 bits por byte = 5 bytes)
CD: Bobinas 27 - 20 (1100 1101)
6B: Bobinas 35 - 28 (0110 1011)
B2: Bobinas 43 - 36 (1011 0010)
0E: Bobinas 51 - 44 (0000 1110)
1B: 3 soportes y bobinas 56 - 52 (0001 1011)
45E6: El CRC (comprobación de redundancia cíclica).

Los bits más significativos contienen las variables de bobina más altas. Esto muestra que la bobina 36 está apagada (0) y
la 43 está encendida (1). Debido al número de bobinas solicitadas, el último campo de datos1B contiene el estado de sólo
5 bobinas. Los tres bits más significativos en este campo de datos se rellenan con ceros.

2. Lectura del estado de la entrada (FC)

 Solicitar

Este comando solicita el estado ON/OFF de las entradas discretas # 10197 a 10218
del dispositivo esclavo con dirección 17.

11 02 00C4 0016 BAA9

11: La dirección del esclavo (11 hex = dirección17)


02: El Código de Función 2 (lea Estado de la Entrada)
00C4: La dirección de datos de la primera entrada a leer.
( 00C4 hex = 196, + 10001 offset = entrada #10197)
0016: El número total de bobinas solicitadas. (16 hex = 22, entradas 197 a 218)
BAA9: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.
 Respuesta

11 02 03 ACDB35 2018

11: La dirección del esclavo (11 hex = dirección17)


02: El Código de Función 2 (lea Estado de la Entrada)
03: El número de bytes de datos a seguir (22 Entradas / 8 bits por byte = 3 bytes)
AC: Entradas discretas 10204 -10197 (1010 1100)
DB: Entradas discretas 10212 - 10205 (1101 1011)
35: 2 soportes de espacio y entradas discretas 10218 - 10213 (0011 0101)
2018: El CRC (comprobación de redundancia cíclica).

Los bits más significativos contienen las entradas Discretas más altas. Esto muestra que la entrada 10197 está apagada
(0) y la 10204 está encendida (1). Debido al número de entradas solicitadas, el último campo de datos 35 contiene el
estado de sólo 6 entradas. Los dos bits más significativos en este campo de datos se rellenan con ceros.

3. Leer registros de retención Bobina

 Solicitar

Este comando solicita el contenido de los registros de retención de la salida analógica # 40108 a
40110 desde el dispositivo esclavo con dirección 17.

11 03 006B 0003 7687

11: La dirección del esclavo (11 hex = dirección17)


03: El Código de Función 3 (lea los Registros de Retención de Salida Analógica)
006B: La dirección de datos del primer registro solicitado.
( 006B hex = 107 , + 40001 offset = entrada #40108)
0003: El número total de registros solicitados. (léase 3 registros 40108 a 40110)
7687: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

 Respuesta

11 03 06 AE41 5652 4340 49AD

11: La dirección del esclavo (11 hex = dirección17)


03: El Código de Función 3 (lea los Registros de Retención de Salida Analógica)
06: El número de bytes de datos a seguir (3 registros x 2 bytes cada uno = 6 bytes)
AE41: Contenido del registro 40108
5652: El contenido del registro 40109
4340: El contenido del registro 40110
49AD: El CRC (comprobación de redundancia cíclica).

4. Leer registros de entrada

 Solicitar

Este comando solicita el contenido del registro de entrada analógica # 30009


del dispositivo esclavo con dirección 17.

11 04 0008 0001 B298

11: La dirección del esclavo (11 hex = dirección17)


04: El Código de Función 4 (lea Registros de Entrada Analógica)
0008: La dirección de datos del primer registro solicitado.
( 0008 hex = 8 , + 30001 offset = registro de entrada #30009 )
0001: El número total de registros solicitados. (leer 1 registro)
B298: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

 Respuesta

11 04 02 000A F8F4

11: La dirección del esclavo (11 hex = dirección17)


04: El Código de Función 4 (lea Registros de Entrada Analógica)
02: El número de bytes de datos a seguir (1 registros x 2 bytes cada uno = 2 bytes)
000A: El contenido del registro 30009
F8F4: El CRC (comprobación de redundancia cíclica).

5. Forzar encendido de una Bobina

 Solicitar

Este comando está escribiendo el contenido de la bobina discreta # 173 a ON


en el dispositivo esclavo con la dirección 17.

11 05 00AC FF00 4E8B

11: La dirección del esclavo (11 hex = dirección17)


05: El Código de Función 5 (Force Single Coil)
00AC: La dirección de datos de la bobina. (bobina# 173 - 1 = 172 = AC hex).
( 00AC hex = 172 , + 1 offset = bobina #173)
FF00: El estado a escribir ( FF00 = ON, 0000 = OFF)
4E8B: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

 Respuesta

La respuesta normal es un eco de la consulta, devuelto después de que la bobina ha sido escrita.

11 05 00AC FF00 4E8B

11: La dirección del esclavo (11 hex = dirección17)


05: El Código de Función 5 (Force Single Coil)
00AC: La dirección de datos de la bobina. (bobina# 173 - 1 = 172 = AC hex)
FF00: El estado escrito ( FF00 = ON, 0000 = OFF)
4E8B: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

6. Registro único de configuraciones prefijadas de una bobina

 Solicitar

Este comando está escribiendo el contenido del registro de retención de salida analógica # 40002
al dispositivo esclavo con la dirección 17.

11 06 0001 0003 9A9B

11: La dirección del esclavo (11 hex = dirección17)


06: El Código de Función 6 (Registro único de preajustes)
0001: La dirección de datos del registro.
( 0001 hex = 1 , + 40001 offset = registro #40002 )
0003: El valor a escribir
9A9B: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

 Respuesta

La respuesta normal es un eco de la consulta, que se devuelve una vez escrito el contenido del registro.

11 06 0001 0003 9A9B

11: La dirección del esclavo (11 hex = dirección17)


06: El Código de Función 6 (Registro único de preajustes)
0001: La dirección de datos del registro. (# 40002 - 40001 = 1 )
0003: El valor escrito
9A9B: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

7. Forzar inicio de Múltiples Bobinas

 Solicitar

Este comando está escribiendo el contenido de una serie de 10 bobinas discretas de #20 a #29
al dispositivo esclavo con la dirección 17.

11 0F 0013 000A 02 CD01 BF0B

11: La dirección del esclavo (11 hex = dirección17)


0F: El Código de Función 15 (Fuerza de Múltiples Bobinas, 0F hex = 15)
0013: La dirección de datos de la primera bobina.
( 0013 hex = 19 , + 1 offset = bobina #20)
000A: El número de bobinas a escribir ( 0A hex = 10)
02: El número de bytes de datos a seguir (10 bobinas / 8 bits por byte = 2 bytes)
CD: Bobinas 27 - 20 (1100 1101)
01: 6 soportes y bobinas 29 - 28 (0000 0001)
BF0B: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

Los bits más significativos contienen las variables de bobina más altas. Esto muestra que la bobina 20 está encendida (1)
y la 21 está apagada (0). Debido al número de bobinas solicitadas, el último campo de datos01 contiene el estado de sólo
2 bobinas. Los bits no utilizados en el último byte de datos se rellenan con ceros.

 Respuesta

11 0F 0013 000A 2699

11: La dirección del esclavo (11 hex = dirección17)


0F: El Código de Función (Fuerza de Múltiples Bobinas, 0F hex = 15)
0013: La dirección de datos de la primera bobina.
( 0013 hex = 19 , + 1 offset = bobina #20)
000A: El número de bobinas a escribir ( 0A hex = 10)
2699: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

8. Configuración prefijada de varios registros


 Solicitar

Este comando está escribiendo el contenido de dos registros de retención de salida analógica # 40002 y 40003 en el
dispositivo esclavo con dirección 17.

11 10 0001 0002 04 000A 0102 C6F0

11: La dirección del esclavo (11 hex = dirección17)


10: El Código de Función 16 (Registros Múltiples Preestablecidos, 10 hex - 16)
0001: La dirección de datos del primer registro.
( 0001 hex = 1 , + 40001 offset = registro #40002 )
0002: El número de registros a escribir
04: El número de bytes de datos a seguir (2 registros x 2 bytes cada uno = 4 bytes)
000A: El valor a escribir en el registro 40002
0102: El valor a escribir en el registro 40003
C6F0: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

 Respuesta

11 10 0001 0002 1298

11: La Dirección del Esclavo (17 = 11 hex)


10: El Código de Función 16 (Registros Múltiples Preestablecidos, 10 hex - 16)
0001: La dirección de datos del primer registro. (# 40002 - 40001 = 1 )
0002: El número de registros escritos.
1298: El CRC (comprobación de redundancia cíclica) para la comprobación de errores.

9. Ejemplo 9 Leer registros de mantenimiento bobina

 Petición del maestro (modo RTU)

P: [01][03][01][00][00][06][C4][34]

[01] Nº Esclavo


[0x03 o 0x04]Código Operación
[01] Dirección del registro
[00] [00] Nº de datos que se desea leer: max 128 datos
[C4][34] CRC(16): H L

 Respuesta del esclavo (modo RTU):

R: [01][03][0C][20][81][00][00][00][00][00][00][00][00][1C][01][76][F1]

[01]  NºEsclavo
[0x03 o 0x04] Código Operación
[0C][20][81][00][00][00][00][00]Nº de bytes leidos: 1 byte
[00][00][00][00][1C][01] Datos: ¿ max 128 datos ?
[76][F1]  CRC(16): H L

10. Ejemplo 10 Leer registros de entrada (FC=04)

 Petición del maestro (modo RTU)


P: [0A][04][00][00][00][0A][71][76]
0A numero de periférico
04 función de lectura
00 00 registro donde se va a comenzar la lectura
00 0A número de registros a leer: 10
71 76 CRC

 Respuesta del esclavo (modo RTU):

R:

[0A][04][14][00][00][08][4D][00][00][23][28][00][00][0F][A0][00][00][00][90][00][00][00][60][CB][2E]

0A Número del periférico que responde, 10 en decimal


04 Función de lectura - la que se ha utilizado en la pregunta
14 Número de bytes recibidos (20).
00 00 08 4D V1x 10 (registro 00 Hex) con valor en decimal 212,5 V
00 00 23 28 mA 1, en decimal 9000 mA
00 00 0F A0 W 1, en decimal 4000 W
00 00 00 90 varL 1, en decimal 144 varL
00 00 00 60 PF1 x 100, en decimal 96
CB 2E CRC

También podría gustarte