//mise à échelle en 4-20 mA de la valeur "Val_1"// //"Val_2" = "REAL", "Val_1" = "REAL"
"Val_2" := ((( 20.0 - 0.0) / 27648.0) * Val_1) - 4.0;
//mise à échelle de la variable "Val_2" sur une échelle 0.7 à 1.767 l/s// //"Val_3" = "REAL", "Val_2" = "REAL"
"Val_3" := (((1.767 - 0.7) / (20.0 - 4.0)) * "Val_2") + 0.7;
Mais c'est un peu lourd comme écriture...
Je ne suis pas spécialiste de S7-1200 mais il me semble qu'il existe une fonction SCALE (ou RESCALE en valeur REAL) pour la mise à l'échelle. Il existe aussi des fonctions NORM_X et SCALE_X... mais je n'ai pas le logiciel pour vérifier tout ça.
//mise à échelle en 4-20 mA de la valeur "Val_1"// //"Val_2" = "REAL", "Val_1" = "REAL"
"Val_2" := ((( 20.0 - 0.0) / 27648.0) * Val_1) - 4.0;
//mise à échelle de la variable "Val_2" sur une échelle 0.7 à 1.767 l/s// //"Val_3" = "REAL", "Val_2" = "REAL"
"Val_3" := (((1.767 - 0.7) / (20.0 - 4.0)) * "Val_2") + 0.7;
Mais c'est un peu lourd comme écriture...
Je ne suis pas spécialiste de S7-1200 mais il me semble qu'il existe une fonction SCALE (ou RESCALE en valeur REAL) pour la mise à l'échelle. Il existe aussi des fonctions NORM_X et SCALE_X... mais je n'ai pas le logiciel pour vérifier tout ça.
Bonjour,
Merci pour votre réponse. Oui il existe ces fonctions mais impossible de faire une mise à l'échelle correct.
Ce qui est le plus incroyable en informatique, c'est quand ça fonctionne !
Mais 4mA = Échelle min
Ça donne donc [27648*0,2]_27648Pts = 4_20mA = Échelle min_Échelle Max
Échelle min = 5530 pts (55929,6 précisément)
Échelle max 27648 pts
Si quelquefois tu te sens petit, inutile, démoralisé ou dépressif, n'oublies jamais que tu as été un jour le plus rapide et le meilleur spermatozoïde de ta bande ...
Le plus simple est de faire une première mise à l'échelle dans l'automate en 0-100% (c'est simple et universel)
Et ensuite utiliser tes vrais valeur d'échelle via une seconde conversion du type : x = [Valeur en %/100,0]*Echelle max]+Echelle min.
Ça te permettra de vérifier les valeur simplement (4mA ->0% ; 12mA ->50% ; 20mA ->100%)
Et ensuite si tu a besoin de modifier l'échelle de ton transmetteur, tu n'aura qu'à toucher à une valeur du programme.
Et prévois également une sécurité, si le résultat est <4mA, ce qui veut dire que ton transmetteur s'est mis en sécurité.
Si quelquefois tu te sens petit, inutile, démoralisé ou dépressif, n'oublies jamais que tu as été un jour le plus rapide et le meilleur spermatozoïde de ta bande ...
Si j ai bien compris, je fais une première mise à échelle entre 0 et 100% avec les valeurs du transmetteur puis je fais une mise à échelle avec les valeurs que j'aurai besoin.
Ou je fais en premier une mise à échelle 4-20 mA est de faire une mise à échelle 0 100% puis avec les valeurs que j'aurai mis ?
Ce qui est le plus incroyable en informatique, c'est quand ça fonctionne !
Si j ai bien compris, je fais une première mise à échelle entre 0 et 100% avec les valeurs du transmetteur puis je fais une mise à échelle avec les valeurs que j'aurai besoin.
Ou je fais en premier une mise à échelle 4-20 mA est de faire une mise à échelle 0 100% puis avec les valeurs que j'aurai mis ?
1ere mise à l'échelle avec ceci :
IN : 5530 - 27648 [pts]
OUT : 0,0 - 100,0 [%]
2nde mise à l'échelle :
IN : 0,0 - 100,0 [%] (valeur issue de la 1ere mise à l'échelle)
OUT : Echelle min - Echelle max [l/s, m3/h, ...]
Si quelquefois tu te sens petit, inutile, démoralisé ou dépressif, n'oublies jamais que tu as été un jour le plus rapide et le meilleur spermatozoïde de ta bande ...
Lancelot a écrit : ↑25 juil. 2020, 12:31
Dernière question, d'où vient les 0,2 du [27648*0,2] ?
4mA en points ça donne (27648/20)*4 soit 27648* (4/20), et donc 27648 * 0.2
Si quelquefois tu te sens petit, inutile, démoralisé ou dépressif, n'oublies jamais que tu as été un jour le plus rapide et le meilleur spermatozoïde de ta bande ...