Sauvegarde et modifications des DB sauvegardés sur carte mémoire (recettes)

Forum traitant des automates industriels de marque Siemens.
Répondre
Avatar du membre
Ronan
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 112
Enregistré le : 17 juil. 2017, 07:37
Localisation : Saint-Nazaire
Contact :

Sauvegarde et modifications des DB sauvegardés sur carte mémoire (recettes)

Message par Ronan »

Bonjour à tous,

Sur une machine, nous avons une gestion de recette gérée ainsi :
- DB50 : DB de travail
- DB51 à DB60 : Stockage des recettes

La sauvegarde du DB50 vers le DB5X se fait via un WRIT_DBL :
Image

Variables :
Image

Le pointeur any est généré ainsi :
Image

J'ai plusieurs questions :
- Trouvez-vous élégant la manière de générer le pointeur ANY ? Ecrire la variable #origine ou #destina à l'aide de LB et LW est-il une bonne pratique ?
- Si je me mets en ligne ou en visualisation dyn., quelles données sont affichées ? Celles de la mémoire de travail ou celles carte mémoire ?
- La maintenance souhaite effectuer une sauvegarde des recettes actuelles (DB51->DB60) sur leur PC. Que conseillez-vous ?
- En cas de modification structurelle des DB de recette, comment procédez-vous ? Vous créez un FC temporaires et jouez avec les SFC83/SFC84 ?

Merci !

Ronan
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2240
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Sauvegarde et modifications des DB sauvegardés sur carte mémoire (recettes)

Message par JC87 »

Bonjour,

Personnellement je n'ai jamais utilisé cette possibilité de stocker des recettes sur la carte mémoire avec ces SFC83/SFC84. je me contente de faire un UDT de recettes et de créer les DB de recettes avec cet UDT, ensuite en fonction du numéro de la recette choisie par l'opérateur je fait un blkmove du DB de recette dans le DB de travail mais tout ces DB sont stockés dans la mémoire de travail et pas dans la mémoire de chargement comme toi.

Par contre pour faire cette copie de DB j'ai une petite fonction en SCL qui met en forme les pointeurs un peu dans le genre de ta fonction et la mise en forme que tu décrit ne me choque pas car a partir du moment ou on doit constituer un pointeur ANY il faut écrire des valeurs dans les octets et mots du dit pointeur et là le gars est bien obligé d'utiliser des LB et des LW puisque ici il a fait le choix de se servir des variables locales de sa fonction.

Pour la sauvegarde pour moi le plus simple est de créer un nouveau programme S7 dans le projet et copier les DB en ligne dans ce programme hors ligne. Il est peut être possible également d'accéder au blocs des données de recette directement dans la carte et faire un export en csv pour les sauvegarder en Excel. Il doit être possible de faire ça avec le serveur web de la cpu si on a une cpu avec de l'Ethernet bien entendu, mais cette possibilité est à vérifier. Quoiqu'il en soit tu devrai regarder sur le site de Siemens, il doit y avoir des documents sur la gestion des données de recettes dans la mémoire de chargement.

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Avatar du membre
Ronan
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 112
Enregistré le : 17 juil. 2017, 07:37
Localisation : Saint-Nazaire
Contact :

Re: Sauvegarde et modifications des DB sauvegardés sur carte mémoire (recettes)

Message par Ronan »

Salut,

Merci pour le retour. Suite à quelques essais, voici quelques éléments de réponses et des bouts de mon programme de tests :

- Si je me mets en ligne ou en visualisation dyn., quelles données sont affichées ? Celles de la mémoire de travail ou celles carte mémoire ?
-> La réponse est ici : https://support.industry.siemens.com/cs ... r&lc=en-US
Les blocs de données qui sont déclarés "non liés" dans une MMC de CPU ne sont pas visualisables. Etant non lié, le DB n'est pas constamment rafraîchi dans le projet Online même lorsque la fonction "Visualisation" (avec les lunettes) est active. Cela signifie que les données transferées dans un MMC au moyen du bloc SFC 84 (WRIT_DBL) ne peuvent pas être affichées en dynamique. une mise à jour s'effectue lorsque vous fermer le bloc de donnée et le ré-ouvrez en ligne. Ces variables sont représentées par des lunettes barrées dans une table de visualisation dynamique.
- La maintenance souhaite effectuer une sauvegarde des recettes actuelles (DB51->DB60) sur leur PC. Que conseillez-vous ?
-> Copier les DB depuis le mode "en ligne" et les coller dans le projet hors ligne (merci JC87).

- En cas de modification structurelle des DB de recette, comment procédez-vous ? Vous créez un FC temporaires et jouez avec les SFC83/SFC84 ?
-> Copier les DB depuis le mode "en ligne" et les coller dans le projet hors ligne. Faire les modifications et recharger. Ne pas oublier les DB de travail...

Quelques captures d'écran de mes essais :

Aperçu structurel :
13_copy from ONLINE to OFFLINE.PNG

L'OB1 appelle simplement FC1 :
1_OB1.PNG
1_OB1.PNG (4.6 Kio) Vu 5705 fois

