Page 1 sur 1

Récupération d'une variable Interne

Posté : 08 juin 2018, 11:58
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.

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

Posté : 08 juin 2018, 12:19
par itasoft
slts
il faut lui donner une adresse absolue à "VarExtern"

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

Posté : 08 juin 2018, 12:34
par djé
Salut

c'est quoi SmartTags? c'est un objet?
Y a pas une propriété du genre SmartTags.Value

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

Posté : 08 juin 2018, 13:10
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.

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

Posté : 08 juin 2018, 14:56
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

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

Posté : 08 juin 2018, 15:12
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:

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

Posté : 08 juin 2018, 15:17
par itasoft
slts,
en fait je sais même pas si on peut le faire sur le matos des "Teutons" LOL

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

Posté : 08 juin 2018, 18:59
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.

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

Posté : 08 juin 2018, 19:12
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 .

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

Posté : 08 juin 2018, 19:29
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.