3 variables interne pour une externe

Forum traitant des automates industriels de marque Siemens.
hgvieira
Code son premier grafcet
Code son premier grafcet
Messages : 41
Enregistré le : 02 sept. 2022, 13:26

Re: 3 variables interne pour une externe

Message par hgvieira »

Je viens de tester la solution de DurandO elle fonctionne.
J essaie de l'améliorer pour mon cas avec des paramètres d'entrées et de sorties, mais pas réussi pour le moment.
Vous avez des idées?
voila ce que j'ai fait.
Capture d’écran 2023-01-16 170519.jpg
DurandO
Maître du binaire
Maître du binaire
Messages : 482
Enregistré le : 21 mars 2021, 15:31

Re: 3 variables interne pour une externe

Message par DurandO »

Je ne crois pas possible de traiter les variables HMI en y accédant directement même avec la transmission de leur pointeur comme avec ByRef.
pour moi, seul fonctionnera ici l'accès via SmartTags comme je te l'ai indiqué.

Si tu souhaites paramétrer ce script, tu devras passer une écriture externe au script des variable paramètre de type string NomVariableAPI par exemple.

Partant de cela, je procéderai ainsi dans l’événement devant écrire ta variable API (ou tu appelais le script):
1) Une Fonction Définir variable
Variable de Sortie : NomVarAPI = "Vartarempion"
2,3,4) Une Fonction Définir variable
Variable de Sortie : NomVarSource1 = "reel1"
Etc... pour reel1,reel2, reel3
5) Une Fonction Définir variable
Variable de Sortie : Index = "IndexSelBox"
6) le script
Dans ce genre
CascadeFonction.png
Le script :

Code : Tout sélectionner

Sub MajReel()
Select SmartTags(SmartTags(Index)) 
    Case 0   
        SmartTags(SmartTags(NomVarAPI)) = SmartTags(SmartTags(NomVarSource1))
 
 //Etc...

End 
Modifié en dernier par DurandO le 17 janv. 2023, 10:40, modifié 1 fois.
hgvieira
Code son premier grafcet
Code son premier grafcet
Messages : 41
Enregistré le : 02 sept. 2022, 13:26

Re: 3 variables interne pour une externe

Message par hgvieira »

DurandO a écrit : 16 janv. 2023, 18:07 Je ne crois pas possible de traiter les variables HMI en y accédant directement même avec la transmission de leur pointeur comme avec ByRef.
pour moi, seul fonctionnera ici l'accès via SmartTags comme je te l'ai indiqué.

Si tu souhaites paramétrer ce script, tu devras passer une écriture externe au script des variable paramètre de type string NomVariableAPI par exemple.

Partant de cela, je procéderai ainsi dans l’événement devant écrire ta variable API (ou tu appelais le script):
1) Une Fonction Définir variable
Variable de Sortie : NomVarAPI = "Vartarempion"
2,3,4) Une Fonction Définir variable
Variable de Sortie : NomVarSource1 = "reel1"
Etc... pour reel1,reel2, reel3
5) Une Fonction Définir variable
Variable de Sortie : Index = "IndexSelBox"
6) le script
Dans ce genre
CascadeFonction.png

Le script :

Code : Tout sélectionner

Sub MajReel()
Select SmartTags(SmartTags("Index")) 
    Case 0   
        SmartTags(SmartTags(NomVarAPI)) = SmartTags(SmartTags(NomVarSource1))
 
 //Etc...

End 
Merci de tes réponses, cela me semble claire,
Je clos le sujet.
Répondre