DAQmx reads (or writes) in parallel and series

Is there a performance difference between putting DAQmx reads (or writes) in parallel or series?

Well said.  In addition, using series would create dependencies of data flow, so the readings could not happen at the time of the soul, where parallel would remove the dependencies.

Tags: NI Software

Similar Questions

  • error during the installation of SP3 for windows xp-"cannot read or write to database"

    I have windows xp and when I try to install sp3 I get a message saying "cannot read or write from database" and stops the installation.

    How long the machine was not installed SP3?
    (It could be infested/infected/etc.)

    In any case, what I suggest is to prepare the machine for the update...

    Chancing some repetative tasks... Maybe just do the following:

    Search for malware:

    Download, install, execute, update and perform analyses complete system with the two following applications:

    Remove anything they find. Reboot when necessary. (You can uninstall one or both when finished.)

    Search online with eSet Online Scanner.

    Do a house cleaning and the dust of this hard drive:

    You can free up disk space (will also help get rid of the things that you do not use) through the following steps:

    Windows XP should take between 4.5 and 9 GB * with * an Office suite, editing Photo software, alternative Internet browser (s), various Internet plugins and a host of other things installed.

    If you are comfortable with the stability of your system, you can delete the uninstall of patches which has installed Windows XP...
    http://www3.TELUS.NET/dandemar/spack.htm
    (Especially of interest here - #4)
    (Variant: http://www.dougknox.com/xp/utils/xp_hotfix_backup.htm )

    You can run disk - integrated into Windows XP - cleanup to erase everything except your last restore point and yet more 'free '... files cleaning

    How to use disk cleanup
    http://support.Microsoft.com/kb/310312

    You can disable hibernation if it is enabled and you do not...

    When you Hibernate your computer, Windows saves the contents of the system memory in the hiberfil.sys file. As a result, the size of the hiberfil.sys file will always be equal to the amount of physical memory in your system. If you don't use the Hibernate feature and want to reclaim the space used by Windows for the hiberfil.sys file, perform the following steps:

    -Start the Control Panel Power Options applet (go to start, settings, Control Panel, and then click Power Options).
    -Select the Hibernate tab, uncheck "Activate the hibernation", and then click OK. Although you might think otherwise, selecting never under "Hibernate" option on the power management tab does not delete the hiberfil.sys file.
    -Windows remove the "Hibernate" option on the power management tab and delete the hiberfil.sys file.

    You can control the amount of space your system restore can use...

    1. Click Start, right click my computer and then click Properties.
    2. click on the System Restore tab.
    3. highlight one of your readers (or C: If you only) and click on the button "settings".
    4 change the percentage of disk space you want to allow... I suggest moving the slider until you have about 1 GB (1024 MB or close to that...)
    5. click on OK. Then click OK again.

    You can control the amount of space used may or may not temporary Internet files...

    Empty the temporary Internet files and reduce the size, that it stores a size between 64 MB and 128 MB...

    -Open a copy of Microsoft Internet Explorer.
    -Select TOOLS - Internet Options.
    -On the general tab in the section 'Temporary Internet files', follow these steps:
    -Click on 'Delete the Cookies' (click OK)
    -Click on "Settings" and change the "amount of disk space to use: ' something between 64 MB and 128 MB. (There may be many more now.)
    -Click OK.
    -Click on 'Delete files', then select "Delete all offline content" (the box), and then click OK. (If you had a LOT, it can take 2 to 10 minutes or more).
    -Once it's done, click OK, close Internet Explorer, open Internet Explorer.

    You can use an application that scans your system for the log files and temporary files and use it to get rid of those who:

    CCleaner (free!)
    http://www.CCleaner.com/
    (just disk cleanup - do not play with the part of the registry for the moment)

    Other ways to free up space...

    SequoiaView
    http://www.win.Tue.nl/SequoiaView/

    JDiskReport
    http://www.jgoodies.com/freeware/JDiskReport/index.html

    Those who can help you discover visually where all space is used. Then, you can determine what to do.

    After that - you want to check any physical errors and fix everything for efficient access"

    CHKDSK
    How to scan your disks for errors* will take time and a reboot.

    Defragment
    How to defragment your hard drives* will take time

    Cleaning the components of update on your Windows XP computer

    Download and run the MSRT tool manually:
    http://www.Microsoft.com/security/malwareremove/default.mspx
    (Ignore the details and download the tool to download and save to your desktop, run it.)

    Reset.

    Download/install the latest program Windows installation (for your operating system):
    (Windows XP 32-bit: WindowsXP-KB942288-v3 - x 86 .exe )
    (Download and save it to your desktop, run it.)

    Reset.

    and...

    Download the latest version of Windows Update (x 86) agent here:
    http://go.Microsoft.com/fwlink/?LinkId=91237
    ... and save it to the root of your C:\ drive. After you register on theroot of the C:\ drive, follow these steps:

    Close all Internet Explorer Windows and other applications.

    AutoScan--> RUN and type:
    %SystemDrive%\windowsupdateagent30-x86.exe /WUFORCE
    --> Click OK.

    (If asked, select 'Run'). --> Click on NEXT--> select 'I agree' and click NEXT--> where he completed the installation, click "Finish"...

    Reset.

    Now reset your Windows with this FixIt components update (you * SHOULD * use the aggressive version):
    How to reset the Windows Update components?

    Reset.

    Download here all the SP3 Setup file: Windows XP Service Pack 3 Package of Network Installation for developers and information technology professionals and save it to the Office of the administrator of the user account on the computer in question.

    Reset.

    Double-click the installation file downloaded in step above and follow the instructions.

  • global variable functional to read and write data from and to the parallel loops

    Hello!

    Here is the following situation: I have 3 parallel while loops. I have the fire at the same time. The first loop reads the data from GPIB instruments. Second readers PID powered analog output card (software waveform static timed, cc. Update 3 seconds interval) with DAQmx features. The third argument stores the data in the case of certain conditions to the PDM file.

    I create a functional global variable (FGV) with write and read options containing the measured data (30 double CC in cluster). So when I get a new reading of the GPIB loop, I put the new values in the FGV.

    In parallel loops, I read the FGV when necessary. I know that, I just create a race condition, because when one of the loops reads or writes data in the FGV, no other loops can access, while they hold their race until the loop of winner completed his reading or writing on it.

    In my case, it is not a problem of losing data measured, and also a few short drapes in some loops are okey. (data measured, including the temperature values, used in the loop of PID and the loop to save file, the system also has constants for a significant period, is not a problem if the PID loop reads sometimes on values previous to the FGV in case if he won the race)

    What is a "barbarian way" to make such a code? (later, I want to give a good GUI to my code, so probably I would have to use some sort of event management,...)

    If you recommend something more elegant, please give me some links where I can learn more.

    I started to read and learn to try to expand my little knowledge in LabView, but to me, it seems I can find examples really pro and documents (http://expressionflow.com/2007/10/01/labview-queued-state-machine-architecture/ , http://forums.ni.com/t5/LabVIEW/Community-Nugget-2009-03-13-An-Event-based-messageing-framework/m-p/... ) and really simple, but not in the "middle range". This forum and other sources of NEITHER are really good, but I want to swim in a huge "info-ocean", without guidance...

    I'm after course 1 Core and Core 2, do you know that some free educational material that is based on these? (to say something 'intermediary'...)

    Thank you very much!

    I would use queues instead of a FGV in this particular case.

    A driving force that would provide a signal saying that the data is ready, you can change your FGV readme...  And maybe have an array of clusters to hold values more waiting to be read, etc...  Things get complicated...

    A queue however will do nicely.  You may have an understanding of producer/consumer.  You will need to do maybe not this 3rd loop.  If install you a state machine, which has (among other States): wait for the data (that is where the queue is read), writing to a file, disk PID.

    Your state of inactivity would be the "waiting for data".

    The PID is dependent on the data?  Otherwise it must operate its own, and Yes, you may have a loop for it.  Should run at a different rate from the loop reading data, you may have a different queue or other means for transmitting data to this loop.

    Another tip would be to define the State of PID as the default state and check for new data at regular intervals, thus reducing to 2 loops (producer / consumer).  The new data would be shared on the wires using a shift register.

    There are many tricks.  However, I would not recommend using a basic FGV as your solution.  An Action Engine, would be okay if it includes a mechanism to flag what data has been read (ie index, etc) or once the data has been read, it is deleted from the AE. 

    There are many ways to implement a solution, you just have to pick the right one that will avoid loosing data.

  • USB6363 DAQmx (reading and writing) calendar seems slower than other similar USB DAQ devices

    Hey people,

    I have currently a service waiting number with OR the subject, but I thought I'd post up incase anyone has ever dealt with a similar question pertaining to USB DAQ hardware.

    Try to understand why there is a difference of synchronization between the 6363 USB and some of the other less expensive USB devices like the 6525 or 6501.

    It's a watered the actual code that my team has noticed this difference in the simplified version.  The actual code is a reading analog daqmx (it's triggered hw, so we begin the task of analog playback, trigger, wait the time we acquire to and then run reading daqmx. who takes 6 ms to read a single 50 values of the buffer).

    Thank you

    -Pat

    Hi Pat,

    Try benchmarking of HAVE it read that way (with the wait timed by the software, it seems to me that the task is probably not yet made to the time you want to read - I guess that the question is relative between the event of the task performed and all the data is available in the DAQmx buffer, I don't have a series of X USB to see) :

    Try benchmarking your writing clocked by the software in this way (there no reason to include the check/reserve/validation/start sequence in your writing of reference when the task can easily be launched during initialization of your program):

    On my PCIe X Series as the two cases take< 1="">

    Best regards

  • Repeat the Scans with DAQmx read/write

    Hello:

    I use DAQmx vi to generate signals on channels ao0/1 a reading of the signals of the channels ai0/1 a card NI USB DAQ of 6251. I do this by using the read and write of vi and a trigger vi. This vi will run successfully for a single analysis. Now, I need to be able to perform multiple scans with the same settings but separated by 5 seconds or more. When I click on Scan, the vi analysis. However, when I click scan again once it does nothing and I don't know how to scan again.

    The vi VU RAMP MOD (not included) is simply used to generate the shape of the signal.

    Thank you!


  • analog parallel DAQmx reads at different rates of acquisition

    I'm running two 9172 chassis with a total of 11 modules. I have two 9217 modules for reading RTDs and a 9205 for sensors of reading level. I've set up three spots, one for each module.
    If I do a task sheet and place DAQmx Read in a loop, I can read all the data without problem, but the three tasks take 4.59 seconds per iteration (reading the RTD is seems to be slower). I need to update the level readings more Rapids, but if I do two parallel loops, try to read the RTD in a loop (two tasks) and the level in its own loop sensors I get an error that the resource is not available - apparently only one instance of DAQmx Read can be called both.
    Is there a work around for this?

    thanx
    lmd2

    Larry,

    Your problems are all related to the task that is described in the manual DAQmx State model.  Each 9172 chassis can have 1 HAVE task that runs at a given time.  If you try to start a second task, you will get an error.  When you use the loop FOR your code is starting and collapses of each task in order that takes a lot of time and explains the 4.59 seconds.  Ideal for config and start tasks in an init State and then begins to acquire data.  The only thing left to do is to release the input/output by stopping and disabling tasks when you did.

    One way to solve this problem would be to install two RTD modules in a single chassis and all 9205 modules in other chassis.  Another way would be to oversample of RTD and process the additional data later.

  • How to bothAnalog DBL and Analog 2D 1 d DAQmx read.vi wfm

    Hello

    I use Labview2010 and NIUSB6009 for aquairing data. I need to have two Analog1D waveforms and

    Analog DBl DAQmx Read.vi 2D. I do continuous sampling.

    no idea how to get both types of DAQmx Read.vi?

    Thank you

    If you get the data from one channel at a time, then you will probably get table 1 d of waveform. If you want to acquire data from multiple channels at the same time then you should get 2D table contains all the information channels.

    If I'm right, you can't get both types of data (1 d and 2D) DAQmx playback function. I did not hear that. That's all what I can expect.

  • Whenever I insert a USB in my PC is not autoplay, I do not have available to all group policy, and I can't read or write CD/DVD

    Original title: "Autoplay, group policy and CD/DVD"

    Hello

    I have two questions actually worry,

    First of all, I have Windows Vista Home Premium Service Pack 1 installed on my PC

    My first problem is that whenver I insert a USB in my PC it doesn't autoplay and the option is not available at all even when I get clich the drive itself, I went Microsoft support and installed security update 950582 and still no hope. I also can't find the NoDriveAutoRun or NoDriveTypeAutoRun in the registry because I don't have the key explore in both policies.

    In addition, I have not available to all group policy.

    My second question is that I can't read or write CD/DVD even if I have the driver installed, I tried the DVD Microsoft repair but it shows that the repair failed.

    Thanks in advance and hope to receive a solution soon.

    SAS ING.

    Hi Sas Eng,

    There are a few solutions to the question of automatic playback on the following link:

    http://Windows.Microsoft.com/en-us/Windows-Vista/Troubleshoot-AutoPlay-problems

    And if the solutions provided for the DVD ROM Lorien did not help, as you say, it is probably a hardware fault.

    Try the steps are on the link and let me know if it helps!

    Cody C
    Microsoft Answers Support Engineer
    Visit our Microsoft answers feedback Forum and let us know what you think.

  • DAQmx read - the values on the scale or not? Binary conversion.

    Hey everybody,

    I had a question regarding making the scale and the release of Renault. I use LabVIEW 2009 SP1, with a pilot DAQmx 9.0.2 and a X-Series card. I'm reading the data my DAQ and store it in a binary file.

    How is the acquisition of data read samples, in General? that is if I select NSamp NChan I16 2D Analog on my DAQmx Read, what kind of values can I expect if I was at the exit of the probe data? (Suppose I have readings in mV values and my overall fork's 04:55 V.) When he wrote in the binary file, what happens, what can I expect to see in terms of values - or maybe just descriptively?

    Overall, a little insight would be very helpful. I tried to troubleshoot asymmetric readings I received, so this will help me immensely.

    Thank you.

    Hi Matt87,

    Reading data as I16 will return the result adjusted, not calibrated for 16-bit ADC.

    If you want to write your own binaries, you'll want to include scaling of device - for series X, coefficients a 3rd order polynomial.

    Here are two examples that show how write to a binary file and read the data back.  In this example, scaling coefficients are stored in the file header:

    Continuous gain and voltage drop (binary) chart

    Graph of the acquired binary data

    That said, I would recommend that you look in the record feature integrated TDMS introduced in DAQmx 9.0.  The result is a file appropriate binary .tdms which is a standard format that can be opened in LabVIEW or in several other programs with the plugin.  See the following examples for how to use the function:

    Streaming data and log to the PDM file

    Continuously to log in a PDM file data

    The second example does not force you to read the data in the memory of LabVIEW and use the minimum CPU.  The first example allows you to see the data that is acquired.

    Best regards

  • Why is the DAQmx Read VI so slow?

    Hello everyone.

    I'm using Labview 8.5.1. and NI-DAQmx 8.6 and I wonder what is actually done the DAQmx Read VI.

    I want to measure is a signal of 1 kHz. To do this, I use a similar to the attached VI (a pulse signal of 1 kHz is used to trigger and sample clock).

    Time the DAQmx Read VI must perform is longer than the acquisition time you would expect 250ms (rather 100ms to measure 100 samples at 1 kHz, time is usually around 350 ms, 1000 samples is ~ 1250 ms). The time depends not on the number of channels in the task.

    So my question is what happens when the reading DAQmx VI is called. What I want is: wait next trigger signal, and then acquire the number specified samples, then read buffers samples and return them. Is it possible to force this behavior?

    Thank you very much for your replies, I appreciate any help!

    Rene,

    For your application and hardware, you should use DAQmx controls Task.vi to commit your task before your loop.  Inside the loop, and then you had to play/start/stop the task.  DAQmx uses a state machine to Control Panel tasks and run time.  As writes, when you cal DAQmx Read, DAQmx will see that you have a task that has never been configured.  Therefore, it will look at all the settings that you make on the task, check their accuracy, all the necessary resources book, write the hardware configuration, and then start your task.  Once the specified data has been read, it will relax this state machine to put the task in a State not configured.  Therefore, every time call you Read, DAQmx if through all state transitions.  If you commit your task before the loop, DAQmx would not re - check your settings or need material to re - schedule each passage in your loop.  That being said, there will still be some time adding every iteration of the loop where you must stop and restart your task and meanwhile you can miss a trigger.

    If it is really not acceptable for you to miss a trigger, you might consider adopting a design in which read you continuous data and then use release to follow the relevant sections of the data.  Another alternative would be to look at DAQ hardware X series line, because these devices trigger support in hardware (that is to say... They may retrigger unless you need to stop and restart your task).

    Hope that helps,

    Dan

  • DAQmx read slowly measurement

    I am still fairly new to LabView, only it uses about 5 months, so bear with me.

    I'm trying to understand why the DAQmx playback function runs slower I expect.  I use a PCIe-6363 map connected to two BNC-2110 connector blocks.  I run the attached code (Position AOM control_prod_cons) and producer while the loop takes about 14 ms to execute.  Here's why this is a question:

    The Subvi belongs to a larger structure that we use in our research lab to run our system of construction craft nanofabrication.  You are using a computer-controlled turntable (wise move task), monitors of reading of the scene (spot monitor sensor) sensor and control a shutter that controls power to the sample (Subvi with lightning) laser.  Up to 4 outputs analog and three analog inputs.  The scene is being ordered to move in 5 steps of nanometer to a speed of 50 micrometers per second, a rate of analog output of 10,000 samples per second per channel (3 of them).  The shutter has a rate much more low yield, at most 5 samples per second.  Our goal is to synchronize the movement of the scene with the shutter, and so we must read the exact position of the scene using the analog inputs, one for each axis, x, y and z, vote as often as possible, even if in reality it didn't need to be more than one read each ms.

    AOM control_prod_cons position takes two points in space that we wish to move between two points where the shutter must open/close.  The first image in the flat sequence did some vector calculations to get the line that we write out the origin of the octant where x, y and z be positive by adding or subtracting, then making reflections around axes, if necessary.  The end of x, y and z values (which are now all positive) are summed and placed later in the sequence.  Coordinated sensor monitor are then read in (loop producer) and turn the same way coordinates the target have been transformed (consumer loop), then compared with the values of (x + y + z) end and start (0) and adjusted accordingly shutter. (For troubleshooting purposes, "off" is 2.5 and read the text file we entered to extract structure).

    All the tests I've done so now tell me that the loop of the producer is the rate limiting step.  For a line that is 30 microns long, with the displacement of scene I described above, I was 45 or 46 readings, that works on a read (on the three channels) once all the ~ 14 ms, or only 72 samples per second per channel, which is * very * slow for the card and is not acceptable for our application.  Am I missing something?  Why the producer loop takes 14 ms per iteration?  I tried to reduce the sampling frequency of writing to 1000 samples per second per channel, but that did not alter the reading rate, so I'm not sure I can cela pins on the map.

    I ran the DAQmx read function as a NChannel 1sample, read in a while loop like I do in more complicated VI, reading of the three analog inputs in a very simple VI who only reads the sensor monitors and nothing else and the reading rate was 2750 samples per channel (read 5000 samples through three channels in 1800 ms) , so I know that the card can read that fast.

    I've also attached the highest lying VI that sets up the physical channels for adding information.  I am also attaching a VI where the producer/consumer framework is not used.  Also, this while loop took ~ 14 ms to exploit.

    Sorry, that was so verbose, just try to do what I'm trying to erase.  If you have any other questions, please just ask.  Thanks in advance for your help.

    Well I'll be darn.  The "task AO is?" query seems to be the culprit.  I have no memory of being always aware that there was such an expensive application.  I don't know if I tried to make such a request in a tight loop before, but I'm a little surprised by the fact that I'm surprised.  I don't know if anything is changed, but in case it's a secondary-ish effect, I use the new DAQmx 16.0

    Another approach would be to use a property DAQmx writing node to query the Total number of the samples.  It seems quite a bit faster.

    -Kevin P

  • Error 200088 using the DAQmx reading VI in a case structure

    Main problem: I'm writing a VI that will read data from a data acquisition and write to a text file when I hit a button "registration". To do this, I use the VI of reading DAQmx in a while loop, which is located in a case statement (I hit the 'Save' button for the case of true), which is in another while loop. My DAQmx create Virtual channels screws are outside of the loop, so a wire goes through three structures to connect these screws to the VI DAQmx Read.

    After clicking on 'Save', my VI works until I hit the "Stop" button, how I get error 200088: ' specified is not valid or does not exist. " If anyone can help me get rid of this error, that would be greatly appreciated!

    I enclose my VI and an image of the error.

    Secondary problem: currently, I use two different DAQmx read live: one mentioned above, which lays down: after clicking 'Save' and the other who reads data continuously to display on maps. I want to combine these two, but I don't know if this is possible given the case statement.

    Thank you!

    Hi Alexwright,

    I made some quick changes to demonstrate the producer consumer loop that would be effective in your case. You want to loop of producer in the first while loop so that you use and the same closing DAQmx task. Moving a forwardthis will require some trial and effective change for your application. Please also make sure you use our debugging tools: http://www.ni.com/gettingstarted/labviewbasics/debug.htm.

    I hope this helps.

  • Change the precision of the waveform data or daqmx read

    Hi all

    I am currently using daqmx read and write data to a PDM daughter.  I would change the precision of the data if possible.

    Any advice?

    Thank you

    Matt

    It is important to get the right information in the data file. It is not a lot of overhead to limit your data with a specific precision if you as a table.

    I don't know which is faster, the method of accuracy of the channels or this:

    It took 1-2 ms per 1 million iterations.

  • Problem DAQmx read True False

    Hello

    I use DAQmx Write (Bool digital 1Line 1 point) to send a Boolean sample to a digital output channel.  I want to be able to tell if the signal is strong or weak, so I use DAQmx Read (Bool digital 1Line 1 point) to take up the task as input and then plug a light at the end of data.  The problem is the light lights up when I pass False to the VI DAQmx writing and does not shine when I pass the value true to the writing DAQmx VI.  Shouldn't the DAQMx Read VI be output Boolean even as input to the VI DAQmx writing?  In others, should I not get a true reading VI DAQmx if I pass a real in the DAQmx writing VI and even for a case of false?

    See code attached for simplified example of what I'm trying to do.

    Thank you

    Jason

    Which would make sense if the channel is configured as an open collector output.  This would mean that the line is retrieved when you write a REAL low and left floating when you write a FAKE.

  • Why DAQmx read 200714 error when you save the file?

    In particular vi that I created, I have 3 analog inputs coming in and are graphically represented.  If I choose to save the information to a file, a dialog box appears and I can choose what to save it under.  If I take too long to save the file (aka about 8-10 seconds if the sample read rate is 500/s) then I get this error once the file has been saved:

    Error-200714 occurred at .vi DAQmx Read (analog 1-d NChan DBL 1Samp)
    Possible reasons:
    Acquisition stopped because the driver could not transfer the data from the device to the computer's memory rather quickly. This was due to limitations of the computer system.
    Reduce your sample clock rate, the number of channels in the task, or the number of programs on your computer that is running simultaneously.

    Why the DAQmx bed vi I have this problem when the vi has been idle for 10 seconds then I choose where to save the file?  How can I fix this error?

    Hi child of pre-school age,

    I think your error might be caused by the read buffer overflow. my suggestions for you would be to either the following four ideas:

    1. stop the acquisition before writing the file. This should mean that the DAQmx Read function will no longer be reading and therefore does not generate an error.

    2. If you still want to read the data but also write data as well, I think you'd be best suited for use live TDMS. TDMS allows the user to stream to a reading of filewhilst.

    3. the configuration backup dialog box file before starting the acquisition. Download the user to enter all data in the file before you start to acquire.

    4. change the buffer to unlimited so that you have enough time to navigate the record window.

    If you send your VI I can advise others

    Let me know how you go,

Maybe you are looking for