Dans le FC1, création de deux pointeurs ANY en variables locales:
2_FC1 variables.PNG
2_FC1 variables.PNG (6.66 Kio) Vu 5705 fois
Modifié en dernier par Ronan le 10 août 2017, 17:20, modifié 3 fois.
Avatar du membre
Ronan
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 112
Enregistré le : 17 juil. 2017, 07:37
Localisation : Saint-Nazaire
Contact :

Re: Sauvegarde et modifications des DB sauvegardés sur carte mémoire (recettes)

Message par Ronan »

FC1 NW1 : création du pointeur vers le DB de travail
2_FC1 NW1 working DB pointer.PNG
2_FC1 NW1 working DB pointer.PNG (7.51 Kio) Vu 5704 fois

FC1 NW2 : création du pointeur vers le DB sauvegarde (le numéro de DB est dynamique et stocké dans le MW0)
2_FC1 NW2 saving DB pointer.PNG
2_FC1 NW2 saving DB pointer.PNG (7.27 Kio) Vu 5704 fois
Modifié en dernier par Ronan le 10 août 2017, 17:14, modifié 2 fois.
Avatar du membre
Ronan
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 112
Enregistré le : 17 juil. 2017, 07:37
Localisation : Saint-Nazaire
Contact :

Re: Sauvegarde et modifications des DB sauvegardés sur carte mémoire (recettes)

Message par Ronan »

Fonction d'écriture :
2_FC1 NW3 save.PNG
2_FC1 NW3 save.PNG (11.85 Kio) Vu 5703 fois
Fonction de lecture :
2_FC1 NW4 load.PNG
2_FC1 NW4 load.PNG (11.77 Kio) Vu 5703 fois
Autoreset des demandes d'écriture ou de lecture :
2_FC5 FC6 autoreset.PNG
2_FC5 FC6 autoreset.PNG (7.22 Kio) Vu 5703 fois
Avatar du membre
Ronan
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 112
Enregistré le : 17 juil. 2017, 07:37
Localisation : Saint-Nazaire
Contact :

Re: Sauvegarde et modifications des DB sauvegardés sur carte mémoire (recettes)

Message par Ronan »

Stucture des DB1, DB10 et DB11 :
3_DB structure.PNG
3_DB structure.PNG (10.13 Kio) Vu 5703 fois
Sauvegarde :
1 - Forcer les valeurs dans le DB de travail
2 - Forcer MW0 à 10 ou 11 en fonction du DB de sauvegarde avec lequel vous souhaitez travailler
3 - Forcer M10.0 pour lancer l'écriture du DB de travail vers le DB de sauvegarde.

Récupération :
1 - Mettre à 0 les données du DB de travail
2 - Forcer MW0 à 10 ou 11 en fonction du DB de sauvegarde depuis lequel on souhaite récupérer les données.
3 - Forcer M20.0 pour lancer l'écriture du DB de sauvegarde vers le DB de travail.
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2240
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Sauvegarde et modifications des DB sauvegardés sur carte mémoire (recettes)

Message par JC87 »

Hello,

Il y a quand même un truc que je ne comprend pas trop dans ton application c'est l’intérêt qu'il y a à stocker à peine une dizaine de DB de recettes dans la carte mémoire. Il y en aurai une tétra chiés pourquoi pas mais pour 10 je trouve ça curieux. J'ai regardé sur le site de Siemens et j'ai vu qu'avec un 1500 tu avait accès aux recettes dans la carte mémoire directement via le serveur web de la cpu, là c'est intéressant parce que ça veut dire que tu peut sauvegarder des recettes à distances voire les créer sur un pc ailleurs et les balancer dans l'automate mais quid de cette possibilité en Step 7 ?

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Avatar du membre
Ronan
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 112
Enregistré le : 17 juil. 2017, 07:37
Localisation : Saint-Nazaire
Contact :

Re: Sauvegarde et modifications des DB sauvegardés sur carte mémoire (recettes)

Message par Ronan »

JC87 a écrit : 10 août 2017, 18:14 Hello,

Il y a quand même un truc que je ne comprend pas trop dans ton application c'est l’intérêt qu'il y a à stocker à peine une dizaine de DB de recettes dans la carte mémoire. Il y en aurai une tétra chiés pourquoi pas mais pour 10 je trouve ça curieux. J'ai regardé sur le site de Siemens et j'ai vu qu'avec un 1500 tu avait accès aux recettes dans la carte mémoire directement via le serveur web de la cpu, là c'est intéressant parce que ça veut dire que tu peut sauvegarder des recettes à distances voire les créer sur un pc ailleurs et les balancer dans l'automate mais quid de cette possibilité en Step 7 ?

JC
Je pense que ça date d'avant 2002, ou la mémoire retentive était encore limitée. Si je croise leur automaticien, je demanderai.
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2240
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Sauvegarde et modifications des DB sauvegardés sur carte mémoire (recettes)

Message par JC87 »

Bonjour,

Effectivement c'était peut être un manque de DB rémanent ce qui était problématique à une époque en Step 7. Aujourd’hui on n'a plus ce probléme avec les dernières cpu 300 et du coup l’intérêt est moindre. Après dans le principe il n'y a pas vraiment de différence à avoir les DB de recettes dans la mémoire de travail puisque le principe de lecture/écriture avec pointeur reste très similaire, c'est juste cette histoire de serveur web qui serait a creuser, si j'ai le temps je regarderai comment ça marche en Step 7 avec du 300.

JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Répondre