Lire une valeur généré par un module impulsionnelle (pulse module) par un automate.

Forum traitant des automates industriels de marque Allen Bradley et Rockwell
SLC504
Code son premier grafcet
Code son premier grafcet
Messages : 40
Inscription : 17 nov. 2016, 14:33

Re: Lire une valeur généré par un module impulsionnelle (pulse module) par un automate.

Message par SLC504 »


Bien-sûr, il suffit de regarder l'heure... qui est située dans la variable S40.
Donc :

---[EQU S:40=0]---[OSR]---[RES]---

Quand l'heure=0, donc à minuit, la ligne sera vraie.
Mais avec l'OSR, elle ne sera vrai que pendant 1 tour, puis elle sera fausse jusqu'au lendemain.

De cette manière, il ne fera la RAZ qu'une fois, tous les jours à minuit.

C'est une manière élégante de contourner le problème de l'overflow, mais cela ne permet pas à l'utilisateur de connaître la production de la journée (tu n'auras que le comptage en temps réel, et si tu veux connaître la production journalière, il faudra regarder ta supervision tous les soirs à 23h59.

Du coup, tu peux, préalablement au RESET, copier la valeur du compteur dans une autre variable.

---[EQU S:40=0]---[OSR]---[MOV C5:1.ACC -> N7:12]---

Dans cet exemple, il copie la valeur courante du compteur C5.1 dans la variable entière N7:12. Tu as donc, tous les jours jusqu'à minuit, la production de la veille dans N7:12, et la production du jour dans C5.1.ACC


ionesco
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Inscription : 14 mai 2017, 00:07

Re: Lire une valeur généré par un module impulsionnelle (pulse module) par un automate.

Message par ionesco »

SLC504 a écrit : 16 juin 2017, 07:40
Bien-sûr, il suffit de regarder l'heure... qui est située dans la variable S40.
Donc :

---[EQU S:40=0]---[OSR]---[RES]---

Quand l'heure=0, donc à minuit, la ligne sera vraie.
Mais avec l'OSR, elle ne sera vrai que pendant 1 tour, puis elle sera fausse jusqu'au lendemain.

De cette manière, il ne fera la RAZ qu'une fois, tous les jours à minuit.

C'est une manière élégante de contourner le problème de l'overflow, mais cela ne permet pas à l'utilisateur de connaître la production de la journée (tu n'auras que le comptage en temps réel, et si tu veux connaître la production journalière, il faudra regarder ta supervision tous les soirs à 23h59.

Du coup, tu peux, préalablement au RESET, copier la valeur du compteur dans une autre variable.

---[EQU S:40=0]---[OSR]---[MOV C5:1.ACC -> N7:12]---

Dans cet exemple, il copie la valeur courante du compteur C5.1 dans la variable entière N7:12. Tu as donc, tous les jours jusqu'à minuit, la production de la veille dans N7:12, et la production du jour dans C5.1.ACC


Je m'excuse je trouve du mal a multiplier l'impulsion de sortie du compteur CTU par 100.. il faut que je met quoi adresse ?
SLC504
Code son premier grafcet
Code son premier grafcet
Messages : 40
Inscription : 17 nov. 2016, 14:33

Re: Lire une valeur généré par un module impulsionnelle (pulse module) par un automate.

Message par SLC504 »


Ben par exemple là :

MUL.png
MUL.png (1.87 Kio) Consulté 3625 fois
Je multiplie l'adresse F8:10 (qui contient actuellement la valeur 0,5) par le total actuel du compteur C5:0 (qui contient actuellement 12), et il met le résultat (6) dans la variable F8:11.

Toi si ton compteur est C5:0, alors tu vas multiplier C5:0.ACC par 100, et mettre le résultat dans une variable que tu vas utiliser ensuite pour envoyer à ta supervision.
[/color]
ionesco
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Inscription : 14 mai 2017, 00:07

Re: Lire une valeur généré par un module impulsionnelle (pulse module) par un automate.

Message par ionesco »

SLC504 a écrit : 18 juin 2017, 22:31
Ben par exemple là :

MUL.png

Je multiplie l'adresse F8:10 (qui contient actuellement la valeur 0,5) par le total actuel du compteur C5:0 (qui contient actuellement 12), et il met le résultat (6) dans la variable F8:11.

Toi si ton compteur est C5:0, alors tu vas multiplier C5:0.ACC par 100, et mettre le résultat dans une variable que tu vas utiliser ensuite pour envoyer à ta supervision.
Ouais c'est ce que j'ai conclu, j'ai fini par l'implémenter grâce a toi encore je te remercie, y'as un petit soucis par contre le poids des impulsions que j'ai choisi et un peu exagéré, 100kwh alors que le compteur peut avoir jusqua 99 999 999kwh. Quand le compteur tend rapidement vers disons 2000kwh la valeur s'affiche sur la supervision ça doit être a cause de la durée impulsions c'est correct ?
SLC504
Code son premier grafcet
Code son premier grafcet
Messages : 40
Inscription : 17 nov. 2016, 14:33

Re: Lire une valeur généré par un module impulsionnelle (pulse module) par un automate.

Message par SLC504 »


Bonjour,


Je ne comprends pas ce que tu veux dire... Tu peux indiquer les valeurs de réglage, ce qui se passe et ce qui devrait se passer et qui ne marche pas ?
ionesco
Asservi son premier moteur
Asservi son premier moteur
Messages : 26
Inscription : 14 mai 2017, 00:07

Re: Lire une valeur généré par un module impulsionnelle (pulse module) par un automate.

Message par ionesco »

SLC504 a écrit : 19 juin 2017, 19:24
Bonjour,


Je ne comprends pas ce que tu veux dire... Tu peux indiquer les valeurs de réglage, ce qui se passe et ce qui devrait se passer et qui ne marche pas ?
en poids j'ai choisi 100kwh, pour la durée 100ms quand le compteur tend rapidement vers par exemple 5000kwh, la valeur affiché au niveau de la supervision est incorrecte.
Par contre, quand ça augmente plus lentement tous ce passe parfaitement
Avatar de l’utilisateur
Ulairi
Expert de l'héxadécimal
Expert de l'héxadécimal
Messages : 366
Inscription : 20 oct. 2015, 06:22

Re: Lire une valeur généré par un module impulsionnelle (pulse module) par un automate.

Message par Ulairi »

Avec des impulsions de 100 ms, tu ne pourras guère dépasser 6-7 impulsions par seconde. Sinon la mesure sera faussée.

Il faut régler le poids des impulsions et la durée des impulsions en fonction du cas critique.
Enseignant en BTS électrotechnique (Pas taper sur l'intru !)
Répondre