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 : 

executer des boucles whiles les une après les autres, et utiliser les même pin dans différente boucle

Résolu !
Accéder à la solution

bonjours 

 

Je suis nouveau dans Labview et aussi sur ce forum( j'èspere que je suis bien au bonne endroit pour poser ma question et que le sujet n'est pas deja résolut ailleur sinon indiquez moi un lien)

 

Je suis entrain d'implémenter une pompe a haute pression(7000 bar) je contrôle le moteur avec une sortie de tension qui varie de -10V a 10V dans une bouche while principal qui ce termine quand on a atteint la pression voulut.  Quand la pompe atteint la position de fin je recoit un signal dans une entrée digital. et là j'ouvre une structure cas qui contient 4 boucles while qui doivent impérativement se dérouler les unes après les autres. Et dans deux de ces boucles j'utilise le même pin qui contrôle de moteur.

 

le problème 1 quand j'éxecute c'est que les 4 boucle while s'éxécute en paralèlle comment est ce que je peux les faire s'éxécuter les une après les autres ? 

 

 le problème 2  quand une nouvelle donné arrive sur le pin qui control le moteur j'ai une message d'erreur comme quoi cette resources sont déja utilisé pour pour un autre tache.  est ce que je suis obligé de quitter la boucle while principal ou est ce que il y a possiblité que j'y reste.

 

 

Merci de votre aide 

 

PS : Je suis actuellement a la maison et mon code est au travail je le posterait demain vers 13h. 

 

 

 

0 Compliments
Message 1 sur 3
2 540 Visites

voici mon code

0 Compliments
Message 2 sur 3
2 502 Visites
Solution
Accepté par l'auteur du sujet papahamza

Bonjour,

LabVIEW fonctionne en flux de données : les boucles while ne démarrent que si toutes les données sont arrivées. Place tes boucles while les unes après les autres et câble un fil entre la 1ère et la 2ème, entre la 2ème et la suivante etc. Ainsi la 2ème boucle ne démarre que si la 1ère a fini.

 

Je ne peux pas ouvrir ton fichier (j'ai une version 2011).

Utilises-tu les fonctions DAQmx pour contrôler le moteur ? Quelle carte d'acquisition est utilisée ?

Peut-être qu'en supprimant le parallèlisme des boucles while ton problème sera éliminé

 

Yddet

Message 3 sur 3
2 484 Visites