# Calcular el tamaño de los datos a guardar

Puede comprobar el tamaño de cada dato que se almacena en la memoria de respaldo (SRAM) o en el almacenamiento externo desde la pantalla de edición de la configuración del sistema.

Para calcular el tamaño de cada dato, véase lo siguiente.

- Alarma
- Registro de datos
- Registro de operaciones
- Valores de las variables (variables retentivas)

Nota: El destino de guardado de los valores de las variables (variables retentivas) está limitado a la memoria de respaldo (SRAM).

## Alarma

(Unidad: Bytes)

Header (3072) + ActiveAlarms + AlarmLog + SystemErrors (2048)

- ActiveAlarms = (Número total de alarmas en todos los grupos de alarma × ([Comportamiento de la alarma]*1 + Tamaño total de todas las variables en todos los grupos de alarma*2) / 1024 )*3 × 1024
- AlarmLog = ([N.º máximo de registros]*4 × (31 + Mayor tamaño de variable*5) / 1024)*3 × 1024

*1 65 cuando se selecciona [ACK Opcional] como [Comportamiento de la alarma], 73 cuando se selecciona [ACK Obligatorio].

*2 El tamaño de la variable depende del tipo de datos. Consulte la tabla de Tamaños de variables más abajo.

*3 Redondee hacia arriba los decimales.

*4 El valor de la propiedad [N.º máximo de registros] de [Todas las alarmas].

*5 Este es el tamaño del tipo de dato más grande entre las variables. Para obtener información sobre el tamaño de los tipos de datos variables, consulte la tabla Tamaños de variables que aparece a continuación. Cuando la configuración de alarma está deshabilitada, el tamaño de la variable más grande es 0.

Tamaños de variables

Tipo de datos | Tamaño (Bytes)
BOOL | 1
BYTE | 3
WORD | 5
DWORD | 10
LWORD | 20
SINT | 4
USINT | 3
INT | 6
UINT | 5
DINT | 11
UDINT | 10
LINT | 20
ULINT | 20
REAL | 20
LREAL | 20

## Registro de datos

Cuando el registro está deshabilitado, el tamaño de los datos es 0.

(Unidad: Bytes)

Header + LoggingGroups + StartLogs + LoggingState (1024)

- Header = ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024) *1 × 1024 + HeaderEmptySpace
  - H_LoggingGroups = Tamaño total de todos los grupos de registro
    Grupo de registro = 172 + 42 × Número de variables en el Grupo de registro
  - H_LoggingGroup_Views = Tamaño total de todas las LoggingGroup_View
    LoggingGroup_View = 213 + 33 × Número de variables en Grupo de registro
  - H_LoggingGroup_Startlog = 176 × Número de grupos de registro
  - H_Logging_state = 144
  - HeaderEmptySpace = 1024 si ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024) es 2 o más; en caso contrario, 0.
- LoggingGroups = Tamaño total de los grupos de registro
  Si (26 + Suma de (tamaño de variable*2 + 1) para cada variable) es igual o inferior a 512:
  Grupo de registro = ([N.º máximo de registros] *3 / (1024 / (26 + Suma de (tamaño de variable*2 + 1) para cada variable))*4)*1 × 1024 + LoggingGroupEmptySpace
  En caso contrario:
  Grupo de registro = ((26 + Suma de (tamaño de variable*2 + 1) para cada variable) / 1024)*1 × [N.º máximo de registros] *3 × 1024 + LoggingGroupEmptySpace
  - LoggingGroupEmptySpace = 1024 si (((26 + Suma de (tamaño de variable*2 + 1) para cada variable) × [N.º máximo de registros] *3) / 1024) es 2 o más; en caso contrario, 0.
- StartLogs = Suma de LoggingGroup_Startlogs:
  LoggingGroup_Startlog = (24 × [N.º máximo de registros] *3 /1024)*1 × 1024 + StartlogEmptySpace
  - StartlogEmptySpace = 1024 si ((24 × [N.º máximo de registros]*3) / 1024)*1 es 2 o más; en caso contrario, 0.

*1 Redondee hacia arriba los decimales.

*2 El tamaño de la variable depende del tipo de datos. Consulte la tabla de Tamaños de variables más abajo.

*3 El valor de la propiedad [N.º máximo de registros] de [Grupo de registro].

*4 Redondee hacia abajo el punto decimal.

Tamaños de variables

Tipo de datos | Tamaño (Bytes)
BOOL | 1
BYTE | 2
WORD | 3
DWORD | 10
LWORD | 20
SINT | 1
USINT | 2
INT | 2
UINT | 3
DINT | 4
UDINT | 10
LINT | 20
ULINT | 20
REAL | 20
LREAL | 20
STRING | [Número de bytes] + 1
WSTRING | [Número de bytes] + 1
TIME | 4
TIME_OF_DAY | 4
DATE | 4
DATE_AND_TIME | 4

## Registro de operaciones

Cuando el registro de operaciones está deshabilitado, el tamaño de los datos es 0.

(Unidad: Bytes)

Header (1024) + ((478 × [Registro máximo*1] / 1024)*2 × 1024) + EmptySpace

- EmptySpace = 1024 if (478 × [Registro máximo*1] / 1024) es 2 o más; en caso contrario, 0.

*1 El valor de la propiedad [Número máximo de registros] de [Registro de operaciones].

*2 Redondee hacia arriba el punto decimal.

## Valores de las variables (variables retentivas)

Cuando la propiedad [Retentivo] de una variable está deshabilitada, el tamaño de los datos es 0.

(Unidad: Bytes)

Header (1024) + ((RetentiveVariables / 1024)*1 × 1024) + EmptySpace

- RetentiveVariables = Tamaño total de variables con la propiedad [Retentivo] habilitada
  Variable retentiva = Header (7) + ID (2) + Tamaño de variable *2
- EmptySpace = 1024 si (Variables retentivas / 1024) es 2 o más; en caso contrario, 0.

*1 Redondee hacia arriba los decimales.

*2 El tamaño de la variable depende del tipo de datos. Consulte la tabla de Tamaños de variables más abajo.

Tamaños de variables

Tipo de datos | Tamaño (Bytes)
BOOL | 1
BYTE | 3
WORD | 5
DWORD | 10
LWORD | 20
SINT | 4
USINT | 3
INT | 6
UINT | 5
DINT | 11
UDINT | 10
LINT | 21
ULINT | 20
REAL | 20
LREAL | 20
STRING | [Número de bytes] x 2+ 2
TIME | 11
TIME_OF_DAY | 10
DATE | 10
DATE_AND_TIME | 10