Discussions au sujet de NI LabVIEW

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

Comment effectuer des cadencements logiciels, et/ou grouper des tâches

Bonjour !

 

Dans le cadre d'un stage, j'hérite d'un ancien programme LabVIEW qui sert a effectuer plusieurs mesures physiques sur des moteurs.

Les différentes mesures sont récupérées par des modules NI compactDAQ (il y en a 5, 9401, 9217, 9213, 9201, 9219) et nous utilisons un boitier cDAQ-9188.

 

Le problème est que  ce boîtier cDAQ qui ne permet que 3 tâches d'acquisition analogique, or, vous vous en doutez, nous avons besoin d'en faire une 4ème. LabVIEW nous génère l'erreur bien connue 50103 que nous n'arrivons pas à fixer

 

Je sais que cela peut éventuellement être contourné en utilisant des cadencements logiciels, et/ou en groupant les tâches, mais comment faire ?

Je n'arrive déjà pas bien à définir clairement ce qu'est une tâche, alors pour les grouper (ma deuxième pièce jointe est un screen d'un autre programme d'une autre discussion de ce Forum, c'est à ça que doit ressembler un groupement de tâches sur mon programme ?)... même le principe du "cadencement logiciel" m'est assez flou.

 

 

En vous remerciant par avance.

 

NB, notre version de LabVIEW est la 2021

Tout télécharger
0 Compliments
Message 1 sur 9
852 Visites

peux tu faire un zip et partager le code source?


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 2 sur 9
842 Visites

Voilà le zip du programme, (désolé d'avance il est un peu lourd)

 

En vous remerciant par avance,

 

 

Cordialement.

0 Compliments
Message 3 sur 9
835 Visites

arf... tu utilises une version plus récente que la mienne (2019), peux tu faire "save for previous version" de ton projet?


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 4 sur 9
815 Visites

Bien sûr !

 

Le Vi principal est nommé : MAIN-Producer.vi

 

J'espère que je l'ai enregistré sous la bonne version...

 

NB, sur le programme actuel, le capteur de débit n'est pas branché, pour contourner l'erreur 50103 et que le programme soit utilisable. L'erreur se produit dans la boucle de l'acquisition, normalement tous les autres blocs sont bien réalisés.

 

Merci d'avance !

0 Compliments
Message 5 sur 9
810 Visites

c'est bon, je jette un oeil ce soir

es tu en contact avec la personne qui a développé ça?


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

Message 6 sur 9
804 Visites

Parfait, je vais aussi continuer à regarder de mon coté.

 

Pour ce qui est de la personne qui à développé ce programme, oui c'est un précédent stagiaire qui est venu en 2019, il est identifié.

 

Merci beaucoup !

0 Compliments
Message 7 sur 9
800 Visites

Re !

 

Je n’arrive pas vraiment, à fixer mon axe de recherche pour venir à bout de cette erreur. Je pense que je n’ai pas une vision assez globale de problème ou alors ce dernier dépasse mes compétences.

 

La seule piste que j’ai et dont je suis sûr est :

C'est bien un problème de boîtier cDAQ qui ne permet que 3 tâches d'acquisition analogique. Cela peut éventuellement être contourné en utilisant des cadencements logiciels, et/ou en groupant les tâches

 

Pour ce qui est du groupement de tâches:

Je devrais faire en sorte de n’avoir que 3 blocs “démarrer une tâche” en début de programme pour ne pas dépasser la limite imposée par le boîtier ?

 

Car en soit, pour la tâche tachymètre, elle utilise la carte NI9401, mais le signal perçu est numérique, donc il n’influe pas sur la limite du boîtier. Par conséquent sur il n’y a que 3 tâches de démarrées avec des signaux analogiques.

Serait-ce parce que, pour exemple, la tâche température fait appel à 2 cartes d’acquisitions différentes qu’on dépasse la limite du boîtier ? (la NI9213 pour les températures des cylindres et gazs d’échappement avec thermocouples (analogique) , et la carte NI9217 qui utilise des Pt100 (analogique)).

C’est d’ailleurs ce que j’ai essayé de faire en éditant la tâche des pressions, j’y ai ajouté une nouvelle voie, celle du débit-mètre → l’erreur s’est donc manifestée dès le 2ème bloc “démarrer une tâche”. (car les 2 cartes citées précédemment ont été appelées par la première tâche des températures, et la tâche juste en dessous appelait donc la carte NI9201 des pressions (analogique) + le FuelFlow, carte NI9219 (analogique) que je venais d'ajouter → limite des 3 cartes dépassée.

 

 

Pour ce qui est du cadencement, je ne sais pas du tout comment faire.

 

Pensez vous qu’utiliser la fonction “NI-DAQmx - Cadencement” pourrait être la clé du problème ?

Ou je devrais plutôt re-éditer la tâche et changer les paramètres de cadencement ?

 

 

NB : Je reviens sur un de mes précédents message, l’erreur ne se produit pas dans la boucle d’acquisition, même dans aucune boucle au final… C’est vraiment lors de l’initialisation du programme que cette erreur émerge…

 

 

En vous remerciant par avance !

0 Compliments
Message 8 sur 9
769 Visites

Salut,

 

Petite idée. Tu n'aurais pas ta dernière tache qui utiliserait un module déjà utilisé par une précédente tache, même sur des entrées différentes ?

 

J'avais déjà fait l'erreur de gérer les taches par fonctions de mon programme et j'avais été confronté à ce genre d'erreur avec 4 modules sur un cDAQ.

J'ai alors du gérer séparément les modules d'entrés / sorties en créant une tache pour chaque module, gérer chacun dans des VI séparé indépendant et communiquant leurs données au programme principal via des flux TAG. Chaque module/VI gérait la connexion, déconnexion, configurations, erreurs, acquisition ou écriture selon le module.

 

Ce sont des taches qui ont été créées via NI MAX ?

 

Kaleck

0 Compliments
Message 9 sur 9
734 Visites