01-27-2020 01:54 AM
Hi, everyone.
I'm a beginner level in Labview.
I want to measure and save data using Lock-in-amplifier SR830, pre-amplifier SR570, and Keithley sourcemeter 2600 series.
But, I have only one GPIB yet. so, Lock-in-amplifier is only connected with GPIB. (Other instruments set by analog control)
I used and modified SR830 examples provided by Labview to measure and save automatically data. This code worked well(data read and save).
However, The data results were quite different when running Labview program and when it is not. (data become very larger than analog control without labview --> it causes output overload error.)
(all setting values in Lock-in-amplifier were same.)
So, I have a question. If I have multiple instruments connect with each others and only one instrument is connected with GPIB, when run the labview program for GPIB connected instrument, can I have a issue in above case? or This issue is caused by just code problem?
I'm sorry for my poor English.
Please give me any comment or advisement.
Thank you
01-27-2020 12:13 PM
You should not be re-initiallizing the communications with the lockin inside those while loops. Do the initialize once at the start outside the loops then set whatever parameters need changing in each loop. I suspect the lockin is failing to initialize but not throwing an error because communications times out and the settings aren't what you would expect.
You should attach your code, not just a picture of it if you want more help.
Craig
01-27-2020 12:19 PM
Hi
The GPIB bus is meant to connect more instruments to, max is 16 instruments.
But they all need a different address. Set by software or switches at the back of the instrument.
You only need to connect the other instruments with a gpib cable either in star topology or kind of serial by plugging the cable connectors on top of each other.
Good luck.
03-22-2021 12:04 AM
When you use the initialize from driver vi, it will send *RST command and it will reset settings include sensitivity, time constant, and low-pass filter slope..etc to default value. One more issue is that *RST operation takes some time, but that driver vi does not include the query operation to check if it is done or not.
What will happen is that initialize vi will send standard error out data flow to next control, which as I remember is something inside the example of SR830 driver vi(Directly use example vi it's not a good idea, use it as reference only and modify your own version).
It might:
1. cause error because SR830 will not response when certain operation is ongoing.
2.VISA writes operation in second control are actually lost because *RST operation is still working,but for somehow no error message occurs, which means that those setting are not set and you're using default sensitivity/time constant/LPF slope to do the following measurement. That probably why you see overload on instrument front panel.
another issue:
Auto sensitivity from driver vi is actually not working, too, DON'T USE AUTO GAIN. It takes at least several seconds for SR830 to find proper gain level. During this process, trying to communicate with SR830 typically cause an error. That "Nice" driver does not include command to check whether auto gain is done or not and it will send standard error out right after sending AGAN.
Take initialize vi out of loop might help, but if you need to use auto gain, I guess you will still encounter come problem.
And this problem might not be solvable on GPIB interface, according to user manual,there are some registers tell you certain operation is done or not, but I did try to read those registers but always read 0 as return(it should be 1 if no operation is ongoing). AE of stanford research agent in my country, just get response as"We never find this issue via RS232" lol
03-22-2021 10:57 AM