1.22 Registros y funciones en modo 'Full Slave' y datos de 32 bits
listado de los registros accesibles (ver Tabla 13), coils accesibles (ver
Tabla 14) y funciones permitidas (ver Tabla 12) en un instrumento
configurado en modo 'Full slave' y datos de 32 bits.
• acceder a una función no especificada en la tabla, retorna el
error 1 'Illegal Function'.
• acceder a un número de registro no especificada en la tabla,
retorna el error 2 'Illegal Data Address'.
• trabajar con registros de 32 bits permite codificar números en-
tre 999999 y -199999. Enviar valores superiores (o inferiores) al
registro 'Indicación' ocasionará overrange (o underrange) de la
indicación del instrumento.
• tras la pérdida de alimentación, el instrumento arranca con los
registros inicializados a valor '0' (ver sección 1.7).
• los registros de 32 bits se escriben mediante la función 'Write
Multiple Registers'. Se debe escribir sobre los 2 registros ('high' y
'low') en la misma escritura. Si se recibe orden de escritura sobre
un solo registro ('high' o 'low') el instrumento descarta la escritu-
ra. No se envía código de error.
• el registro 'Resolución' consiste en un valor numérico que in-
dica el número de decimales del equipo. Valor de 0 a 5. Escribir
el valor 2 enciende el punto decimal en la posición XXXX.XX. Los
valores no válidos son descartados y no se envía código de error.
• el control de las alarmas se puede realizar mediante el registro
'Alarmas' o mediante coils (ver sección 1.14). Por defecto el con-
trol es mediante coils (ver Tabla 14). El registro 'Alarmas' está for-
mado por bits. El bit '0' controla el estado de la Alarma 1, el bit '1'
controla el estado de la Alarma 2 y el bit '2' controla el estado de
la Alarma 3. Para habilitar el registro 'Alarmas' ver sección 1.23.3.
• todos los registros son de lectura y escritura.
• el acceso a los registros reservados no genera código de error.
Ejemplo : para actualizar la indicación del instrumento a 6543.21, se
necesita trabajar con registros de 32 bits. Convertir el valor de indi-
cación a formato hexadecimal, y enviar al registro 'high' los primeros
16 bits y al registro 'low' los últimos 16 bits.
654321 decimal en formato hexadecimal es 0x0009FBF1
registro 'indicación high' = 0x0009 = 9
registro 'indicación low' = 0xFBF1 = 64497
En la práctica, esto se consigue con las funciones DIV (división ente-
ra) y MOD (resto de la división entera).
registro 'indicación high' = 654321 DIV 65536 = '9'
registro 'indicación low' = 654321 MOD 65536 = '64497'
registro 'resolución high' = '0'
registro 'resolución low' = '2'
FEMA ELECTRÓNICA . SERIE M . M60-RTU
Número de función
16
3
5
15
1
Tabla 12 - Funciones en modo 'Full Slave' y datos de 32 bits
Número de registro
0
1
2
3
4
5
6
7
8
9
10
11
Tabla 13 - Registros en modo 'Full slave' y datos de 32 bits
Número de coil
0
1
2
3
4
5
6
7
Tabla 14 - Coils en modo 'Full Slave' y datos de 32 bits
Nombre
Write multiple registers
Read registers
Write single coil
Write multiple coils
Read coils
Nombre
Indicación Low
Indicación High
Resolución Low
Resolución High
Reservado
Nombre
Alarma 1
Alarma 2
Alarma 3
Reservados
11