Acquisition of data using the single cycle timed loop in labview fpga (7833R target)

Hi all

I want to acquire data of input analog of a generator using the loop of the timed cycle and DMA FIFO funtion. I want to use the acquired data to act as a process for my PID control variable. Can the attached code perform the goal? I'm skeptical about its features. Advice or suggestions please.

Kind regards

Opuk

The SCTL does nothing for you here.  Just remove it and write directly from your analog read the DMA write.

And on the side of the host, you must move the Run method for before the loop.

You should also consider to the PID in the FPGA.  PIDs work best in a deterministic environment, and you get more deterministic than on an FPGA.

Tags: NI Software

Similar Questions

  • FPGA 2012 training: exercise fails '4-Wire Protocol' 7-2: not supported in single-cycle Timed loop

    I work through the training courses OR 2012-FPGA with Labview 2014 SP1. I find the solution provided to exercise 7-2 called '4 son Protocol.lvproj' does not work.  He is unable to run with the message "LabVIEW FPGA has reported the following error: item (s) not supported in single-cycle timed loop.»

    Should it? I thought that the examples in the solutions folder were supposed to work such as provided. What needs to be fixed for this work?  Thanks for any help.

    Hello jbeale1,

    It is a known problem. Here is the comment of NEITHER:

    ---------------

    Exercise no. 7-2: 4 - Wire Protocol [Allen Hsu 2013.8.19]

    • Description of the problem: exercise 7-2 uses a sine wave generator inside a SCTL VI. In 2012, LV, this VI is not supported in the SCTL, but LV 2012 will allow you to use mode 'simulation' (run on the dev machine). However, LabVIEW 2013 not even lets you use this VI in "simulation" mode If you run the VI with the sinusoidal generator inside a SCTL VI, LabVIEW 2013 gives you a "or objects not supported in single-cycle timed loop.
    • Solution: If the students use LabVIEW 2013, you must tell the students to replace the sinusoidal generator inside the SCTL pre-built exercise VI VI with a Square Wave generator VI with the option "inside the SCTL" enabled in its configuration window, as shown below:
      --------------

    To replace the "sine wave generator" right-click on it and select the 'Square Wave Generator'. Then you have to double click on the "Square Wave Generator" and select "inside the only cycle timed Loop". You should then be able to run the example.

  • Acquisition of data using the DAQ card

    Hello everyone

    I need assistance with the acquisition of data of the generator of signals through DAQ cards. I plugged the signal to the SCB-68 generator where the analog inputs of the generator are connected to AI CH5 and AIGRND of the Terminal Board. Then the output of the block is connected to the DAQ card. The maximum sampling frequency of the card is of 250 kech. / s. The problem is for reason that I am not able to see the waveform on the labview. I looked at other examples to find the problem, I am, but I am not able to understand this. I want to be able to choose the sampling frequency. I attatched my code as an attatchment for you all to help me know what the problem is. Any suggestions will be appreciated.

    There is no task!  You have not specified any hardware (i.e. your data acquisition card) anywhere.

    Here's a suggestion.  MAX aperture.  Find your DAQ hardware.  Open a Test Panel.  Implement a continuous sample of N Points to some sampling rate.  Press Run and convince yourself that you get the data.

    Now, while remaining in MAX, to create a task, using the same settings.  Call for example something sensible ("MyFirstDAQTask" is not a good reputation).

    Now, go back to your code.  Eliminate the first two functions DAQmx.  Wire a constant task to the DAQmx Start feature.  See the little triangle down?  Click it, and it should show you the tasks he 'sees', the only one should be the task that you created in MAX.

    Note that 'Samples Visible' is now 'hard coded' in the task.  To get its value back out, you need to put a property node Timing DAQmx after the task start and pull on the quantity of the sample, samples per channel (which, for reasons that escape me, is a Dbl, you need to convert to an I32 before importing it into the while loop).

    Bob Schor

    P.S. Thank you to join your code.

  • standalone application for the acquisition of data using the NI DAQ card

    I did a stand-alone application in labview GUI for data acquisition and processing of the signal. If I have to run this application in any other computer which should be all installed software other than the labview runtime engine... CD DEVICE DRIVERS OR alone must be installed or do I have to install any other software of data acquisition using the data acquisition card OR?

    Thanks and greetings

    You need only the racing of the engine, the device for the device drivers, maybe need pilots VISA if you make serial or something of this nature, you may need the channels or tasks created in the measures OR and automation if you created the it.

    There may be other things you'll need depending on what you include in your code and what tool kits that you have installed.

  • Use two assistants for the acquisition of data at the same time

    Hello

    I want to read multiple data channels of analog inputs on my DAQ hardware. However, when I try to create two separate data acquisition assistants for each entry, it gives an error saying "is reserved for the specified resource. The operation could not be performed as indicated "." Can't use two assistants for the acquisition of data at the same time?

    I have to add different channels in the same assistant DAQ? I tried, but I couldn't separate the data in different graphs.

    How does this work?

    Kind regards

    Allard

    You can't have multiple tasks of the same type (in this case inputs analog) on the same device.  Just so having 1 DAQ Assistant read all your channels and separate your channels for individual transformation.

  • Issue while loading data using the file Rules Essbase

    Hi all

    I am facing problem while loading data using the Rules file. In the rules file, I rejected several members in two areas (two dimensions). Now if I load the data using the rules file I'm getting errors for all members in the dataload.err file. If I reject mutiple members of a single field, the data load without settling errors in the dataload.err file.

    I want to know how rmany members of several fields of ejection for loading data using the file Rules Essbase? Is it possible?

    Okay, okay... I think that you must assign Global Select / reject Boolean in the parameters of loading data as 'Or':

  • HPLJ printer M6 - model M605n: need the date of the life cycle (or em) for M6 Printer HPLJ - model M605n

    Hello

    I need the date of the life cycle (or end of Support) to HPLJ printer M6 - model M605n.

    Where is the best location / # to find the dates of the cycle of life for HP products?

    Hello

    You can contact HP for the info.

    Best regards

    Mike G

  • Receiving data using the device RFCOMM Protocol activate bluetooth

    Hi all

    I want to apply that receive the data of bluetooth device using the RFCOMM Protocol.

    I'm pasting some of my code

    Server StreamConnectionNotifier = null, Server1 = null, server2 = null;

    Hi all

    Can some body having any idea or sample code to receive data using the for Bluetooth RFCOMM Protocol. I am able to find a device to activate bluetooth and also connect with it.

    And ther eis a problem plus I only magnified device does not form some sort of link (link Url SPP, OPP Url link, etc.) for bluetooth.

    But I can verify that this device is correct because I am able to receive data from this device to my computer by checking the connection port and to open this port.

  • Structure of the event in timed loop

    Quick question on the structures of timed loops\event

    What is a good or a bad idea to use structures of event call loops - as opposed to while loops. ?  I guess I like the idea of call loops - because you can prioritize them - so if there are some important things you need priority of 100% in the background - but for the user interface, you can configure it to run slower\or run to a different priority level.

    I just wanted to check it is not a reason why I shouldn't do that - since all the examples don't do that.

    JP

    I don't think it's a good idea. Your timed loop can stop waiting for an event. There is no advantage of placing the structure of the event in a timed loop. It is possible to assign priorities to other objects outside of the call loops. For example, you can the priorities given to subVIs. I'm reasonably sure that the structure of the event can work at other priorities if you do not the activities of the user interface. Maybe someone of NOR can confirm this.

    But the goal of a timed loop is to have a deterministic periodic job. The structure of the event must be used for asynchronous events. The two disagree with them if they are in the same spot.

  • Writing data to extend the acquisition of data for the sampling rate high file

    These are the tasks that I have to do to take noise measurements:

    (1) take continuous data to USB 6281 Office, in a sample of 500 k (50 k samples at a time) rate.

    (2) save data continuously for 3 to 6 hours in any file (any format is OK but I need to save in a series of files rather than the single file). I want to start writing again file after every 2 min.

    I enclose my VI and pictures of my setup of the task. I can measure and write data to the file continuously for 15 minutes. After that, I see these errors:

    (1) acquisition of equipment can't keep up with the software (something like that, also with a proposal to increase the size of the buffer...)

    (2) memory is full.

    Please help make my VI effective and correct. I suggest to remove him "write in the action file" loop of consumption because it takes a long time to open and close a file in a loop. You can suggest me to open the file outside the loop and write inside the loop. But I want to save my data in the new file, after every 2 min or some samples. If this can be done efficiently without using Scripture in the measurement file then please let me know.

    Thank you in advance.

    This example here is for a single file and a channel, you should be able to loop over that automatically. The background commentary should be the name of the channel, no group namede the name of the channel in the control.

  • Calendar for the acquisition of data on the USB-6212

    I am putting together a sound teaching laboratory.  The basic idea is to send a pulse signal that powers a speaker, and then the acoustic signal travels down a waveguide where it is measured with a microphone and sent to a data acquisition.  One of the important things here is that it is possible to measure the time of propagation of sound waves, so I need for data collection to occur at a time determined with reference to the sound output pulse.  I tried with a sound card, but there are number of milliseconds of random jitter between the writing and the reading of the sound card.

    So, I was watching the USB-6212.  On paper it seems ideal: 2 outputs and lots of inputs.  What I understand, it is possible to trigger analog outputs and data entered so that there is no jitter synchronization between them.  The only question is this: I was thinking about using 2 analog inputs: a reference which collects through a microphone/speaker system to serve a normalization to the second chain that collects through waveguide (see diagram).  The thing is that I need the "timing" on the 2 analog to be consistent and a jitter free so that it is possible to compare the phase of the signals that I collect.  This will be possible using this data acquisition system, given that the ADC is multiplexed between the channels?  There will be a delay between channels 2 and if so it will be known and deterministic?

    Thanks for your help...

    Ben

    Hi Ben,

    Cool application!  To answer your question-Yes, there is a delay, and it is deterministic. Something to note about the 6212 is that your rate of multiplexing will be determined by the clock to convert.  The clock to convert will operate at the faster pace of the device more 10us *.  In the case of the 6212, with Max sampling rate of 400kS/s (aggregation), your pulse will produce each ((1/400,000) 12.5us + 10).

    * 12.5us converts to 80 kHz, so at that point there, convert clock it simply runs at 1 /(aggregate rate). So to sum this up:

    From 0 to 80 kHz: there is a lag multiplexing 12.5us

    From 80 to 400: there is a shift of /(aggregate rate) 1

    In addition, you can also set this rate through the DAQmx driver.  "You can just use a property DAQmx Timing node' more' converted ' rate (or rate Maximum to determine the max).

    If it's a problem, I advise to use a device with simultaneous sampling - let me know if you have any other questions.  Take care!

  • Acquisition of data using C++ and cRIO-9066

    Hello!

    I want to write a C++ application that would make the acquisition of data from modules installed in the cRIO-9066 chassis and this application should work without LabView. How can I do? This chassis connect to my PC using NI-DAQmx? Is this possible?

    Hi aanodin,

    When you use a device that uses our architecture of RIO, it is usually best to use LabVIEW to develop your application. In this way, you can also program the FPGA with LabVIEW FPGA module and makes programming much easier real-time processor. In fact, your model of cRIO is officially supported by our LabVIEW programming language, as seen on page 4 of the Manual: (http://www.ni.com/pdf/manuals/376186a.pdf).

    Due to the FPGA interface, you cannot use DAQmx with cRIO. I hope this helps.

  • Advice on the acquisition of trigger using the bridge of strain cRIO module

    Hi all! I quote a project of collecting the values of a single lane of a constraint NOR-9236 bridge module. I need to view and draw a large number of curves over time, and I'll try to find the best way to trigger the acquisition. It is the first project of LV RT that I've been involved with, I'm looking for a bit of general advice as well.

    Basically, I need to acquire 500 samples at 1 kHz, and I need to know if there are special considerations that I'm on. Specifically, I'll need a DIO module? It is an application quite simple (to my knowledge, anyway), but I would prefer something a little more predictable and controllable timed a trigger.

    Thanks and let me know if I have omitted important information.

    No worries, the statements above seem reasonable. It will be largely a matter of this application in the code that you write. It fell well within the capabilities of this system. Good luck!

  • Use the control of timing DAQmx as input in case statement

    Hello

    I'm building a VI aquire sampled under tension of a sensor in continuous mode or finished.  I was going to do this, use a box with a cable of the sample mode of the VI DAQmx calendar entry to the terminal State, the idea being that I couldn't aeither a while looping the case for continuous or simple acquisition according to the setting of this command.

    However, instead of the sample mode provided for in the case of the case statement, I just get 1 and 0.

    It's a good way to achieve this, and if so how can I get my case structure working properly?

    Thank you

    Dave

    Hi Dave,.

    Apologies - I consider that the error is from the data acquisition function? I forgot that she was using the sample entry mode.

    Perhaps, then, it will be preferable to continue using the control of the ring - cases will be numbered and will correspond to the numeric value of the selection of the ring (i.e. finite samples = 0). I have attached a small example if we know not.

    Moreover, the structure of the case cannot automatically fill for each case, in which case you can right click on the structure of the case-> add the case after.

    Best regards

  • Syncronize to acquisition of data with the generation of signals

    Hello everyone,

    My request is generate pulses on the output of two different to drive two LEDs and acquire detected pulse signal amplified photodiode.

    Actually pulses are generated by starting the writing on the analog output, and then start the acquisition (I need 200ms on average), stop the acquisition, turn off the driving LED and develop the acquisition and record the results.

    All this in a cycle it takes about 1.5 seconds to run.

    Next step would be to drive the outputs with a waveform (duty cycle of 50% of width of 250 ms) and acquire the signal of the photodiode in synchronization with the edge of the pulse.

    I tried to use the trigger function, but the examples are not clear on how to do it.

    I use NI 9205 or 9215 to acquire signals.

    Is there a particular entry to be used as a trigger?

    Thank you very much for your attention

    Hello

    I found that NI 9205 has inputto that one be used as trigger signal, i.e. AI0.

    At latest

    Eugenio

Maybe you are looking for