From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Contrôle d'un temps de passage sur une chaîne de production

Résolu !
Accéder à la solution

Bonjour,

Dans le cadre d'un stage en recherche et développement, j'aimerais réaliser à l'aide du logiciel LabVIEW un programme permettant de contrôler le temps de passage dans un four des produits convoyés sur chaîne. Dans l'idée, je récupère une valeur booléenne en entrée du four à chaque fois qu'un produit passe devant le détecteur. Cela doit déclencher un chronomètre pour chaque produit (il devrait y avoir 3 à 4 produits simultanément dans le four). En sortie du four, un second capteur détecte le passage du produit et renvoie un autre booléen. 

Dans l'esprit je voudrais que celui-ci stoppe le chronomètre en cours le plus ancien. L'objectif étant de pouvoir comparer, en temps réel, les temps chronométrés à une valeur seuil constante ( si l'on dépasse la valeur seuil, cela témoigne d'un blocage d'un ou plusieurs produits dans le four et doit déclencher une alerte sonore).

Une fois les chronomètres stoppés, il n'est pas nécessaire de les garder en mémoire.

Si après cette description vous avez une idée pour réaliser ce programme j'en serais ravi.

Merci d'avance pour votre aide et n'hésitez pas si vous avez des questions 🙂 

0 Compliments
Message 1 sur 20
3 583 Visites

Bonjour Helios73,

j'avais envie de faire un peu de LV et me rappeler un petit peu les machines à états 🙂
J'ai donc fait un vi, sur base d'une machine à états, qui devrait corresspondre à ta demande; les détecteurs entrée/sortie du four sont des boutons poussoirs, tu as la possibilité de faire un reset du compteur de produits enfournés, un gros bouton STOP pour arrêter l'application, un compteur de produit en cours de cuisson, un afficheur de temps de cuisson (affiche la cuisson de l'élément qui vient de sortir du four), une limite max de temps de cuisson au delà de laquelle une alarme est générée 🙂

Je pense que tu as tout, le reste n'est que "cosmétique" 😉

En LV 2014 si ça te convient.

Message 2 sur 20
3 557 Visites

Bonjour PhilB58,

Tout d’abord, merci beaucoup pour ton aide ;). Ton programme fonctionne bien mais je ne maîtrise pas vraiment la programmation en machine d'état. J'ai donc un peu de mal à le comprendre et à le modifier pour notre utilisation. Est-il possible d'afficher les temps en cours (par exemple si il y a trois colis en même temps dans le four, on pourrait voir défiler les trois compteurs en direct dans un tableau). Un autre point important pour notre application, voilà comment notre booléen d'entrée sera activé : le produit avant d'entrer dans le four va couper un faisceau laser pendant quelques secondes. A l'aide d'une photodiode, cela déclenchera un booléen vrai durant quelques secondes et repassera faux après. Un seul colis doit être détecté pendant le laps de temps où le booléen est vrai. Les prochains colis ne pourront être détectés qu'à partir du moment ou ce booléen sera redevenu faux. Il s'agira du même processus lors de la sortie du colis.

En espérant t'avoir bien exposé les contraintes du système... Encore merci pour ton aide précieuse :).

0 Compliments
Message 3 sur 20
3 546 Visites

re, je ne suis plus au boulot, il fait trop chaud en Belgique Smiley très heureux
Je regarde ça demain dans la journée, trop d'occupations en ce moment chez moi ... je suis marié Smiley MDR

0 Compliments
Message 4 sur 20
3 540 Visites

Voici un simple modification du code de Phil qui permet de monitorer le temps des unités au four.

 

suivi four mod.pngBen64

Message 5 sur 20
3 524 Visites

Bonjour Ben64,

Merci pour ton aide :). En effet cette modification fonctionne bien pour visualiser les temps des unités au four en direct.

0 Compliments
Message 6 sur 20
3 510 Visites
Solution
Accepté par Helios73

Nouvelle version 🙂

La gestion des capteurs d'entrée/sortie ne serait pas simple avec une machine à états, j'ai donc choisi de faire une version sur base d'une structure évènement qui semble pas mal fonctionner 😉
Merci à Ben64 pour son astuce de calcul des temps de cuisson, astuce repris dans mon nouveau Vi.
L'idéal serait de gérer les capteurs entrée/sortie dans la seconde boucle While (celle du bas) car la boucle contenant la structure évènement ne tourne pas en continu.

Message 7 sur 20
3 503 Visites

Merci bien pour cette nouvelle version qui, en effet, est plus simple à comprendre 😉 

Il reste cependant un dernier problème pour l'appliquer à notre système. Pour que tu puisses bien le comprendre, j'ai joint une version modifiée de ton programme avec un contrôle et un indicateur permettant de simuler ce que l'on obtient avec le détecteur.

En gros, lorsque le détecteur renvoie un booléen vrai, cela génère un enchaînement sans fin de produits entrant qui s’arrête uniquement lorsque le booléen repasse faux. Dans notre cas, il faudrait que le booléen vrai n'engendre qu'une seule occurrence, indépendamment du temps pendant lequel il est activé. Bien sur, un nouveau produit pourra être détecté, si le booléen est repassé au faux entre temps. Une autre remarque, les boutons du menu ne semblent plus réagir correctement dés lors que l'on ajoute ce nouveau contrôle de l’événement pour simuler le détecteur.

Encore merci pour le temps et l'attention que tu nous accordes 🙂 .

0 Compliments
Message 8 sur 20
3 491 Visites

Et comme ceci????

En fait, dans la structure évènement, tu peux contrôler tout ce que tu veux, le changement de valeur d'une commande, la changement de valeur d'un indicateur, tu vois ça comme tu veux!
Ici, j'ai renommé la commande "controle exécuté automatiquement par le détecteur" en ajoutant "(commande) pour le distinguer de l'indicateur du même nom; ensuite j'ai attaqué en direct l'indicateur sans utiliser de noeud de propriété (inutile dans ce cas) et le système semble parfaitement répondre aux sollicitations sans créer une multitude d'entrées de colis, comme c'était le cas dans ta modif 😉
Voilà, en LV 2017 puisque tu es en 2017!!

0 Compliments
Message 9 sur 20
3 487 Visites

Merci pour cette modification mais pour répondre à notre problématique, il faudrait que ce soit le booléen "Controle executé automatiquement par le detecteur (indicateur) " qui agisse sur la structure événement et non la commande. En effet, lorsque je fais fonctionner mon détecteur (réponse d'une photodiode comparée à un seuil qui renvoie un booléen) je n'ai qu'un indicateur booléen en sortie pour signaler le passage d'un produit :).

0 Compliments
Message 10 sur 20
3 483 Visites