Présentation
Le fichier DTX permet d'effectuer une restauration même si l'application a été modifiée depuis son enregistrement.
Lors d'une restauration, si le numéro de génération de l'application est supérieur à la version du fichier DTX, Control Expert analyse le contenu du fichier pour vérifier la compatibilité avec les variables de l'application automate.
Les tableaux ci-dessous indiquent les règles appliquées lors de la restauration de variables en cas de différence entre le fichier *.DTX et l'application automate. Cette différence s'explique par le fait que l'application a été générée après l'enregistrement des données dans le fichier *.DTX.
ATTENTION | |
---|---|
Compatibilité des versions d'automate (Premium, Quantum, M340, M580)
L'allocation de blocs mémoire est différente sur les automates version <= 2.0 ou > 2.0 :
Si le fichier DTX a été créé sur un automate de version inférieure ou égale à 2.0, il est impossible de restaurer les données sur un automate version 2.1 ou ultérieure.
Si le fichier DTX a été créé sur un automate de version supérieure ou égale à 2.1, il est impossible de restaurer les données sur un automate version 2.0 ou antérieure.
Compatibilité avec des variables simples
Le tableau ci-dessous présente les règles appliquées lors de la restauration de variables simples :
Cas |
Contenu du fichier de données |
Contenu de l'application automate |
Fonctionnement de la restauration |
Message de Control Expert |
---|---|---|---|---|
1 |
Var1 |
Supprimée |
Var1 n'est pas restaurée. |
Var1 : cette variable n'existe plus. |
2 |
- |
Nouvelle Var2 |
Var2 est conservée en mémoire. |
- |
3 |
Var3 |
Var3 est renommée en Var3-3 (changement de nom). |
La restauration EST IMPOSSIBLE en raison de contraintes techniques. Var3 est supprimée et Var3-3 est une nouvelle variable. |
Var3 : cette variable n'existe plus. |
4 |
Var4 est d'un type compatible simple. |
Var4 est modifiée en un autre type simple. La valeur source est compatible avec le type cible. |
Var4 est convertie dans le nouveau type, qui a la même valeur que la source. |
Var4 : le type de la variable a changé (de TYPE1 en TYPE2). Les types sont compatibles. |
5 |
Var5 est d'un type compatible simple. |
Var5 est modifiée en un autre type simple. La valeur source n'est pas compatible avec le type cible. |
La restauration EST IMPOSSIBLE. Var5 est convertie en un autre type (la cible) et sa valeur est :
|
Var5 : le type de la variable a changé (de TYPE1 en TYPE2), mais la valeur peut être incompatible. + Var5 : valeur inconvertible entre TYPE1 et TYPE2. |
6 |
Var6 est d'un type incompatible simple. |
Type de Var6 modifié. |
La restauration de la valeur d'origine EST IMPOSSIBLE. Var6 conserve sa valeur d'application. |
Var6 : le type de la variable a changé (de TYPE1 en TYPE2). Ces types sont cependant incompatibles. |
Compatibilité des variables structurées
Le tableau ci-dessous présente les règles appliquées lors de la restauration de variables structurées :
Cas |
Contenu du fichier de données |
Contenu de l'application automate |
Fonctionnement de la restauration |
Message de Control Expert |
---|---|---|---|---|
Types de DDT |
||||
7 |
Var7 est d'un type DDT. |
Var7 a été modifiée en un type simple. |
La restauration EST IMPOSSIBLE car le type est incompatible. |
Var7 : le type de la variable a changé (de TYPE1 en TYPE2). Ces types sont cependant incompatibles. |
8 |
Var8 est d'un type simple. |
Var8 a été modifiée en un type DDT. |
La restauration EST IMPOSSIBLE car le type est incompatible. |
Var8 : le type de la variable a changé (de TYPE1 en TYPE2). Ces types sont cependant incompatibles. |
9 |
Var9 est d'un type DDT. |
Le type de Var9 a été remplacé par un autre type DDT. |
La restauration EST IMPOSSIBLE car le type est incompatible. |
Var9 : le type de la variable a changé (de TYPE1 en TYPE2). Ces types sont cependant incompatibles. |
10 |
Var10 est d'un type DDT. |
Le type DDT a été modifié. |
Créez le mappage du champ (reportez-vous aux cas 1 à 9 et 11 à 16 pour les sous-champs de type de tableau). |
Var10.Sous-champ1: … (consultez les cas 1 à 9 et 11 à 16). |
Types de tableau |
||||
11 |
Var11 est un tableau. |
Var11 est un tableau de même type, avec le même index de départ mais plus long. |
Transférez les valeurs du fichier de données. Le reste du tableau d'application plus long est conservé. |
- |
12 |
Var12 est un tableau. |
Var12 est un tableau de même type, avec le même index de départ mais plus court. |
Transférez les valeurs du fichier de données jusqu'à ce que le tableau cible soit complet. Le reste du tableau source est perdu. |
Var12 : le tableau ARRAY… (plage n°2) est plus court. Les derniers index sont perdus. |
13 |
Var13 est un tableau. |
Var13 est un tableau de même type, mais l'index de départ est plus bas ou d'un type différent. L'index de fin est le même. |
La restauration EST IMPOSSIBLE, car les index de départ ne sont pas identiques. |
Var13 : la limite basse du tableau ARRAY… (plage n°2) a changé. Restauration impossible. |
14 |
Var14 est un tableau. |
Var14 est un tableau de même type, mais l'index de départ est plus haut ou d'un type différent. L'index de fin est le même. |
La restauration EST IMPOSSIBLE, car les index de départ ne sont pas identiques. |
Var14 : la limite haute du tableau ARRAY… (plage n°2) a changé. Restauration impossible. |
15 |
Var15 est un tableau. |
Var15 est un tableau de même type, mais les index bas et haut sont décalés. La longueur est identique. |
La restauration EST IMPOSSIBLE, car les index de départ ne sont pas identiques. |
Var15 : les limites du tableau ARRAY… (plage n°2) ont changé. Restauration impossible. |
16 |
Var16 est un tableau. |
Le type du tableau a changé. |
Consultez les cas 1 à 10 et 7 à 10. |
Consultez les cas 4 à 16 et 11 à 10. |
Compatibilité des types élémentaires
Les types BOOL, BYTE, INT, UINT, DINT, UDINT, WORD et DWORD sont compatibles si aucune perte de valeur n'est détectée.
Exemples :
Une variable DINT ne peut être modifiée en variable INT que si les deux premiers octets de la variable DINT sont utilisés.
Une variable UINT ou UDINT peut être modifiée en variable INT si la valeur est compatible.
Les types REAL, STRING, TOD, TIME, DATE et DT ne sont pas compatibles.
Le tableau ci-dessous indique la compatibilité des types élémentaires :
BOOL |
EBOOL |
BYTE |
INT |
UINT |
WORD |
DINT |
UDINT |
DWORD |
REAL |
STRING |
TOD |
TIME |
DATE |
DT |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BOOL |
OUI |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
|
EBOOL |
OUI |
NON |
PDL |
PDL |
NON |
PDL |
PDL |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
|
BYTE |
NON |
NON |
OUI |
OUI |
OUI |
OUI |
OUI |
OUI |
NON |
NON |
NON |
NON |
NON |
NON |
|
INT |
NON |
NON |
PDL |
PDL |
OUI |
OUI |
OUI |
OUI |
NON |
NON |
NON |
NON |
NON |
NON |
|
UINT |
NON |
NON |
PDL |
PDL |
OUI |
OUI |
OUI |
OUI |
NON |
NON |
NON |
NON |
NON |
NON |
|
WORD |
NON |
NON |
PDL |
OUI |
OUI |
OUI |
OUI |
OUI |
NON |
NON |
NON |
NON |
NON |
NON |
|
DINT |
NON |
NON |
PDL |
PDL |
PDL |
PDL |
PDL |
OUI |
NON |
NON |
NON |
NON |
NON |
NON |
|
UDINT |
NON |
NON |
PDL |
PDL |
PDL |
PDL |
PDL |
OUI |
NON |
NON |
NON |
NON |
NON |
NON |
|
DWORD |
NON |
NON |
PDL |
PDL |
PDL |
PDL |
OUI |
OUI |
NON |
NON |
NON |
NON |
NON |
NON |
|
REAL |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
|
STRING |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
|
TOD |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
|
TIME |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
|
DATE |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
|
DT |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
NON |
Compatibilité des alias
Le tableau ci-dessous indique les règles appliquées lors de la restauration des alias :
Cas |
Contenu du fichier de données |
Contenu de l'application automate |
Fonctionnement de la restauration |
Message de Control Expert |
---|---|---|---|---|
1 |
Map1 n'est pas localisé. %MW100 est utilisé. |
Map1 est localisé sur %MW100. |
La valeur de Map1 dans le fichier de données est réglée sur %MW100. |
Map1 : restauré à %MW100 |
2 |
Map2 est localisé sur %MW100. |
Map2 n'est plus localisé sur %MW100, %MW100 est utilisé. |
La valeur de Map2 dans le fichier de données est fixée à la nouvelle adresse de Map2 (zone de données non localisée). %MW100 de l'application conserve sa valeur actuelle. |
Map2 : restauré dans une zone de données non localisée. %MW100 : conserve la valeur courante. |
3 |
Map3 est localisé sur %MW100. %MW200 est utilisé. |
Map3 est localisé sur %MW200. %MW100 est utilisé. |
Restaure la valeur de %MW100 à l'adresse %MW 200. %MW100 de l'application conserve sa valeur. |
Map2 : restauré de %MW100 dans %MW200. %MW100 : conserve la valeur courante. |
4 |
Map4 est localisé sur %MW100, mais la zone %MW n'est pas exportée. |
Map4 n'est plus localisé sur %MW100, %MW100 est utilisé. |
La restauration EST IMPOSSIBLE, car la valeur source ne figure pas dans le fichier de données. |
Map4 : la valeur à l'adresse %MW100 n'est pas disponible. |
5 |
Map5 n'est pas localisé, mais se trouve dans une zone non exportée. |
Map5 est localisé sur %MW100. |
La restauration EST IMPOSSIBLE, car la valeur source ne figure pas dans le fichier de données. |
Map5 : la valeur à l'adresse %MW100 n'est pas disponible. |
6 |
Map6 est localisé à %MW100 et %MW200 est utilisé, mais la zone %MW n'est pas exportée. |
Map6 est maintenant localisé sur %MW200 et %MW100 est utilisé. |
La restauration EST IMPOSSIBLE car la valeur source ne figure pas dans le fichier de données. |
Map6 : la valeur à l'adresse %MW100 n'est pas disponible. |
7 |
Map7 n'existe pas ou est un alias. |
Map7 est localisé sur %MW100. |
La restauration EST IMPOSSIBLE sous peine de perdre la variable actuelle. |
Map7 : variable mappée qui n'existait pas lors de la génération du fichier ou qui servait d'alias. Valeur %MW100 non restaurée. |
8 |
Adresses topologiques, %CH, %SW, etc. |
- |
- |
MapVar : variable mappée sur une adresse non autorisée (%CH0.2.0). |
Restauration d'instances de bloc fonction et d'autres variables
Le tableau ci-dessous indique les règles appliquées lors de la restauration de certaines variables spéciales :
Type d'entité |
Message de Control Expert |
---|---|
Instances de bloc fonction : tous les champs (entrée, sortie, E/S, privé, public) qui ne sont pas des pointeurs sont restaurés ou non selon les règles ci-dessus. Si un champ n'est pas restaurable, l'instance de bloc fonction n'est pas restaurée. |
- |
Les variables SFC ne sont pas restaurables. |
Etape 1 : la restauration des types SFC (SFCSTEP_STATE) n'est pas autorisée. Etape 1 : la restauration des types SFC (SFCSTEP_STATE) n'est pas autorisée. |
Les variables masquées ne sont pas restaurables. |
- |
Les variables IODDT ne sont pas restaurables. |
IOVar : les types IODDT (T_ANA...) sont inconnus et ne peuvent donc pas être restaurés. |
Les DDT d'équipement ne sont pas restaurables. |
DevDDT : la restauration des types DDT (T_...) n'est pas autorisée. |
Restauration de variables forcées
Le tableau ci-dessous indique les règles appliquées lors de la restauration de variables forcées :
Variable |
Valeur lors de l'enregistrement des données de l'automate dans le fichier |
Valeur avant la restauration des données du fichier sur l'automate |
Valeur dans l'application une fois les données restaurées |
---|---|---|---|
Localisée |
0 |
1 |
0 |
Localisée |
0 |
forcée sur 1 |
forcée sur 1 |
Non localisée |
0 |
1 |
0 |
Non localisée |
0 |
forcée sur 1 |
forcée sur 1 |
Localisée |
1 |
0 |
1 |
Localisée |
forcée sur 1 |
0 |
1(1) |
Non localisée |
1 |
0 |
1 |
Non localisée |
forcée sur 1 |
0 |
1(1) |
Localisée |
1 |
forcée sur 0 |
forcée sur 0 |
Localisée |
forcée sur 1 |
0 |
1(1) |
Non localisée |
1 |
forcée sur 0 |
forcée sur 0 |
Non localisée |
forcée sur 1 |
0 |
1(1) |
Localisée |
forcée sur 0 |
1 |
0(1) |
Localisée |
forcée sur 1 |
forcée sur 0 |
forcée sur 0 |
Non localisée |
forcée sur 0 |
1 |
0(1) |
Non localisée |
forcée sur 1 |
forcée sur 0 |
forcée sur 0 |
(1) La valeur restaurée n'est pas forcée. |