Showing results for 
Search instead for 
Did you mean: 

DAQmx query code



Sorry for inconvenience, i was not clear about the problem,



My problem statement : I have NI PCI 6221 card, LV 8.6


--> I have to generate a sine wave with variable amplitude and frequency.

--> Give this sine wave to analog output of the card,

--> I have connected the analog output terminal to analog input terminal of the PCI card,

--> Read the analog input  and display the same sine wave which was generated in first step(ideally).


for code implementation, i think we can do it by 2 ways, one by simple vis and other by express vis,



so now the status of the problem is:


I have implemented with express vis(code is attached  in before post) and it is running ideally(sine wave generated given to AO = sine wave recieved at AI) with same amplitude and frequency.


but when i am trying it with normal vis it is not running ideally  (sine wave generated given to AO NOT EQUAL TO sine wave recieved at AI).


can you comment on the problem now?




0 Kudos
Message 11 of 16

The only comment I can give you is the same one I gave before, unfortunately. The way the implementation is done with the Express VIs is different than the implementation with the DAQmx VIs. This is as far as the waveform generation, as well as the way the tasks are configured. So, obviously they're going to give you different results. What else were you expecting?


As much as I (and many others) abhor Express VIs, if you say the Express VIs do what you want, then what's the problem with continuing to use them for your specific application?

0 Kudos
Message 12 of 16






But actually i have to programatically edit the various settings provided by the DAQmx vi,



also my basic question remain the same how can i have the sine wave generation and reception by DAQmx VIs,



0 Kudos
Message 13 of 16

If the implementation using the DAQmx Assistand Express VIs does what you want then you can just convert those Express VI instances to regular VIs and then modify the code as needed. To do so right-click on the DAQ Assistant Express VIs and select "Generate NI-DAQmx Code". When you do so you will get a dialog informing you that the waveform timing is invalid. Make a note of what it says so you can then update the code as it says if you still want to use waveform timing. Note: this will change the dynamic data to the waveform datatype.


Unfortunately, I don't have time this morning to update your "ai ao" VI to match what you did with the Express VIs - I will see if I have time later this afternoon. 

0 Kudos
Message 14 of 16
Try the attached modification of the "ai ao" VI. The output part is basically a copy of this example. You might have to play around with some of the values.
0 Kudos
Message 15 of 16




Thanks for investing your time for the example,


i will try the example and update the status to you.





0 Kudos
Message 16 of 16