Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQmx timing problems (create timing source.vi) with USB-6211

I am using LabVIEW 8.5 (evaluation version) to debug and modify an existing  voltamperometric application named CV M Series NEW.vi. (ref: http://www.usask.ca/chemistry/groups/burgess/software.htm) .   I'm a new user with LabVIEW and  experiencing difficulties with the DAQmx Create Timing Source (Signal from Task).vi.  After clicking the run button, a window appears with error -200452.  Nothing is physically connected to my USB-6211 device.  My software version for DAQmx is 8.6 and I suppose that all is correct since I have already made tests with DAQmx Assistant or with other vi's from the site like "Cont Acq&Graph Voltage-Ext Clk-Dig Start.vi".  I would be very happy if an experienced user may help me to understand. Moreover, some parts of the contents of DAQmx Create Timing Source (Signal from Task).vi seems protected. Should I use the 7.1, 8.0 or 8.2 version of this vi? I am rather confused.
0 Kudos
Message 1 of 4
(3,557 Views)

Hello Neophytus specialiensis,

The reason you are receiving that error is because your USB device does not support that functionality.  I believe that this is because of the bus type (USB v PCI) and the difficulty passing clocks in real time across the USB bus. What led me to this conclusion was that I tried running the VI on my computer with a PCI M Series card, and I did not receive any errors.  I simulated your USB device, and received the same error you did.

It would make sense that the other methods you try did work since both the DAQ Assistant and the example program you ran do not use the timed loop nor the Create Timing Source VI.  This behavior does not depend on the versions of software you use, it is hardware specific.

You are correct that many of the VIs written by National Instruments are locked.  This is because there is something there we do not want the user to see for some reason.  However, I assure you that the DAQmx driver has been thoroughly tested, so there shouldn't be a need to see this code.  You should be very careful changing these VIs as well since they are used extensively in many programs.

I am not familiar with your application, but I would recommend looking at the function of the program to see if it is necessary to use that timed loop or maybe there is another source you could use for it. The rest of the DAQ programming in your VI should work with your device; it is just that one VI.

Neal M.
Applications Engineering       National Instruments        www.ni.com/support
0 Kudos
Message 2 of 4
(3,535 Views)
Hello Neal,

Thank you for your answer.  Some things appears invaluable for an one-week LabVIEW user.  Today, I amputated the suspicious VI removing its ability to generate an error (I had not seen yet your answer so that I had to reinstalle the DAQmx software...) and I removed the link between the DAQmx Create Timing Source and the input node.  Unfortunately, only the 1 kHz internal clock was available for my timing loop.  On the other hand,  I could see some points filling the I-V graph.  Now, my question is: how I can use a quicker clock for my timing loop (counters on my USB board, 1 MHz LabView built-in clock) ?   I am still - but in a different manner - confused.
0 Kudos
Message 3 of 4
(3,523 Views)
Hello again Neophytus specialiensis,

The reason that your device does not support the functionality previously discussed is due to the fact that the USB bus causes a lot of jitter/latency in your signals.  This is taken care of for things like data transfer, etc., however when you try to provide your software loop with a hardware clock, you must pass that clock through the bus.  This can be done with the PCI bus, but the USB bus is not reliable enough to make this useful.  What all this means is that you cannot use any clock on your hardware to run your timed loop.

Your computer has a 1kHz clock on it to control timing of the computer.  This is why you can use that rate in your timed loop.  The 1MHz option (which should be greyed out) is for real time operating systems which have an onboard clock which runs this fast.  Since all of this uses hardware oscillators, software cannot be used to provide this clock.  I would recommend looking at why the loop needs to be timed and possibly using our Timing VI's (for example our Time Elapsed VI) to help control the timing.

If you do not care much about the software timing of the loop (which would not affect the timing of your hardware aquisition), you could just change the samples to read or how the data is fed to the graph to help display your data (see the Graph example or the LabVIEW help file for more information on these).

I hope this helps with your confusion, post back if you have any more questions.


One last thing.  You have mentioned several times that you are new to LabVIEW, so I thought I would point out some of the best (in my opinion) links to help you learn and get started with LabVIEW and DAQ:

DAQ Getting Started Guide

LabVIEW Three Hour Tutorial

LabVIEW Six Hour Tutorial

Getting Started with DAQmx

National Instruments Training

Getting Started with NI-DAQmx: Getting Started with NI-DAQmx Programming in LabVIEW

Learn 10 Functions in NI-DAQmx and Handle 80 Percent of Your Data Acquisition Applications
Neal M.
Applications Engineering       National Instruments        www.ni.com/support
0 Kudos
Message 4 of 4
(3,501 Views)