Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
[Programmation] La gestion de Fonction
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Me revoici, je pense avoir trouvé l'erreur !
Le cahier des charges il faut que tu me le refasse, c'est de la que vient le probléme!
car si on détecte une impulsion, c'est à dire que voltcheck passe de l'état haut à l'état en moins d'une seconde .
On part pour une pause d'une heure ! au bout d'une heure on enclenche l'alarme .
1/ pour combien de temps ?
/2 Avec ce que tu me décrit si une impulsion est détectée, dans tout les cas on part pour une heure ! il est impossible d’arrêt ce chrono c'est bien ca ? car voltcheck est à 1 en permanence vu qu'il a fait une impulsion seulement . A mon avis l'erreur vient d'ici.
Un chronogramme aiderait vraiment ou une explication pour chaque cas de figure !
EDIT :
Regarde l'erreur est ici dans ton POST #1:
Comme il fait une impulsion, forcement il se maintien à l'état haut tout de suite après.
Le cahier des charges il faut que tu me le refasse, c'est de la que vient le probléme!
car si on détecte une impulsion, c'est à dire que voltcheck passe de l'état haut à l'état en moins d'une seconde .
On part pour une pause d'une heure ! au bout d'une heure on enclenche l'alarme .
1/ pour combien de temps ?
/2 Avec ce que tu me décrit si une impulsion est détectée, dans tout les cas on part pour une heure ! il est impossible d’arrêt ce chrono c'est bien ca ? car voltcheck est à 1 en permanence vu qu'il a fait une impulsion seulement . A mon avis l'erreur vient d'ici.
Un chronogramme aiderait vraiment ou une explication pour chaque cas de figure !
EDIT :
Regarde l'erreur est ici dans ton POST #1:
-Si le contacte ne fait qu'une impulsion,le programme se met en pause 1h,mais si il il se maintien a nouveau ben sa repasse en veille permanente bien sur.
Comme il fait une impulsion, forcement il se maintien à l'état haut tout de suite après.
[Programmation] La gestion de Fonction
-
HVDifusion
Débutant- Messages : 43
- Enregistré en : décembre 2015
D'accord je v'ai t'expliqué.
C'est une chaîne alimentaire de production.
Sur cette chaîne tu a un contacte qui envoie un signal 24V.On doit comparer se signal et agir suivant son état.
Le propriétaire doit recevoir une alarme quand aucun aliment n'est détecter pendant 15 minutes.
En gros,tant que tu a des aliment le contacte est fermé et donc envoie le signal 24v.Si tu n'a plus d'aliment plus de 24v,tu a un décompte de 15 minutes qui se fait mais si un aliment passe vite fait (impulsion du contacte) celas reporte 1h (soit le programme se met carrément en pause et attend).Après cette heure passé le programme recommence son action depuis le début.
Après les 15 minutes écoulé,une alarme s'enclenche 3 minutes puis se coupe et reset le programme pour qu'il revienne au début et recommence son analyse.
L'alarme n'en n'est pas réellement une,je doit actionné un contacte libre de potentielle qui enclenche un système de sms mais ça reviens au même mais comme ça tu sais tous le tralala.
Pour donné ou envoyé des infos du pic j'utiliserais des relais,donc le 24v enclenche un relais et son contacte lié a une pin et le signal d'alarme actionne un relais dont son contacte actionne la boucle libre de potentielle du système sms (simple contacte aucun tension ici)
Au départ il voulais juste que je compare si j'avais du 24v ou non et faire un délais suivant celas et actionné l'alarme 3 minutes,sans la comparaison off/impulsion/on.
Donc au niveau complexité c'étais plus facile mais la c'est pour ça que je sèche et c'étais pas prévu qu'il complique comme ça.
Voila j'espère que j'ai bien expliqué.
C'est une chaîne alimentaire de production.
Sur cette chaîne tu a un contacte qui envoie un signal 24V.On doit comparer se signal et agir suivant son état.
Le propriétaire doit recevoir une alarme quand aucun aliment n'est détecter pendant 15 minutes.
En gros,tant que tu a des aliment le contacte est fermé et donc envoie le signal 24v.Si tu n'a plus d'aliment plus de 24v,tu a un décompte de 15 minutes qui se fait mais si un aliment passe vite fait (impulsion du contacte) celas reporte 1h (soit le programme se met carrément en pause et attend).Après cette heure passé le programme recommence son action depuis le début.
Après les 15 minutes écoulé,une alarme s'enclenche 3 minutes puis se coupe et reset le programme pour qu'il revienne au début et recommence son analyse.
L'alarme n'en n'est pas réellement une,je doit actionné un contacte libre de potentielle qui enclenche un système de sms mais ça reviens au même mais comme ça tu sais tous le tralala.
Pour donné ou envoyé des infos du pic j'utiliserais des relais,donc le 24v enclenche un relais et son contacte lié a une pin et le signal d'alarme actionne un relais dont son contacte actionne la boucle libre de potentielle du système sms (simple contacte aucun tension ici)
Au départ il voulais juste que je compare si j'avais du 24v ou non et faire un délais suivant celas et actionné l'alarme 3 minutes,sans la comparaison off/impulsion/on.
Donc au niveau complexité c'étais plus facile mais la c'est pour ça que je sèche et c'étais pas prévu qu'il complique comme ça.
Voila j'espère que j'ai bien expliqué.
[Programmation] La gestion de Fonction
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
re ,
Je sais pas si c'est plus clair, mais ca change le comportement du programme.
car
En fait l'impulsion n'est pas de haut vers bas , mais de bas vers haut !!!! ça change tout .
Donc si il n'y a plus d'aliments pendant 15 minutes on déclenche l'alarme.
Si il y a aliment qui passe à 14m59s après la detection on reporte l'alarme pour une heure !
Si les aliments repassent en continue pendant les 15 minutes , ca reset tout .
Donc l'impulsion doit être détectée pendant les 15 minutes et non en permanence
Je sais pas si c'est plus clair, mais ca change le comportement du programme.
car
tu a un décompte de 15 minutes qui se fait mais si un aliment passe vite fait (impulsion du contacte)
En fait l'impulsion n'est pas de haut vers bas , mais de bas vers haut !!!! ça change tout .
Donc si il n'y a plus d'aliments pendant 15 minutes on déclenche l'alarme.
Si il y a aliment qui passe à 14m59s après la detection on reporte l'alarme pour une heure !
Si les aliments repassent en continue pendant les 15 minutes , ca reset tout .
Donc l'impulsion doit être détectée pendant les 15 minutes et non en permanence
[Programmation] La gestion de Fonction
-
HVDifusion
Débutant- Messages : 43
- Enregistré en : décembre 2015
[Programmation] La gestion de Fonction
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Il y a eu confusion,l'impulsion est en front descendant.
Non en front montant !!!!
Quand un aliment passe rapidement ??? D’après ce que j'ai compris cela ferme le contact rapidement et repousse l'alarme d'une heure ! Comportement que je trouve bizarre quand même !
[Programmation] La gestion de Fonction
-
HVDifusion
Débutant- Messages : 43
- Enregistré en : décembre 2015
[Programmation] La gestion de Fonction
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Re,
bon alors, j'avoue que c'est pas évident. Mais j'insiste sur le cahier des charges !! j'ai compris le principe mais il manqe pas mal d'info sur le focntionnement général .
par exemple image ceci :
coupoure d'aliments donc voltcheck passe à 0 .
au bout de 15 minutes toujours à 0 alors on enclenche l'alarme. Celle ci sonne pendant 3 minutes . Toujours pas d'aliments, que ce passe-t-il 15 minutes apres ? l'alarme doit elle re-sonner ?
ce sont tous ces petits détails qui font la différence .
Chaque cas doit être expliquer sur l'action à mener. j'ai donc changer de stratégie
ma premiere facon devenait une usine à gaz, trop complexe . Je pensais que l'idéal aurait ete de travailler sur un chagmenet d'état de voltCheck , mais c'est un peu compliqué quand je n'ai pas tout les tenants et aboutissant .
Tu peux essayer ca NON TESTE :
Explicages de ma facon de voir les choses :
Aliments présent = VoltCheck à 1.
condition de départ Voltchaeck à 1.
Tant qu'il y des aliments on RAZ le chrono . Donc aucune action, le chrono est toujours à zéro
Un trou dans les la chaine des aliments . Le chrono n'est plus effacé, il compte .
AVANT LES 15 MINUTES:
- On RAZ le chrono en permanence
PENDANT LES 15 MINUTES:
- Si pendant les 15 minutes un aliment arrive, il y a impulsion donc on active la tempo d'une heure
APRÈS LES 15 MINUTES :
- Si au bout de 15 minutes on as toujours pas eu d'aliments. Alors on allume l'alarme .
PENDANT LES 3 MINUTES:
- Si pendant les 3 minutes d'alarme un aliment arrive on fait quoi ?
APRÈS LES 3MINUTES :
- Si au bout des 3 minutes d'alarme toujours pas d'aliments , on recommence depuis le début , donc alarme dans 15 minutes etc ....... ou faut il ne faire la pause 15 minutes qu'une seule fois?
PENDANT LA PAUSE D'UNE HEURE
-Si il y a une impulsion ( passage d'un aliment ) on repart pour une heure .
- Si pendant 2 secondes il y a des aliments on RAZ tout et on recommence !
Un truc dans ce genre
bon alors, j'avoue que c'est pas évident. Mais j'insiste sur le cahier des charges !! j'ai compris le principe mais il manqe pas mal d'info sur le focntionnement général .
par exemple image ceci :
coupoure d'aliments donc voltcheck passe à 0 .
au bout de 15 minutes toujours à 0 alors on enclenche l'alarme. Celle ci sonne pendant 3 minutes . Toujours pas d'aliments, que ce passe-t-il 15 minutes apres ? l'alarme doit elle re-sonner ?
ce sont tous ces petits détails qui font la différence .
Chaque cas doit être expliquer sur l'action à mener. j'ai donc changer de stratégie
ma premiere facon devenait une usine à gaz, trop complexe . Je pensais que l'idéal aurait ete de travailler sur un chagmenet d'état de voltCheck , mais c'est un peu compliqué quand je n'ai pas tout les tenants et aboutissant .
Tu peux essayer ca NON TESTE :
Code : Tout sélectionner
// Initialisation Variable
pause1heure = pause15minutes = chrono = compteur = Signal = impulsion1heure = 0 ;
//------------------------------------------------------------------------------
while(1){
if (VoltCheck == 1)
{
// ------ On RAZ le chrono en permanence
if ( (pause15minutes == 0) && (pause1heure == 0) )
RAZ_Chrono();
// ------ Impulsion pendant les 15minutes
if ( pause15minutes == 1 )
{
pause15minutes = 0;
pause1heure = 1; // On prolonge d'une heure
RAZ_Chrono();
}
// ------ Le contact est revenu pendant 2 secondes durant la Pause d'une heure on RAZ tout
if (pause1heure == 1)
{
if ( impulsion1heure == 0)
{
impulsion1heure = 1;
RAZ_Chrono();
}
if (impulsion1heure==1) && (Chrono >=2) )
pause1heure = pause15minutes = chrono = compteur = Signal = impulsion1heure = 0 ;
}
else
{
if ( (Chrono >=15) && (pause15minutes==0) && (pause1heure==0) )
{
pause15minutes = 1;
Signal = 1; // Active alarme
}
if ( (Chrono >=18) && (pause15minutes = 1) && (pause1heure==0) )
{
pause15minutes = 0;
Signal = 0; // Eteind l'alarme
RAZ_Chrono();
}
impulsion1heure = 0;
}
}
Explicages de ma facon de voir les choses :
Aliments présent = VoltCheck à 1.
condition de départ Voltchaeck à 1.
Tant qu'il y des aliments on RAZ le chrono . Donc aucune action, le chrono est toujours à zéro
Un trou dans les la chaine des aliments . Le chrono n'est plus effacé, il compte .
AVANT LES 15 MINUTES:
- On RAZ le chrono en permanence
PENDANT LES 15 MINUTES:
- Si pendant les 15 minutes un aliment arrive, il y a impulsion donc on active la tempo d'une heure
APRÈS LES 15 MINUTES :
- Si au bout de 15 minutes on as toujours pas eu d'aliments. Alors on allume l'alarme .
PENDANT LES 3 MINUTES:
- Si pendant les 3 minutes d'alarme un aliment arrive on fait quoi ?
APRÈS LES 3MINUTES :
- Si au bout des 3 minutes d'alarme toujours pas d'aliments , on recommence depuis le début , donc alarme dans 15 minutes etc ....... ou faut il ne faire la pause 15 minutes qu'une seule fois?
PENDANT LA PAUSE D'UNE HEURE
-Si il y a une impulsion ( passage d'un aliment ) on repart pour une heure .
- Si pendant 2 secondes il y a des aliments on RAZ tout et on recommence !
Un truc dans ce genre
[Programmation] La gestion de Fonction
-
HVDifusion
Débutant- Messages : 43
- Enregistré en : décembre 2015
[Programmation] La gestion de Fonction
[Programmation] La gestion de Fonction
-
HVDifusion
Débutant- Messages : 43
- Enregistré en : décembre 2015
Bonjour,
Voila j'ai réussi a contacter le client (pas facile a joindre :s).
Voici les réponse au questions que tu me posais.
1) Si le décompte de 15min s'écoule puis que l'alarme s'enclenche 3 minute,ceci se fait une seul fois ou en boucle?
-Ceci se fait en Boucle tant que le pic est alimenté.
2) Pendant la pause de 1h si un aliment passe reprendre le temps au début on continuer l'écoulement?
-Même si un aliment passe (il me confirme que se ne seras pas le cas du tous) le temps doit s'écouler comme de rien étais même si le pic détecte des aliment pendant plus de 5 seconde.
3) Pendant l'alarme de 3min,si un aliment passe que faire?
-Absolument rien,le programme tournant en boucle il reviendras au début et testeras a nouveau si il y a du 24v ou non.
Cordialement.
Voila j'ai réussi a contacter le client (pas facile a joindre :s).
Voici les réponse au questions que tu me posais.
1) Si le décompte de 15min s'écoule puis que l'alarme s'enclenche 3 minute,ceci se fait une seul fois ou en boucle?
-Ceci se fait en Boucle tant que le pic est alimenté.
2) Pendant la pause de 1h si un aliment passe reprendre le temps au début on continuer l'écoulement?
-Même si un aliment passe (il me confirme que se ne seras pas le cas du tous) le temps doit s'écouler comme de rien étais même si le pic détecte des aliment pendant plus de 5 seconde.
3) Pendant l'alarme de 3min,si un aliment passe que faire?
-Absolument rien,le programme tournant en boucle il reviendras au début et testeras a nouveau si il y a du 24v ou non.
Cordialement.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 59 invités