le 07-08-2016 05:17 AM
Bonjour,
Je suis actuellement entrain de réaliser un IHM pour nos mesures sur véhicules avec un chassis cDAQ9135, avec des modules 2x9215,1x9411,2x9234,3x9212.
Etant novice en Labview, je rencontre forcement mes premiers problèmes.
Suite à cette erreur 200022 et plusieurs recherches, j'ai cru comprendre que l'utilisation de plusieurs tâches MAX en même temps dans labview n'était pas faisable.
Avec cette interface, je devrais implanter plusieurs types de capteurs (températures, accéléromètres, micro, capteur optique,roue dynamo, marteau choc) le tout fonctionnant en même temps.
J'ai déjà implanté dans mon interface tout ce qui concerne température et accéléromètre/marteau de choc.
Le problème c'est que aléatoirement des graphiques ne fonctionne pas -> erreur 200022.
La solution serait par exemple de regrouper dans une tâche toutes les voies de températures (3 modules 9212) au lieu de faire une tâche par module comme j'ai fait actuellement.
Ce que je voudrais c'est avoir un graphique par module 9212 (maxi 8 courbes par graph). La difficulté c'est que je ne sais pas comme distribuer dans plusieurs graphiques les 24 voies crées dans une seule tâche.
Auriez vous des indices ou recommandations?
merci d'avance.
Ci-joint vous pourrez trouver mon VI.
Dernières questions, suite à ce soucis, est ce que vous pensez que l'utilisation de tous ces différents capteurs en simultanés sera réalisable avec ce type de chassis?
Bonne journée
Résolu ! Accéder à la solution.
le 07-08-2016 07:38 AM
Je n'ai pas l'habitude de travailler avec des waveform mais plutot avec des DBL. Mais pour moi la solution à votre problème, si j'ai bien compris, serait d'indexer la sortie DAQmx read. Pour mieux me faire comprendre, en sortie de votre DAQmx read vous avez un tableau de waveform chaque colonne represente un de vos capteurs. Il vous suffit alors d'indexer les valeurs à rentrer sur chaque graphe. Si non au cas vous ne le sauriez pas il est possible à l'execution de ne faire apparaître que les graphes désirés, vous n'avez qu'à faire un clic droit sur la légende des tracés et mettre à visible case de visibilité tracé.
Si non l'erreur erreur 200022 n'a aucun rapport avec les graphes. Je ne saurais pas dire d'où peux venir le problème, mais je vous conseil d'ajouter comme pour vos autres tâche un démarrage de tâche. Voyez vous, à chaque tour de boucle votre DAQmx read lance la tâche ce qui reprèsente une perte de temps, il est donc préférable de démarrer votre tâche en dehors de la boucle. Je soupçonne ceci comme étant la cause de votre problème, mais sans en être sûr.
Je ne suis moi même qu'un débutant en labview, je pourrais bien avoir tord.
Une dernière chose, je vous conseil de suivre les didactiel labview sur l'organisation du code. Il y a certaines habitudes à prendre dés le départ et votre code pourrait être mieux fait et plus proprement.
le 07-12-2016 11:51 AM
Concernant l'erreur, elle est du au fait que vous n'avais pas la possibilité de demarrer une inifinité de tâche avec un systeme d'acquisition de données.
Sur la plupart des carte il n'y a qu'un seul moteur de cadencement pour les entrées analogique, ce qui signifie qu'il faut créer une seule tache AI dans votre application qui contiendra toutes vos AI de la carte. Cela vaut pour les AO également (et les DIO quand elles sont cadencées materiellement)
Pour les cDAQ, c'est un peu different, je vous invite a consulter ce lien
http://digital.ni.com/public.nsf/allkb/5E0B829E50ADE1BC86257AC50062B2D2?OpenDocument
Je rejoint la remarque de skold concernant l'organisation de l'application, je vous conseille de partir d'un modèle producteur consommateur.
http://zone.ni.com/reference/fr-XX/help/371361H-0114/lvhowto/creating_vis_from_templates/
Paolo_P
Certified TestStand Architect
Certified LabVIEW Architect
National Instruments France
le 07-13-2016 03:57 AM
Zut j'ai pas vu ça. Paolo a raison, il est préférable de créer une tâche par type de sortie ou d'entrée sur ton DAQ.
le 07-13-2016 08:29 AM
Merci pour vos retours.
Effectivement le problème je l'avais déjà bien identifié et compris.
Mais ce que je n'arrive pas à faire c'est dissocier d'une tâche, les différentes voies associées et les implanter dans différents graphiques.
Il y aurai bien la méthode d'afficher/cacher les courbes de skold sur le graphique directement, mais quand une tâche possède 24 voies et que je veux en garder que 8, ma légende est disproportionnée et à moitier inutile. Dans la logique ça fonctionne, mais dans l'esthétique, cela ne me convient pas.
Je pense que "' Il vous suffit alors d'indexer les valeurs à rentrer sur chaque graphe" pourrait être ma solution. J'ai effectivement associé un tableau "array" et constaté les différentes colonnes avec les valeurs qui correspondent à mes différentes voies. Cependant je ne sais pas quoi faire de plus.
Je vais consulter les différents liens trouvés à ce sujet.
Merci.
le 07-13-2016 08:49 AM
re-bonjour,
je penses être sur la bonne voie avec "l'indexation" voir image en PJ. J'ai effectivement réussit à extraire d'une tâche de 24voies, une seule voies vers un graphique déroulant.
Cependant je n'arrive pas à mettre plusieurs voies sur le même graphique. Des idées?
Bonne journée
07-13-2016 08:52 AM - modifié 07-13-2016 09:03 AM
Après avoir indexer tes valeurs tu n'as plus qu'à les regrouper 8 par 8 pour chacun de tes graphes.
Si non des Kudo pour nos réponses ça serait sympa. Par ici on créverais pour des Kudo ^^
Edit: Utilise construire tableau pour les regrouper
le 07-15-2016 04:59 AM
Bonjour,
j'ai obtenu ce que je voulais, à savoir sortir d'une tâche avec plusieurs voies (pour éviter l'erreur 200022), les voies qui m'intéressent et les transferer dans différents graphiques.
Solution en image si besoin.
Merci encore pour ton aide skold. A propos, qu'entends tu par "Kudo" ? 😉
Bonne journée
le 07-18-2016 03:21 AM
Des compliments