Mise à échelle

Forum traitant des automates industriels de marque Siemens.
Lancelot
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Enregistré le : 24 juil. 2020, 18:31

Mise à échelle

Message par Lancelot »

Bonjour à tous !

Actuellement, je travaille sur un s7-1200. Le but du projet est de récupérer une information de débit 4-20 mA d'un transmetteur et de le récupérer sur l'automate. Pour pouvoir récupérer l'information analogie j'ai pris une signal board avec une entrée analogie 0-20 mA.

Dans mon programme, j'ai fait une conversion de la valeur récupérer de "int" en "real" et suite à cela, une mise à échelle sur du 4-20 mA. Comme cela :

//conversion valeur de "int" en "real"// //"Val_1" = "REAL", "DEBIT" = "INT" = Valeur analogique reçut par l'automate et envoyé par le transmetteur
"Val_1" := INT_TO_REAL("DEBIT");

//mise à échelle en 4-20 mA de la valeur "Val_1"// //"Val_2" = "REAL", "Val_1" = "REAL"
"Val_2" := 4.0 + ((( 20.0 - 0.0) / 27648.0) * Val_1);

//mise à échelle de la variable "Val_2" sur une échelle 0.7 à 1.767 l/s// //"Val_3" = "REAL", "Val_2" = "REAL"
"Val_3" := 0.7 + (((1.767 - 0.7) / 20.0) * "Val_2");

Mon problème c'est qu'avec la dernière mise à échelle, la mise à échelle se fait mal car par exemple pour 4 mA j'ai 0.9134 au lieu d'avoir 0.7 mais à 20 mA j'ai bien 1.767.

Pouvez-vous me dire qu'elle erreur ai-je faite pour pouvoir faire une mise à échelle de 0.7 à 1.767.

N’hésiter par à me poser des questions sur des points où je n'étais pas claire.

Merci d'avance

Cordialement,
Ce qui est le plus incroyable en informatique, c'est quand ça fonctionne !
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Mise à échelle

Message par itasoft »

Slts,
Si le capteur délivre du 4..20 mA pour quelle raisons tu utilise une entrée ana. en 0..20 mA ? comprends pas ?
Automaticien privé (de tout)
itasoft@free.fr
Lancelot
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Enregistré le : 24 juil. 2020, 18:31

Re: Mise à échelle

Message par Lancelot »

itasoft a écrit : 24 juil. 2020, 20:54 Slts,
Si le capteur délivre du 4..20 mA pour quelle raisons tu utilise une entrée ana. en 0..20 mA ? comprends pas ?
Bonjour,

Déjà premièrement, j ai une petite armoire électrique que je ne peux pas rajouter de carte entrée analogique 4-20 mA donc j ai pris pour cela une signal board. La seule que j ai trouvé était en 0-20 mA.

Deuxièmement, on m'a dit que c'était possible d'envoyer du 4-20 mA sur une entrée 0-20 mA et de faire une mise à l'échelle dans l'automate.
Ce qui est le plus incroyable en informatique, c'est quand ça fonctionne !
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Mise à échelle

Message par itasoft »

slts,
Ok compris, oui c'est possible si on as pas d'autres choix.
Automaticien privé (de tout)
itasoft@free.fr
Lancelot
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Enregistré le : 24 juil. 2020, 18:31

Re: Mise à échelle

Message par Lancelot »

Merci,

Pouvez-vous me dire aussi pourquoi j ai un soucis sur la mise à l'échelle dans le bout de programme svp ?

Merci d'avance,
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Mise à échelle

Message par itasoft »

slts,
la mise à l'échelle se fait dans la configuration de l'entrée ana. sur cette entrée ana. on peut pas y configurer une valeur physique ?
Automaticien privé (de tout)
itasoft@free.fr
Lancelot
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Enregistré le : 24 juil. 2020, 18:31

Re: Mise à échelle

Message par Lancelot »

Je vais voir si c'est possible mais pas sûr.

Tous ce que je sais c'est qu'on peut changer l'entrée de la carte soit en tension soit en courant.

Merci.
Ce qui est le plus incroyable en informatique, c'est quand ça fonctionne !
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Mise à échelle

Message par itasoft »

slts,
quel est la plage physique du signal ana. 4/20 mA
exemple: 4 mA = 0°C 20 mA = 60 °C
Automaticien privé (de tout)
itasoft@free.fr
Lancelot
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Enregistré le : 24 juil. 2020, 18:31

Re: Mise à échelle

Message par Lancelot »

La plage physique est de 4 ma = 0,7 l/s à 1,767 l/s pour du 20 mA
Ce qui est le plus incroyable en informatique, c'est quand ça fonctionne !
Avatar du membre
Bruce33
Dieu du process
Dieu du process
Messages : 930
Enregistré le : 28 oct. 2015, 06:54
Localisation : Pas-de-Calais

Re: Mise à échelle

Message par Bruce33 »

Bonjour,

Il me semble que ce serait plutôt :

//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.
Répondre