Función 8: diagnóstico de Modbus
Estructura de los mensajes Modbus relacionados con la gestión de los contadores de diagnóstico de la pasarela PowerTag Link
Solicitud
Definición |
Número de bytes |
Valor |
---|---|---|
Número de servidor |
1 byte |
0xFF |
Código de función |
2 bytes |
08 (0x08) |
Código de subfunción |
2 bytes |
22 (0x0016) |
Código de operación |
2 bytes |
1 ([0x0001], consulte la siguiente lista para obtener el código de operación) |
Control de diagnóstico |
2 bytes |
0x0100 (consulte la siguiente lista para obtener el control de diagnóstico) |
Índice de entradas iniciales |
1 byte |
0x00 (de 0 a 255) |
El campo de código de operación se utiliza para seleccionar el diagnóstico y los datos estadísticos que deben leerse del dispositivo.
Byte más significativo |
Byte menos significativo |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Reservado |
Versión del protocolo |
Código de operación |
Las asignaciones de bits se incluyen en la siguiente tabla:
Bit |
Campo |
Descripción |
---|---|---|
De 15 a 12 |
Reservado |
Debe ser cero |
De 11 a 8 |
Versión del protocolo (PV) |
Indica la versión del protocolo del cliente (solicitante) Los valores son: 0x00 (versión inicial) |
De 7 a 0 |
Código de operación |
Indica la función que debe llevar a cabo el comando Los valores son:
|
El campo de control de diagnóstico proporciona la información de selección de datos para este protocolo y especifica el puerto lógico desde el cual deben recuperarse los datos (si corresponde). El campo de control de diagnóstico se define como se muestra en la siguiente tabla:
Byte más significativo |
Byte menos significativo |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Código de selección de datos |
Selección de puertos |
Las asignaciones de bits se incluyen en la siguiente tabla:
Bit |
Campo |
Descripción |
---|---|---|
De 15 a 8 |
Código de selección de datos (DS) |
Indica los datos de diagnóstico que se deben recuperar o borrar del puerto lógico. Consulte la siguiente tabla para obtener los valores válidos. |
De 7 a 0 |
Selección de puertos (PS) |
Indica el número del puerto lógico desde el cual se recuperarán los datos seleccionados.
Este valor debe ser 0xFF si los datos solicitados no son específicos del puerto. Consulte la columna Selección de puerto necesaria de la siguiente tabla para conocer el Código de selección de datos que necesita un valor de selección de puerto válido. |
Código de selección de datos
Código de selección de datos |
Datos de diagnóstico recuperados |
Selección de puerto necesaria |
Tipo |
---|---|---|---|
0x00 |
Reservado |
Público |
|
0x01 |
Diagnóstico básico de la red |
Público |
|
0x02 |
Diagnóstico de puertos Ethernet |
Sí |
Público |
0x03 |
Diagnóstico del puerto Modbus TCP 502 |
Público |
|
0x04 |
Tabla de conexiones del puerto Modbus TCP 502 |
Público |
|
0x05 a 0x7E |
Reservado para otros códigos públicos |
Público |
|
0x7F |
Offsets de la estructura de datos |
Público |
|
0x80 a 0xFF |
Reservado |
Reservado |
Respuesta
Definición |
Número de bytes |
Valor |
---|---|---|
Número de servidor |
1 byte |
0xFF |
Código de función |
2 bytes |
08 (0x08) |
Código de subfunción |
2 bytes |
22 (0x0016) |
Código de operación |
2 bytes |
1 ([0x0001], consulte la lista anterior para obtener el código de operación) |
Control de diagnóstico |
2 bytes |
0x0100 (consulte la lista anterior para obtener el control de diagnóstico) |
Índice de entradas iniciales |
1 byte |
0x00 (de 0 a 255) |
Restablecimiento de contadores
Los contadores se restablecen a 0:
-
Cuando alcanzan el valor máximo de 65535.
-
Cuando un comando de Modbus los restablece (código de función 8, código de subfunción 10).
-
Cuando se corta la alimentación.
-
O cuando se modifican los parámetros de comunicación.