Variable locale Temp et stat

Forum traitant des automates industriels de marque Siemens.
Répondre
Wow400
Première mise en service
Première mise en service
Messages : 59
Enregistré le : 01 oct. 2019, 16:23

Variable locale Temp et stat

Message par Wow400 »

Bonjour à tous,
Je souhaiterais validé ce que j'ai compris sur les variables locales.
Je commence.
Dans un bloc il y a des paramètres:
paramètres d'entrée
paramètres de sorties
paramètres entrées et sorties
et variable locale sous 2 formes Temp et Stat.
Première question
La variable Temp est une variable interne au bloc, enregistré dans la pile donc sans enregistrement en dur donc si on sort du bloc on risque de perdre la valeur de la variable. ex: la valeur courante d'un compteur si elle est en Temp sera perdu si je coupe l'alimentation de l'automate. Vrai ou faux ?
Deuxième question
A l'inverse de la variable temp, la variable stat est enregistré en dur dans un DB. Si je suis dans un bloc FB alors ce sera dans un DB d'instance relié au FB, à ce moment là dans le pire des cas, coupure d'alimentation la valeur courante de mon compteur n'est pas perdue.
Vrai ou faux ?
Dernière question
De ce que j'ai vu la variable Stat n'apparait que dans un FB de part son enregistrement obligatoire dans un DB.Il n'y a pas de variable Stat dans un FC.
Mais est il possible (je dois dire que je comprends pas grand chose au DB global :cry: ) de créer une variable stat dans un DB global et de l'utilisé dans un FC ?
Merci pour vos réponses :D
Avatar du membre
djé
Dieu du process
Dieu du process
Messages : 864
Enregistré le : 20 oct. 2015, 09:55
Localisation : Bretagne, Pays de la Loire, Nantes
Contact :

Re: Variable locale Temp et stat

Message par djé »

Première question
La variable Temp est une variable interne au bloc, enregistré dans la pile donc sans enregistrement en dur donc si on sort du bloc on risque de perdre la valeur de la variable. ex: la valeur courante d'un compteur si elle est en Temp sera perdu si je coupe l'alimentation de l'automate. Vrai ou faux ?
Vrai, la variable locale n'est valable QUE le temps d’exécution du bloc, une fois le bloc quitté, elle n'est plus valable.
De même elle n'est plus valable au retour de l'appel du bloc tant qu'elle n'a pas été ré-écrite au moins une fois. (Dans ton exemple, le compteur est perdu même au retour dans le bloc - il faut abslument partir de ce principe, même si dès fois on a l’impression que la variable locale semble avoir gardé sa valeur)
Deuxième question
A l'inverse de la variable temp, la variable stat est enregistré en dur dans un DB. Si je suis dans un bloc FB alors ce sera dans un DB d'instance relié au FB, à ce moment là dans le pire des cas, coupure d'alimentation la valeur courante de mon compteur n'est pas perdue.
Vrai ou faux ?
Vrai, la variable est sauvegardée dans la DB en cas de coupure.
Dernière question
De ce que j'ai vu la variable Stat n'apparait que dans un FB de part son enregistrement obligatoire dans un DB.Il n'y a pas de variable Stat dans un FC.
Mais est il possible (je dois dire que je comprends pas grand chose au DB global :cry: ) de créer une variable stat dans un DB global et de l'utilisé dans un FC ?
Oui, un DB global à la différence d'un DB d'instance qui représente la mémoire d'un FB n'est pas lié à un bloc en particulier.
Les donnée sont utilisables partout dans le code.
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.

Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Wow400
Première mise en service
Première mise en service
Messages : 59
Enregistré le : 01 oct. 2019, 16:23

Re: Variable locale Temp et stat

Message par Wow400 »

Merci pour toutes ces réponses je suis donc sur la bonne voie. :D
je vais créer d' autres sujets pour mes autres questions.
Merci encore.
Répondre