# Calculando o tamanho dos dados para salvar

Você pode verificar o tamanho de cada dado armazenado na memória de backup (SRAM) ou no armazenamento externo a partir da tela de edição de configurações do sistema.

Para calcular o tamanho de cada dado, consulte o seguinte.

- Alarme
- Registro de dados
- Registro da operação
- Valores de variáveis (Variáveis de retenção)

Observação: O destino de salvamento para valores de variáveis (variáveis de retenção) é limitado à memória de backup (SRAM).

## Alarme

(Unidade: Bytes)

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

- ActiveAlarms = (Número total de alarmes em todos os grupos de alarmes × ([Comportamento de Alarme]*1 + Tamanho da maior variável de todas as variáveis do grupo de alarmes*2) / 1024 )*3 × 1024
- AlarmLog = ([Registro máx]*4 × (31 + Maior tamanho da variável*2) / 1024)*3 × 1024

*1 65 quando [ACK opcional] é selecionado como [Comportamento de alarme], 73 quando [ACK obrigatório] é selecionado.

*2 Este é o tamanho do maior tipo de dados entre as variáveis. Para obter informações sobre o tamanho dos tipos de dados variáveis, consulte a tabela de tamanhos das variáveis abaixo. Quando a configuração do alarme está desativada, o maior tamanho da variável é 0.

*3 Arredondar para cima os pontos decimais.

*4 O valor da propriedade [Registro máx] de [Todos os alarmes].

Tamanhos das variáveis

Tipo de dados | Tamanho (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 dados

Quando o registro está desativado, o tamanho dos dados é 0.

(Unidade: Bytes)

Header + LoggingGroups + StartLogs + LoggingState (1024)

- Header = ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024) *1 × 1024 + HeaderEmptySpace
  - H_LoggingGroups = Tamanho total de todos os grupos de registro
    Grupo de registro = 172 + 42 × Número de variáveis em grupo de registro
  - H_LoggingGroup_Views = Tamanho total de todos os grupos de registro_Visualizar
    LoggingGroup_View = 213 + 33 × Número de variáveis em grupo de registro
  - H_LoggingGroup_Startlog = 176 × Número de grupos de registro
  - H_Logging_state = 144
  - HeaderEmptySpace = 1024 se ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024) *1 for 2 ou mais; caso contrário, 0.
- LoggingGroups = Tamanho total dos grupos de registro
  Se (26 + Soma de (tamanho da variável*2 + 1) para cada variável) for 512 ou menos:
  Grupo de registro = ([Registro máx] *3 / (1024 / (26 + Soma de (tamanho da variável*2 + 1) para cada variável))*4)*1 × 1024 + LoggingGroupEmptySpace
  Caso contrário:
  Grupo de registro = ((26 + Soma de (tamanho da variável*2 + 1) para cada variável) / 1024)*1 × [Registro máx] *3 × 1024 + LoggingGroupEmptySpace
  - LoggingGroupEmptySpace = 1024 se (((26 + Soma de (tamanho da variável*2 + 1) para cada variável) × [Registro máx] *3) / 1024) for 2 ou mais; caso contrário, 0.
- StartLogs = Soma de LoggingGroup_Startlog:
  LoggingGroup_Startlog = (24 × [Registro máx] *3 /1024)*1 × 1024 + StartlogEmptySpace
  - StartlogEmptySpace = 1024 se ((24 × [Registro máx]*3) / 1024)*1 for 2 ou mais; caso contrário, 0.

*1 Arredondar para cima os pontos decimais.

*2 O tamanho da variável depende do tipo de dados. Consulte a tabela de tamanhos das variáveis abaixo.

*3 O valor da propriedade [Registro máx] de [Grupo de registro].

*4 Arredondar para baixo o ponto decimal.

Tamanhos das variáveis

Tipo de dados | Tamanho (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 da operação

Quando o registro da operação está desativado, o tamanho dos dados é 0.

(Unidade: Bytes)

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

- EmptySpace = 1024 se (478 × [Registro máx*1] / 1024) for 2 ou mais; caso contrário, 0.

*1 O valor da propriedade [Número máximo de registros] de [Registro da operação].

*2 Arredondar para cima o ponto decimal.

## Valores de variáveis (Variáveis de retenção)

Quando a propriedade [Retentivo] com uma variável está desativada, o tamanho dos dados é 0.

(Unidade: Bytes)

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

- RetentiveVariables = Tamanho total das variáveis com a propriedade [Retentivo] habilitada
  Variáveis de retenção = Header (7) + ID (2) + Tamanho da variável*2
- EmptySpace = 1024 se (Variáveis de retenção / 1024) for 2 ou mais; caso contrário, 0.

*1 Arredondar para cima os pontos decimais.

*2 O tamanho da variável depende do tipo de dados. Consulte a tabela de tamanhos das variáveis abaixo.

Tamanhos das variáveis

Tipo de dados | Tamanho (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