Skip to main content

Persistance des données

La durée de vie des variables et de leurs données s'étend du moment où une variable est créée jusqu'au moment où elle est supprimée et son espace mémoire est à nouveau libéré. Le moment de la création, de l'initialisation ou de l'instanciation des variables dépend de la portée déclarée. L'heure de la libération de la mémoire généralement aussi. Par exemple, la mémoire des variables globales est libérée lorsque l'application se termine.

Ils peuvent conserver les données plus longtemps que d'habitude. Les mécanismes suivants dans CODESYS sont prévus à cet effet.

Mécanismes de préservation des données

  • (UNE): Liste de variables globales persistantes_cds_icon_persistent_variables_configuration.png avec le mot clé PERSISTENT RETAIN

    Les variables persistantes conservent leur valeur lorsque l'application est rechargée. Les valeurs sont également restaurées après un téléchargement, un démarrage à chaud ou un démarrage à froid.

  • (B) : conserver les variables avec le mot clé RETAIN

    Les variables de rétention conservent leur valeur après un démarrage à chaud, mais pas lorsque l'application est rechargée, un téléchargement ou un démarrage à froid.

  • (C): Variables du gestionnaire de persistance de CODESYS Application Composer

    Les variables de Persistence Manager sont enregistrées dans un fichier externe.

  • (RÉ): variables de recette

    Les variables de recette et leurs valeurs sont enregistrées dans le fichier de recette.

mécanismes en comparaison

Quel mécanisme convient à quelle application ? Le tableau prend en compte certains cas d'utilisation courants. Les exemples concrets se réfèrent à une maison de contrôle.

Tableau 6. Comparaison des mécanismes et des cas d'utilisation

cas d'utilisation

(A) Variables persistantes

(B) Conserver les variables

(c) Variables du gestionnaire de persistance

(D) Variables de recette

1

L'application doit recevoir les paramètres de l'appareil.

Exemple : Après une panne de courant, la commande de la maison doit disposer des informations sur la durée pendant laquelle un store doit être relevé.

Adapté1

Cas d'utilisation préféré

Dans ce cas, vous pouvez également utiliser des variables de rétention au lieu de variables persistantes. Ceci est avantageux pour les variables dont la déclaration est souvent modifiée.

Adapté

Cas d'utilisation préféré

Les variables Retain sont avantageuses lorsque leurs déclarations sont modifiées fréquemment.

Adapté2

Avantageux pour les contrôleurs qui n'ont pas de support matériel

Ceci est rendu possible par des fonctionnalités spéciales telles que la double mise en mémoire tampon de fichiers.

Possible, mais très encombrant et donc déconseillé

2

L'application doit également recevoir des valeurs après des changements de programme ou des extensions.

2a : Extensions rares

Exemple : Un programmeur d'application ajoute un nouvel interrupteur au programme et installe une nouvelle lumière. Le contrôle de la maison doit alors encore avoir les valeurs qui ont été enregistrées jusqu'à ce point.

Adapté1

Cas d'utilisation préféré

Adapté

Adapté2

Possible, mais fastidieux

2b : Modifications plus libres, y compris la suppression ou la modification du type de données des variables

Le contrôle de la maison est en cours d'exécution et a persisté. Si un programmeur d'application étend le contrôle avec une nouvelle fonctionnalité et donc avec une autre variable persistante dans un bloc fonctionnel, les valeurs enregistrées jusqu'à ce point doivent être conservées. Par exemple, le programme est étendu dans un FB par une variable qui contrôle l'extinction automatique d'une lampe précédemment non contrôlée après un temps spécifique. Après l'extension, le contrôle de la maison doit disposer des heures de toutes les lampes contrôlées.

Ne convient pas

Adapté

Les données des variables de conservation sont conservées dans la mesure du possible après une modification en ligne.

Adapté, le plus loin possible 2

Cas d'utilisation préféré

Possible si textuel, mais lourd

2c : L'application doit recevoir des valeurs après un téléchargement.

Adapté

Ne convient pas

Adapté

Adapté

3

L'application doit pouvoir utiliser différents ensembles de valeurs.

Exemple : Les paramètres de fonctionnement pour l'été, l'hiver et les vacances doivent être enregistrés et réimportés si nécessaire.

Ne convient pas

Ne convient pas

Ne convient pas

Adapté

Cas d'utilisation préféré

4

L'application doit pouvoir utiliser les paramètres d'un autre système.

Il doit être possible de transférer les paramètres vers un autre système qui utilise des variables similaires.

Ne convient pas

Ne convient pas

Adapté2

Adapté3

5

L'application doit fournir des données lisibles par l'homme.

L'utilisateur doit pouvoir lire, comparer et modifier les données.

Ne convient pas

Ne convient pas

Adapté2

Adapté3



1 Inconvénient : uniquement possible si le système d'exécution prend en charge ce mécanisme et qu'une mémoire NVRam ou un onduleur est disponible. Avantage : rapidité ; cas d'utilisation recommandé : 1 et 2a

2 Inconvénient : Dans le cas d'un grand nombre de variables (> 10000), de longs temps d'attente sont à prévoir pour une initialisation et un arrêt. Avantage : aucun équipement de mémoire spécial n'est nécessaire ; La conservation de la valeur s'applique également aux modifications, extensions ou suppressions.

3 Avantage : Modifiable en externe, transférabilité. Inconvénient : Gênant

Durée de vie des variables lors de l'appel de commandes en ligne

Saisie de l'utilisateur dans le menu En ligne

Variable avec durée de vie habituelle

Non plus RETAIN toujours PERSISTENT

RETAIN

PERSISTENT

RETAIN PERSISTENT

PERSISTENT RETAIN

commander changement en ligne

x

x

x

commander réchauffer

i

x

x

commander Réinitialiser à froid

i

i

x

commander charger

i

i

X 1

commander réinitialiser l'origine

i

i

i

x : La variable garde sa valeur.

i : La variable est initialisée.

1 Remarque : Pour la structure des données persistantes, veuillez noter les informations sous "Mécanisme de téléchargement".

Durée de vie des variables lors du chargement d'une application de démarrage

Les valeurs des variables normales perdent leur valeur et sont réinitialisées.

Les valeurs des variables persistantes sont protégées

  • Lorsque la structure des variables persistantes en mémoire correspond à la structure de la liste des données persistantes.

  • Lorsque les données persistantes ont seulement été étendues. Dans ce cas, seules les variables récemment ajoutées sont définies avec leurs valeurs par défaut.

Les valeurs des variables retenues sont protégées

  • Lorsque la structure des variables de conservation en mémoire correspond à la structure de la liste de données persistantes.

  • Lorsque les variables de conservation correspondent à l'application (le GUID doit correspondre).

Si les conditions requises pour restaurer les valeurs des variables de conservation et des variables persistantes ne sont pas remplies lors du démarrage de l'application, une "discordance de conservation" se produit. La réaction à cette différence est décrite dans la documentation du fabricant du matériel.

Pour plus d'informations, voir : Préserver les données avec des variables persistantes