Récupération d'une variable Interne

Forum traitant des automates industriels de marque Siemens.
Répondre
Avatar du membre
Priigame
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 121
Enregistré le : 08 nov. 2017, 09:28

Récupération d'une variable Interne

Message par Priigame »

Bonjour à tous,

Sur un projet de supervision (TIA V14 Runtime), je souhaite récupérer le nom de la recette en cours d'une installation.
Le problème est que cette variable est interne à l'IHM (on va l'appeler "VarIntern").

"VarIntern" est au format String de longueur 30.
Du côté API (Step7), j'ai créé un nouveau DB avec une variable également en String[30] (on va l'appeler "VarExtern").
Du côté IHM (WinCC Flexible), j'ai alors créé un tag avec l'adresse absolu de "VarExtern" et un VBscript permettant de transférer le contenu de "VarIntern" vers "VarExtern" tel que:

Code : Tout sélectionner

Sub TransfertRecette()
SmartTags("VarExtern") = SmartTags("VarIntern")
End Sub
Ce script est exécuté sur la modification de la valeur "VarIntern".

Du côté de ma Supervision (TIA V14), je récupère l'adresse Absolue du DB créé précédemment.

J'ai donc modifié la recette en cours pour vérifier le bon fonctionnement, cependant le seul résultat auquel j'ai le droit, est une série de ####.

Ma liaison Supervision - API est bonne (je récupère d'autre variable).
Mon champ est assez grand.

Matériel:
- CPU 315-2 PN/DP
- Pupitre sous WinCC flexible Runtime
- Liaison Profibus

Si quelqu'un a une idée de pourquoi, je ne récupère pas ma valeur ? Je l'ai déjà fait pour une autre ligne de production et cela marchais parfaitement, je pense que j'ai du faire une erreur toute bête mais pas moyen de voir où..

S'il manque des infos je compéterai tout ça.
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7086
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Récupération d'une variable Interne

Message par itasoft »

slts
il faut lui donner une adresse absolue à "VarExtern"
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
djé
Dieu du process
Dieu du process
Messages : 778
Enregistré le : 20 oct. 2015, 09:55
Localisation : Bretagne, Pays de la Loire, Nantes

Re: Récupération d'une variable Interne

Message par djé »

Salut

c'est quoi SmartTags? c'est un objet?
Y a pas une propriété du genre SmartTags.Value
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
Priigame
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 121
Enregistré le : 08 nov. 2017, 09:28

Re: Récupération d'une variable Interne

Message par Priigame »

Itasoft,
Cela est déjà fait, l'adresse absolu est celle de mon db.
Soit Db6.dbx0.0 (pour tia qui prend les string comme pointer)

Djé,
C'est la façon dont est déclarer les variables, lorsque je sélectionné mes variables cela se déclare directement ainsi.
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7086
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Récupération d'une variable Interne

Message par itasoft »

slts,
si dans l'automate on déclare une variable de type String à une adresse absolue et si dans le IHM on déclare une variable du type String à la même adresse absolue et si ça discute bien le bout de gras, ça doit marcher tout seul
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
Mantysse
Dieu du process
Dieu du process
Messages : 752
Enregistré le : 20 oct. 2015, 08:17
Localisation : MiP

Re: Récupération d'une variable Interne

Message par Mantysse »

itasoft a écrit : 08 juin 2018, 14:56 slts,
si dans l'automate on déclare une variable de type String à une adresse absolue et si dans le IHM on déclare une variable du type String à la même adresse absolue et si ça discute bien le bout de gras, ça doit marcher tout seul
Itasoft... tu t'es converti au teuton? :mrgreen:
"Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément." Nicolas Boileau

L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7086
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Récupération d'une variable Interne

Message par itasoft »

slts,
en fait je sais même pas si on peut le faire sur le matos des "Teutons" LOL
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
Priigame
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 121
Enregistré le : 08 nov. 2017, 09:28

Re: Récupération d'une variable Interne

Message par Priigame »

On est donc d'accord pour dire que cela devrais être bon :/
Comme dis je l'ai fais sur une autre ligne de prod donc oui ça marche normalement ^^

En tout cas merci des réponses, si je trouve je viendrais expliquer au cas où ça intéresse quelqu'un.
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7086
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Récupération d'une variable Interne

Message par itasoft »

slts, OK
ceci dit, un détail à vérifier dans le doute, la String fait 30 caractères soit 30octets soit 30 adresses de 8bits ou 15 adresses de 16bits
On s'autorise à penser que ces adresses ne sont pas déjà utilisées ailleurs dans l'automate .
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
Priigame
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 121
Enregistré le : 08 nov. 2017, 09:28

Re: Récupération d'une variable Interne

Message par Priigame »

Je vérifie tout ça lundi, pour moi c'est 30 adresses de 8 bits.
Le Db est vide hormis ma valeur donc l'utilisation doit être unique, par bonne conscience je vérifierai également.
Répondre