DAQ Assist Vi freezes program

I have a progam that takes data in from a daq for one minute while writing it to a file.  While testing it I noticed that I can have it take multiple minutes of data (via a start switch) while continuously running the program as long as I remain in the Labviiew Window. However if I were to try to do something else while it was taking and writng the data, such as open a browser, it ill finish it's loop and then not let me do anything else in the program.  Has anyone else had this problem and is there anyway to fix this? Attached is my code. Please let me know if there is anything else you need.
Attachments:
DECCAL.vi ‏357 KB

Hello,
In order to gain a better understanding of this behavior, please provide the following information :
-Operating System
-Version of LabVIEW
-NI-DAQmx driver version (located under the 'Software' section in Maesurement and Automation Explorer
Thanks,
National Instruments
Applications Engineer

Similar Messages

  • Tare function DAQ assist and restart function for the vi program

    Hi!
    I have a program that aquiers a signal from the DAQ assist. I have searched here on the forum and on the web, but I can't find a way to implement a tare function. The signal is from a loadcell and therby it would be good if Icould tare the signal to value zero. In the DAQ assist I can calibrate it manually, but i would like to wire this function to a button. 
    Also I have another problem that shouldn't be hard to solve, but I'm struggling with it. I want a resert function in my labview code so that i can restart the program from the begginging. I have used a case structure with normal and restart enum constant, and wierd them via a tunnel. But it dosn't seems to work. Instead of resetting the program it only stops it 
    I have attached my code below.
    Best Regards Maurlind
    Solved!
    Go to Solution.
    Attachments:
    Tare function and restart.vi ‏365 KB

    I solved my problem with the tare function, i used a case structure and shift register to store values in it. se picture below.
    I haven't found a way to restart my VI yet. I tried to implement something from the community , see this link: https://decibel.ni.com/content/docs/DOC-4747
    But that doesn't work for my VI and i don't know why. Could someone explain why doesn't work ?
    My goal is to restart my whole VI with a press of a button.
    Best Regards Maurlind
    Attachments:
    tare function.png ‏25 KB
    restart vi.vi ‏488 KB

  • Once running the labview program which contain DAQ Assistant ,the message of "ERROR-50405....." appear.

    Once running the labview program which contain DAQ Assistant and can be run without any error before, the message box of "ERROR-50405....." appear which capture down in the attachment. We use PCI6221 and LabVIEW 8.0 in Windows XP. I also found that the Device Manager of Window have recognized the PCI6221.
    Any help on this situation would be great.
    Attachments:
    labview error.JPG ‏145 KB

    Hi~
    This error is due to signal interference between the device and the computer. This could be environmental or due to the PCI Controller. You can on a different computer to see whether this problem persists.

  • New project using Daq Assistant or not ?

    Hi everybody,
    I need to create a software to do some realtime acquisition & analysis.
    I trained myself a little bit on c# lessons to get use to this programming language; I’m also discovering Measurement Studio & Visual Studio. (I’ve background in C++).
    My software will have 2 modes :
    Continuous acquisition, signal plotting + signal processing & plotting (fft, 1/3 octave band filter)
    Triggered acquisition, signal plotting + signal processing & plotting (fft, , 1/3 octave band filter)
    I have examples in my National Instruments directory which don't use daq Assistant and code is different from generated files with daq Component.
    If I use Daq Assistant ( http://www.ni.com/tutorial/4652/en/ )
    I know that the code to create channel is stored in DaqTask.cs
    Plotting :
    NationalInstruments.AnalogWaveform<double>[] acquiredData = daqTaskComponent1.Read();
    waveformGraph1.PlotWaveforms(acquiredData);
    When I look to examples, like "MStudioVS2010\DotNET\Examples\DAQmxWithUI\SpectrumAnalyzer\cs "
    all code to create channel is generated in Mainform.cs, there is no Daq Assistant (http://www.ni.com/tutorial/5409/en/ )
    and there is a slight difference between acquired type :
    private AnalogWaveform<double> data = new AnalogWaveform<double>(1000);
    data = reader.EndReadWaveform(ar);
    acquiredDataWaveformGraph.PlotWaveform(data);
    Questions :
    What is the difference between AnalogWaveform<double> and AnalogWaveform<double>[] ? why it's not the same type ? I need to do some signal processing with this signal, so what type should I use for my application  ?
    I didn't succeed to configure my 2 modes in daq Assistant (continuous and triggered acquisition) is it possible or should I create 2 Items in my solution, one for continuous acquisition and on for triggered acquisition ?
    Kind regards,

    Check out the downloads section of iLounge.com. There are a handful or two of applications that will help you transfer songs from the iPod to the computer.
    Another option is to network the two computers together and transfer the iTunes folder to the new Mac. All you need is an ethernet cable and to turn on file sharing in the Sharing preference panel. Depending on how old your "older" Mac is, you might need a crossover ethernet cable.
    A third option is to hook up the two computers using a Firewire cable. On the older Mac make sure it is shut down, hook the two computers up, turn on the older Mac while holding down the "T" key. On the new Mac you should see the old Mac's hard drive show up. Just find the iTunes music folder and copy it over. You could also use the Migration Assistant which will be in the Utilities folder of the new Mac.
    Hope this helps.

  • How do I use DAQ Assistant to output DC on an AO?

    My background includes 15 years of programming PLC's. AO's were simple. You passed the AO a value between preset ranges and it output a proportional voltage signal based on the hardware capabilities.
    I foolishly thought LabView and DAQ AO's would be about the same. I built a vi to generate a DC signal which I could control the amplitude of. I also tied it to a chart to monitor how it worked. I managed to draw some very pretty ramping pictures on my chart, but when I put a DMM across the physical terminals I see no voltage.
    Then I used MAX to test the channel and measured it again. Now I see voltage on my DMM. I was attempting to use the DAQ Assistant to do this. Do I need to force it to re-read the changing value I am sending it? All of the examples I find show me more primitive methods, and I could not seem to get any of them to do what I want either. I need to send a speed reference to a DC drive.
    My incorrect method was to recursively add a value for ramping the signal up or subtract to ramp down. This method works perfectly on an industrial PLC. I connected a chart to the signal just as it entered the DAQ Assistant, but the only way I could check the actual was with the DMM.
    Are there any examples that use the Assistant? If not then I guess I will have figure out how to use the primitives anyway.
    technomage

    Hello technomage,
    It looks like we have discussed this problem in another thread (found here).  If you have any other questions about it, please post there.
    Regards,
    Jesse O.
    Applications Engineering
    National Instruments
    Jesse O. | National Instruments R&D

  • 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 properly read data from one DAQ-assistant and write simultaneously with another DAQ-assistant (which is inside a loop)

    Hello.
    I'm a newbie working on my Master's thesis conserning a project that is based on old G-code made by another newbie so bear with me.
    I need to create a sequance of output controls. For this I'm using a for loop that eventually creates two triangular ramps during a period of 90 seconds. I've confirmed that this function works properly by measuring the actual output of the DAQ-decice (NI USB 6353).
    The problem is the following: During this controll-cycle I need to simultanously collect data from the same DAQ-device. At this point there is only one DAQ-assistant output-block in the main loop of the program and all the signals are derived from it to where they are needed.There is a case-structure (the bottom case structure in the picture) that contains the functions needed to collect the data during the test cycle. However these two actions, outputting data and inputting data, are not synchronized in any way which may be the reason why I get the 200279 error or alternatively the 200284 error during the test cycle. I've tried changing the sample rate, buffer size and the timeout time as adviced but nothing seems to help.
    What would be the simplest way to solve this problem?
    Help is greatly appreciated!
    Attachments:
    problem.jpg ‏206 KB

    Thanks for quick reply.
    However, I did try it (see the picture) but I still have a problem: I only get 100 samples / channel during the test sequence (all from the first seconds of the sequence) in total even though I've set the data aqcuiring DAQ-assistant as "continous" and "samples to read = 95k" and rate is 1000Hz.
    Edit.
    And lastly, I have trouble adding this "extra" DAQ-assistant to the vi. because I get an error about a resource (The 6353) being reserved, even though I connected a false constant to the "STOP" -input of the main DAQ-assistant.
    Attachments:
    is_this_what_you_meant.jpg ‏212 KB

  • How to control a digital output signal using the DAQ assistant?

    I am using a USB 6251 DAQ board and would like to control a switch. I am gathering airflow, pressure, and acoustic data on the same board (analog input) and would like the switch to trigger when the airflow value is within a pre-determined range. Finally, I would like to reverse the polarity of the switch (to off) about a second after the initial digital signal, all of which is during continuous data acquisition.
    I am able to actuate the switch only when pressing the "run" button in the DAQ assistant window. I am proficient with data acquisition but have never tried programming an output... Please help!
    Thanks!
    -a troubled researcher
    P.S. I am running LabVIEW 8.5 as well.

    blsmith4,
    You probably won't get the control of the digital port on your card by only using the DAQ Assistant. One of the following examples should provide you the functionality that you would like out of the box:
    Digital - SW - Timed Output (Simple)
    Digital - Continuous Output (More Complex)
    Continuous Write Digital Port - External Clock - Non Regeneration (Most Complex)
    Let me know if these work better for you.
    Best,
    Jason M.
    Applications Engineer
    National Instruments

  • Dynamically passing data into a running while loop from a DAQ assist. in an ouside while loop

    Hello,  I'm currently a student working on a senior project and I'm trying to do a state machine that will turn off and turn on a compressor depending on time and coprocessor failure. 
    In the run state, wich is #1 on the case structure box I placed the DAQ assist.  Which takes in data from an accelerometer.  If the accelerometer's value is above the limit four times it will end the loop or if the time runs out it will end the loop. 
    The problem I am having is that i need to run four compressors.   I was thinking about having four case structures all within the outside loop, but I can only have the DAQ assist in one location.  This means that I now have to move the DAQ assist out of the run loop or run all four compressors in the one case structure.  If i remove the DAQ assist.  I can only get it take in data once when the loop starts and never again.  I understand why, but is there a way to dynamically pass data froma  DAQ assist.  into a running loop? 
    Also on a side note, i can't find a tutorial on how to really create a state machine using Enums.  Does any one know where to find this. 
    I have attached my curent program.
    Thank you for your help,
    Ryan
    Attachments:
    TEST STAND STATE MACHINE 2-28-07.vi ‏288 KB

    in labview choose file->new... then pick standard state machine and there are instructions.
    you can create a custom control and either use an enum, text ring or menu ring.  Edit the values and then save the control and drop into your vi and you can wire this to your case structure
    - James
    Using LV 2012 on Windows 7 64 bit

  • 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.

  • 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

  • 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

  • How to achieve data from more than 1 DAQ-assistant?

    When running my LabVIEW program using the data coming from 2 simulation sources, no problem occurs and data is correct.
    When using the data coming from 2 DAQ-assistants (real data), an error occurs, telling the following:
    "ERROR 50103 occured at DAQmx Read (Analog 1D Wfm NChan NSamp).vi, reason: The specified resource is reserved. The operation could not be completed as specified"
    Does anyone know what exactly is wrong and how to solve this problem?
    Nowhere I found a solution for this problem and I have been trying numerous things to change in the program, but the same problem keeps occuring.
    Could anyone please help me?
    I need to solve this to be able to perform tests for my graduation project.
    Tha
    nk you very much in advance,
    Yours Sincerely,
    Karel Rycek

    The problem is you are trying to access the AI channels at the same time. When you setup the first DAQ assistant it reserves the AI section of the board. When you then try and use the second DAQ Assistant you get the error because it is trying to access a reserved section. If you had 2 different boards this wouldn't be a problem. That is probably overkill though. What you can do is read multiple channels in the 1st DAQ assistant and then in your program split the data off if you need to do different calculations.

  • Simple DAQ assistant problem

    This is probably a simple fix that I am screwing up, but I can't get changes that I make in the DAQ assistant to apply.  Primarily changing the channels that the assistant reads, I will make the change, exit the assistant, and when I enter the assistant again the onlt connection found is ai/0.  Is there something that I can do to fix this?
    Chris O.

    Also, when I run the program, i receive Error -50103, which is not in the error guide, I have attached my program to this message, any help would be greatly appreciated, I am still trying to figure LabView out.  The program is used to measure a voltage from a 4 wave gages, and create an 11 point calibration curve for each gage.  The user should be able to select a position, define the water depth, and click measure to measure the voltage.  Once 11 measurements have been taken and the user is satisfied with the results, the user will click a "calibration complete" button which will fit linear curves to the data and export the slope and intercept of the lines.  The secondary calibration listed assumes that the slope has already been measured, and calculates the intercept based on one iteration of data.  I am using a USB-6008 right now to figure the program out, and eventually will change to a higher quality DAQ board when the programs have been written successfully.
    Attachments:
    Linear Wave Gage Calibration.vi ‏917 KB

Maybe you are looking for

  • How to create a link for pirnting

    I have some jspx pages and taskflow pages and I need to create a link or button for printing them friendly. How to do that? Is there any document about pinting jspx pages?

  • I get what I call "a blinking screen effect" in some webpages, what is that?

    Lately, the webpages "blink" and I don't know what that is? In some cases a new page opens behing the main page I am looking at with some sort of advertisement, or it just "blinks" like if it wants to go somewhere and it can't.

  • Full Screen on Multiple Monitors

    It used to be that if I took a video on iTunes to Full Screen, which screen it would maximise on was dependent on which monitor the iTunes Library window was resident on ... Since 7.4, it seems to be utterly random! It always wants to go on to the se

  • BDC failing at the statment "COMMIT WORK" in code

    All,      I am working on benefits (COBRA) and I had to create a BDC for transaction HRBENUSCOB02(COBRA letter generation). Everything is fine except it hits code COMMIT WORK(this is SAP code). The program does not go any further after COMMIT WORK bu

  • Regarding the Cost of ALTER TABLE Operations

    Hi All, I am a starter in Oracle. I like to know what will happen in the storage level in Oracle when we alter tables like following 1. Add a primary or a foreign key to the table 2. Create an Index on some of the columns in the table. I am asking th