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.

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 :

  • plus longue que le type cible ou

  • incompatible avec le type cible.

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

NOTE : PDL signifie Possible Data Loss (perte de données possible).

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

NOTE : En cas de détection de bits forcés sur l'automate avant la restauration des données, le statut de forçage (F) et la valeur ne sont pas mis à jour dans l'automate après la restauration.

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.