Discussions au sujet des autres produits NI

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

cRIO entree analogique sortie numerique

Résolu !
Accéder à la solution

Bonjour  a tous,

 

 

J'aimerais faire un programme sur LabViez 8.2 me permettant de recevoir les donnees d'un manometre et ouvrir/fermer des vannes a certains moment.

J'ai jette un coup d'oeil dans les Exemples, mais je n'en ai pas trouve (sauf si ce n'est plusieurs visualisations via plusieurs sous-VI de ce qu'il se passait en temps reel).

Peut-etre que je m'y suis mal pris dans ma recherche, si vous connaissez des exemples pour ce faire, je suis interesse de savoir lesquels. 

 

Nous avons commande le materiel suivant:

NI cDAQ-9174: https://www.ni.com/en-us/shop/model/cdaq-9174.html
NI 9203: https://www.ni.com/en-us/shop/model/ni-9203.html
NI 9472: https://www.ni.com/en-us/shop/model/ni-9472.html

 

Malheureusement nous n'avons toujours pas recus le cDAQ-9174 donc je ne peux en ce moment pas vraiment verifier si ce que je fais fonctionne.

 

Quelqu'un m'avait montre rapidement un methode pour ce genre de chose, que j'ai effectue dans le fichier joint "Vacuum System"

En recherchant des exemples, pour la reception de donnees, j'ai trouve de la litterature indiquant l'utilisation du DAQ Assistant.  Ce que j'ai effectue dans le "eme fichier joint "Vacuum System2".  Mais j'ai vu que quand on cliquait sur "Generer le code NI-DAQmx", bien qu'il y ai des elements semblables, ce n'est pas vraiment la meme chose!

 

Je me demande donc si il y a une methode plus efficace que l'autre ?

 

Ce que j'ai essaye de faire pour le moment etait d'ouvrir la vanne une fois la pression descendue en dessous de 520 mmHg.  Est-ce que ce ce que j'ai fait pour le moment est correct ?

