LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I generate 2 AOs ? ( ONLY ONE ok )

Hello everyone,
 
 
I need to generate 2 different square waveform AOs ( both have a 1sec cycle) : 
 
  N°1 : 5 ms high and the rest of the time low
  N°2 : 14 ms high end the rest of the time low
 
n°1 and n°2 work fine when generated seperatly. However, the VI I have attached doesn't work when I want to generate  both signals at the same time.
 
(I am using a PCI-6221 card and Labview 8.0)
 
Would anybody know how I could generated those two signals at the same time?
 
Any help would be great,
 
Marc
 
0 Kudos
Message 1 of 5
(3,154 Views)
Change the Write function so that you are writing multiple channels instead of one, then construct your data into a 2d array so that it contains both signals. See my attachment, but change the physical adress to Dev1 instead of Dev2 which I've used.
 
 
Message 2 of 5
(3,137 Views)

Cela n'est malheureusement pas possible avec une seule carte PCI-6221 car - comme indiqué dans le message d'erreur - les deux tâches entrent en conflit puisqu'elles utilisent la même ressource de la carte. Une solution - malheureusement onéreuse - consiste à utiliser deux cartes.

Une deuxième solution pourrait consister à générer l'un des signaux à l'aide d'une autre ressource de la carte (sortie compteur ou numérique). Dans ce cas, la tension de sortie sera limitée à la plage TTL.

Une troisième solution est décrite dans ce document. Elle consiste à utiliser un timing software pour la génération de l'un des deux signaux.  Ceci n'est applicable uniquement si l'un des deux signaux ne varie pas trop rapidement et que les exigences au niveau de la précision du timing pour ce signal ne sont pas trop élevées. Selon la précision attendue pour la durée de l'impulsion de 14ms, cela pourrait être une variante. 

0 Kudos
Message 3 of 5
(3,133 Views)

Bonjour JB,

Merci d'avoir pris le temps de repondre. J'ai tout de même essayé le VI posté par SR et il semble bien marché. J'ai regardé à l'oscillo, et les 2 signaux sont bien générés aux fréquences souhaitées. En revanche, j'aurais voulu pouvoir modifier le signal de 14 ms de sorte qu'il passe a l'etat haut lorsque celui de 5 ms passe a l'etat bas. J'ai réussi a le faire avec deux sorties numeriques ( simplement  en utilisant le CO Pulse Genration frequency et en configurant l'etat de repos à bas pour le siganl 14ms et haut pr l'autre). 

J'aurais donc aimé pouvoir faire cela avec les deux sorties analogiques cette fois ci et sur la base du VI de SR. SI qqu'un a une idée....?

Merci,

 

Marc

 

0 Kudos
Message 4 of 5
(3,116 Views)
Hi S R,
Thanks a lot for your answer and solution. I have tested it and checked both frequencies. It seems to work fine. I have got one more question to ask you or anybody else : I would like the 14 ms square signal to start its high level when the 5 ms one changes to low level. I have managed to do it whith 2 CO (  using 2 CO pulse frequency icons and setting the resting state to low for the 5ms signal and to high for the 14 ms signal ). This works fine.
However this " resting state option " isn't available with the square waveform VIs used in the previous post to generate 2 AO ( that has been corrected to get both signals at the same time ) .
Would anybody know how to do this ?
 
Marc
 
PS : Concerning the modification you made R S, is it ok not to have the second square waveform connected to any DAQmx Timing?
0 Kudos
Message 5 of 5
(3,109 Views)