DAQ Assistant verses DAQmx

Whats the advantages of acquiring data from the DAQmx block rather than using the DAQ assistant block? Are there pro's and con's to each? What is normally used in industry?
I've also noticed there are multiple methods for writing data to file and wondered what the proper method or pros and cons for this are?

Dawud-Beale wrote:
Whats the advantages of acquiring data from the DAQmx block rather than using the DAQ assistant block? Are there pro's and con's to each? What is normally used in industry?
You have A LOT more control over the acquisition with the DAQmx API over the DAQ Assistant.  You can also make the code more efficient with the API.  Normal in industry to to avoid the DAQ Assistant
The only real advantage of the DAQ Assistant is that it is easier to set up your task.
Dawud-Beale wrote:
I've also noticed there are multiple methods for writing data to file and wondered what the proper method or pros and cons for this are?
Well, that just depends on your requirements.
Need human readable?  Go with a tab delimited text file or CSV.
Need to log a lot of data quickly?  Use a TDMS or binary file.  I tend to use the TDMS since it is well put together for DAQ and waveforms.

Similar Messages

  • Can I use AI functions rather than DAQ assistant?

    Can I use AI config, AI start, etc. instead of DAQ assistant to read values from accelerometers connected via an A/D card?How do the AI functions work?Lastly will switching to AI functions result in a quicker program?
    Cheers
    Sam 

    Sam,
    from your second  point i take it that you are starting to browse examples. The device number (as numeric value) is a parameter you have to use when working with traditional DAQ. NI does not recommend to use traditional DAQ anymore except if there is no other solution (e.g. hardware which is not supported in DAQmx).
    Since you already worked with the DAQ assistant, your hardware has to support DAQmx.... so you should look into the DAQmx examples.
    Another hint:
    You can exchange the DAQ assistant by DAQmx code simply by rightclicking on the assistant and  select "Generate DAQmx Code". This will result in DAQmx code doing what you configured in the assistant (please note that the assistant is getting replaced, so it is not available on the blockdiagram after this). Study this code. As a general framework, this works out very good.
    hope this helps,
    Norbert 
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • LabVIEW won't let me configure DAQ assistant

    Hi,
    When I launch the Data Acquisition with NI-DAQmx.vi and double click the DAQ assistant icon on the block diagram the program won't let me configure the DAQ.  Also, right clicking on the DAQ and selecting properties does nothing.  How do configure the DAQ to allow me to use input channels on my NI-ELVIS board and then display the output on graphs in labview?
    Thank you.

    Hi cd384-
    In general, you can have two (or more) DAQ Assistants in the same VI.  I assume, however, that you're trying to have separate DAQ Assistants for analog input and this definitely will not work.  You must group all tasks of the same type (analog input, analog output) within the same DAQ Assistant or DAQmx Task.  You can add multiple channels by holding control and selecting multiple items when you are initially configuring the DAQ Assistant.
    In order to separate signals in LabVIEW you can use the Split Signals function that is available on several palettes.  To find it, just click "Search" from the functions palette and search for "Split Signals"
    Thanks-
    Tom W
    National Instruments

  • DAQmx driver for DAQ 6009? Need DAQ Assistant in Block Panel palette.

    Do I understand things right?  The Ni USB DAQ 6009 is supported in DAQmx base and not DAQmx, or is this only true for the 6008? I need the DAQ Assistant in my LV 2009 Block Panel palette.  Do I go to my Ni-DAQmx 8.8 CDs, or do I download something.  Maybe I have the DAQmx base already?  I'm going to search my palette and NI Max.  I am also going to look at http://www.ni.com/support/daq/version_portable.htm#du.   If I'm going about this all wrong, please help.
    Thanks
    Norm

    Hi Dennis
    My DAQmx Cds are 8.8.  I don't  have a selection for the DAQ Assistant on my block panel palette, so I'm looking to get an update for my DAQmx driver for my USB 6009 DAQ that I'll be using with my  student software for LabVIEW 2009 version 9.0.  I've looked at a NI document "NI-DAQmx and NI-DAQ Driver Support: Portable Devices"  that was published on Jan 17, 2013.  It says for Windows 7 I should be using 9.6mx, but this document make no reference to a version of LabVIEW.  The date of the document is 1/17/13; maybe it is refering to  only to version LabVIEW 2013.  Can you help?  
    From what I've read I believe I need to use DAQmx and not DAQmx base, but I can't help wondering if the DAQmx base has something to do with the "NI DAQmx Device Basics" that I see on the right side of the screen when I'm in NI MAX getting ready to run the test panels.    ????? 
    Thank you for your time
    N.D.

  • NI-DAQmx task works in MAX or DAQ Assistant test panel but not in LabVIEW

    I am attempting to read a single AI channel from a PCI-6024E card via an SCB-68. I have created a NI-DAQmx Analog Input Voltage Task in MAX for this channel, sampling in contiuous aquisition mode at 100 kHz, 10000 samples at a time, with RSE terminal config. If I use the Test feature from MAX, the channel acquires data as expected.
    In LabVIEW, I call this task using an DAQmx Task Name Constant. If I right-click this constant and select "Edit Task", the Daq Assistant opens and I can use the Test feature from the DAQ Assistant to see that the data is still being acquired as expected.
    However, when I try to programmatically read this channel in LabVIEW using the VI "DAQmx Read (Analog Wfm 1Chan NSamp).vi", the VI returns a constant DC value of 500 mV, which I know is incorrect (I can monitor the signal across the two terminals in the SCB-68 with a DMM to know that the signal coming in varies as expected, and as I read using the test panels). This erroneous reading occurs even if I make a new VI, drop the task name constant on the diagram, right-click the task name constant and select "Generate Code - Example" and let LabVIEW create its own acquisition loop (which is very similar to what I already set up, using the "DAQmx Read" VI).
    Any ideas why the Test Panels work correctly but the LabVIEW code does not?

    Hello bentnail,
    I'm not sure why the test panels are readin the value correcly but the LabVIEW code does not, but there are a couple of things we can try.
    1) What happens if you just use the DAQ Assistant and place it on the block diagram? Does it read out the correct values?
    2) Try running a shipping example that comes with LabVIEW. "Acq&Graph Voltage-Int Clk.vi" should work well.
    3) What kind of signal are you expecting to read (peak to peak voltage, freqeuncy, etc.)?
    Thanks,
    E.Lee
    Eric
    DE For Life!

  • How can I link my daqmx code to another daq assistant to hear my audio output?

    Hi,
    I got a burning question about my school project. I need to use labview and my NI-mydaq to test the difference between
    various samples rates and bit depths.
    I linked an mp3 file to the AUDIO IN of my NI-mydaq and created a way to be able of switching sample rate while running my program.
    Now I would like to link my program inside the NI-mydaq to my AUDIO OUT...
    So...  I generated daqmx code out of an input daq assistant, how can I link my daqmx code to another daq assistant to hear my audio output?

    Hello Fontys_Student...,
    I am not sure I properly understand your question.
    You want to, first, acquire a signal from the AUDIO IN input, second, do some processing on the acquired signal and, third, generate this processed signal at the AUDIO OUT, right? What is the part causing some troubles?
    If you already have the signal acquired and processed, you can simply wire this processed signal to the "data" input of a second DAQ Assistant, right?
    Did you already have a look at the myDAQ User Guide (http://www.ni.com/pdf/manuals/373060e.pdf)? On page 32-35, there is an example showing what you need I suppose. 
    Cédric | NI Belgium

  • Error message from labview when trying to set up the DAQ assistant

    I recieve a message from labview when I try to set up the DAQ assistant and select a channel to use. The error I get states "An exception occured within the external code called by a Call Library Node. This might have corrupted LabView's memory. Save any work to a new location and restart labview". Labview then freezes. I have reset the DAQ device in trying to slove this but I still get the same message. How do I solve this?? thanks - mars2006

    Hi Mars-
    It sounds like your NI-DAQ installation may have become corrupted. I would suggest uninstalling and reinstalling the DAQmx 7.4 driver to correct this problem and ensure that you're up to date. This download is available here: NI-DAQ 7.4
    If the problem persists you may want to uninstall and reinstall LabVIEW and then NI-DAQ in that order. The error message will usually give an indication as to which VI the error occurred in. Please let us know which VI is failing if you're unable to avoid the error with these suggestions.
    Have a good day-
    Tom W
    National Instruments

  • How to deal with the Error-89130 about the DAQ assistant?

    Once prss the "test" button of the DAQ assistant, the "Error-89130 occurred at DAQ Assistant" show up. It`s no doublt that the labview programme with a DAQ assistant  can`t be run and instead  the " Error-88303 occurred at DAQMx star Task Vi:1" or " Error-88304..." show up while other labview programme without DAQ assistant can run corrrectly. I have reseted or reinstalled the DAQmx, but it didn`t work.  Any other ideas for troubleshooting this? Thanks

    Please refer to this KB, and see whether it works. If problem also exists, please tell the DAQmx version and the DAQ card name.
    Haifeng Xu
    NISH AE

  • Struggling how to set up 2 daq assist on labview in the same VI

    hi all,
    hope someone can help me out
    I am currently using the scxi 2345 with some SCC FT01 feed through modules, these are just to record some voltages from some transducers.
    What I am struggling with is setting up 2 daq assist on a single VI, it is coming back with a error stating specified resouce is reserved and then a window saying learn more about automatic handling. How would I also have these 2 values logged on the same graph or chart?
    Anyone any ideas how to set these up.
    I ideally want to have 3 daq assist in the same Vi but not sure if this is possible. It would be 1 for thermocouple input and 2 for voltage as stated above
    many thanks
    shane dover

    Hi Shane and Dennis,
    I've been working my way around the same type of problems, and I am
    currently re-writing everything to use on Asst. per board on my PXI
    chassis, so that no resources become reserved.
    As a result, I have to separate the signals on the output dynamic data
    in order to do different post processing.  So I have been toying
    with staying with dynamic data, inputting dyn. data into an array, and
    inputing it into a cluster.  It seems that each has advantages and
    drawbacks, but arrays seem to be the easiest with which to work when
    splitting signals coming from a DAQmx Asst. and funneling some of the
    signals into a post-processing sub-VI.  The drawback to this is
    that time stamps in the Dyn. Data are lost if you want to record the
    data and the time of the reading. 
    Question:  Is there an easy way to pipe Dynamic Data into a
    calculation subVI?  Is it workable after it's been split from
    other streams? 
    Thanks,
    Brad

  • How can I programmatically change the voltage range settings in a DAQ Assistant

    Hi,
    First post here.  
    I need to be able to change the voltage range properties of a daqmx DAQ Assistant based on user input.  My hardware, an SCXI-1102C does not allow changing this property on a running task, so I'd like to either set the analog input voltage range before the DAQ Assistant activates, or pause the DAQ Assistant immediately after it starts, set the values and then resume.
    I don't know how to edit the task ahead of time because the DAQ assistant creates the task when it runs, and there is no task before that.
    In the attached picture, I have a conditional section, set to run only if the while loop iteration is 0.  I take the task from the Daq assistant, send it to a stop task vi, set the property, and then send the task on to the start task vi. I can watch it run with the debug light on, and everything seems to work correctly, but on the second (and all the other) iteration of the loop, I read out AI.Max and it seems like the DAQ Assistant has re set it back to 5V.  Can anyone see what is going wrong here?
    BTW, this is continuous acquisition and the code does not produce error messages when it runs.
    I did come across a similar question that someone posted here back in 2006, but his question was specifically aimed at a Labview API (VB, I think), and not an actual G solution.
    Attached are the actual vi in question and a png image of the block diagram.
    Thanks! 
    Ruby K
    Solved!
    Go to Solution.
    Attachments:
    Labview_question.PNG ‏14 KB
    Sample_AIV.vi ‏91 KB

    First, if you want to start getting beyond the basics with DAQ, you are going to have to stop using the DAQ assistant and do it with lower level DAQmx VI's.  There are hundreds of examples in the example finder.  You can even right click on the DAQ assistant and select open front panel.  That will create a subVI that you can open and see what is going on behind the scenes.  Do it.  I think you'll find the DAQ task is being recreated on each (though I'm not 100% of how the settings are established or maintained in each section of that subVI).
    The second problem is you have a bit of a race condition on iteration 0.  Those two DAQ property nodes are running at the same time.  So when you read the AI.Max, it may be happening before or after the AI.Max is set in your case structure.
    Third, make sure you wire up your error wires.

  • Using DAQ-assist to input a waveform; need help building a counter to count voltage "spikes"

    Hey all! I'm pretty new to labView and even newer to this forum, but its nice to meet you all...I hope that perhaps someone can help me with my problem.
    Allow me to begin by detailing the specifications of the problem.  I am an undergraduate student, and have a job doing research in a MEMS (micro/nanotech) lab.  The graduate student I am making this program for is working on biomedical applications;  eventually, the program will be connected to a microdevice that has a tiny channel in it, cut through a wee little capacitor, which blood will run through.  As red blood cells pass this capacitor, the voltage will spike; meaning that for each voltage spike, we can (and are trying to) count the number of red blood cells.
    However, I am still in the early developement of the program, so this above specific info is not that important.  Basically, I am using a function generator to input a waveform to the DAQ assistant of, say 500 mV.  I am trying to write a program that increments a counter every time I turn the voltage above say 550 mV (peak-to-peak), counting the number of simulated "spikes."  I have tried quite a lot to write a working program, and although I have not gotten it to work yet, I will post a screenshot of my most recent attempt HERE:
    I thank you in advance for any helpful tips, advice, or straight up assistance you may be able to give me.  Please ask me any clarifying questions about the program I wrote or the application, or anything.  Happy Friday! 

    Hey guys, it's been a while!  A lot of stuff has been happening in my life and I have had virtually no time to work on my LabView project.  
    I did create a LabView program based off IanW's reccomendation.  I am unsure of what exactly is going wrong, but when I run it, only a simple "snapshot" of a waveform from the DAQ shows up in the graph.  Even when I put the DAQ assist in a seperate while loop, the same thing happens.  I am including a screenshot of the project in case I am messing something entirely different up.  If you happen to read this, I really appreciate your help and thank you Ian! 
    I am also having a random issue with the filter signal VI.  So that background signals in the actual experiment do not read as "spikes" I have been instructed to include a high-pass filter in the VI.  However, everytime I use the high pass filter VI, it botches my signal and turns it into a bunch of noise!  I, nor my graduate mentor (who isn't too well-versed in LabView) have any idea why this is - we've tried using different types of filters to no avail.  
    Lastly, I would like to talk to Peter about a few questions I had abour LabView design.  In case you're still around, I will write another post later today with more detail.  In the meantime, I will try to find some of the example VIs about shift registers   All who read this have a great day!
    Attachments:
    count spikes pic.png ‏29 KB

  • Installation of Lab view 8.20, DAQ Assistant has disappeared & Instrument I/O Assistant cant be used

    After upgrading to Lab view 8.20 and on a 8.20 new install I
    notes’ that
    DAQ Assistant has disappeared from the tool pallet completely.
    Also that Instrument I/O Assistant cant be used or
    configured and produces an error
    “NI Measurement & Automation Explorer or the Instrument
    I/O Assistant is not correctly installed. Please install these from the Driver
    CD”
    I have checked both of these and all parts are fully installed
    and I cant fined what part of the Full version of Labview would course this
    problem.
    Would a completely new installation with default settings
    clear the problem, what has coursed these tools to be not avalible.

    Hi Trevor
    You need to load on the Drivers for DAQmx, if you have a CD you can load them on from there otherwise the link to download NIDAQmx 8.3 is:
    http://digital.ni.com/softlib.nsf/websearch/7feaee6a4b4aa836862571c00064e6ca
    There is a order in which you must load things on for everything to work correctly,
    LabVIEW --->> Modules & Toolkits --->> Drivers
    This should solve your issue
    YatinM
    NIUK

  • I do not see the DAQ Assistant Express on Functions Input palette.

    Software config: Windows XP machine, Traditional NI-DAQ 7.4.4 for PCI 6602. I do not see the DAQ Assistant express on Functions>>Input palette. I get error message when I place the Instrument I/O assistant on the block diagram:-" Measurement and Automation Explorer or Instrument I/O Assistant not installed correctly. Please install from LabVIEW CD". I've tried uninstalling, re-installing driver and rebooting my computer several times.

    Hello PJ-SJM,
    The DAQ Assistant Express VI installs with the NI-DAQmx Driver and not Traditional NI-DAQ.  The good news is that the PCI-6602 is supported in both Traditional NI-DAQ and NI-DAQmx.  Check this KnowlegeBase article to find out what version of NI-DAQmx you need and then search the Drivers and Updates page for to find the version you need.  Once you download and install the driver you should see the DAQ Assistant Express VI on your functions pallet.
    The Instrument I/O Assistant is not for use with DAQ cards, it is for using other communication protocol like serial or GPIB.  However, if you need this you can install the Device Driver CD and it should work after that.  Note:  The device driver CD that came with LabVIEW should also contain the correct version of NI-DAQmx.
    I hope this helps, and have a great Friday!
    Brooks

  • DAQ Assistant in subvi not updating output to DAQ board with each call...

    Hi All,
    I am calling a simple subvi that creates a user-defined number of pulses with "Square Waveform.vi."  This square wave (with the given total number of pulses) is then used as an input to a DAQ Assistant controlling an analog output signal on a NI USB-6259 DAQ board.  I am using Labview 8.5 right now.
    However, each time I call this subvi from my main program, the output I measure from the DAQ board is identical to whatever I set in the first call (i.e., if i created two pulses in the first call, I get two pulses on every call, regardless of the input I feed to the subvi).  The multiple calls to this subvi are made in sequential frames in a stacked sequence.  I believe stacked sequences are frowned upon by good labview people, right?  But putting that aside for the moment...
    The "#-of-pulses" input I give to the subvi is updated in a subvi front panel number indicator and a graph of this waveform.  Just not in the real output I measure from the board.  Why is the hardware output being asserted (with the original input value) before this new number can reach the DAQ Assistant?
    The sloppy fix to this is just to put that square wave creation code in my main program each time I need it.  This does work and fixes my problem.  However, I would like to use subvis to keep things clean.
    I am not a good Labview programmer, but have used this software for a number of projects and am stumped by this.  Any ideas?
    Thanks,
    John

    Hi John,
    I am running your code over here and seeing
    the same results.  I believe the problem is that the DAQ Assistant is
    being called inside a loop (really a sequence structure, but
    nonetheless more than once).  Sometimes it is difficult to troubleshoot
    the DAQ Assistant in cases like this--it is trying to be "smart" and
    seems to be avoiding re-configuring its parameters inside the loop. 
    This is intended to improve loop speed for when customers are
    performing continuous operations.  In this case, it is performing a
    finite generation, and the number of samples generated appears to carry
    over from one loop iteration to the other.
    It sounds
    like you have discovered one workaround for this already: putting a DAQ
    Assistant in each frame of the main VI.  Two other options that come to mind are:
    Use the lower-level DAQmx functions inside
    the sub VI.  Here you will have explicit control over when the task is
    created and cleared, and when parameters are set.  You can find
    examples of how to use the DAQmx API in the Example Finder at:
    Help >> Find Examples... >> Hardware Input and Output >> DAQmx
    Write
    a consistent amount of samples to the DAQ assistant by "zero-padding"
    your signal.  For example, instead of writing [10, 1010], try writing
    [1000, 1010].  In this case, it wouldn't need to reconfigure the number
    of samples to generate.
    One lesson to take away here is
    that the DAQ Assistant is good for basic functionality, but for more
    advanced control over the execution and configuration of your task you
    should learn to use the lower-level DAQmx functions.  In this case it
    sounds like the problem is actually a bug.  I'll file a bug report, since the DAQ
    Assistant is not checking for waveform timing changes even though your
    timing is set to Use
    Waveform Timing.
    Thank you for pointing out this odd
    behavior--out of curiosity which version of DAQmx are you using? 
    -John
    John Passiak

  • How can I read the active (plugged in) DAQs and then send that to the device name input on DAQ assist?

    I have a system property node for daqmx but it does not let me change it to read when i right click on it. I am trying to have my program detect the name of the daq that is plugged in to the PC and then send that to daq assistant so that it will run properly wiithout me manually having to change the device name every time i switch hardware.
    Solved!
    Go to Solution.

    labview12110 wrote:
    Im just frustrated that the only function I have is to get a list of things that I can't do anything with. MAX knows which is active can I call it up somehow?
    You have do do programming.  That is what LabVIEW is.  MAX gives you all the tools to do everything you want and much more just program it to do what you want.
    Attached is a VI that I think does what you want.  I looks at all of your devices and returns the first non simulated one.  Apparently this list already excludes devices not connected to the system.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.
    Attachments:
    Find Non Simulated Device.vi ‏6 KB

Maybe you are looking for