Bonjour
la config est la suivante : S7-1500, TIA portal V18(des Entrées sortie déportées via ET200SP)
Je cherche a mémorisé et rendre rémanent des valeurs d'entrée analogiques. (compteur energie notament)
J'ai plus de 600 entrées API(tension, puissance et compteur energie,...) de type REAL et dans le lot 150 aine d'entrée que j'aimerai rendre rémanent( les valeurs compteurs energie).
Comment lire certaines variables (150 environ) en boucle (sans les adresser et écrire les TAG un a un dans un bloc move ....) et les stocker dans un tableau d'un DB (que je sais rendre rémanent )?
Il est surement possible dans une boucle FOR (ou IF) de lire toutes variables d'une table de variable API pour les stocker dans un DB.
Ca parait simple mais j'ai passé presque la journée à faire ça...
[S7-1500] lecture et mémorisation en masse des variables API
Re: [S7-1500] lecture et mémorisation en masse des variables API
Bonjour,
quel intérêt de stocker dans une db rémanent une mesure analogique?
Si c'est une mesure, tu ne pourras pas la restituer.
Si ton souhait est d'historiser la je comprends mieux
Il suffit dans un premier temps de ranger toutes tes variables à historiser donc dans un DB.
Ensuite, avec un logiciel exploitation sur pc ou IHM tu peux archiver ces valeurs au fil du temps.
Est-ce ce que tu compte faire?
Cordialement.
quel intérêt de stocker dans une db rémanent une mesure analogique?
Si c'est une mesure, tu ne pourras pas la restituer.
Si ton souhait est d'historiser la je comprends mieux
Il suffit dans un premier temps de ranger toutes tes variables à historiser donc dans un DB.
Ensuite, avec un logiciel exploitation sur pc ou IHM tu peux archiver ces valeurs au fil du temps.
Est-ce ce que tu compte faire?
Cordialement.
Re: [S7-1500] lecture et mémorisation en masse des variables API
En fait on parle d'un module intelligent AI energy meter.
J'aurai aimé gardé certaines valeurs en memoire dans l'automate en cas de coupure ou d'arret d'automate.
Mais je pensais que l'on aurai pu faire une itération automatique (pléonasme?) avec une boucle en lisant par exemple la variable Offset +1 a chaque fois d'une table de variable API
Puis stocker la valeur dans un tableau
J'aurai aimé gardé certaines valeurs en memoire dans l'automate en cas de coupure ou d'arret d'automate.
Mais je pensais que l'on aurai pu faire une itération automatique (pléonasme?) avec une boucle en lisant par exemple la variable Offset +1 a chaque fois d'une table de variable API
Puis stocker la valeur dans un tableau
Re: [S7-1500] lecture et mémorisation en masse des variables API
Bonjour, on ne met jamais une entrée physique en mémoire rémanente, cela n'a pas de sens étant donné qu'elle va être récrite dès lors que l'automate va s'allumer.
Si toutefois il y a des calculs dans l'automate du type calcul de consommation dans la journée ou autre... Oui, dans ce cas tu passes dans un DB et tu met rémanent.
Si toutefois il y a des calculs dans l'automate du type calcul de consommation dans la journée ou autre... Oui, dans ce cas tu passes dans un DB et tu met rémanent.
Re: [S7-1500] lecture et mémorisation en masse des variables API
Je pense que son probleme c'est qu'il a des entrees energies. Mais je suis d'accord ca sert stritement a rien,Auto10 a écrit : ↑02 nov. 2023, 21:04 Bonjour, on ne met jamais une entrée physique en mémoire rémanente, cela n'a pas de sens étant donné qu'elle va être récrite dès lors que l'automate va s'allumer.
Si toutefois il y a des calculs dans l'automate du type calcul de consommation dans la journée ou autre... Oui, dans ce cas tu passes dans un DB et tu met rémanent.
Si deja tu fais des calculs pour mise a l'echelle, etc. En principe les variables calculees sont rangees dans des DBs ou %MW ce qui te permet de definir ces objets remanents.
-
- Mi homme - Mi automate
- Messages : 1081
- Enregistré le : 12 nov. 2015, 21:02
- Localisation : 45 - Loiret
- Contact :
Re: [S7-1500] lecture et mémorisation en masse des variables API
Apparemment c’était facile a faire sur les S7 300 et 400, mis beaucoup moins avec les API plus récents.
https://support.industry.siemens.com/cs ... 0&lc=fr-FR
Vu que les CPU 'modernes' on des dispositifs de protection mémoire afin de limiter les failles de sécurités possibles, ça ne me surprends qu'a moitié.
Plus on avance, et moins on a d’accès direct a la mémoire.
A mon avis le 'moins pire' que tu peut faire c'est de définir un type de variable 'custom' qui englobe un max de trucs, et après recopier bloc par bloc dans des DB.
Ou sinon tu fait une macro Excel qui te génère le code ST pour copier tes %IW ligne par ligne.
https://support.industry.siemens.com/cs ... 0&lc=fr-FR
Vu que les CPU 'modernes' on des dispositifs de protection mémoire afin de limiter les failles de sécurités possibles, ça ne me surprends qu'a moitié.
Plus on avance, et moins on a d’accès direct a la mémoire.
A mon avis le 'moins pire' que tu peut faire c'est de définir un type de variable 'custom' qui englobe un max de trucs, et après recopier bloc par bloc dans des DB.
Ou sinon tu fait une macro Excel qui te génère le code ST pour copier tes %IW ligne par ligne.
Re: [S7-1500] lecture et mémorisation en masse des variables API
Merci pour vos réponses
En fait le module AI energy meter à sa valeur de compteur energie qui est rémanante dans le module lui meme.
donc meme si on coupe l'automate et que l'on redemarre on perd pas les valeurs.
En fait le module AI energy meter à sa valeur de compteur energie qui est rémanante dans le module lui meme.
donc meme si on coupe l'automate et que l'on redemarre on perd pas les valeurs.