IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

LabVIEW Discussion :

[LabVIEW 7.1] Problème de conception


Sujet :

LabVIEW

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 14
    Points
    14
    Par défaut [LabVIEW 7.1] Problème de conception
    bonjour à tous,

    Voici ce que mon programme est censé faire :
    Detection de l'appui sur 2 interrupteurs par une personne, cette appui doit être maintenu. Exactement 500ms plus tard, allumage d'une diode (qui reste allumée). Exactement 500ms plus tard, allumage de deux autres diodes pour une durée de 200ms. 3000ms de délai et allumage de trois diodes. A ce moment la, un interrupteur doit être relâché.

    Ma question est : comment faire (quels fonction, VI ou structures utilisés) pour que tout le long de cette séquence (ou le timing doit scrupuleusement être respecté) le programme vérifie en parallèle si les interrupteur sont toujours maintenu fermer jusqu'au moment ou l'un d'eux est censé être relâché.
    Si un des 2 interrupteurs est relâché avant la fin de la séquence susdite, cette séquence doit immédiatement s'arrêter et 4 diodes doivent se mettre à clignoter.

    Autrement dit, comment contrôler en permanence l'état des interrupteur sans affecter le timing de ma séquence ?

    Je précise que diodes et interrupteurs sont en hardware (pas sur la face avant du programme).

    J'ai essayé avec une "boucle event" mais sans succès car il n'est possible de l'utiliser que dans le cas d'interaction avec des éléments de la face avant.

    Merci d'avance

  2. #2
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Salut,

    Voici un joli cahier des charges, pas très très compliqué en lui-meme mais, il y a de quoi s'occuper un moment à coder.

    Donc, voici comment je le développerais:
    Il faut 2 boucles fonctionnant en parallèle: une boucle d'acquisition chargée de regarder les interrupteurs et une boucle de génération chargée d'envoyer les signaux sur les diodes.
    La plus simple, la seconde, attendrait la présence d'un booléen ( variable locale pilotée par la première boucle) qui indiquerait quand commencer à générer 4 signaux prédéfinis, un par diode. Ces signaux seront des tableaux calés à ta fréquence d'échantillonnage pour avoir le timing des allumages et extinctions de la diode associée; Il y aura un second booléen dans la boucle ( toujours piloté par la première boucle) qui servira d'arrêt d'urgence et qui, après arrêt des signaux de génération, lancera un nouveau signal de clignotement.
    La première boucle sera celle de pilotage. Ce sera une boucle d'acquisition qui regardera l'état de tes interrupteurs et qui pilotera les 2 booléens de commandes en fonction.

    Si tu n'as jamais utilisé DAQmx, je te conseille de regarder les exemples. Il y a pas mal d'exemples qui font ce que tu veux ( acquisition et génération). Il te suffira de regrouper le tout dans un nouveau VI et de faire les liens qui vont bien.

    Si tu as des questions, n'hesite pas.

    A+
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Merci pour ta réponse Scyrius,

    pourrais-tu m'éclairer un peu plus sur cette phrase ? Je te cite :

    Ces signaux seront des tableaux calés à ta fréquence d'échantillonnage pour avoir le timing...

    Je pensais initialement utiliser une boucle séquence pour l'enchainement d'allumage et d'extinction, mais ce n'est pas idéal si je veux contrôler les interrupteurs en parallèle.

    En tout cas merci pour tes quelques idées.

  4. #4
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Salut,

    Une remarque pour commencer( une des bases de l'acquisition / generation): Sous les OS classiques (WIN, ...), à cause du multitache, il est impossible d'avoir une bonne precision temporelle car ton process de generation peut s'interrompre à n'importe quel moment pour faire autre chose.

    C'est pourquoi, on deporte l'aspect temporel sur les cartes: on charge un signal (par exemple, un tableau de 50 niveaux bas, puis 100 niveaux haut, puis 50 niveaux Bas). Apres avoir defini la frequence d'echantillonage à 1 ms, on aura donc, apres avoir demarrer la generation, un pulse de 100ms apres 50 ms. C'est la methode la plus fiable, surtout si tu veux une bonne precision, et , en plus, ce n'est pas tres compliqué à mettre en oeuvre.

    Je t'invite à regarder les exemples (dossier Analog Output, je crois, je n'ai pas LV ici). Tu y trouvera ce qu'il te faut pour commencer.

    Bon courage et n'hesite pas a poser des questions,
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

Discussions similaires

  1. Méthode Finalize et problème de conception
    Par phryos dans le forum Langage
    Réponses: 4
    Dernier message: 19/04/2006, 11h04
  2. [VB6][UserControl et OCX]Problème de conception
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 19/01/2006, 22h37
  3. Petit problème de conception sur access
    Par coooookinette dans le forum Modélisation
    Réponses: 3
    Dernier message: 18/12/2005, 18h24
  4. Gestion des départements problème de conception
    Par snoopy69 dans le forum Modélisation
    Réponses: 7
    Dernier message: 11/10/2005, 13h08
  5. Problème de conceptions de tables
    Par dtavan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/05/2004, 23h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo