Comment utiliser une variable d'un DB global ?

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

Comment utiliser une variable d'un DB global ?

Message par Wow400 »

Une autre question sous Step 7 V5.6
J'ai créé un DB global n°2 double clic sur le DB2 et dans le tableau j'ai ajouté une variable que j'ai appelé valeurcompteur1 en INT valeur initiale 0.
Dans un bloc FC j'essaye de l'utiliser mais je n'y arrive pas.
Par contre si j'utilise un adressage DB2.DBW (x) pas de souci.
Comment dois-je faire ?
Merci de vos réponses
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: Comment utiliser une variable d'un DB global ?

Message par djé »

La réponse est dans la question 😜
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: Comment utiliser une variable d'un DB global ?

Message par Wow400 »

Désolé je suis un peu con je comprends pas. :roll:
Wow400
Première mise en service
Première mise en service
Messages : 59
Enregistré le : 01 oct. 2019, 16:23

Re: Comment utiliser une variable d'un DB global ?

Message par Wow400 »

Il faut utiliser DB2.DBW (x) je suppose, mais dans ces cas là, à quoi sert de pouvoir faire une liste de variable dans le tableau du DB comme dans la table des mnémoniques si après on peut pas l'utiliser ?
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: Comment utiliser une variable d'un DB global ?

Message par djé »

Tu parles d'adressage symbolique ?

Si c'est le cas, tu peux passer en mode de programmation “mnémonique prioritaire”.
C'est dans les propriétés du dossier Bloc ou Programme. Me rappelle plus bien.
Dans ce cas cela t'oblige à recompiler régulièrement ton programme pour garder la cohérence des blocs mais c'est pratique surtout en phase de création lorsque tu passes ton temps à structurer les données.

Quoiqu'il en soit sur Simatic manager, les variables sont toujours localisée à une adresse.
Sur TIA, la programmation est nativement en symbolique, et les variables ne sont pas localisée si les DB sont paramétrées en "optimisé" (possible uniquement sur les nouvelles générations de CPU 1200 et 1500)
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: Comment utiliser une variable d'un DB global ?

Message par Wow400 »

Première chose :
En résumé ce qu'on peut dire pour l'adressage sous step 7 c'est qu' il n'y a pas de variable non adressé sauf les variables locales temp ?
Vrai ou faux ?

Deuxième chose j'ai trouvé ce que tu disais mais j'ai pas vu ni compris la différence.

Image
Image

Par contre tu m'as mis sur la piste et j'ai insisté sur l'adressage symbolique (tu as compris c'est ce que je voulais dire) et c'est bon j'ai compris comment faire.
En premier dans le tableau du DB (double clic sur le DB pour l'accès) on crée les variables avec leur nom et le type (int,bool ou autre) et la valeur initiale) ici j'ai mis valeurcompteur1 ect.
En deux dans la table des mnémoniques on donne un nom au DB dans l'image sur l'exemple que j'ai mis Global2
En trois dans le FC on peut maintenant accéder aux variables créées. Clic droit insérer mnémoniques et on peut accéder à Global2 et aux variables, bien sur il faut enregistrer les blocs et la table de mnémoniques pour actualiser le programme et ainsi avoir l'affichage des mnémoniques.

Merci beaucoup pour tes réponses je valide grâce à toi beaucoup de choses dans mon apprentissage. La question de l'adressage est une question importante que je me posais.
J'ai encore plein de question sur l'adressage dans Tia portal et d'autres questions sur Step 7 mais je vais faire d'autres post pour pas tout mélanger.Si tu peux juste répondre à cette dernière question sur ce post.
Merci encore.
Wow400
Première mise en service
Première mise en service
Messages : 59
Enregistré le : 01 oct. 2019, 16:23

Re: Comment utiliser une variable d'un DB global ?

Message par Wow400 »

valeurabsolueprioritaire.PNG
DBglobal.PNG
Désolé les images ont pas marché sur mon post d'avant.
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: Comment utiliser une variable d'un DB global ?

Message par djé »

En résumé ce qu'on peut dire pour l'adressage sous step 7 c'est qu' il n'y a pas de variable non adressé sauf les variables locales temp ?
Vrai ou faux ?

Vrai, bien qu'il existe aussi une adresse pour les variables locales, mais non accessibles en dehors du code dans lequel elle sont déclarées.
Tu peux le voir normalement dans la zone interface de la déclaration des variables.

Admettons tu déclares deux mots wordTemp1 et wordTemp2 dans la zone temp, et bien tu peux y accéder soit par le symbole #wordTemp1 ou par l'adresse absolue LW0 et #wordTemp2 à l'adresse LW2.

Sinon tes images ne sont pas passées, mais tu as compris le principe me semble t'il.

Le fait d'être en adressage symbolique est beaucoup plus commode que l'adressage abslou car le mnémonique ne change pas tout au long du processus de programmation alors que l'adresse, elle, est susceptible de varier en fonction de tes déclarations et de ordonnancement de tes variables.
Modifié en dernier par djé le 05 avr. 2020, 17:38, modifié 1 fois.
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 ...
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: Comment utiliser une variable d'un DB global ?

Message par djé »

Croisement de post...

c'est exactement çà.

Dans une DB le mnémonique des variables est déclarée dans la DB elle même et non pas dans la table des variables.
Le mnémonique du DB est quant à lui, déclaré dans la table des variables.
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: Comment utiliser une variable d'un DB global ?

Message par Wow400 »

Super, merci pour cette précision tout est adressé dans Step 7.
Répondre