Mise à l'échelle entrée analogique

Forum traitant des automates industriels de marque Siemens.
Répondre
corolian
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 08 sept. 2021, 20:09

Mise à l'échelle entrée analogique

Message par corolian »

Bonjour,
Quelqu'un peut il m'expliquer pourquoi fait-on une mise à l'échelle en real d'une entrée ana (qui est généralement un int) ?
Est ce que c'est pour gagner en précision ? parce que si je me trompe pas un integer est de 16 bits alors qu'un real 32 bits. Donc quand on transforme un integer en real, au final même si on a 32 bits on devrait toujours avoir autant de points.
Est il pas possible de faire directement la conversion sur la configuration de la carte d'entrée en lui donnant la valeur à 0% et la valeur à 100% ou faut il passer par un bloc à créer?
Ha j'oubliais pourquoi doit-on diviser un int par 10 lorsqu'il s'agit d'une sonde de température au 1/10 ième ?

Bien cordialement,
Corolian
Avatar du membre
sinced
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1273
Enregistré le : 13 oct. 2015, 16:56

Re: Mise à l'échelle entrée analogique

Message par sinced »

On fait la mise a l'echelle pour avoir une grandeur en unites physique.

Ton capteur c'est une echelle de peut etre 0-100 bars. Il faut que si on lis sur l'ecran de ton transmetteur 12.6 bars que tu puisses avoir la meme grandeur affichee en salle de controle sur un ecran de supervision.
Si tu gardes ton signal en entiers, comment tu fais pour afficher 12.6 bars ?

Ou alors tu veux afficher des grandeurs sur les ecrans de 0 - 27649 en donnant a l'operateur en salle de controle les infos comme quoi 0 = 0% et 27649 = 100% et a lui avec sa grosse calculette de faire des calculs pour savoir ce que les chiffres sur l'ecran disent ?

Les cartes te fournissent une donnees en points (en entier) qui sont le fruit du CAN puisque l'automate ne travaille que des grandeurs numeriques. A la difference de Schneider, la mise a l'echelle ne se fait pas par configuration materielle. Elle necessite du code automate pour faire des divisions, additions, soustractions. Sur les S7-300/S7-400 on utilise les instructions SCALE tandis que sur le S7-1200 on utilise des instruction NORMX et SCALEX.

Pour la temperature a diviser par 10, c'est comme ca que Siemens a concu ses cartes de temperature. Comme ce sont des cartes qui servent a la temperature et qu'en temperature on a une grandeur physique en Farenheit ou en degC, ils permettent de pouvoir obtenir une valeur numerique qui est deja representative de la grandeur physique a un facteur pres.

En esperant avoir repondu.
corolian
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 08 sept. 2021, 20:09

Re: Mise à l'échelle entrée analogique

Message par corolian »

Oui vous avez répondu en partie à mes questions.
Sur Siemens, on peut utiliser les blocs que vous avez cité ou alors créer ses propres blocs soi-même ?
Sur Schneider, j'ai bien compris que l'on pouvait rajouter la plage en indiquant la valeur à 0% et la valeur à 100%, par contre il ne sait à quelle valeur de grandeur physique correspondent ces valeurs. Si je dis que 0% c'est 0 et 100% 10 000. Ok! mais comment je lui donne la plage physique de mon capteur ?
Avatar du membre
sinced
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1273
Enregistré le : 13 oct. 2015, 16:56

Re: Mise à l'échelle entrée analogique

Message par sinced »

Schneider offre une plage variable.
Moi je laisse toujours 0-10.000 et je fais la mise a l'echelle dans mon programme automate.
Pour ta question sur Siemens, tu peux creer tes propres blocs pour faire la mise a l'echelle. Tu n'es pas oblige d'utiliser ce qui est livre dans le jeu d'instructions a toi de voir.
corolian
Code sa première boucle
Code sa première boucle
Messages : 14
Enregistré le : 08 sept. 2021, 20:09

Re: Mise à l'échelle entrée analogique

Message par corolian »

Si tu utilises l'échelle 0 - 10 000 dans ta conf matérielle, normalement t'as pas besoin de refaire une mise à l'échelle. Admettons qu'on utilise un capteur 0-100°C alors pour lui 0 sera 0°C et 10 000 sera 100°C.
Quel est intérêt d'une mise à l'échelle par derrière ? est ce qu'il y a une influence au niveau des cycles automates ?

Merci encore!
Jambe
Créateur de langage
Créateur de langage
Messages : 749
Enregistré le : 28 mai 2020, 18:38

Re: Mise à l'échelle entrée analogique

Message par Jambe »

C’est surtout une question de lisibilité du programme et de debuggage. C’est sur que l’automate lui il s’en fout complètement.

Si tu mesure une température c’est que tu as besoin de la connaître, autant travailler dessus et l’afficher dans une unité que tu comprends.
Avatar du membre
sinced
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1273
Enregistré le : 13 oct. 2015, 16:56

Re: Mise à l'échelle entrée analogique

Message par sinced »

Si tu utilises l'échelle 0 - 10 000 dans ta conf matérielle, normalement t'as pas besoin de refaire une mise à l'échelle. Admettons qu'on utilise un capteur 0-100°C alors pour lui 0 sera 0°C et 10 000 sera 100°C.
Quel est intérêt d'une mise à l'échelle par derrière ? est ce qu'il y a une influence au niveau des cycles automates ?

Merci encore!
Apparemment on ne se comprend pas. Je definis 0-10.000 comme plage pour que la carte me donne en points un signal qui est l'image de ma grandeur analogique.

Par contre sur une vue de supervision je ne vais pas afficher des entiers comme 7000 pour indiquer une valeur de pression ou de temperature. J'aurai besoin de faire une mise a l'echelle pour passer d'une plage de 0-10.000 a par exemple une variable reelle 0-20 bars (a supposer que l'echelle de mon capteur est en bars).

On affiche pas les entiers sur une supervision.
Certains font aussi la mise a l'echelle sur le superviseur, l'essentiel est de pouvoir donner a l'exploitant une information en unites ingenierie.

Ta question sur les cycles automate je comprend que dalle. En 2021, on s'en fout un peu du nombre de blocs et autres puisque les automates sont plus rapides avec plus de memoire.
Répondre