LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQAssistant or DAQmx?

Hi all,

I am asking for an advice, as I am a beginner in Labview. I am trying to figure out  what are the differences between DAQAssistant and DAQmx, which is more suitable for what, (dis)advantages ; and which one is appropriate for the type of problem I have to solve in particular.
I have a DAQ NI USB 6255, and use it to acquire signals from several channels, process and display them individually, and store them collectively ( collect the signals array, store them in a binary file and then offline to convert the binary file into a text one).
Could any one convey me some of their thoughts?

Thanks a lot,
Dana
Message 1 of 9
(3,519 Views)
Hi Dana,

DAQ Assistant is a "high level" tool that is a little like a Wizard.  When you drop a DAQ Assistant block onto your diagram, it starts the wizard program.  From the wizard, you select the functions you want that specific block to perform.  

By DAQmx, I'm guessing that you're referring to the lower level tools rather than just the drivers themselves.  The DAQmx tools can perform the exact same functions as the DAQ Assistant.  But they offer much more control over the details.  

What you chose for your particular project is a matter of choice really.  Personally, I use MAX to create Virtual Channels and Tasks for my projects.  Then I'll use the DAQmx Read or Write blocks and reference the Task or Virtual Channel I setup in MAX.  

If you've never used MAX before, double click on your Measurment and Automation icon or look for NIMAX.exe in the National Instruments\MAX folder.  In the left hand pane you'll see a sub-folder called Data Neighborhood.  This is the sub-folder where you create your Tasks and Virtual Channels.  

Not everyone is a fan of this method.  Others prefer to set everything up in the block diagram of their code.  In my case, we often end up making a lot of changes to machines long after they've been delivered.  Sometimes IO changes a lot.  In MAX I can make changes on a global level for my projects.  Sometimes we move inputs or outputs around.  With this method, it's very easy.  

Hopefully that helps a little.  

Good luck. 
---------------------
Patrick Allen: FunctionalityUnlimited.ca
Message 2 of 9
(3,510 Views)

Dana,

I personally prefer to use the DAQmx vi's and try to avoid the DAQ assistant.  While the assistant is a great way to quickly get something running, it does not get the best performance from your DAQmx hardware.  I guess I may have control issues.  Smiley Very Happy  Suggest that you read the section in the DAQmx docs that deals with the Task State Model.

You mention acquiring signals from several channels.  What kind of signals do you need to record? 

0 Kudos
Message 3 of 9
(3,501 Views)
Thanks for the advice to both of you. It is helpful to know the view of a 'veteran' user.
I am measuring bend sensors values. I store them in binary files according to the Cont Acq&Graph  Voltage, but when I convert the binary into text to see the recorded values, I get some really odd data that do not obey the range they should ~[+-4.XX, +-9.XX]mV. I have just posted a message with samples from the files, here's one:
0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    73333305348950320900000000000000000000000000000000000000000000000000000000000000000000000000.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    633318785695744.00    0.00    0.00    0.00    9663677760.25    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  

I know it's not the conversion program's fault. Because using the Read Binary File.vi I get this same weird data in the displayed array.

Do you two have any idea what's going on?

Dana
0 Kudos
Message 4 of 9
(3,486 Views)
Check the other message thread.  I had replied there.  Basically, you need to change the read binary file from Little Endian to Big Endian in your program.
0 Kudos
Message 5 of 9
(3,476 Views)
Hi Dana,

You suggest that you have a look at this web site www.ni.com/gettingstarted/

Best regards,
Nick_CH
0 Kudos
Message 6 of 9
(3,457 Views)
Hi, Patrick -

I am trying to use the method you recommended me, i.e. combining MAX and Labview VIs. Could you please tell me what you think about the following problem?
I create a task associating a physical channel with the parameters of acquisition, as normal, and I make sure I choose the RSE option for the Terminal Configuration. When I run this in MAX, the signal graphic is OK.
As VI, I use the Con Acq & Graph Voltage VI, and set the aforementioned defined task to the DAQmx Read VI.
Nonetheless, the graphic diplayed corresponds to a Differential type, not to a RSE, and from here, things go bad.
I am missing something? For sure am, but I cannot figure out what.. Should I set some other things in some other places in the VI configuration?

Thanks in advance.

Best regards,
Dana
0 Kudos
Message 7 of 9
(3,436 Views)
Hello again Dana,

This problem is a little unusual, and it's difficult to guess what might be happening without actually seeing it.  But I have a couple of ideas.  

First; Whenever you create or alter a channel in MAX, you must SAVE any changes you make before those changes will apply to anything other than the preview window.  This one has caught me many times.  The Save button is in the top left hand corner of the main panel.  

If that's not the case, it might help if I saw a screenshot of the code you're using to display your graph.  I'm not at work just yet and while I do have LabVIEW for Linux here at home, it does not have MAX.  (yet!) So I can't really poke around that until later this morning.
---------------------
Patrick Allen: FunctionalityUnlimited.ca
0 Kudos
Message 8 of 9
(3,397 Views)
Thank you , Patrick. I solved the problem by explicitly setting the RSE in the LV. So for the moment I gave up the MAX involvement. But I'll try your solution next time I am facing this requirement.

Best regards,
Dana
0 Kudos
Message 9 of 9
(3,384 Views)