Calculer le nombre d'impulsion sur entrée TOR
-
- Première mise en service
- Messages : 71
- Enregistré le : 21 oct. 2015, 13:45
- Localisation : Alsace
Calculer le nombre d'impulsion sur entrée TOR
Bonjour,
J'ai un petit souci, disons que je ne vois pas comment programmer la chose,
j'ai une entrée TOR et je dois contrôler le nombre d'impulsion par minute (environ 40 à 50). avant de déclencher une alarme, la première minute pas de souci, j'additionne le nombre d'impulsion durant 1 minute, par contre après, je ne sais pas comment faire, je ne vais pas remettre ma tempo à zéro est recommencer, je m'explique
de 0 à 1 minute j'ai 40 impulsion (les 40 premiers seconde j'ai eu par exemple 30 impulsion et le 20 secondes suivant j'ai eu 10 impulsion) donc je suis Ok sur une minute
par contre de la seconde 40 à la seconde 100, je voudrais être certain que j'ai bien le nombre d'impulsions sur 1 minutes, en clair je ne veux pas seulement contrôler de 0 à 59 secondes puis de 60 à 119 secondes.
si vous avez une idée merci d'avance
J'ai un petit souci, disons que je ne vois pas comment programmer la chose,
j'ai une entrée TOR et je dois contrôler le nombre d'impulsion par minute (environ 40 à 50). avant de déclencher une alarme, la première minute pas de souci, j'additionne le nombre d'impulsion durant 1 minute, par contre après, je ne sais pas comment faire, je ne vais pas remettre ma tempo à zéro est recommencer, je m'explique
de 0 à 1 minute j'ai 40 impulsion (les 40 premiers seconde j'ai eu par exemple 30 impulsion et le 20 secondes suivant j'ai eu 10 impulsion) donc je suis Ok sur une minute
par contre de la seconde 40 à la seconde 100, je voudrais être certain que j'ai bien le nombre d'impulsions sur 1 minutes, en clair je ne veux pas seulement contrôler de 0 à 59 secondes puis de 60 à 119 secondes.
si vous avez une idée merci d'avance
- itasoft
- Mi homme - Mi automate
- Messages : 7162
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Calculer le nombre d'impulsion sur entrée TOR
slts,
Slts,
Disons que pour avoir le nombre d’impulsion par minutes on peut faire toutes les minutes
Nombre_impulsions_minute = Compteur-Compteur_à_N-1
EX :
cliquer dessus pour agrandir
Slts,
Disons que pour avoir le nombre d’impulsion par minutes on peut faire toutes les minutes
Nombre_impulsions_minute = Compteur-Compteur_à_N-1
EX :
cliquer dessus pour agrandir
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
-
- Première mise en service
- Messages : 71
- Enregistré le : 21 oct. 2015, 13:45
- Localisation : Alsace
Re: Calculer le nombre d'impulsion sur entrée TOR
Salut,
Merci pour ton aide, j'ai finalement opté pour une autre solution,
je compte deux impulsions, et je regarde le temps, le temps qui est en milliseconde. Je mémorise ce temps dans une variable.
Ensuite sur un front montant,
je le transforme en real, je divise ce temps par 2 qui me donne le résultat pour une impulsion,
ensuite 60 0000/par le real pour une impulsion, et la j'ai le nombre d'impulsion sur 60 secondes, cela me permet de calculer le temps en continuer quasiment
Merci de ton aide, si lors de la mise en service, cela ne convient pas, j’essayais ta méthode
Merci pour ton aide, j'ai finalement opté pour une autre solution,
je compte deux impulsions, et je regarde le temps, le temps qui est en milliseconde. Je mémorise ce temps dans une variable.
Ensuite sur un front montant,
je le transforme en real, je divise ce temps par 2 qui me donne le résultat pour une impulsion,
ensuite 60 0000/par le real pour une impulsion, et la j'ai le nombre d'impulsion sur 60 secondes, cela me permet de calculer le temps en continuer quasiment
Merci de ton aide, si lors de la mise en service, cela ne convient pas, j’essayais ta méthode
- itasoft
- Mi homme - Mi automate
- Messages : 7162
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Calculer le nombre d'impulsion sur entrée TOR
slts,
pourquoi faire simple quand on peux faire compliqué,
LOL
pourquoi faire simple quand on peux faire compliqué,
LOL
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Calculer le nombre d'impulsion sur entrée TOR
Salut,
je penses avoir compris pourquoi il a fait si compliquer, il avait besoin d'une réactivité supérieure et de compter sur une minute mais en continu et non sur LA minute. Enfin, je penses pas être bien plus clair, j'aurais essayé![Très content :D](./images/smilies/icon_e_biggrin.gif)
je penses avoir compris pourquoi il a fait si compliquer, il avait besoin d'une réactivité supérieure et de compter sur une minute mais en continu et non sur LA minute. Enfin, je penses pas être bien plus clair, j'aurais essayé
![Très content :D](./images/smilies/icon_e_biggrin.gif)
“Nos automatismes, nos grilles de normalisation sont tels que chaque matin qui se lève est une leçon de courage.”
- itasoft
- Mi homme - Mi automate
- Messages : 7162
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Calculer le nombre d'impulsion sur entrée TOR
slts,
j'ai pas compris exactement quand déclencher une alarme, sur trop d'impulsions ou pas assez ??
j'ai pas compris exactement quand déclencher une alarme, sur trop d'impulsions ou pas assez ??
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
-
- Mi homme - Mi automate
- Messages : 2085
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Calculer le nombre d'impulsion sur entrée TOR
Salut,
Sans vouloir flooder, il y a pas une fonction fréquence sur entrée tor ?
c'est simple et ça répondrai à sa demande non ?
Sans vouloir flooder, il y a pas une fonction fréquence sur entrée tor ?
c'est simple et ça répondrai à sa demande non ?
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! ![Très content :D](./images/smilies/icon_e_biggrin.gif)
![Très content :D](./images/smilies/icon_e_biggrin.gif)
-
- Première mise en service
- Messages : 68
- Enregistré le : 19 mai 2016, 09:51
- Localisation : 40
Re: Calculer le nombre d'impulsion sur entrée TOR
Salut
Ou faire une pile FIFO d'une longueur 60, alimentée toutes les secondes avec le nombre d'impulsions ... et tu calcules le nombre d'impulsions total indiqué dans ta pile.
J'ai utilisé ce système pour avoir le nombre de démarrage de 2 pompes sur heure glissante et ca fonctionne nickel.
Ou faire une pile FIFO d'une longueur 60, alimentée toutes les secondes avec le nombre d'impulsions ... et tu calcules le nombre d'impulsions total indiqué dans ta pile.
J'ai utilisé ce système pour avoir le nombre de démarrage de 2 pompes sur heure glissante et ca fonctionne nickel.
Rockwell Partner
eWon Certified Intégrator
eWon Certified Intégrator
- itasoft
- Mi homme - Mi automate
- Messages : 7162
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Calculer le nombre d'impulsion sur entrée TOR
slts,
oui le FIFO c'est pas mal,
ça donnerait un truc dans ce genre :
cliquer dessus pour agrandir l'image
oui le FIFO c'est pas mal,
ça donnerait un truc dans ce genre :
cliquer dessus pour agrandir l'image
Modifié en dernier par itasoft le 30 juin 2016, 04:56, modifié 1 fois.
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Calculer le nombre d'impulsion sur entrée TOR
bsr,
J'ai testé avec un simple buffer de timestamp (heure des impuls tor)
ça fonctionne si j'ai bien compris ce que tu veux avec un delta t de 60s
-testé avec une frequence de 950ms et un nombre de 60 impuls le defaut viens bien!
-testé avec une frequence de 1050ms et un nombre de 60 impuls le defaut viens pas!
fait en boucle asynchrone
script
variable
J'ai testé avec un simple buffer de timestamp (heure des impuls tor)
ça fonctionne si j'ai bien compris ce que tu veux avec un delta t de 60s
-testé avec une frequence de 950ms et un nombre de 60 impuls le defaut viens bien!
-testé avec une frequence de 1050ms et un nombre de 60 impuls le defaut viens pas!
fait en boucle asynchrone
script
Code : Tout sélectionner
HeureActuelle:=ARINT_TO_DT (ArrayOfTimeStampINT);
ImplusionTOR :=TON_Trigger.Q;
TON_Trigger (IN:= Not TON_Trigger.Q, PT:=t#950ms) ;
IF ImplusionTOR THEN
i:=MOD (i, 60);
ArrayOfTimeStamp[i]:=ARINT_TO_DT (ArrayOfTimeStampINT);
INC(i);
END_IF;
j:=MOD (j, 60);
IF j=0 THEN
ImplusionTORCounter:=0;
END_IF;
IF (ArrayOfTimeStamp[j])>(SUB_DT_TIME(HeureActuelle, t#60s)) THEN
INC(ImplusionTORCounter);
IF ImplusionTORCounter>=60 THEN
defaut:=true ;;(*Setter le défaut ici*)
END_IF;
END_IF;
INC(j);
Code : Tout sélectionner
ArrayOfTimeStamp %Mw4500 ARRAY[0..60] OF DT
i INT
ArrayOfTimeStampINT %SW50 ARRAY[0..3] OF INT
ImplusionTOR BOOL
j INT
ArrTimeFormat TIME
HeureActuelle DT
ImplusionTORCounter INT
defaut BOOL
TON_8 TON
TON_9 TON
TON_Trigger TON