Page 1 sur 1

[PCVue] Modification dynamique mise à l'échelle

Posté : 20 mars 2023, 16:48
par BruceBacc
Bonjour
Quelqu'un saurait t-il comment changer dynamiquement par script (VBA ou SCADA) la mise à l'échelle d'une variable acquise dans un automate.

Pour info, la mesure est toujours stockée en Entier 32 bits dans l'API, mais c'est l'opérateur qui doit décider du gain à appliquer sur la mesure : exemple "0.1" pour diviser par 10 la mesure API. Quand l'utilisateur saisit cette valeur, il faudrait que je puisse aller modifier les mini et maxi de la mise à l'échelle de la variable.

Mais je n'ai rien trouvé en VBA ou en SCADA (avec la fonction "VARIABLE") qui permettent de le faire.
Merci

Re: [PCVue] Modification dynamique mise à l'échelle

Posté : 20 mars 2023, 21:51
par dpo
Perso je préfère faire les conversions dans l'automate, ainsi la valeur qui travaille dans l'automate est exactement la même que celle affichée.
Mais on ne peut pas toujours faire comme on veut.
Solution 1 : tu ajoutes deux variables pour MIN/MAX en com avec l'automate et tu fais la conversion dans l'automate puis tu affiches le résultat dans pcvue.
Solution 2 : tu ajoutes deux variables MIN/MAX en variables internes, consignes Et sauvegardées, tu ajoutes une variables interne résultat (qui doit être en consigne) et tu fais la mise à l'échelle par une expression Pcvue.

Re: [PCVue] Modification dynamique mise à l'échelle

Posté : 21 mars 2023, 02:00
par itasoft
Slts,
Connais pas Pcvue mais ça me semble curieux que l’on ne puisse pas définir les propriétés des variables en dynamique (script)
comme sur Vijeo-designer ex : void NomVariableEntier.setMinMaxValues(int min, int max);

Re: [PCVue] Modification dynamique mise à l'échelle

Posté : 21 mars 2023, 10:44
par BruceBacc
dpo a écrit : 20 mars 2023, 21:51 Perso je préfère faire les conversions dans l'automate, ainsi la valeur qui travaille dans l'automate est exactement la même que celle affichée.
Mais on ne peut pas toujours faire comme on veut.
Solution 1 : tu ajoutes deux variables pour MIN/MAX en com avec l'automate et tu fais la conversion dans l'automate puis tu affiches le résultat dans pcvue.
Solution 2 : tu ajoutes deux variables MIN/MAX en variables internes, consignes Et sauvegardées, tu ajoutes une variables interne résultat (qui doit être en consigne) et tu fais la mise à l'échelle par une expression Pcvue.
Merci pour ton retour

1 - Pas de latitude côté automate pour faire ce traitement. On l'aurait fait directement là sinon.
2 - Oui, j'ai pensé à une expression, mais je trouvais un peu lourd cette solution (50 expressions à traiter)

On peut faire pas mal de modif en dynamique sur les variables en SCADA ou VBA, mais je n'ai pas trouvé pour modifier la mise à l'échelle.

Re: [PCVue] Modification dynamique mise à l'échelle

Posté : 21 mars 2023, 12:42
par dpo
BruceBacc a écrit : 21 mars 2023, 10:44

Merci pour ton retour

1 - Pas de latitude côté automate pour faire ce traitement. On l'aurait fait directement là sinon.
2 - Oui, j'ai pensé à une expression, mais je trouvais un peu lourd cette solution (50 expressions à traiter)

On peut faire pas mal de modif en dynamique sur les variables en SCADA ou VBA, mais je n'ai pas trouvé pour modifier la mise à l'échelle.
Versions bourrin:
tu le fais dans un scada cyclique, tu peux faire un bout de formule dans excel pour rapidement faire les formules et copie/colle dans le scada
ou
tu le fais direct dans le fichier exprv.dat, avec excel puis tu lances pcvue
ou tu peux aussi utiliser les formules dans pcvue,