Micropilot FMR20 Modbus RS485
8.1.2
Códigos de funcionamiento de Modbus
Código de función
03 (0x03)
06 (0x06)
16 (0x10)
8.1.3
Excepciones Modbus
Excepción
MB_EX_ILLEGAL_FUNCTION
MB_EX_ILLEGAL_DATA_ADDRESS 02 (0x02) La dirección del registro no está disponible
MB_EX_ILLEGAL_DATA_VALUE
8.1.4
Tipos de datos especiales de Modbus
Tipo de datos
Registros
por
parámetro
float32
2
(IEEE754)
uint32 / int32 2
cadena
0,5
(agrupación
char8)
Endress+Hauser
Acción
Lectura individual/múltiple
Escritura individual
Escritura múltiple
Número
Descripción
01 (0x01) El código de funcionamiento no es compatible
03 (0x03) El valor de los datos no está permitido (p. ej. escritura de un float32
a un registro char8).
Válido también para escritura en registros de solo lectura.
Descripción
Ya que un float32 se compone de cuatro bytes, un parámetro con float32 como el tipo
de datos debe dividirse en dos palabras de 16 bit que se transmiten a través de Modbus.
Por lo tanto, para leer un parámetro de tipo float32, debe realizarse la lectura de dos
registros de Modbus consecutivos.
Registro de Modbus [n]
Byte A
valor float32
Las mismas condiciones que se aplican para los tipos de datos float32 son también
aplicables para los tipos de datos uint32 / int32.
Registro de Modbus [n]
Byte A
valor uint32 / Int32
Ya que un carácter individual de una cadena de caracteres solo necesita un byte, se
empaquetan siempre dos caracteres en un registro de Modbus. Asimismo, la longitud
de un parámetro con cadena como el tipo de datos está limitada a 60 caracteres.
Registro de Modbus [n]
char8 [n]
Integración en el sistema mediante protocolo Modbus
Tipo de registro
Registro de explotación
Registro de explotación
Registro de explotación
Registro de Modbus [n+1]
Byte B
Byte C
Registro de Modbus [n+1]
Byte B
Byte C
Registro de Modbus [n+1]
char8 [n+1]
char8 [n+2]
Tipo de comando
Estándar
Estándar
Estándar
Byte D
Byte D
char8 [n+3]
31