# Calcolo della dimensione dei dati da salvare

È possibile controllare la dimensione di ciascuna parte dei dati memorizzati nella memoria di backup (SRAM) o nella memoria esterna dalla schermata di modifica impostazione del sistema.

Per calcolare la dimensione di ciascun dato, vedere quanto segue.

- Allarme
- Registrazione dati
- Registro operazioni
- Valori delle variabili (variabili ritentive)

Nota: la destinazione in cui salvare i valori delle variabili (variabile ritentive) si limita alla memoria di backup (SRAM).

## Allarme

(Unità: Byte)

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

- ActiveAlarms = (Numero totale di allarmi in tutti i gruppi di allarme × ([Comportamento dell'allarme]*1 + Dimensione totale di tutte le variabili in tutti i gruppi di allarme*2) / 1024 )*3 × 1024
- AlarmLog = ([Registrazione massima]*4 × (31 + Dimensione variabile massima*5) / 1024)*3 × 1024

*1 65 quando si seleziona [ACK opzionale] come [Comportamento dell'allarme], 73 quando si seleziona [ACK obbligatorio].

*2 La dimensione della variabile dipende dal tipo di dati. Fare riferimento alla tabella delle dimensioni variabili riportata di seguito.

*3 Arrotondamento per eccesso dei punti decimali.

*4 Il valore della proprietà [Registrazione massima] di [Tutti gli allarmi].

*5 È la dimensione del tipo di dati più grande tra le variabili. Per informazioni sulla dimensione dei tipi di dati variabili, fare riferimento alla tabella Dimensioni variabili riportata di seguito. Quando l'impostazione dell'allarme è disattivata, la dimensione massima della variabile è 0.

Dimensioni variabili

Tipo di dati | Dimensione (Byte)
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

## Registrazione dati

Quando la registrazione è disabilitata, la dimensione dei dati è 0.

(Unità: Byte)

Header + LoggingGroups + StartLogs + LoggingState (1024)

- Header = ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024) *1 × 1024 + HeaderEmptySpace
  - H_LoggingGroups = Dimensione totale di tutti i gruppi di registrazione
    Gruppo di registrazione = 172 + 42 × Numero di variabili nel gruppo di registrazione
  - H_LoggingGroup_Views = Dimensione totale di tutte le viste del gruppo di registrazione
    LoggingGroup_View = 213 + 33 × Numero di variabili nel gruppo di registrazione
  - H_LoggingGroup_Startlog = 176 × Numero di gruppi di registrazione
  - H_Logging_state = 144
  - HeaderEmptySpace = 1024 if ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024) è pari o superiore a 2; altrimenti, 0.
- LoggingGroups = Dimensione totale dei gruppi di registrazione
  Se (26 + Somma di (dimensione variabile*2 + 1) per ogni variabile) è 512 o meno:
  Gruppo di registrazione = ([Registrazione massima] *3 / (1024 / (26 + Somma di (dimensione variabile*2 + 1) per ogni variabile))*4)*1 × 1024 + LoggingGroupEmptySpace
  Altrimenti:
  Gruppo di registrazione = ((26 + Somma di (dimensione variabile*2 + 1) per ogni variabile) / 1024)*1 × [Registrazione massima] *3 × 1024 + LoggingGroupEmptySpace
  - LoggingGroupEmptySpace = 1024 se (((26 + Somma di (dimensione variabile*2 + 1) per ogni variabile) × [Registrazione massima] *3) / 1024) è uguale o superiore a 2; altrimenti, 0.
- StartLogs = Somma di LoggingGroup_Startlogs:
  LoggingGroup_Startlog = (24 × [Registrazione massima] *3 /1024)*1 × 1024 + StartlogEmptySpace
  - StartlogEmptySpace = 1024 se ((24 × [Registrazione massima]*3) / 1024)*1 è pari o superiore a 2; altrimenti, 0.

*1 Arrotondamento per eccesso dei punti decimali.

*2 La dimensione della variabile dipende dal tipo di dati. Fare riferimento alla tabella delle dimensioni variabili riportata di seguito.

*3 Il valore della proprietà [Registrazione massima] di [Gruppo di registrazione].

*4 Arrotondamento per difetto dei punti decimali.

Dimensioni variabili

Tipo di dati | Dimensione (Byte)
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 | [Numero di Byte] + 1
WSTRING | [Numero di Byte] + 1
TIME | 4
TIME_OF_DAY | 4
DATE | 4
DATE_AND_TIME | 4

## Registro operazioni

Quando il registro operazioni è disabilitato, la dimensione dei dati è 0.

(Unità: Byte)

Header (1024) + ((478 × [Registrazione massima*1] / 1024)*2 × 1024) + EmptySpace

- EmptySpace = 1024 se (478 × [Registrazione massima*1] / 1024) è uguale o superiore a 2; altrimenti, 0.

*1 Il valore della proprietà [Numero massimo di record] di [Registro operazioni].

*2 Arrotondamento per eccesso dei punti decimali.

## Valori delle variabili (variabili ritentive)

Quando la proprietà [Ritentivo] con la variabile è disattivata, la dimensione dei dati è 0.

(Unità: Byte)

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

- RetentiveVariables = Dimensione totale delle variabili con la proprietà [Ritentivo] abilitata
  Variabile Ritentiva = Header (7) + ID (2) + Dimensione variabile*2
- EmptySpace = 1024 se (Variabili ritentive / 1024) è uguale o superiore a 2; altrimenti, 0.

*1 Arrotondamento per eccesso dei punti decimali.

*2 La dimensione della variabile dipende dal tipo di dati. Fare riferimento alla tabella delle dimensioni variabili riportata di seguito.

Dimensioni variabili

Tipo di dati | Dimensione (Byte)
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 | [Numero di Byte] x 2 + 2
TIME | 11
TIME_OF_DAY | 10
DATE | 10
DATE_AND_TIME | 10