Índice
ToggleAl leer el protocolo Modbus, siempre te encontrarás con algunos términos confusos, lo que puede dificultar la interpretación del protocolo. En este artículo, ofrecemos explicaciones útiles sobre los términos del protocolo Modbus que pueden resultarte confusos.

1. Código de función:
Los códigos de función se utilizan para representar la función de los tramas de información en el protocolo Modbus. Los códigos de función más habituales son el 03, el 04, el 06, el 16, etc. Entre ellos, el código de función 03 se utiliza para leer el contenido del registro de retención, y el código de función 04 se utiliza para leer el contenido del registro de entrada (La diferencia entre los registros de entrada y los registros de retención (véase más abajo); el código de función 06 sirve para preconfigurar un único registro de retención, y el código de función 16, para preconfigurar varios registros de retención).
2. Registros de entrada y registros de retención:
El código de función 04 sirve para leer el registro de entrada, mientras que el código de función 03 sirve para leer el registro de retención. Muchas personas siempre se preguntan cuál es la diferencia entre estos dos códigos de función cuando los ven. ¿Cuál es la diferencia entre el registro de retención y el registro de entrada? El protocolo Modbus se utilizó originalmente para resolver el problema del protocolo de comunicación de los PLC. Se utiliza principalmente para la entrada y salida de señales digitales y analógicas. El denominado «registro de entrada» deriva de la entrada de señales analógicas; es decir, el registro de entrada solo puede modificarse desde el extremo de entrada de la señal analógica, y el host no puede cambiar los datos del registro de entrada mediante la emisión de instrucciones. El registro de retención se utiliza para emitir señales analógicas. El host puede modificar los datos del registro. Es decir, desde el punto de vista del host, el registro de entrada es de solo lectura, mientras que el registro de retención permite tanto la lectura como la escritura. Cuando el host utiliza las instrucciones de código de función 06 y 16 para preconfigurar el registro de entrada, el dispositivo devolverá un código de error 0x81, es decir, se ha intentado escribir en un registro de solo lectura.
3. Formato de las direcciones de datos en Modbus:
En el protocolo Modbus suelen aparecer registros similares a 3xxxx y 4xxxx, que representan los tipos de datos que admite el registro. Utilizamos una lista para ilustrarlo, y el formato de direcciones de datos de Modbus comienza en 0. Por ejemplo, el siguiente registro 40009 corresponde a un registro de retención. La dirección del registro es 00 08. A menudo se utilizan formatos de direcciones de datos similares en el software de configuración y en los sistemas PLC. .
| Dirección en el mapa | código de función utilizado | Tipo de dirección | Método de acceso | describir |
| 0XXXX | 01,05,15 | Salida discreta | Leer y escribir | Cada volumen representa un único bit de conmutación |
| 1XXXX | 02 | entrada discreta | sólo lectura | Cada volumen representa un único bit de conmutación |
| 2XXXX | 03,04,06,16 | registro de coma flotante | solo lectura/lectura y escritura | Dos registros consecutivos de 16 bits representan un número de coma flotante |
| 3XXXX | 04 | registro de entrada | sólo lectura | Cada registro representa un entero sin signo de 16 bits. |
| 4XXXX | 03,06,16 | registro de tenencia | Leer y escribir | Cada registro representa un entero sin signo de 16 bits. |
| 5XXXX | 03,04,06,16 | Caracteres ASCII | Leer y escribir | Cada registro representa dos códigos ASCII |
4. Modbus RTU/ASCII/TCP:
El protocolo Modbus se utilizó inicialmente para la comunicación entre controladores lógicos programables (PLC). Debido a su carácter abierto, se utiliza ampliamente en instrumentos inteligentes de campo. Existen múltiples variantes del protocolo Modbus, siendo las más conocidas: Modbus RTU /Protocolos de comunicación Modbus ASCII y Modbus TCP. El protocolo RTU/ASCII se basa en la comunicación a través de un puerto serie, mientras que el protocolo TCP se basa en la comunicación por Ethernet.
5. Tabla de códigos de error de Modbus:
Modbus cuenta con códigos de función, códigos de comprobación, códigos de funcionamiento anómalo y códigos de error; entre ellos, los códigos de funcionamiento anómalo y los códigos de error se confunden con mucha facilidad. En términos generales, el código de funcionamiento anómalo hace referencia al código de funcionamiento anómalo correspondiente que se produce cuando se ejecuta un determinado código de función. Por lo general, se añade 0x80 al código de función. Por ejemplo, el código de excepción que aparece en el código de función 03 es el código de función anómala 0x83. El código de función anómala correspondiente al código de función 16 es 0x90, mientras que el código de error indica la situación específica del error. Por ejemplo, la dirección del registro no existe. Tanto si se trata de una lectura como de una escritura, si la dirección del registro no existe, el código de error es 02.
- iot-es



