Comunicaciones Modbus RTU en tarjeta
El campo de código de función de una trama de mensaje
contiene dos caracteres (ASCII) u ocho bits (RTU). Los
códigos válidos oscilan en el rango de 1 a 255 decimal.
Cuando se envía un mensaje desde un dispositivo maestro a
uno esclavo, el campo del código de función indica al esclavo
qué tipo de acción debe realizar.
Algunos ejemplos son leer los estados de activación y
desactivación de un grupo de bobinas o entradas discretas,
leer el estado de diagnóstico del esclavo, escribir en las
bobinas o registros designados, o permitir la carga, grabación
o verificación del programa en el esclavo.
Cuando el esclavo responde al maestro, utiliza el campo de
código de función para indicar si se recibe una respuesta
normal (sin errores) o si se produce algún tipo de error (lo que
se conoce como respuesta de excepción). En el caso de una
respuesta normal, el esclavo simplemente refleja el código
de función original. En el caso de una respuesta de
excepción, el esclavo devuelve un código equivalente al
código de función original, con su bit más significativo
establecido en un estado lógico de 1.
El campo de datos se construye utilizando juegos de dos
dígitos hexadecimales, en el rango de 00 a FF hexadecimal.
Estos pueden crearse a partir de un par de caracteres ASCII,
o a partir de un carácter RTU, según el modo de transmisión
serie de la red.
El campo de datos de los mensajes enviados desde un
dispositivo maestro a uno esclavo contiene información
adicional que el esclavo debe utilizar para realizar la acción
definida por el código de función. Esto puede incluir
elementos tales como direcciones discretas y de registro, la
cantidad de elementos que se van a manipular y el número
de bytes de datos real en el campo.
Si no se produce ningún error, el campo de datos de una
respuesta de un esclavo a un maestro contiene los datos
solicitados. Si se produce un error, el campo contiene un
código de excepción que puede usar la aplicación maestra
para determinar la siguiente acción que se debe realizar.
Para las redes Modbus estándar se usan dos tipos de suma
de comprobación. El contenido del campo de comprobación
de error depende del método de transmisión que se esté
usando.
10
DG1 Series VFD
MN040010ES—Abril de 2015
www.eaton.com
Funciones admitidas
Tabla 8. Functiones
Código de
función
Descripción
0x01
Leer bobinas
0x02
Leer entradas discretas
0x03
Leer registros de retención
0x04
Leer registros de entrada
0x05
Escribir una bobina
0x06
Escribir un registro
0x07
Leer estado de excepción
0x08
Leer diagnóstico
(Solo admite datos de consulta de
devolución 0x00)
0x0F
Escribir varias bobinas
0x10
Escribir varios registros
0x17
Leer o escribir varios registros
0x2B/0x0E
Leer identidad del dispositivo
Note: La difusión se utilizará con los códigos 0x05, 0x06,
0x0F y 0x10.
Ejemplo de la solicitud de lectura de las bobinas 2000–2003
desde el dispositivo esclavo 18.
Tabla 9. Solicitud de lectura de bobinas
Elemento
Código
Dirección de esclavo
0x12
Código de función
0x01
Dirección de inicio alta
0x07
Dirección de inicio baja
0xD0
Número de bobinas alto 0x00
Número de bobinas bajo 0x03
CRC alto
0x7E
CRC bajo
0x25
Descripción
Dirección de inicio 0x07D0
hex (= 2000)
Número de bobinas
0x0003 hex (= 3)