Photon Counting with an Oscilloscope

I am faily new to LabView, and I am trying to emulate a photon counter
with a digital oscilloscope for determining fluorescence lifetimes. So
far, the program downloads the waveform from the scope and determines
the arrival time of each peak above the discriminator/threshold. But, I
cannot figure out how to sum the counts for each time bin - ie add and
store a count for each value in the "locations" array, and then store
all the counts into a histogram. Any help is greatly appreciated.
Attachments:
Photon Counter.vi ‏247 KB

The Replace array subset does nothing with an empty array. Do you fill the Total Counts array with the right number of elements before running the VI? I modified the VI to initialize the array with the number of elements in the peak location array. I also set the for loop to autoindex on the locations array and removed most of the coercion dots. Without any data I cannot test.
To give us some data, run a sample of some data and Make the Current value default on the Current Waveform graph. Then remove the Instrument IO Assistant and convert the Current Waveform graph to a control. Save the modified VI and post it.
Lynn
Attachments:
Photon Counter.2.vi ‏231 KB

Similar Messages

  • Sr 400 photon counter (stanford research system)

    hi,
    i need help regarding sr400 two channel gated photon counter(SRS)
    my problem is:
    i open getting start wizard ,it shows.
    hardware presence verified
    software  "        ''          ' '
    interface sequential verified
    upto here it is ok .but when i goto max and open NI488.2 communicator and write string in send string(*IDN?), IT GIVE ERROR
    iberr=EABO
    i tried the same with interactive control and when i write
    GPIB0: ibwrt" *idn?"
    it gives
    [c100] <errtimo cmpl>
    error: EABO
    count : 0
    so can u plz tell how to tackle that problem.
    thanks

    You need to understand the difference between the GPIB bus commands and instrument commands. You seemed to have looked at the basic example that's in the manual. The first line in the example does some things to the GPIB bus's interface management lines like interface clear (IFC) and remote enable (REN). You do not issue these commands in MAX's communicator when you want to program the instrument. Those sort of commands are available but you don't normally have to do any of that. You do need to issue the commands that are listed in the section on remote programming. The very first example listed is the command "CM". As the manual states, if you send CM {j} where {j} is 0-3, you set the counter mode. If you send just "CM", the instrument returns the counting mode. You will not get a response back from the instrument when you set something. You will only get data back from the instrument when you issue a specific command that tells the instrument to return something. Instruments designed within the last 20 years have better command sets than what you have to work with. These "newer" instruments use a "?" at the end of every command that tell the instrument to return data.
    Before you do much more, I would recomend that you do a little studying on the GPIB bus. There are some tutorials and app notes at : http://zone.ni.com/devzone/devzone.nsf/webcategories/3992D796622FADB1862567BD006DBD98.

  • SR 400 gated photon counter

    I don't have a ton of experience with Labview, but I'm trying to get the Stanford Research Systems SR400 gated photon counter to use a fixed gate mode to count.  I looked at the example driver that I found and realized that it isn't capable of doing anything more than a cw sweep.  I found this driver in the forums (http://forums.ni.com/attachments/ni/40/1879/1/sub​vI.vi), but in the process of updating to labview 8.2 (from labview 7.1 it said), it is missing some connections somewhere.  I was wondering if anyone knew how to find the problem pieces in it and how to fix it.  I have another question about the SR400.  Is labview capable of trigging it through the software, or do I need to have an actual physical trigger going in to the trigger input.  Thanks for your help.
    JOn

    Hey Jon,
    I'm unsure if the SR400 is able to trigger externally, but if in the manual for the SR400, you're able to find the command for it, you should be able to easily implement it. If it's GPIB communication, just open labVIEW, and go to Help->Find Examples->and Search for GPIB, and you should find a nice example called "labVIEW<->GPIB.vi". If it's serial communicaiton, just search "Serial" and you should be able to find a nice example called "Basic Serial Write and Read.vi". Just copy the triggering command if it's found in the manual into the write field, and you should have no problem implementing it. I like these two examples a lot, because they're easy to build from.
    Regards,
    Nick D.

  • 2d raster scan photon counting optimizati​on

    I have written a VI for a 2-D raster scan and counting TTL pulses from a photon counter at every pixel.
    It seems to be working fine and is serving its purpose for the time being. However there are a couple of thing I want to improve
    Currently, I have 2 loops, on within the other for each of the axes (x and y) for the scan. Then within the inner loop, I am counting the pulses. Now, the problem I am facing is that I have not figured out how to start the counter from 0 at every iteration. Instead, what I am doing is running the counter twice in a for loop and outputting the difference between these two iterations using shift registers.
    What I would like to do is avoid having to count twice for each iteration. I tried the start task and stop task vi but they seem to be doing nothing. 
    The other thing that would be nice is to avoid having the loops. I have heard that it is "expensive" to use the loops and they cause some overhead time in the program. I don't really think it is bothering me at this point but I think if I have to do faster scanning rates then it might. Currently I am scanning at >100ms per pixel. 
    (And also, just FYI, my raster wavefrom is slightly different in that in is a "triangle"instead of sawtooth. i.e. it goes to the end of the fast axis, then starts the next line from the end rather than the beginning to avoid sudden jerks to my hardware.)
    I have attached my VI. thanks
    Aditi
    Attachments:
    Galvo_Scan_Image 5.vi ‏92 KB

    I cannot help with your counter issues.
    The loops do have some overhead. It is on the order of a few nanoseconds. While loops are probably slightly slower than for loops because of the extra testing. Compared to your DAQ timing the loop time is completely negligible. Look at the test program below.
    Since you know (or can calculate) the number of steps, for loops are probably the better choice. I think the conditional for loop is available in LV 2011.
    You should probably move the AO Create channels VIs and associated Clear Task VIs outside the loops. Connect the task ID wires via shift register so that the value will be passed in the event someone enters start and end values which result in zero iterations of the loops.
    Generally to speed things up you want to move any calculations and any displays (indicators) outside the loops when it can be done without adverse impact on functionality.  For example the divide by two can be moved to the outer loop; the inputs do not change within the inner loop.  If you do not need to see every update immediately, reducing the number of writes to the Intensity graph amy speed things up a bit.
    Avoid right to left wires and wires behind other objects. These have no effect on program performance but they make it much harder to understand what is going on and to fine problems. I have attached a cleaned up version of your program.
    Lynn
    Attachments:
    Loop times.vi ‏12 KB
    Galvo_Scan_Image 5.2.vi ‏74 KB

  • NI 6259 photon counter min pulse detection

    Hello,
    I have a PCI 6259 DAQ card which I'm using as a counter. Is there a limit to the minimum pulse width it can count while operating as a counter? My photon counter gives out TTL pulses with widths of 50ns which I think is below what the counter can read unless I am mistaken. I'm using the 100kHz internal clock as the clock source. Is there anyway to get the counter to pick up such small pulses?
    Would the NI PCI 6120 DAQ card be a better choice for this type of measurement? I should be able to get my hands on one shortly.
    Thanks for your time,
    Mark.
    Solved!
    Go to Solution.

    A 50 ns pulse corresponds to a 20 MHz freq.  You should be able to capture/measure such a TTL pulse with a 6259, but I don't think you'll really want to be measuring pulse *widths*.   You'd only be able to get a nominal count of 4 timebase edges per width with a possible +/- 1 count uncertainty, i.e., 25% measurement error.
    More likely, you'd either want to:
            1. measure the period/frequency of successive rising edges of these 50 ns pulses, effectively timestamping every detected photon.   Brief fast bursts of photons may produce an unrecoverable FIFO error.   A newer X-series device with a bigger counter FIFO would be a better choice if this is an issue.
    OR
            2. perform "binning" by counting the # of these 50 ns pulses that occur during equal time intervals.   Here you are pretty immunce to brief bursts of photons, but you need to sustain long-term throughput over the PCI bus.  You're probably pretty safe sampling at <= 100 kHz or so, but if you need better precision on the bins & thus faster sustained throughput, I'd again recommend a PCIe X-series board. 
       You might also have to watch out for a feature known as "Duplicate Count Prevention" which could impact your measurement data if you ever have 0 photons in a given interval.  The faster you sample, the more likely this is to come up.
    -Kevin P

  • Photon counting

    Hi i am setting up a fluorescence correlation spectroscopy (FCS) experiment based on a home made confocal microscope coupled to a single avalanche photodiode (SAPD Perkin Elmer) that is able to count photon by delivering TTL pulses (2.5 V, 9 ns). To perform FCS or single molecule FRET experiment analysis I need to record photon count during several minutes. We have installed a PCIe 6361 with a connector box. I am a newbie in the labview "world" and I tried to record photon flux by using the attached vi. as you will see it is not really optimized in term of speed acquisition. it works well if i record 1 000 000 points with 1µs time resolution. unfortunatly for ma purpose it is definitively not enough moreover the NI card is a able to run 100Mhz.
    would it be possible to use some tricks ? like FIFO mode or a sliding buffer ?
    many thanks for your help.
    regards
    Attachments:
    essai_1.vi ‏26 KB

    Dear John,
    thanks for
    your answer. I apologize; I did not give enough information in my post. If
    fact, in our experiment the count rate is at maximum 1 MHz, moreover the APD is
    saturated when the count rate reach 10 MHz. Basically we perform two kind of
    experiments; in the FCS scheme, the photon flux is recorded and we have an
    algorithm that is computing the autocorrelation of the fluorescence signal. As
    you can see on the picture, we typically need a microsecond resolution on a
    time scale that covers several orders of magnitude. In this case we need to
    record the flux with µs resolution for let says 1 minute. I am wondering if it
    is possible instead of counting the photon to record the arrival time of the
    photon. Indeed when the count rate is low (10-50 kHz) we will have zero values
    most of the time so it is maybe more clever to record arrival time …. The
    second kind of experiment is the energy transfer scheme in which we monitor the
    interaction between two biomolecules by using two fluorophores. A laser is
    exciting the first one (donor) and if the second one (acceptor) is at less than
    10 nm you will observe an energy transfer from the donor to the acceptor. It is
    hugely used in biology to evidence molecular interaction. In this case you need
    to record with the detectors the fluorescence signal for several minutes with a
    time resolution of 1-100 µs. Again the size of the file can be very big.
    I hope this
    will help you in your answer.
    Regards,
    pascal

  • This is regarding counting with microsecon​d accuracy and furthur simultaneo​us AO and counter usage

    hi, i am in seruios trouble. I am doing photon counting using a PMT. so the TTL pulses come at random and the i canhave 1e6pulses/sec tp 1pulse per sec kind of TTL pulses. I need to count them with an accuracy of [ time bins ] 50 microseconds. I am not able to do this with all the possible examples i have seen on labview site as well as that which come with labview package. everything shows some or other error. I have been using labview for analog I/O for about 2 years and have done the most i could understnad but to of no use. does anyone have a sample program ? now the bogger problem is that while counting these TTL pulses i ALSO have to do an analog output [ say a triang
    ular wave on AO channel ]. I was wondering that if i just add the AO vi's in the counting programme will they interfere with each other ? [ I have a very crude counting program which atleast gives me millisec accuracy limited by for-while loops ]or i shd trigger start them together [ counting and AO] and some how make sure that they do not interfere with eacht other. If anyone could help me with either or both program..i'll be very grateful.
    gvs

    A simple event counting example can count TTL pulses for you pretty easily. If you have an E-Series board, the DAQ-STC counter/timer uses a 20 MHz timebase, so your pulses must be separated by at least 50 nanoseconds. The 660x family of counter/timer boards use an 80 MHz timebase giving you a tighter window of 12.5 nanoseconds.
    For your second problem, it's best to use dataflow and enforce a well-defined execution sequence. In other words, wire the error clusters such that AO always executes after (or before) your counter operation.
    In fact, you must enforce serial execution of DAQ VIs to avoid blocking if you are using Traditional NI-DAQ. If you are using the new DAQmx, DAQ operations are supposedly non-blocking in many scenarios. I have not tried to ve
    rify that for myself so be cautious if you plan to run AO and counter code in parallel.

  • How can I implement a Digital I/O counter with a maximum source frequency of 80 MHz (like 6602 board) using CompactRIO?

    How can I implement a Digital I/O counter with a maximum source frequency of 80 MHz (like 6602 board) using CompactRIO? It appears as if the Digital I/O modules for CompactRIO are much slower than this.
    Thank you,
    --Ray

    Hi Ray,
    The highest frequency input we offer for C Series modules is 20 MHz if you are doing LVTTL and 10 MHz for 5 V TTL.  These modules are the 9402 and 9401, respectively.  Unfortunately, there is no 80 MHz input on this form-factor.
    Regards,
    Chris E.
    Applications Engineer
    National Instruments
    http://www.ni.com/support

  • Access Counter with ANSI C

    Hi Folks,
    I am trying to access counter  using ANSI C (python wrapper actually). Now I am able to read number of counts with sets of commands:
    DAQmxCreateTask("", &task);
    DAQmxCreateCICountEdges(task, "Dev1/ctr0", "", DAQmx_Val_Rising, 0, DAQmx_Val_CountUp);
    DAQmxSetCICountEdgesTerm(task, "Dev/ctr0", "Dev1/PFI11");
    DAQmxStartTask(task);
    DAQmxReadCounterScalarU32(task, 10, &data, NULL) 
    This example cumulates all counts since task was started, so I can get all counts from begining of task or from previous call (using internal software buffer).
    But what I want to do is count non-periodical series of 'events'  represented with TTL/NIM pulses. So I want to set up measurement (integration) time for one single shot (let say 1000 ms) and then in loop read number of counts (=events) in this window (i.e. frequency in Hz). I probably need to trigger the 'counting function' in some way, probably something like DAQmxCfgSampClkTiming...
    Can you please show me short, simple piece of code, how to do this?
    Thanks a lot.
    Radek 

    Hi Stefo,
    Thanks for trying to help me.
    I tried to use DAQmxCreateCIPeriodChan and it works fine, but it just not what I was looking for. In our application, we have to read counts from multiple counters (usually 3) in the same time window and the signal is NOT periodic (if it matters). Also it blocks one more counter for each one in the task, so if I need 3 Inputs, the 6601 cards with just 4 counters is not enough. Maybe if it is be possible to share that "gate" counter, I will need just 4 and also it will be maybe possible to count corresponding events in the same time window.
    But I found a solution. This "code" (seems to) do exactly what I need:
    (this is just important part of Python code, but I guess it is very easy to read, so...)
    def cOut0(self, chan, up = 1, down = 0.1, samps = 1e3, num = -1):
        err1 = self.device.DAQmxCreateCOPulseChanTime(self.task, char(chan), char(""), int32(DAQmx_Val_Seconds), int32(DAQmx_Val_Low), float64(0), float64(down), float64(up))
        if num > 0:
            err2 = self.device.DAQmxCfgImplicitTiming(self.task, int32(DAQmx_Val_FiniteSamps), uInt64(num))
        else:
            err2 = self.device.DAQmxCfgImplicitTiming(self.task, int32(DAQmx_Val_ContSamps), uInt64(samps))
    def cOut1(self, chan, freq = 1e3, duty = 0.1, samps = 1e3, num = -1):
        err1 = self.device.DAQmxCreateCOPulseChanFreq(self.task, char(chan), char(""), int32(DAQmx_Val_Hz), int32(DAQmx_Val_Low), float64(0), float64(freq), float64(duty))
        if num > 0:
            err2 = self.device.DAQmxCfgImplicitTiming(self.task, int32(DAQmx_Val_FiniteSamps), uInt64(num))
        else:
            err2 = self.device.DAQmxCfgImplicitTiming(self.task, int32(DAQmx_Val_ContSamps), uInt64(samps))
    def cIn5(self, chan, trig, rate = 1e9, samps = 1e3):
        err1 = self.device.DAQmxCreateCICountEdgesChan(self.task, char(chan), char(""), int32(DAQmx_Val_Rising), uInt32(0), int32(DAQmx_Val_CountUp))
        err2 = self.device.DAQmxSetPauseTrigType(self.task, int32(DAQmx_Val_DigLvl))
        err3 = self.device.DAQmxSetDigLvlPauseTrigSrc(self.task, char(trig))
        err4 = self.device.DAQmxSetDigLvlPauseTrigWhen(self.task, int32(DAQmx_Val_Low))
    def wait(self, tOut = -1):
        tOut = float(tOut)
        err = self.device.DAQmxWaitUntilTaskDone(self.task, float64(tOut))
    def gCts(self, tout = 1.0, buff = False):
        tout = float(tout)
        ret = numpy.zeros(1, dtype=numpy.uint32)
        err = self.device.DAQmxReadCounterScalarU32(self.task, float64(tout), ret.ctypes.data, bool32(0))
        return ret[0]
    And here is terminal output (important part):
    >>> devOS.createTask(taskName = "OS")
    >>> devOS.cOut1(chan = "/Dev1/ctr0", freq = 1e5)
    >>> devOS.startTask()
    >>>
    >>> devOG = pydaq.nidaq()
    >>> devOG.createTask(taskName = "OG")
    >>> devOG.cOut0(chan = "/Dev1/ctr1", up = 1, down = 0.1, num = 1)
    >>>
    >>> devIA = pydaq.nidaq()
    >>> devIA.createTask(taskName = "IA")
    >>> devIA.cIn5(chan = "/Dev1/ctr2", trig = "/Dev1/PFI32")
    >>>
    >>> devIB = pydaq.nidaq()
    >>> devIB.createTask(taskName = "IB")
    >>> devIB.cIn5(chan = "/Dev1/ctr3", trig = "/Dev1/PFI32")
    >>>
    >>> devIC = pydaq.nidaq()
    >>> devIC.createTask(taskName = "IC")
    >>> devIC.cIn5(chan = "/Dev1/ctr4", trig = "/Dev1/PFI32")
    >>>
    >>> import time
    >>> def fce(n):
        T1 = time.time()
        r = []
        for i in xrange(n):
            t1 = time.time()
            devIA.startTask(); devIB.startTask(); devIC.startTask();
            devOG.startTask()
            devOG.wait()
            devOG.stopTask()
            c = [devIA.gCts(), devIB.gCts(), devIC.gCts()]
            devIA.stopTask(); devIB.stopTask(); devIC.stopTask();
            t = time.time() - t1
            r.append(c)
            print "%d: %d %d %d (%d s)" % (i + 1, c[0], c[1], c[2], t)
        T = (time.time() - T1) / float(n)
        print "Total Average Time: %d s" % (T)
        return r
    >>> a = fce(10)
    1: 100000 100000 100000 (1 s)
    2: 100000 100000 100000 (1 s)
    3: 100000 100000 100000 (1 s)
    4: 100000 100000 100000 (1 s)
    5: 100000 100000 100000 (1 s)
    6: 100000 100000 100000 (1 s)
    7: 100000 100000 100000 (1 s)
    8: 100000 100000 100000 (1 s)
    9: 100000 100000 100000 (1 s)
    10: 100000 100000 100000 (1 s)
    Total Average Time: 1 s
    So conclusion:
    1) I know I can put all Input Tasks together to only one task, but when I try to read the counts with DAQmxReadCounterU32 function, I get error -200523. So what Read function is for task with multiple counters?
    2) All those Trigger functions I used I found somewhere on the internet. Where is documentation? I can not find it in NI-DAQmx C Reference Help. Also in the header file, there are a lot of functions prototypes of which are not mentioned in the documentation.
    3) When I change the lowTime parameter in function DAQmxCreateCOPulseChanTime, the time of measurement does not change, so it seems that this part of pulse is not part of 'task' and/or the DAQmxWaitUntilTaskDone function waits just when the trigger pulse is high. This decreases our death time, because it seems not be possible to set duty cycle to 100 %, but still it is little confusing for me.
    Diky moc
    Radek
    P.S.: Ten "editor" na vlkadani dotazu je udesnej... :-)

  • File Count with selected date range

    Hi,
    Our requirement is to get the file count with selected date by the user from two sharepoint date time controls i.e. dtp1 and dtp2 into the data table. I am able to get the file count of specific folder from Pages library through below code. Now need to get
    the selected date range from two date time picker controls and check with the item created by is within the date range. If yes I need to get the file count.
    So please share your ideas/thoughts to do the same.
    SPList list =
    wikiweb.Lists["Pages"];
                        SPFolderCollection oFolders
    = list.RootFolder.SubFolders["foldername"].SubFolders;
                        DataTable dt
    = new DataTable();
                        dt.Columns.Add("Column1");
                        DataRow dr;
                        if (oFolders.Count
    > 0)
                            foreach (SPFolder oFolder in oFolders)
     if (!oFolder.Name.Equals("Forms"))
                                    dr
    = dt.NewRow(); 
    dr["Column1"] = oFolder.ItemCount.ToString();
    dt.Rows.Add(dr);
    Regards,
    Sudheer
    Thanks & Regards, Sudheer

    Hi,
    I have modified the code as below
    if((DateTime)(oFolder.Item.File.TimeCreated>dtFromDate.SelectedDate)&&(DateTime)(oFolder.Item.File.TimeCreated<dtToDate.SelectedDate))
    But still it is throwing the error.
    Please share your ideas on the same.
    Regards,
    Sudheer
    Thanks & Regards, Sudheer

  • How to use Count with Date Parameters

    Hello,
    I am having issues using the Count() function in conjunction with date parameters.
    This is a Siebel report and in my report I have 2 date parameters(From Date, To Date). In a nutshell I am basically trying to count Opportunities that has a start date within the given date period. However I don't see a reasonable way to put my date parameters within the Count() function. The reason being is that I need to have a huge chunk of code to convert the dates into a common format that can be compared, and it won't even fit within the code block in my rtf template. I am not even sure how to put multiple conditional statements inside a Count() function since all the examples I have seen are very simple.
    Anyone have a suggestion on how to use Count() with date parameters?
    Thanks.

    Any chance you can get the date formats in the correct format from siebel?
    I don't know Siebel - so I can't help you with that. If you get the correct format it is just
    <?count(row[(FromDate>=date) and  (date<=ToDate))?>
    Otherwise the approach would probably need to use string function to get year/monthd/day from the date
    and store it into a varialbe and compare later the same way
    <?variable@incontext:from; ....?>
    <?variable@incontext:to; ...?>
    <?count(row[($from>=date) and  (date<=$to))?>
    Potentially you can use the date functions such as xdofx:to_date to do the conversion
    [http://download.oracle.com/docs/cd/E12844_01/doc/bip.1013/e12187/T421739T481158.htm]
    But I am not sure if they are available in your siebel implementation.
    Hope that helps

  • Count(*) with group by max(date)

    SQL> select xdesc,xcust,xdate from coba1 order by xdesc,xcust,xdate;
    XDESC XCUST XDATE
    RUB-A 11026 01-JAN-06
    RUB-A 11026 05-JAN-06
    RUB-A 11026 08-JAN-06
    RUB-A 11027 10-JAN-06
    RUB-B 11026 02-JAN-06
    RUB-B 11026 08-JAN-06
    RUB-B 11026 09-JAN-06
    RUB-C 11027 08-JAN-06
    I want to make sql that result :
    XDESC     COUNT(*)
    RUB-A     2
    RUB-B 1
    RUB-C 1
    Criteria : GROUPING: XDESC XCUST AND MAX(DATE)
    bellow mark *** that was selected in count.
    XDESC XCUST XDATE
    RUB-A 11026 01-JAN-06
    RUB-A 11026 05-JAN-06
    RUB-A 11026 08-JAN-06 ***
    RUB-A 11027 10-JAN-06 ***
    ---------------------------------------------------------COUNT RUB-A = 2
    RUB-B 11026 02-JAN-06
    RUB-B 11026 08-JAN-06
    RUB-B 11026 09-JAN-06 ***
    ---------------------------------------------------------COUNT RUB-B = 1
    RUB-C 11027 08-JAN-06 ***
    --------------------------------------------------------COUNT RUB-C = 1
    Can Anybody help ?
    I tried :
    select xdesc,max(xdate),count(max(xdate)) from coba1 group by xdesc
    ERROR at line 1:
    ORA-00937: not a single-group group function
    Thank

    This one is duplicate. see the following link
    Count(*) with group by max(date)
    Thanks

  • Do you have Sequential Binary counter with J K flip-flops and 7 segment display ?

    do you have Sequential Binary counter with J K flip-flops and 7 segment display ?

    Hi,
    You should post what you have done so far and where you are having trouble.  If you only post a description you won't get much help on this board.
    Tien P.
    National Instruments

  • Start a counter with SOURCE, stop with GATE?

    I would like to START a DAQ-STC counter using the rising edge of the SOURCE
    input, and stop the counter with the rising edge of the GATE input. So I
    have two seperate digital lines I want to use to start and stop. Any pointers
    on how to do this? (Please respond via email also)
    Thanks,
    J. Apple

    Hi,
    Thanks for the reply, GarPar. I think I have solved the triggerring a counter with another with your and Stefan&Kekin's help. Now, I can generate two counter outputs (chip select and clock) as I wanted but I couldn't read the National Semiconductor differential sensor board output at the same time. I have attached the Labview I have written and scope screenshot which shows the chip select(signal 1), clock(sig 2) and output(sig 3). As I told previously, first I generate Chip select signal(1), then at falling edge I generate clock signal(it keeps going on). Finally, I try to read starting the output at falling edge of Chip select counter using clock counter output as the clock source for my read Timing.vi. BTW, Labview  gives an -200560 error after the Read.vi which is an timeout error although I don't need any external connection since I am taking both trigger and clock output internally. And I checked that I connect the output pin to the line 6 of Ni 9401 (many times )
    Error -200560 occurred at an unidentified location
    Possible reason(s):
    Wait Until Done did not indicate that the task was done within the specified timeout.
    Increase the timeout, check the program, and make sure connections for external timing and triggering are in place.
    Can you see any apparent problems in my labview program? Finally, I am using
    o ctr2 as Chip Select counter,
    o ctr0 as Clock 
    ctr2InternalOutput as clock trigger
    o line 6 as digital input
    ctr0InternalOutput as read clock
    ctr2InternalOuput as read trigger 
    which are shown in my Labview program. Thanks for your help in advance.
    Regards,
    Ouz
    National Semiconductor (Intern)
    Attachments:
    Ni9401_triggeringclockcontinuously.vi ‏33 KB
    ni9401_screenshot.pdf ‏61 KB

  • How to calculate de area of a waveform in LabView with the oscilloscope Tektronix TDS380

    I have a question about a mathematical algorithm. I am using the Tektronix oscilloscope model TDS 380 and since now I have been taking measurements peak to peak, putting in the labview program MEASU: MEAS1: VAL?
    I am interested in calculating the area of the waveform, and the instruction manual for the Tektronix TDS 8000 found the command MEASU: MEAS1: TYPE AREA. This command is not in the manual for the model TDS 300 and therefore do not know if you can apply FOR IT. When I insert it I get the error code -1073807339.
    My question is: would it be possible to calculate the area with my oscilloscope TDS380 somehow and with LabView? Is it possible to apply the algorithm or can be done differently?

    Sorry about not posting. I'm on a business trip right now. Here's the VI, though.
    Attachments:
    get_second_derivative.vi ‏56 KB

Maybe you are looking for

  • Static doesn't work, but Dynamic does for surfing the web

    Because I wanted some static IP addresses on my network I set the IP Distribution Range on my Actiontec router to 192.168.1.42 – 192.168.1.254.  I then assigned static IP addresses to my network printers and 3 computers.  For a while everything worke

  • HP 15-g049AU Notebook PC OS not supported by HP Service Center

    I recenlty bought a HP 15-g049AU Notebook PC [K5B45PA], from Flipkart on 19th October 2014. It came with Windows 8.1 preinstalled. In the box I didnlt received any CD. Now , when I tried to reset the Laptop it got stuck in between the process and aft

  • What happened to my text?!

    This is a problem I've been seeing ever since the first day I turned on my new iMac, but it's never given me enough trouble to bother asking about it until today. http://img511.imageshack.us/img511/9937/mactext2gj8.png Before today, it would just dro

  • Regular Expression as page item

    Hello, I´m doing a page item validation using Regular Expressions, but my Regular Expression is Dynamic. I have another page item called VL_REGEXP where I set a value of regular expression. But, when I write VL_REGEXP as validation expression, it doe

  • How much drive space is enough?

    A recent, now closed topic at http://discussions.apple.com/thread.jspa?threadID=434397 raises questions about OS X drive space use & how much should remain free for proper operation of the OS. Many seem to have some opinion on this, but nobody seems