# Calcul de la taille des données à enregistrer

Vous pouvez vérifier la taille de chaque donnée qui est stockée dans la mémoire de sauvegarde (SRAM) ou le stockage externe à partir de l'écran d'édition des paramètres système.

Pour calculer la taille de chaque donnée, voir ci-dessous.

- Alarme
- Journalisation des données
- Journal des opérations
- Valeurs de variable (Variables persistantes)

Remarque : la destination d'enregistrement pour les valeurs de variable (variables persistantes) est limitée à la mémoire de sauvegarde (SRAM).

## Alarme

(Unité : Octets)

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

- ActiveAlarms = (Nombre total d'alarmes dans tous les groupes d'alarme × ([Comportement de l'alarme]*1 + Taille totale de toutes les variables dans tous les groupes d'alarme*2) / 1024 )*3 × 1024
- AlarmLog = ([Nombre max. d'enregistrements]*4 × (31 + Plus grande taille de variable*5) / 1024)*3 × 1024

*1 65 lorsque [ACK optionnel] est sélectionné comme [Comportement de l'alarme], 73 lorsque [ACK obligatoire] est sélectionné.

*2 La taille de la variable dépend du type de données. Voir le tableau des tailles de variable ci-dessous.

*3 Arrondir à la virgule supérieure.

*4 La valeur de la propriété [Nombre max. d'enregistrements] de [Toutes les alarmes].

*5 Il s'agit de la taille du plus grand type de données parmi les variables. Pour plus d'informations sur la taille des types de données de variables, voir le tableau des tailles de variables ci-dessous. Lorsque le réglage de l'alarme est désactivé, la plus grande taille de la variable est 0.

Tailles de variables

Type de données | Taille (octets)
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

## Journalisation des données

Lorsque la journalisation est désactivée, la taille des données est de 0.

(Unité : Octets)

Header + LoggingGroups + StartLogs + LoggingState (1024)

- Header = ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024) *1 × 1024 + HeaderEmptySpace
  - H_LoggingGroups = Taille totale de tous les groupes de journalisation
    Groupe de journalisation = 172 + 42 × Nombre de variables dans le groupe de journalisation
  - H_LoggingGroup_Views = Taille totale de tous les LoggingGroup_View
    LoggingGroup_View = 213 + 33 × Nombre de variables dans le groupe de journalisation
  - H_LoggingGroup_Startlog = 176 × Nombre de groupes de journalisation
  - H_Logging_state = 144
  - HeaderEmptySpace = 1024 si ((H_LoggingGroups + H_LoggingGroup_Views + H_LoggingGroup_Startlog + H_Logging_state) / 1024) est égal ou supérieur à 2 ; sinon, 0.
- LoggingGroups = Taille totale des groupes de journalisation
  Si (26 + Somme de (taille de variable*2 + 1) pour chaque variable) est inférieur ou égal à 512 :
  Groupe de journalisation = ([Nombre max. d’enregistrements] *3 / (1024 / (26 + Somme de (taille de variable*2 + 1) pour chaque variable))*4)*1 × 1024 + LoggingGroupEmptySpace
  Sinon :
  Groupe de journalisation = ((26 + Somme de (taille de variable*2 + 1) pour chaque variable) / 1024)*1 × [Nombre max. d'enregistrements] *3 × 1024 + LoggingGroupEmptySpace
  - LoggingGroupEmptySpace = 1024 si (((26 + Somme de (taille de variable*2 + 1) pour chaque variable) × [Nombre max. d'enregistrements] *3) / 1024) est égal à 2 ou plus ; sinon 0.
- StartLogs = Somme de LoggingGroup_Startlogs:
  LoggingGroup_Startlog = (24 × [Nombre max. d'enregistrements] *3 /1024)*1 × 1024 + StartlogEmptySpace
  - StartlogEmptySpace = 1024 si ((24 × [Nombre max. d'enregistrements]*3) / 1024)*1 est égal ou supérieur à 2 ; sinon, 0.

*1 Arrondir à la virgule supérieure.

*2 La taille de la variable dépend du type de données. Voir le tableau des tailles de variable ci-dessous.

*3 La valeur de la propriété [Nombre max. d'enregistrements] de [Groupe de journalisation].

*4 Arrondir à la virgule inférieure.

Tailles de variables

Type de données | Taille (octets)
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 | [Nombre d'octets] + 1
WSTRING | [Nombre d'octets] + 1
HEURE | 4
TIME_OF_DAY | 4
DATE | 4
DATE_AND_TIME | 4

## Journal des opérations

Lorsque le journal des opérations est désactivé, la taille des données est de 0.

(Unité : Octets)

Header (1024) + ((478 ×[Nombre max. d'enregistrements*1] / 1024)*2 × 1024) + EmptySpace

- EmptySpace = 1024 si (478 × [Nombre max. d'enregistrements*1] / 1024) est égal ou supérieur à 2 ; sinon, 0.

*1 Valeur de la propriété [Nombre maximum d'enregistrements] de [Journal des opérations].

*2 Arrondir à la virgule supérieure.

## Valeurs de variable (Variables persistantes)

Lorsque la propriété [Persistante] d'une variable est désactivée, la taille des données est de 0.

(Unité : Octets)

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

- RetentiveVariables = Taille totale des variables dont la propriété [Persistante] est activée
  Variable persistante = Header (7) + ID (2) + Taille de la variable*2
- EmptySpace = 1024 si (Variables rétentives / 1024) est égal ou supérieur à 2 ; sinon, 0.

*1 Arrondir à la virgule supérieure.

*2 La taille de la variable dépend du type de données. Voir le tableau des tailles de variable ci-dessous.

Tailles de variables

Type de données | Taille (octets)
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 | [Nombre d'octets] x 2 + 2
HEURE | 11
TIME_OF_DAY | 10
DATE | 10
DATE_AND_TIME | 10