Random errors using SCXI analog input on SCXI1100

This system is using a AT-MIO16E card and labview. I am performing single channel analog scans using the NI SCXI analog input example, modified to use the RMS and extract frequency examples. During static testing (ANy one input), the readings are fine. In one frame, the 1125 is polled 4x, and the 1100 is polled once. The scan for the 1100 module does an RMS and frequency extraction. In this frame, the result from the frequency is NAN and the RMS is 0 about 50% of the time. Individually, the modules acquire the data flawlessly (1 volt, 49.5kHz). The 1100 is is passed scan rate, buffers, scans. The signal acquired is a 50kHz square wave. I've tried scan rates from 150 to 250k. Any ideas on what could be causing this?

Hello;
It's hard to tell what might be happening without seeing the code, but the best way to test that out is to acquire the data without applying the RMS functionality, and double check if the data is the expected.
If it is, then the problem is inside the RMS function. I'm sorry I couldn't give you a definite answer, but at this point the problem might be anywhere in the code, and we probably need to narrow the possibilities down.
Regards
Filipe A.
Applications Engineer
National Instruments

Similar Messages

  • How do I acquire multiple signals in the NI cDAQ 9172 using 2 analog input modules?

    Hi everyone,
    Is anyone familiar with using the NI cDAQ 9172?  This is my first time using it and I am not sure what exactly I am doing wrong... Alone with a NI 9233 analog input module, it works great.  I can grab my 4 signals from each channel and go.  However, when I add another analog input module to the mix, it gets an error.  It looks like it is reading only one and not the other.  It bombs at one of the DAQ start task and read task.
    Basically, the block diagram is just a double of the one 9233 working alone.  Is there something needed for input to make the 9172 working?  Any ideas?
    Any help is much appreciated.  Thanks!!

    Hi Jud,
    Both threads are correct.  The cDAQ-9172 has a single analog input timing engine, so both of your analog input modules will need to be in a single task.  The other VI you referenced shows one analog input task (with channels added from two modules) as well as an analog output task.  Analog output has a separate timing engine from analog input, so both of those can run in parallel independent tasks.
    The beginning of this thread is a good example; a single DAQmx Create Task followed by a DAQmx Create Virtual Channel for channels from each module.  Also, Getting Started with NI-DAQmx will give you the fundamentals for data acquisition, though I don't know how many of their examples use CompactDAQ.
    Regards,
    Kyle

  • How do I use the analog input (ADC) to drive a motion profile in MAX

    We are trying to use an anolog input signal from a DAQ card to control the motion contol axis.  For now, we want the motor speed to follow a sinusoidal voltage waveform, and later on, we will be using a more complex velocity profile. 
    In order to accomplish this task, we have searched the user forum, and found information suggesting to operate the servo motor in 'slave' mode under the 'gearing' option.  Therefore, we have set the Gear Master to 'ADC Channel-1', Mode set to 'absolute', Gear ratio 1:1, and provided the sinusoidal voltage (+/- 5V, 3 Hz) to the AIN1 connector on the MID-7654 controller.  When using the 1-D Interacitve 'single axis' control panel, the motor runs at constant speed in one direction only.  It does not react to the sinusoidal speed profile request as we expected. 
    How do we 'turn on' the 'slave' mode in MAX?  Please talk us through the necessary steps and settings?  Thanks.
    Staffan

    Staffan,
    you can configure and enablethe Gearing mode in MAX and it should be activated after saving the settings and initializing the board. In 1D-Interactive you can't use Gearing. For better flexibility I recommend not using MAX for configuring and enbling Gearing. You better should do this in your application.
    In fact there is a perfect LabVIEW-example that ships with the NI-Motion driver (Master Analog Input - Slave Axis Gearing.vi)
    I hope this helps,
    Jochen Klier
    National Instruments
    Message Edited by Jochen on 10-02-2007 08:37 AM
    Attachments:
    gearing.jpg ‏162 KB

  • When using the analog inputs and analog outputs of the PCI-7344, what is the conversion between the voltage entering the card to counts? Similarly, what is the conversion between counts to voltage at the output of the card?

    I am using the PCI-7344 to control my system. The analog inputs are connected to the output of my system while the analog outputs serve as feedback to the system. The system is a servo. I want to know what is the conversion between the voltage read at the input, to card counts, and finally to the voltage output to the system.

    Carole,
    If you are trying to do analog feedback with a servo motor, Chapter 14 of the manual talks about how to set up the torque feedback. Also linked below is a LabVIEW example of analog feedback.
    Chapter 14
    NI-Motion User Manual
    Automatic Analog Feedback with FlexMotion example
    A. Talley
    National Instruments

  • Measuring mV using analog input

    I am using an analog input of a Ni-DAQ 6025E card. I can measure a 5V signal. If it is 5V on the voltmeter, then it is 5V on the graph of amplitude Vs time. However a 0.5V signals comes as an oscilating signal of between o and 1.5V. Do I need to calibrate the graph? If so, how do I do that?

    Hi labview1958,
    I would recommend doing what LV_Pro recommended and try using the device in Measurement and Automation Explorer (Start > All Programs > National Instruments > Measurement and Automation Explorer). 
    First test the device there (by using a test panel) and see if you are
    getting the measurements that you are expecting. 
    I would also check out some of the related pages here to see if you can get some information that might help you better develop your system.
    The program that was posted will probably work, but it's not really the best way to do what you are trying to do. 
    If you have LabVIEW 7.0 or higher then you can use DAQmx which is much
    easier to use for new users.  I recommend that you simply use the
    DAQ Assistant Express VI to configure your system.  You can access
    that by going into your Block Diagram on a New VI, right click and go
    to Functions > Input > DAQ Assistant.  You can now
    quickly configure your measurements exactly as you like, test the way
    it functions and then use those signals in your application.
    Best of luck getting this together,
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • Error using pretrigger when capturing more than one channel

    I am having problems acquiring data with pretrigger samples when capturing more than one channel, using NI-PXI-6071E hardware and Labview's Analog Input VIs (Legacy NI-DAQ).
    My goal is to trigger on one signal, while capturing another. Unfortunately, I cannot use the PFI0 for external triggering, as our cables/hardware have already been built, so I must use an analog input channel as the trigger. I understand that to do so I must capture both channels, and the channel that I wish to trigger off of must be the first channel in the list.
    If I trigger and capture on the same channel (tried 1-4) then it
    works great, regardless of the number of pre-trigger samples set. If I
    capture more than one channel (passing the trigger channel first), with no pretrigger samples set, then triggering and capturing both work fine. However, if I do the same with the pretrigger sample > 0 I get the following error:
    Error -10621 occurred at AI Control. Possible reason(s):
    NI-DAQ LV: The specified trigger signal cannot be assigned to the trigger resource.  
    I don't se any such limitation explained in the user manual, and searching the forum, I have found a few other people that had the
    same
    problem
    but they did not have solutions. Any ideas?
    Solved!
    Go to Solution.

    I'm sorry for double-posting this. I was trying to post it in the DAQ board and it kept ending up on the LabView board.
    If moderators have the ability to delete this thread you are welcome to do so.

  • PXI-6230 analog input trigger setup

    Hi,
    Can anyone point me in the right direction of how to configure the PXI-6230 card to implement 3 of the analog input channels as a digital input trigger? The input to each channel is TTL pulses. I want to have a trigger event on every pulse from any of the three inputs. I'm using LabVIEW 8.5. Any help is appreciated. Thanks.

    Hey HarveryL,
    I'm not sure it is possible to do this. Can you give me some more details on your application, and why you want to use the analog inputs as a digital trigger? Here is an article on how to use PXI triggers with the analog input and output, perhaps you can adapt that code to your purposes. I'll continue to look into this for you, but any more information you can provide would be appreciated. Have a great week! 
    John B.
    Embedded Networks R&D
    National Instruments
    Certified LabVIEW Developer

  • Can the analog inputs be daisy chained to measure higher voltages?

    Can the analog inputs of a PXI-6289 be connected in series to measure higher voltages than normally allowed at the analog inputs of the PXI-6289 (i.e. 10 VDC)?  For example, let's say I wanted to measure 18 VDC using an analog input channel of the PXI-6289.  I would then pick two AI channels and connect the positive of one to the negative of the other and then the two remaining leads would be placed across the 18 VDC.  Resistors could also be placed across the 18 VDC to form a votage divide.  One AI would measure the voltage across one resistor and the other AI would measure the voltage across the remaining resistor.  I have tried this and the voltage measurements appear to loose accuracy.  Thank you for your help.

    Hello Rafi,
    You may want to invest in a high voltage attenuator for signal conditioning prior to reading the signal.  The documents below may also be helpful:
    High Voltage and Isolated Measurements
    http://zone.ni.com/devzone/cda/tut/p/id/10693
    High-Voltage Measurements and Isolation
    http://zone.ni.com/devzone/cda/tut/p/id/3410
    Regards,
    Roman Sandoval | National Instruments | RF Systems Engineer

  • Programming Analog Input Registers for MSeries NI-6221

    I am trying to understand the Preliminary M Series Register Map in order to correctly setup and acquire data from the Analog Input channels of my PCX-6221 card. I have been able to figure out the DIO locations and use them but I am having trouble understanding what I have to do to configure and acquire data using the Analog Input registers of the card. I need to program at this level for an RTX application using Microsoft Visual Studio Net 2003 and have had great success doing so with other NI Cards. I have tried looking at the examples provided by the MDDK but I haven't been able to create a environment that allows me to compile them with Chipobjects and it appears like alot of the work is hidden by the subroutines.
    I wonder if someone had a high level algorithum using the Register Map it would help out alot.
    Questions:
    How would I create a multiple channel Scan List and load it into the card setting gain etc...
    How would I configure the card to acquire continously at a specified freq (ex 1000 samples a sec)
    How would I start/stop acquisition
    I would guess getting the status of the FIFO and accessing the FIFO is a matter of reading the AI_STATUS_1 and AI_FIFO_DATA locations
    Would looking at the Register Programming Manual for the "E" Series help me or just get me more confused?
    Thanks in advance for any light you can shed on the subject.
    Floyd

    Hi Floyd-
    Let me address your questions individually:
    How would I create a multiple channel Scan List and load it into the card setting gain etc...
    A multi-channel scanlist can be created as shown in the method aiConfigureChannel() from ai.cpp in the M Series MHDDK \Examples folder.  Note that the other operations leading up that point (notably, aiClearConfigurationMemory() must be performed in the order shown in the various AI examples.  aiex3.cpp is the most useful starting point for investigation, in my opinion.
    How would I configure the card to acquire continously at a specified freq (ex 1000 samples a sec)
    aiex3.cpp shows how to setup the device and its DMA controller (aka the "MITE") for DMA operation.  In order to configure for continuous operation you set the "continous" flag in that example to kTrue.  The effect of that setting is to program the STC-II to generate either a finite or continuous AI sample clock.  This programming is performed in the function aiNumberOfSamples() from ai.cpp and has the effect of setting the appropriate bitfield for continuous operation in the AI_Mode_1 register. 
    Earlier in your post you asked if the STC Technical Reference Manual ( http://digital.ni.com/manuals.nsf/websearch/E929838D7D0EE50986256728007FEADF ) would be a good reference.  In fact, it's a great reference from the perspective of understanding the bitfield/register names and understanding the basics of how the timing hardware works (for example BC, UC and other sample counters are all functionally equivalent in the STC and STC-II).  From the perspective of actual register writes and reads, the functionality is different between E Series and M Series.  The biggest difference, as another forum user alluded, is that we map and write directly to the registers on M Series so Windowed_Mode reads and writes are no longer necessary.
    Another difference between STC and STC-II is that the STC-II uses NI TIO-style counter/timers.  For that reason, the NI 660x RLP manual ( http://digital.ni.com/manuals.nsf/websearch/4CE1C778F442B01386256C870060F9F3  ) would be a good reference for M Series counter/timer operations.
    How would I start/stop acquisition
    Assuming you don't need an external start trigger, you only need to write to the strobe bit AI_Command_2->AI_START1_Pulse.  This will create a single start trigger pulse internally.  The differences between AI_START1 and AI_START are described in the STC Technical Reference Manual.
    A finite acquisition would be stopped automatically by the AI timing engine based on the number of samples you program via the method shown in aiNumberOfSamples().  Continuous AI would be stopped by first stopping the DMA operation and then calling aiReset().
     I would guess getting the status of the FIFO and accessing the FIFO is a matter of reading the AI_STATUS_1 and AI_FIFO_DATA locations
    Yes, this would work but I would strongly suggest using DMA as shown in aiex3.cpp.  If you want to use "programmed I/O" to read the FIFO data directly, that method is shown in aiex2.cpp
     Would looking at the Register Programming Manual for the "E" Series help me or just get me more confused?
    In many cases it would be very helpful.  See my comments, above.
    I have inherited code that works on 65xx cards which I am pretty sure uses windowed mode that I am using in this 6221 driver. I have found that I can set the PLL registers to act as DIO and I can read the Discrete inputs just fine. Makes me curious, if Windowed mode is not used doesn't that mean the addresses are relative to the BAR1 address? Why then am I able to read the DIO?
    I'm not sure why this would work- it's possible that some legacy functionality is still working due to the way you access the hardware in your code.  For full functionality with M Series you must use mapped memory I/O to write and read from the device's registers.
    Also starting with Clock_and_FOUT according to the example I set it for Slow_Internal_Timebase. But when I read back that Address it is always zero. According to the register map it is a "write". Does that mean I can't read it's contents? Or do I seem to have a problem because I am trying to use windowed mode with this card.
    Yes, the "write" registers are write-only and the "read" registers are read-only.  The effect of data read from or written to "write" or "read" registers, respectively, is undefined.
    Hopefully this helps-
    Tom W
    National Instruments

  • Labview performance suffering with analog input

    Hello,
    I am using a PCI-6036E and a cDAQ-9172 with LabView 8.0. I have created a VI that systematically writes four different digital outputs, three to the PCI-6036E and one to the cDAQ-9172.
    Just recently I added a thermocouple to the mix, using an analog input on the PCI-6036E to monitor temperature. Since doing so, I have noticed that the entire VI runs extremely slowly.
    Before installing the thermocouple, the VI slowed down a bit if left to run continuously (for days at a time). Now, however, the VI slows down a great deal if left to run for more than a few minutes. It is so bad that the "Elapsed Time" display will not properly display the elapsed time.
    Because this application will be run for days, even weeks at a time without being stopped, this gradual decrease in performance is a huge problem. The application needs to run very accurately and precisely. I have attached my VI below. Is there any way to fix this issue? Any help is greatly appreciated, as I am new to LabView.
    Thanks,
    Nick

    I didn't look at the code (yet), but do you have a slow analog samplerate?
    Look here
    And here (a KB aticle)
    Ton
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!

  • Problem with the analog input acquisition in labview fpga 8.5.1 and CRIO

     Hello all,
       I am using NI CRIO 9104 RT controller with 9014 FPGA chassis.I am using an Analog input module 9205.My problem is with the acquisition.I am using a
    function generator which generates some sine wave of -1 to 1 ,5hz to125khz sine signal and i have connected to 9205 in rse mode.In FPGA vi i had placed the I/O node and placed an indicator(data type FXP).If i connect the i/o node to a chart or graph,i am not able to see the output.?How this problem can bbe solved
    Next i had placed a FIFO in DMA transfer mode of depth 1023 which will accept the U32 datatype,so i did some manipulation as mentioned in a tutorial.
    Now in RT VI i am reading the same data from the buffer in U32 and doing the reverse manipulation i am able to view the data.Now the problem is ..if i am
    increasing the frequency of the input signal,the data is completly lost ?How can i overcome this problem...
    thanks in advance,
    srikrishna.J
    Analysis Engineer,
    Neurofocus

    Difficult to see where is the problem ....
    Be sure you are doing a good RT system by grabing reference design examples
    Don't forget to specify the DMA FIFO size in the RT code
    Doesn't matter the size of the DMA size under the FPGA project explorer.
    Upload your code, You will get answers...
    Mathieu

  • Triggered and continuous analog input togeather?

    Hi,
    I have a program set up based off a shipped LV example involving digital triggering of the analog inputs. It looks at a pulse and reads in ten points from the rising edge continuously. It appears that we are missing some pulse triggers and only reading in 126 triggers/sec instead of 128. We double checked the pulse and the frequency is correct (128Hz) so it seems as if the LV program is missing some of the pulses. Therefore, I want to use another analog input channel on the same 6062E daq card to continuously read in the waveform and see which pulses are being skipped. Is this possible?

    Lisa,
    I don't believe the E-series architecture will allow triggered and continuous analog input operations to occur in parallel. It is possible to set up different gains/input ranges but I'm 95% sure that the functionality that you are after isn't there.
    If you are looking to keep track of the number of pulse seen by your application you could consider the use of a counter to count the number of rising edges seen by the NI 6062E - basically daisy chain the pulse train to the trigger input and the GP_CTR Source pin of the counter you wish to use. There are a number of examples around that should help with this. Running the counter and analog input operations in parallel shouldn't be a big problem - it might be that you would want to set up a buffered event co
    unt operation for the counter as this will allow you to track and monitor every single trigger event seen by the counter while your analog input operations continue in parallel.
    The other aspect to consider is benchmarking your application with the Profiler. If the problem is that you consistently only see 126 triggers/second, perhaps your acquisition loop is not running fast enough to cope with the data. This can be especially true if any data processing or file storage is taking place inside the acquisition loop. The Profiler will allow you spot bottlenecks and get a better understanding as to the performance of your application.
    I appreciate this is perhaps not a direct answer but hope that it gives some ideas as to how to track down the cause of the problems you are experiencing.
    Jeremy

  • ELVIS Scope and Analog input triggering

    Hi everyone,
    I'm trying to read two waveforms, one from the analog input and one from the scope. These waveforms are coming from two sides of a voltage divider and should always be in phase. But I think that there might be a triggering problem. When I change the frequency of the input waveform, my measured waveforms go out of phase.I have programmed each express VI to trigger off of the SYNC.
    I can't use analog inputs for both measurements because the sampling rate is too small. I can't use the scope for both inputs because one of the waveforms is a differential measurement.
    Any help would be appreciated, thanks.

    Hi, I looked at the ELVIS Hardware User Manual and noticed that you have 12 channels that can be used as differential, Reference single ended or non reference single ended. Unless you have them all busy I don't see why you can't use the analog inputs. About the sampling rate, it will be determine by the M Series DAQ device that you are using and the source of the signal. It is a good practice to sample, at least, 10 times faster than the frequency of the input signal. The documentation of the card should show what the maximum sampling rate is.
    Now, Open the example called "Multi-Device Synch-Analog Input-Cont Acquisition.vi" at the NI Example Finder under Hardware Input and Output»DAQmx»Synchronization»Multi-Device. If you get the same results shown in the picture then you need to analyze if the voltage divider is affecting the phase.
    For more information about synchronization check the article called "Synchronization Explained".
    Good luck!
    Alejandro | Academic Program Engineer | National Instruments

  • Analog input to modulate triggered sine wave analog output

    I'm new to Labview and having trouble getting my app to program correctly.
    I would like to use an analog input (AI) to modulate the amplitude of a
    100 kHz sine wave and output the results to an AO.  This is a real
    time application: the AI will change every few 10's of ms so during one
    "cycle" the amplitude will be modulated many times. Plus, the entire AO
    will be triggered on and off with a digital input TTL trigger. The
    waveform "cycle" will run continuously and so will the AI.
        I've used an example included with Labview to read
    the AI and a separate one to generate the sine wave and trigger it on
    and off, but cannot combine the two together. I assume what I need to
    do is implement a loop properly but when I try I can only trigger the
    AO on and off and the AI does nothing or is static. I assume that the
    vi just takes one point from the AI and uses that to determine the
    amplitude of the sine wave, but doesn't "redraw" the sine fast enough
    to respond to the AI changes.
    Thanks,
    Ethan

    Hal,
    I do not think I have Labview Realtime (unless it comes standard with the full version of Labview ). Do I need to have that? I have a 6251 DAQ board.
    I've enclosed my program- it has the name of the original included program in its file name so you can see that I didn't do much to change it. I made some changes today (to make it non regeneration) but now can't get the AI to read at all. And I have no idea how to modulate the sine amplitude using the AI.
    The sine wave works fine and triggers as needed. The one problem is that the sine wave doesn't end at the same point (phase) each trigger period so during the times between triggers the DC level on the AO is variable (which I do not want). Is there a way to end the sine wave at the same phase (at the zero crossing) while still triggering it with a digital input.
    Thanks,
    Ethan
    Attachments:
    ERB6-Cont Gen Voltage Wfm-Int Clk-Non Regeneration.vi ‏157 KB

  • Error -200072 using analog input with 3 PXI 6120 cards on realtime mx system

    I have just upgraded to the mx drivers for the 6120 S series boards.
    I am trying to sample 12 analog inputs at once with a pretrigger. (4 channels per board)
    The error message -200072 comes up.
    One board works fine, when I add the second board's channels the error occurs.
    Each board shows up as A,B,C respectively in MAX and in the Labview browse menu for selecting channels.
    Greg Morningstar
    Takata

    Probably the best way to do this would simply be to use the Route Signal VI to make it to where each of your boards looks at a particular line for the trigger. You can do the same thing for the clock so that they are all sampling at the same time.
    You will also want to make sure that your device is defined in MAX. Once you do that, everything should be pretty easy to implement. You might also want to look at some of the examples that show how to do RTSI. It's almost the same as you would do for a PXI system.
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

Maybe you are looking for

  • Early 2009 Mac Mini slow with Mavericks

    I bought an early 2009 Mac Mini, and it was really slow with Maverick 10.9.1 installed. I proceed to upgrade the ram to 8GB and replaced the Hard Drive with a WD 500GB Blue Drive. The system is still pegging the CPU to 98%. I am posting 2 EtreChecks.

  • Component Interface , INterface controller in WEB UI

    Hi Experts, Can anyone tell me what is a component interface, component usage , Interface controller and interface view? I am a beginner in WEB UI and is getting confused with these terms. Please help. Many Thanks, Neeraj

  • HT1212 my i pad is disabled and i've tried to use the tips on i tunes it wont work.

    my little girl was trying to play with my i pad. it had a password, so she just pressed so many attampts until it disabled. i tried to us all the tips on itunes it wont work. any ideas

  • Fixing Language Problems in iTunes/iPod

    For help with this issue, see this note: http://homepage.mac.com/thgewecke/mlingos9.html#itunes Note for host: This replaces current user tip: http://discussions.apple.com/thread.jspa?threadID=121866&tstart=15

  • Same trace,two results,why?

    //..................... trace(channelbtn[channellistnum+channelshownum]);//line1 programtween_y.onMotionStopped = function(){ trace(channelbtn[channellistnum+channelshownum]);//line2 //line1,trace right result,but line2 trace undefined,why??? "channe