Comment utiliser une variable d'un DB global ?
Comment utiliser une variable d'un DB global ?
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
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
- djé
- 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 ?
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 ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Re: Comment utiliser une variable d'un DB global ?
Désolé je suis un peu con je comprends pas. 
Re: Comment utiliser une variable d'un DB global ?
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 ?
- djé
- 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 ?
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)
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 ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Re: Comment utiliser une variable d'un DB global ?
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.


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.
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.
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.
Re: Comment utiliser une variable d'un DB global ?
Désolé les images ont pas marché sur mon post d'avant.
- djé
- 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 ?
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.
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 ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
- djé
- 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 ?
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.
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 ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Re: Comment utiliser une variable d'un DB global ?
Super, merci pour cette précision tout est adressé dans Step 7.
