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.

Similar Messages

  • Serious bugs in the SR400 gated photon counter LabVIEW drivers

    Hi
    I am developing an application with SR400 and came
    across what I think is a bug in the LabVIEW driver. Essentially, none
    of the VI's allow you to set the preset counters. For instance, if you
    call Read VI and choose mode A, B for preset T, there is no way to
    specify preset T, which means that the count period defaults to some
    factory default, not a situation you want. This might also explain some
    of the timeouts some people are getting to SRQs that come later.
    Further,
    if you look at the block diagram of Read VI, the line selector string
    is set to "CM 0" for two distinct choices of the count mode. This is a
    serious bug. I do not know who wrote this driver, but it does seem, at
    least to me, that they did a rather shoddy job of it. How this driver even got certification to be posted at IDN is something I cannot explain.
    Comments welcome from those that use LabVIEW with SR400 and have used this driver.

    Hi. Dwell time of 2ms is good for me. It would be great if you can send me this file to circumvent the 2000points/measurement. Also, If i understand it right, if I set the Gate to CW, then my gate should always be open for the count period, they why do I have to set the gate parameters at all. I want to change the integration time, but for some reason I am not able to change it in your setup 2.VI at all. I made some changes in setup 2.vi. I removed the setting for channel B as I am not going to use it and I integrated the readchannel.vi into this file. I am not sure if I made a mistake in doing this. Now, I am able to write some data to a file, but I not as I want. If it helps, I am uploading my modified VI file and an example data file (Gate A width is 0.992s, Gate A delay and delay step are 0, Gate A mode is CW, Dwell time is 0.002s).
    Attachments:
    SR400-V.vi.vi ‏125 KB

  • 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.

  • Gated event counting for a finite time

    I am using a PCI 6110 card for gated photon counting. The digital signal is coming from a single photon counting module, which generates a single TTL pulse upon receiving a photon.  It also generates ~100 dark count /sec.  To get rid of the dark counts, I use gate pulses with very small duty cycle.  In this way, the dark counts are suppressed.  I want to operate for a fixed time interal with a resolution of ~1ms.  My gate pulses are at 800kHz.  Their duration is on the order of 10ns. Is there a way that I can perform gated counting for only 10000 gate pulses?  Thanks.

    Hi UMeng,
    Your question stirred up an interesting discussion at the office.  You can't do gated, buffered counting as the gate input is used to trigger the latch to the buffer.  We came up with a couple of ideas here, but neither are perfect.  It is important to also consider that you are running right at the specifed minimum pulse durations for the gate and source pulse durations for the 6110, which is 10 ns. 
    NI PCI-6110/6111 Specifications
    http://digital.ni.com/manuals.nsf/websearch/A9694D34EF10469386256E3000539747
    With that in mind, you could use an external high speed AND gate to generate a signal for a simple event counter to read using the laser gate and the photon detector output as input to the AND gate.
    Otherwise, you could try doing gated event counting on the signal and simple event counting on the gate as long as the gate frequency is consistent.  Then you could use the frequency of the gate and number of counts of the gate to get the total acquisition time.  This will require that you start and stop both counter tasks at as close to the same time as possible.  The start could be triggered with an Arm Trigger.  Getting the values from the counters would always require 2 software calls, but the longer the acquisition, the less important this error would become.
    Let me know if either of these sound appealing.
    Regards,
    John Bongaarts
    AE Specialist - Test Products

  • Gated semiperiod counting DaqMY LV7.0 + NI6602

    I am converting an application form traditional DAQ to DaqMX and am having trouble with the new conventions.
    The application uses a common gate to count gated events on multiple counters (5 total counters employed). An event causes 5 pulses of 500us 0.5 duty cycle and the counters must share this gate source and count TTL pulses coming from 4 different photon counting PMT. Essentially I am measuring a optical decay curve (10 points of each 500 microseconds)when each event occurs. This was easily accomplished using traditional DAQ but I cant get it to work under DaqMX (version 7.2). My solution for this scheme under traditional DAQ was to set up 5 tasks, Task 1-4 used counters 0-3 on the 6602 set for semiperiod buffered counting from the source terminal of each counter and the gate was configured to share a common PFI line counter 5 also shared the common gate but used the internal 80MHz clock as a source (This was so I could have a time stamp of each event since the freqency of everns is not a constant. When setting up a semiperiod under DaqMX I can not get the source to change from the internal clock to the PFI corresponding to a counters "source" pin. Any help would be greatly appreciated.
    -Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

    Thanks for the help, I was able to get my application to work perfectly, I created a semi-period counting channel then set the timing to implicit continious timing and modified the following channel properities:
    1. CI.Dup.CountPrevention = True (I need to allow for zero counts to be valid)
    2. CI.SemiPeriod.Term = gate pfi (this allows me to gate multiple channels on a single pfi line)
    3. CI.CtrTimeBaseSrc = Source (Pfi line wiered to my PMT ttl line, this is what I need to count)
    4. CI.CtrTimebaseRate = 200000 (Maximum expected rate of TTL source pulses, is actually usually much slower ~1-1000kHz)
    5. CI.CtrTimeBaseActiveEdge = rising (probably not needed)
    6. CI.DataXferMech to DMA (since the 6602only has 3 DMA channels and I configured 4 channels in this mannor, I had to set the last channel to Interrupt, but the application has no trouble keeping pace with the data.
    After configuring the channel I start each channel then read them in a loop, now everything is working great, thanks for pointing me in the reight dirrection
    -Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • 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

  • PCI6602 to detect TTL output from single photon counter

    Dear all,
    I am learning how to use Labview.
    Here is the system I try to set up.
    1.   Single photon counting module, 2.5v TTL output, 20MHz light source
    2. BNC-2121 block
    3. PCI6602
    4. Labview 7.0, NI-DAQmx
    The aim of this system is to counts the number of the detected photons from the light source.
    I have problem to start this task. Can you guys help to creat a sample which i can start from?  
    Your help will be greatly appreciated.
    Frankie

    Hi Frankie,
    I would suggest using the NI-DAQmx counter shipping examples to get
    started.  The Count Digital Events VI would be a good starting
    point. 
    You can open it through:
     Help >>
    Find Examples >>
    Hardware Input and Output >>
    DAQmx >>
    Counter Measurements >>
    Count Digital Events >>
    Count Digital Events.
    Hope this helps!
    Micaela N
    National Instruments

  • 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

  • Gated-event counting using analog triggers?

    I'd like to software trigger gated-event counting with analog signals. eg. Use a comparison to check analog input levels to a 6024E card, once a trigger level is reached send a digital out from the 6024E to a 6601 gate to commence and terminate a counter of the 6601 card.
    I have found that the counter on the 6024E card is not stable enough for this application, but the NI-TIO cards work reliably.
    Any tips greatly appreciated,
    Alan

    Alan;
    In case you want to trigger a finite pulse train generation of an analog hardware trigger, you can still accomplish that with an e-series board only.
    You will need to use both general purpose counters available on the DAQ device though. The first counter needs to be configured as retriggerable pulse generation, having its gate being routed to the AI Start Trigger pulse of the Analog Input task. With that done, the counter will generate a pulse at its output at every time the Analog Trigger level is met. You, then, configure the second counter to execute a continuous pulse train and route the first counter output to the second counter gate input. That will make the second counter to generate a pulse train that will be "enabled" by the first counter. The p
    ulse train will be generated while the output of the first counter is on its high state level.
    Knowing that, you can configure the pulse width of the first counter to be as wide as you need the second counter to generate the pulse train.
    Hope this helps.
    Filipe A.
    Applications Engineer
    National Instruments

  • Gated event counting on 6602

    I am trying to use gated event counting or single pulse width measurement techniques to count TTL pulses on two counters during an external gate pulse. The problem is that if zero TTL pulses (a possible condition) go to both counters during the gate, the "armed" attribute does not seem to change from "yes" to "no", allowing the vi to kick out of a while loop and read the value that the counter stored.
    Is there a way of setting up the counters so that
    1) both counters only collect counts during an external gate
    2) zero counts are allowed
    3) the counters change state from "armed" to "not armed" at the end of the gate pulse regardless of whether there were TTL pulses on the source channel during the gate?
    Thanks,
    -Martin

    Based on your description of the application, I assume that you are using traditional DAQ. If you have an application where you sometimes expect to have zero source pulses between gates, you should enable synchronous counting (ND_COUNTING_SYNCHRONOUS) (referred to as "duplicate count prevention" in DAQmx). Many of the examples in traditional daq have this as an option that can be enabled on the front panel.
    I hope this helps!
    gus....

  • 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

  • Device for photon counting system

    Hi
    I want  to design a photon counter for my optical measurement (very low intesnity). I need experiences of design and advice to choose a suitable  counter : low rate to high rate (up to 100M counts /sec), little dead time..., TLL input. I was told about such a PCI counter card.
    Thanks

    Hi hanh,
    The PCI counter/timer board that matches the specifications you have given would be the PCI-6602. You can find more detail about it in the NI 660x Specifications. The 100 counts/sec would be possible but you will have to use the prescaler. More information on this process can he found in this article which also has links to examples. Take a look at this device and see if it matches what you need.
    Regards,
    Kent
    Applications Engineer
    Digital Multimeter Home

  • Is over 400 hours (and counting) normal for iTunes to authenticate an iBook?

    Is over 400 hours (and counting) normal for iTunes to authenticate an iBook before uploading to iBooks store? Does the size of the document make a difference?
    Any help or advice greatly appreciated.
    Thanks

    OK, by coincidence this  happened to me just  yesterday as I was updating  a book, I   was doing other things and  noticed after about an  hour  it was still  showing loading lines.
    Its locked up somewhwere and  I just closed/ force close if needed.. and started the delivery process again.
    This time it  took 20 minutes or so which was what I expected.
    If it  happens a second time, try starting the  Publish from within iBA, but  first  check the  xxxxxxx.itmsp number and  check if it issues a new xxxxx.itmsp, if it does.. delete the old one to avoid confusion.

  • 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

  • Photon Counting on 6321

    I am attempting to count photons from 2 photomultiplier tubes (PMT) using Labview. I currently have written a program which will count from a single PMT. I was wondering if the manor in which I wrote the program will reliably count up to 1 MHz, which I believe the card can do, and if it is the best way to write this code. I am relatively new to LabView (esspecially counting).
    The program is designed to take a count every 10 - 100 ms and store them for analysis later. I will at somepoint require a program like this to run for up to an hour. It would also be nice if the counter reset evertime instead of reporting the summation of the counts.
    Using labview 2012.
    Thank you,
    A
    Attachments:
    Simple Count.vi ‏89 KB

    Your 6321 has a max samplerate of 250kSPS , so if you need to measure your pulse energy and assuming 5 samples per pulse you can go up to 50kHz ....
    (less since it's statistic)
    And you will need some pulse shaping .... (a 7 step RC,OP buffer chain? )
    Since it is a multiplexing card, make shure that your pulse shaping circuit has a low output impedance (more 1Ohm than 50Ohm and close to the DAQ)  (take a look at the settling time error in the spec)
    Crosstalk between the channels need to be investigated.
    Look at the examples about DAQ streaming TDMS data to file.
    Think about a producer-consumer architekture. One loop is reading (producer) and one loop is saving (consumer 1) and two more loops take copied slices of the data to make online monitoring ...
    If you just want to count the pulses, you can use the internal counter, up to 1Mhz shouldn't be a problem (again a fast pulse chaper, comparator needed)
    Greetings from Germany
    Henrik
    LV since v3.1
    “ground” is a convenient fantasy
    '˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'

Maybe you are looking for

  • Supressing the parameter form when calling report from form...

    Hi everybody I call a report from a form passing a parameter. After pressing the button, the runtime parameter from appears. How do I suppress it so that the report appears right after pressing the button??? Thanks Serguei

  • Flash 10.2.159.1 won't run in IE8 on XP

    New company, new company laptop with no admin priviledges. XP with IE8 Flash runs in Chrome 10 and Firefox 4 but not in IE8, though the plugin is enabled. Flash hasn't worked in IE8 since I got the machine, but Flash has been updating fine with the l

  • Nokia 6300 problem

    I connected it up to the Computer, to download some media. Then all of a sudden it flashed a couple of times and turned off. I tried to turn it back on again, and it just flashes and turns off. I tried connecting back to the computer and the computer

  • Failed to play (stream ID: 1).

    Hi all, I'm trying to simply stream audio from a FCS using akamai, I can give you the stream if necessary, but for now I'd prefer to keep it private. I can connect (NetConnection.Connect.Success), but the net stream then fails. // CODE nc = new NetCo

  • Where to load photo paper on my new Officejet Pro 8600

    I just set up a new Officejet Pro 8600 e-Print All-in-One Printer. The salesman told me that photo paper is loaded in the tray on the top of the printer. I tried that and have been unable to get the printer to use that paper, it goes to the paper tra