the 1900 myRIO FPGA multi channel data acquisition

Hello world

I would ask you for help in my program acquisition and generation of data. The main task of this program is to measure 4-channel adjustable sampling rate (2 kHz and less) and to generate an analogue signal in up to 50 kHz sampling frequency.

I created two loops and everyone is dedicated to different operation. The first loop is to measure data, or in writing to the DMA FIFO and the second loop is dedicated to the generation of signals. I adjust the main parametrs of the two loops in a host of vi.

But what is my problem. I compile the program in the FPGA of myRIO without any problems and I can run too but the problem is that sometimes, especially when I adjust the lower sampling frequency of the loop to measure to the rank of channel changes measured and I see that the signal that is connected to osciloskop AI0 channel on channel AI3. When I stop the program, set the higger sampling frequency and run it again, it works well and the signal is on the right channel. Could someone help me with this problem? I tried to check all the forums that I know, but I did find an article or a discussion of a similar problem.

Thanks a lot... :-)

Andrew,

I just solved the problem. I thought about it again and I got the idea to change the size of the DMA buffer on the side of myRIO. I expanded the buffer of 1023 elements in 2047 and it works well and I can change the sampling without problems.

Tags: NI Software

Similar Questions

  • USB multi channel data acquisition

    I use the VI to arduino HC-06 bluettoth of data acquisition. I would like to acquire data multicahnnel

    Could you suggest me how to acquire multichannel data from USB? To do this, how I have to program the arduino?

    The crux of your property doesn't do anything since you not write anything.

    Why you set the number of bytes to read at 8? You send more than that. You should be able to set it to a high number, such as 1000. Why do you use a dbl for this control?

  • multi channels data acquisition, a single frequency, counter a pulse, two voltage inputs, a power meter (by USB) and an analog output spontaneous and recording

    Hello

    I have a power meter which provide the USB driver and a Labview program to get the data and NI USB-6221. The project I am currently working on the needs of:

    1 acquire two signals (inputs of simple tension), pressure frequency KHz

    2. acquire a flow signal, the output signal is 0 to 5V pulse, each pulse means 0.4 ml volume. So I use a voltage inflows to count impulses in certain period of time (in this case, 1 S) for water flow. ; KHz sampling frequency and the 1 Hz update rate

    3. acquire a signal of engine speed. The output signal is pulse square wave whose frequency is related to the speed. I use a REIT port to measure the frequency. Sampling rate: Auto

    4 give output voltage sine or square wave, I use AO do that.output rate: Auto

    5 acquiring by VISA electricity meter data.  Data update rate: every 50ms

    Currently, all the 5 tasks work well separately. But when I put them together, some signals are beginning to hang, for example, pressure signals sometimes give nothing.

    Another problem is the data record. I programmed the VI in such a way that whenever I press the button 'save start', he begins to record data and save them in a .cvs file. For some reason, I always get only the data in the first table. Coult someone help me? I download my code as follows

    Hello

    What I meant by open, write, close.  For any type of file you are using.

    Open the file, which produces a reference, then put the mention in a registry to offset.

    Write data, using the function write (for this type of file) and the reference.

    When you are finished, close the file reference.

    Writing in the spreadsheet opens, written, close all at once.  It is very good for this type of application.

    ***

    The issue of the loop is more general.  I would like to say first of all, I want to say that since each loop works on its own, it is own VI, and that this program has put all this into a single VI, which has a method to solve the problem is to disable all the loops and allow them one at a time to see if there is a culprit responsible for.

    Using multiple loops executes the code at the same time, and some loops would be cycle faster than others, especially if some of them are loops just as they are.

    Communication between the loops is a test to the address if necessary.

    Running all these signals through different loops DAQ must also be examined.  Don't know what questions are for read and write somewhat randomly in the channels.

  • What is the difference between the external SCSI cables and cables data acquisition

    Hi all, I would like to make a simple extension using an external SCSI cable and a NOR 184749/SH 6868. In other words, it would be: female HD68 bolt of the cable ends OR coupled to an external SCSI HD 68 male with a VHDCI 68 male cable. What are the differences between the external SCSI cables and cables as the (M) 6868EP of the CHS data acquisition. Other than the sex of the end of HD68 is usually on one. How is the posting hit buy using an external SCSI cable for an extension to tell a BNC-2090?

    Yes, I realize that NEITHER wants us to buy their cable, but in these economic times difficult, to do use all available resources, so I have to try,.

    Thank you

    joelowwatt

    Hello

    As long as you have compatible connectors, SCSI cables will work DAQ of basic functions.  They have the advantage of NO cables is that we can meet our DAQ hardware.  So, we can create pairs twisted differential pairs to HAVE, using the ground for shielding terminals and generally specialize the cable to minimize noise and crosstalk.  Because the SCSI cables are not specialized, you are likely to see the most noise and, if you go the sampling rates more Rapids, crosstalk.  If you are in a laboratory or factory with a good amount of noise EMF that your readings are not quite as clean, or if you have fluorescent lights you might see 60 Hz noise you might not see otherwise.

    If you want more details on the specifications of the SH68-68-EPM cable, I recommend these two articles.  The first example of the twisted pair and the principles of the SH cable shielding and the second gives the most precise specifications that you can compare with when looking for a SCSI cable.

    3GRD4C33 Knowledge Base: mapping list of the sons of SHC68-68-EPM & SH68-68-EPM cable

    1TGEHPDM knowledge base: detailed specifications for the SH68-68-EP cable

    Kind regards

  • How to synchronize the analog input and the output of two different USB data acquisition boards

    Hi all

    I have two tips very different USB NI USB 6008 case, which I use to acquire the data (analog input) and a USB of NI 9263 is a output analog only site I use to route a signal (in this case a square pulse). The reason why I use the outputs analog 6008 is because I need to deliver negative tension and need the full +/-10 v range.

    Looking at similar positions, I'm pretty sure that I can't use an external trigger or a common clock, I also tried to use the timed synchronization of the structures but no cigar.

    I'm including a quick vi I whipped showing how the jitters because of the lack of synchronization signal. The OD of the 9263 connects to AI in the 6008 in this example.

    I talked to a specialist in the phone and tols me that's not possible.

  • FPGA interface of data acquisition

    I have a repetitive loop in a PXI-7813R producing reasons. The output of the PXI-7813R is TTL, but I need 0-15V levels. In the same PXI chassis, I have a DAQ (PXI-6528) hardware that can handle the voltage levels. The question is, can I somehow link the the 6528 7813R patterns using PXI backplane and leave this market while I wear the use of PXI rack for other functions?

    Thank you

    Andy Quick

    The problem with the PXI-6528, is that it is software programmed.  Which means trigger won't help you here.

    What you need to do is to do some work of material.  You can have the PXI-7813R output profiles and drive an opto-coupler or FET circuit to change the level of voltage of 15V.  Or maybe there is there a digital stamp which can output 15V for you.

  • DAQmx data acquisition with persistent error of nyquist

    Hi, I created a multi channel data acquisition vi (accelerometer 2 and 1 sound pressure) using models for producer.   The vi is attached. Thanks to labview 2011.  I get the error of nyquist (2 enclosed) when you make a bandpass filter between 50 to 5000Hz.  This happens despite having put my sampling rate to 22050Hz.  When I checked the output of wave I noticed that the signal has a dt 1 s.  The text output to check the result.  I could not understand how this is so since I had set the sample rate to 22 k Hz.  Any help will be much appreciated.  Thank you.

    I would do something like that.  You must calculate the dt of the set (with the recipricol) sampling frequency and use to initialize the shift registers.  This way you only need to change 1 constant if you need to change your sample rate.

  • measure the angular speed, angle and trigger using a gyroscopic sensor breakout board and LabView data acquisition

    How to measure the angular velocity, the angle and trigger using a gyroscopic sensor breakout board and LabView data acquisition?

    There is a single channel data acquisition code which measures the angular velocity, angle and flexibility using a gyroscopic sensor breakout board and acquisition of LabView data attached to this, I need a help to creat two-channel data acquisition code?

    Hello

    Attached is a vi that you can use in order to read the measured angular position of an encoder.

    If you need more examples on the tasks that you can develop with NOR-DAQmx and LabVIEW, you just need to open LabVIEW and click Help > find examples > Input and Output material > DAQmx > entry counter.

    Kind regards

  • Trouble when using the FPGA to record data on PDM

    Hello world

    I encounter something strange with the use of FPGAS to save data to the disk. I use 4 channels and allows saving data PDM. I use 4 different graphs to observe each channel and no bad thing. But when I check the data stored in PDM, they are not saved in the order that they are supposed to be. Each column in the PDM should represent 1 signla of a channel, but the result shows that the data seems to fill a single column, then another. I do not understand how it becomes like this. I have attached a few photos for your information.

    The data of the FIFO.read must be 1 d table, right? So when it passes through the form 'table' in my VI, it should become a 2D of the 4 column table. Each column represents the data for each channel. I don't see any problem with this Vi. Why PDM data are not saved in the right direction?

    Thank you

    In my opinion, that you simply return your dimension sizes.  The number of rows should be 500 and your number of columns must be 4.

  • choice of the model of design for data acquisition system

    Hi all

    I have a problem on the selection of the model design / architecture for a data acquisition system.

    Here are the details of the desired system:

    There are data acquisition hardware and I need to use by looking at the settings on the user interface.

    the period of data acquisition, channel list to analyze must be selected on the user interface. In addition, there are many interactions with the user interface. for example if the user selects a channel to add scanlist, I need to activate and make it visible to others on the user interface.

    When the user completes the channel selection, then he will press the button to start the data acquisition. Then, I also need to show the values scanned on a graph in real time and save them in a txt file.

    I know that I can not use producer consumer model here. because the data acquisition loop should wait for the settings to scan channels. and it works on a given period by the user. If the loop of user interface makes higher then loop (loop data acquisition) of consumption. This means that queue will be bigger, larger. If I use notifier this will be some data loss comes from the user interface.

    y at - it an idea about it? is there any model of design suitable for this case?

    Thanks in advance

    Best regards

    Veli BAYAR

    Software for embedded systems and hardware engineer

    Veli,

    I recommend the model producer/consumer with some modifications.

    You might need three loops.  I can't tell for sure from your brief description.

    The loop of the User Interface responds to the user for configuration entries and start/stop of acquisition.  The parameters and commands are passed to the Data Acquisition loop via a queue. In this loop is a machine States that slowed, Configuration, Acquisition and stop States (and perhaps others). The data is sent to the processing loop through another line. The processing loop performs any data processing, displays the data from the user, and records to file. A registrant can be used to send the Stop command or stop the loop of the UI for other loops.  If the amount of treatment is minimal and the time of writing files are not too long, the functions of processing loop might be able to happen in the case of the UI loop timeout structure of the event.  This makes things a little easier, but is not as flexible when changes need to be made.

    I'm not sure that there is a type of design for this exact configuration, but it is essentially a combination of the models Design of producer/consumer (data) and producer/consumer (events).

    Lynn

  • Executable doesn't detect data acquisition

    Hello LabVIEW community,

    I created an executable file to run on a computer that has no LabVIEW. I installed the hardware drivers on this computer (my DAQ hardware is "installed and ready to use" and detected by the computer on the plug-in). The problem is that when I run the file .exe, all my channels DAQ read just 0. The code behaves as if data acquisition is not connected or is not recognized.

    I tried the same executable on the computer where the .exe is created, and the signals are well displayed.

    Is there something special that needs to be made during the creation of executables, to ensure data acquisition channels are detected on all computers? It is perhaps a matter of configuration by computer?

    Thank you in advance for your help!

    If you use DAQmx tasks or channels defined in MAX, then you must export your configuration of MAX to the target computer as well.  Your Installer can be put in place to manage the import of MAX settings during installation on the target computer.

    You should also follow the advice of crows and make sure that you implement the error handling.

  • motion control for vertical actuator and data acquisition

    Hello

    I am a researcher (a branch of civil engineering) geotechnical engineering and I have very little knowledge about the acquisition of control and data motion, so would need a lot of help from the experts OR. I have only knowledge base on these 2 aspects based on my reading of some materials on the Web site of NOR and youtube videos, so I hope that you bare with me . Here are my questions:

    I am trying to build an actuator which will be used to push a probe (a penetrometer with a load cell to measure the resistance of a soil sample), resembling the concept, photography in the attached file. I need to have these criteria for my system:

    (1) actuator, which can push the probe at speeds between 0.01 mm/s - 300 mm/s with precision and move the probe cyclically (upwards and downwards) in the vertical direction
    (2) load expected on the probe into the ground range: 0.02kN - 6 kN.
    (3) necessary to get the load cell load data and the speed of the probe.

    4) able to control the actuator to a PC (speed and posotion) and monitor data from transducers and data log time even the transducers.

    Guess my beginners is that I will need:

    For orders:
    (1) software - LabVIEW and NOR-motion assistant

    (2) controller - NI PCI-7342

    (3) driver/amplifier - analogue servo AKD Drive

    (4) motor - motor brushless servo AKM

    For the acquisition:
    (1) software - based LabVIEW development systems

    (2) amplifiers or other device - no idea what type on the conditioning of signals

    (3) data acquisition device - no idea what type

    Since I'm a beginner, is - that someone might recommend components (hardware and software) for the control and data acquisition. I'm on a tight budget, so I thankful if someone could help me to recommend components good enough to build my system.

    Thanks for your help.

    At these rates, you will need to run the sensor for the cDAQ.  You can configure the analog output on the Tritex nationally on the position.  There is an adjustable filter that you can set in order to get a clean enough to 300 Hz signal.  When you learn about the Tritex, make sure that let you them know what comms and e/s that you want to use.  If I remember, not all options have worked together.  The analog output may need to be my, but you can put a resistance through the acquisition of input data to get the voltage instead.  I don't remember all the details.  You should really not too much on the Tritex/LabVIEW side.  You will send your movement parameters (beginning of end of race, speed, position, accel, cut), and if you cycle (I believe you) or simply running in a loop.  You could also just be able to use the functions of jog.  When you get close to knowing exaclty what you need, PM me and I'm sure we can work something out with the drivers.  You need only the basics.  In fact, you could probably do this all your movements via digital and analog i/o.

  • Imaging multi channels using the acquisition card OR

    We have a 1408 IMAQ being controlled by LabVIEW 8.0.

    We want to install multi-channel of imagery. All the channels work individually. However, when I was trying to show two channels simultaneously, single channel works and I got the following error message:

    Error 1074397150 has occurred to IMAQ enter Setup.vi

    Possible reasons:

    NOR-IMAQ: A timeout error occurred while you wait for the specified event. If you expect a picture, make sure all the video data is acquired during the period. If you wait for a signal, check that the assertion of signal occurs within the period.

    Sometimes I get a different error message asking me to assign different buffers to both channels. I understand that IMAQ 1408 has only analog digital (ADC) converter to digitize the incoming video. It may acquire up to four different cameras, but only of a camera at a time.

    I don't mind do frame rate in half. I think to show only one channel at a time and do the two channels alternantly. But I need to know how config routes to get there.

    I've attached an example that should work.  I could not test it because I don't have the equipment, so it might need some settings.  I would test it with one channel by setting the channel # 1.  Once it works, define channels # 2.  I set the display to use snapshot mode so the same image can be used for all screens.

    The only reason that I can think of that would make multi-channel acquisition fail when single channel works is the lack of synchronization between signals.  The start of frame signal must be the same for all channels.

    Bruce

  • How to control several input channels analog daqmx for data acquisition trigger (all on the same SMU-6368)

    Using the SMU-6368 module, I would like to monitor the analog signal on multiple channels and trigger on several channels - relaxation and acquisition channels is all on the same device. Probably going to be sampling at 200 kHz and more. FM LV 2009 2012, with SV toolkit in Windows 7.

    If SW trigger is the only way to follow, there example code shows how to manage the block size, etc.. ?

    jkessler,

    Yes, the example was in 2012.  I didn't get what you asked for in your first post because I didn't know you wanted to ANY channel to trigger acquisition of all channels.  It is not possible at the hardware level, because you cannot specify four channels as the command source. This will be implemented in the software.  I recommend the reading of all four channels and neglecting data until you determine that one of the channels reached your threshold value.

    Kind regards

  • How to find the time between two channels of entry in the data acquisition card or pci 6036

    Hello

    I read a lot-related posts on the simultaneous measurement of two input voltage of similar channels in map data acquisition. I know that the best material is "simultaneous measurments of the Series DAQ cards" but I only pci data acquisition card 6036 and I try to understand what is the time between the reading of the two channels . This period is always constant? (must it rely on a voltage (amplitude, frequency, waveform..). I send the sine wave (s) to the two channels and read the values of V, if they read the same value, the difference should always be zero but I get-0,002 to 0.002 Volt difference (I must find a way to convert it in time). A screenshot of my VI is attached. I wonder how I can accurately measure the time delay between the channel.

    I am open to any suggestion, my final goal to read exactly two channels at the same time ((ou connaître le délai exact donc je peux correspondre les données correspondantes étant donné le temps de retard))

    Hi spinup,

    better you should post your question in the forum of LabVIEW, LabWindows/CVI is used

    Good luck.

Maybe you are looking for