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. dado que el instrumento S40 dispone de 4
dígitos, la indicación está en el rango 9999 / -1999. Enviar valores
superiores (o inferiores) al registro 'Indicación' ocasionará ove-
rrange (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 3. Escribir
el valor 2 enciende el punto decimal en la posición XX.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 regis-
tro 'alarmas' o mediante coils (ver sección 1.14). por defecto el
control es mediante coils (ver Tabla 14). el registro 'alarmas' está
formado por bits. el bit '0' controla el estado de la alarma 1, el
bit '1' controla el estado de la Alarma 2. 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 43.21, utili-
zando registros de 32 bits, convertir el valor de indicación a formato
hexadecimal, y enviar al registro 'indicación high' los primeros 16 bits
y al registro 'indicación low' los últimos 16 bits.
4321 decimal en formato hexadecimal es 0x000010E1
registro 'indicación high' = 0x0000 = 0
registro 'indicación low' = 0x10E1 = 4321
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' = 4321 DIV 65536 = '0'
registro 'indicación low' = 4321 MOD 65536 = '4321'
registro 'resolución high' = '0'
registro 'resolución low' = '2'
FEMA ELECTRÓNICA . SERIE S . S40-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
Reservados
11