LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

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.
0 Kudos
Message 1 of 28
(8,054 Views)
Followup - the driver VI issues the command "FA" to start the scan. This is yet another major bug - FA just starts scan on A, does nothing for B - no wonder some people seem to have an endless wait for B data - none was asked for in the first place.

There are so many bugs in this driver, that I think I will write my own driver now, implementing whatever subset of the functionality I need.
0 Kudos
Message 2 of 28
(8,043 Views)
The drivefr was originally written 12 years ago and the standards were much 'looser' than. I would encourage you to post an updated driver at http://sine.ni.com/apps/we/niid_web_display.sub_driver so that other people can benefit from your work.
Message 3 of 28
(8,031 Views)
I too have had many problems with the SR400. Basically, I have a program that sets the counting parameters (eg discriminator, interval, etc). When the scan is finished, I download and save the data.

I attached the sub-VI that downloads the counts in channel A or B. There seems to be a problem when it downloads the data for the first time. The first data point in the most recent scan is the last datapoint from the previous scan. So, the program just reads the data twice.

It's not the most eloquent solution, but I'm a novice. I hope this helps.

Message Edited by Paul Henning on 02-18-2007 05:06 PM

0 Kudos
Message 4 of 28
(7,932 Views)
I had same problem. so I made personal vi.
this vi hopely help you to do more advanced vi for SR400. maybe...
 
(saved by LabVIEW 8.0 & DAQmx8.3 )
0 Kudos
Message 5 of 28
(7,864 Views)
Here are some Sub VI's and programs that I've made for the SR400. They only work for the GPIB bus though.
Message 6 of 28
(7,670 Views)
Hi Guys,
     I have SR400 connected to my computer through GPIB and I want to perform this simple measurement. I want to integrate the counts for about 1ms with a small dwell time (1us-100us) and I want to record these counts for an hour or so. I am using Count A,B for T preset.

    I made use of the vi's (setup2 and read channel) that Paul Henning has posted (thanks a lot). My problem is I am not sure how to set A Gate Widths and delays. In the counter I can set to these values to  ****, but in the lab view I donot know what to do. I am also able to record the data, but not what I want. I am not sure how to set the integration time and how to set the counter to operate in the free running mode without any gates.
0 Kudos
Message 7 of 28
(7,635 Views)
I don't know if that would be possible with the SR400. First, the mimimum dwell time is 2 ms (time for the counts to be stored, reset the circuitry, etc). Also, the max storage size for each channel is 2000 points/measurements, so you would only be able to record for ~30 minutes with your specs.

However, I have a VI that circumvented the 2000 point limit. It was for a photobleaching experiment that ran over a couple days, but it was not included above. Basically, it would integrate for some period (1 sec in my case), download that single point, delay for another time period, and then repeat for a large number of iterations. But, I still think it can the min delay between measurements was limited to 500 ms or so. It's at work, but I can look tomorrow.

If you can tolerate the 2 ms dwell time, the SR400 can be programmed easily with the SubVIs above. I think you would need to use Gate.VI to set the gates for each channel. I always intergrated over 1 second, so I just used the internal trigger.


0 Kudos
Message 8 of 28
(7,620 Views)
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).
0 Kudos
Message 9 of 28
(7,603 Views)
I forgot to attach the data file in the previous post, I am attaching it here.
If you dont mind please e-mail me the file to vdhulla@ic.sunysb.edu

0 Kudos
Message 10 of 28
(7,590 Views)