(Desole pour les accents mais etant en Angleterre et sur un qwerty, c'est moins evident) 

 

 

Bien a vous,

Vanrob

Tout télécharger
0 Compliments
Message 1 sur 11
5 524 Visites

D'ailleurs c'est probablement mieux avec une boucle For...

En ayant un N=2 pour ouvrir/fermer et en faisant varier le timeout des autres vannes a ajouter pour les faire fonctionner l'une a la suite de l'autre je suppose ?

 

(Sans le chassis, je fais un peu a l'aveuglette malheureusement :/)

 

 

 

Vanrob

Tout télécharger
0 Compliments
Message 2 sur 11
5 518 Visites
Solution
Accepté par l'auteur du sujet Vanrob

Bonjour,

 

D'une manière générale, vous aurez un comportement au plus prêt de ce que vous souhaitez faire avec les fonctions "bas niveau" plutôt qu'avec les assistants.

 

D'un point de vue code, il est préférable de venir initialiser les tâches DAQmx avant de rentrer dans la boucle de traitement, et de relâcher les ressources une fois sortit de la boucle (c'est le cas pour l'acquisition analogique, pas pour la génération numérique).

 

D'un point de vue du cadencement, le driver DAQmx vous offre deux grandes options:

 

  1. soit vous laissez la carte cadencer l'acquisition (modes continus et fini); dans ce cas, une horloge matérielle vous garantie l'intervalle de temps entre deux échantillons.
  2. soit vois gérer le cadencement depuis le logiciel (mode 1 échantillon sur demande); dans ce cas, votre application vient à chaque lecture interroger la carte et lui demander la valeur analogique en entrée.

 

 

Bien évidemment, ces deux cadencement ne s'adressent pas aux même problématique; un cadencement logiciel (sur demande) convient très bien à une application relativement lente et pour laquelle la forme du signal n'est pas importante. Si au contraire, on fait de l'analyse de signal et que la forme du signal est un paramètre important, on préfèrera une cadencement matériel. Ce ne sera plus Windows - susceptible de faire un tas de choses à coté et de se décaler dans l'instant d'échantillonnage - le responsable du cadencement, mais votre carte d'acquisition (le châssis cDAQ en l'occurrence).

 

Si vous n'avez pas encore le matériel, rien ne vous empêche d'installer le driver NI-DAQmx et de simuler votre matériel dans MAX. Ceci vous permettra de valider vos appel au driver avec des données d'acquisition simulées.

 

Quelque chose de cet ordre suffira amplement pour faire une mesure et appliquer la consigne sur la valve toute les 500ms: 

 

example.png 

 

Cordialement,

Message Edité par Mathieu R. le 04-09-2010 03:52 PM
Message 3 sur 11
5 501 Visites

Bonjour,

 

 

Tout d'abord, merci de votre reponse !

Je vois pour les taches... Ca devait etre pour cela aue j'avais une erreur a leurs niveaux.  Et si je comprend bien, avec cette methode il vaut mieux initialiser toutes les taches (x taches pour x valves) puis les rentrer dans les boucles a traiter et les relacher une fois tout finis ? Je vais devoir me familiariser avec ces outils, merci pour les informations.

 

Pour ce qui est du materiel, c'est ce que j'avais fait, j'avais simule le NI 9203 ainsi aue le NI 9472.  Mais cela ne me permettais pas de voir si cela fonctionnait correctement ou pas.  Heureusement nous avons recus les pieces du cDAQ ce matin.

En somme, avec ce que vous m'avez indique et apres avoir fait les branchements jusqu'au manometre, je n'arrive pas a tracer le graphique.  Pourtant j'ai bien relie le + de l'alimentation au manometre, le manometre a l'entree analogique ai1 et le - de l'alimentation au COM du NI 9203. J'ai modifie les valeurs minimum/maximum (qui doivent etre notee en Ampere et non milliAmpere comme je l'avais fait), etant donne que le manometre possede une sortie 4-20mA.

 

 

Et pour votre "Superieur ou egal ?", non, c'etait bien inferieur ou egal car nous voulons ouvrir la vanne lorsque la pression est assez basse pour avoir le vide voulu.

 

 

 

Cordialement,

Vanrob

0 Compliments
Message 4 sur 11
5 485 Visites

Rectification,

 

 

Si je remplace le Waveform Graphs par un Waveform Charts tout fonctionne "normalement".

Par contre le graphique obtenu est celui correspondant au signal d'entrée (4-20mA), je suppose.  Je vais donc me renseigner auprès du fabriquant pour connaître le rapport exact signal d'entrée-conversion en bar, mmHg,... Où sinon je chercherais par interpolation et je multiplierais par cette valeur avant de tracer le graphique.

 

Je suppose que ce n'est pas LabView qui serait capable de faire ca.

 

 

Je vais me pencher sur la partie programmation des actions a effectuer aux différentes vannes.

Merci à vous Mathieu R. pour m'avoir indiqué la route à suivre.

 

 

Bien à vous,

Vanrob

0 Compliments
Message 5 sur 11
5 470 Visites

Si vous connaissez les caractéristiques de votre capteur, le plus simple est d'intégrer la mise à l'échelle avec les outils du driver DAQmx. Vous pouvez au choix:

 

  1. Créer une échelle personnalisée sous MAX et venir utiliser cette mise à l'échelle dans votre code (échelle linéaire, correspondance de gammes, échelle polynomiale ou table). Ceci rend le fonctionnement de votre VI dépendant de la configuration présente dans MAX. 
  2. Générer dynamiquement cette échelle dans votre programme, toujours à partir des caractéristiques de votre capteur. Ceci se présenterai alors sous cette forme (cas d'une échelle linéaire avec une pente de 100):
 example.png
 
Dans la mesure où le driver fait déjà des opération de mise à l'échelle pour récupérer une valeur en ampères, autant lui confier la mise à l'échelle dans l'unité qui vous intéresse par le bias d'un jeu de coefficient que DAQmx calculera à partir des paramètre que vous lui spécifierez.
 
Cordialement, 

 

Message 6 sur 11
5 437 Visites

Bonjour,

 

 

J'ai essayé par cette méthode mais je n'y suis pas arrivé.

Ayant recus l'équation du fournisseur du manometre, j'ai donc résolus le probleme en passant simplement par le "Formula" et en y entrant l'équation.

 

Il y a surement moyen de plus simple que ce que j'ai fait au total mais au cas ou ca interesserais quelqu'un, je joins le fichier.

 

Il me reste tout de meme 1 probleme:

J'ai effectue une sorte de compte (1+1= 2 +1 = 3) a l'aide d'un Feedback Node que je compare a une valeur entrée (60 pour 60 secondes par exemple), la 1ere fou tout fonctionne correctement.

Ensuite, la boucle redémarre, je réinitialise la valeur qui était comptée a 0, ca effectue les ouvertures/fermetures correctement mais lorsqu'elle arrive au Feedback Node, celui-ci a garde en mémoire le dernier nombre compté (60 dans cette exemple). Résultat: cette valeur n'est plus jamais égale au temps entré vu qu'elle l'as dépassé.

Je vais jetté un coup d'oeil sur le forum et internet... Je ne dois pas etre le premier a avoir ce type de probleme.

 

Quoiqu'il arrive, si je trouve une solution, je le signalerais.

 

Merci a vous,

Vanrob

Message Edité par Vanrob le 04-14-2010 08:02 AM
0 Compliments
Message 7 sur 11
5 418 Visites

Bonjour/Bonsoir,

 

 

Probleme resolus !

Au lieu de mettre un Feedback Node pour faire une iteration, je compte a partir du nombre de boucle que la While Loop fait (pourquoi je n'y ai pas pense plus tot ?).

Par contre je serais interesse de quand meme savoir pour la reinitialisation de la valeur dans le Feedback Node si quelqu'un passe par ici et le sait... Juste par simple curiosite car je n'ai pas trouve de reponse sur le net, ils disent d'utiliser un Shift Register ou d'autres methodes mais il semblerait que ce ne soit pas si evident alors.

 

Il ne me manque plus qu'a pouvoir tout arreter en cliquant sur le Stop et tout seras bon. En ce moment, ca termine bien tout, sauf le True/False lorsque je clique sur Run... en cliquant sur Stop, vu que je n'ai pas clique sur le bouton Run, le programme tourne en boucle sur le False.

Pas bien grave mais bon.

 

 

Bien a vous,

Vanrob

0 Compliments
Message 8 sur 11
5 396 Visites

Bonsoir à tous,

 

J'ai un petit problème concernant un logiciel du même type.

J'ai exactement le même matériel que "vanrob". Il me reste une entrée sur le port2 du la carte d'acquisition Ni 9472. Je connecte le cable à ce port jusqu'à une carte (diminue la consommation) et de cette carte vers la vanne que je dois ajouter au système.

Cependant quand je lance mon programme Labview c'est comme si la vanne n'existait pas... La carte est bonne car j'ai déjà vérifier. Je me demande où est le soucis sur le programme Labview...

 

Une idée?

 

Merci beaucoup d'avance

0 Compliments
Message 9 sur 11
4 968 Visites

Bonsoir vipir,

 

 

Essaye peut-être de déjà joindre un fichier ou un screen pour situer le problème.

Comment as-tu vérifié que la carte était bonne ?

As-tu essayé avec une autre vanne ?/ As-tu vérifié que la vanne était toujours fonctionnel ?

 

Si non, vérifie que tu aies la bonne configuration dans tes tâches DAQmx, niveau sortie et co... C'est probablement la qu'est l'os.

 

 

Bien à toi,

 

Vanrob

0 Compliments
Message 10 sur 11
4 948 Visites