Hello,

I have a need to do a synchronized sweep with four 2400 SMUs. One sweeps from 0 to 2.5 volts and triggers the rest of the three to measure current. I am doing some measurements where I measure photocurrent on three different diodes.

I have semi-successfully written some code that achieves this, but one SMU will randomly timeout after a number of sweeps.

I could use some help from the community on how I can achieve this with no errors on my current setup.

To help people who are interested or able to support me I will provide

1) Information on my current setup.
2) My current code that works but inconsistently.
3) Some code I thought would work but does not seem to.

1) I'm using GPIB and pyvisa for programming. My setup uses Tlink to do triggering between the 4 SMU's which are connected through two Tlink Y adapters and four Tlink cables. All SMUs are either 2400 or 2401. See SMU setup.png

2) My current code works sometimes but will timeout SMU#2 rather frequently.
I used the example in the Tektronix application note "Trigger Synchronization of Multiple SourceMeter Instruments" where they showed how to synchronize three SMUs to create this code.

All I did was simply add another SMU that receives the same trigger as the other two but has no output trigger. SMU#2 is timing out when I try to query "FETCH?" after waiting for the sweep to be done. I'm assuming that the reason SMU#2 is timing out is because it is a receiving a trigger before it has reached the measurement portion of the loop. Let me know if that is a reasonable conclusion as I'm unsure why else it would crash so often. I added a delay to SMU#4 to try and ensure that SMU#2s measurement would complete before receiving the next trigger, but it did not seem to help. I would like to minimize the delay necessary as much as possible since the point of doing these sweeps if for them to complete ~10 seconds.

SMU#3&4 use the arm and trigger to start the next trigger on SMU#1 so I don't think they are the problem.

Too see exact setup and code take a look at Code diagram1.png and 4way_sweep_code1.txt

3) Since I thought the issues had to do with SMU#2 receiving triggers to fast I rewrote the code to have SMU#2 trigger SMU#3&4. However, it does not work, when I run it, all SMU seem to simply trigger once, and SMU#1 does not move beyond 0V. 

Too see exact setup and code take a look at Code diagram2.png and 4way_sweep_code2.txt

If anyone has successfully implemented a 4-way synchronized sweep with 2400 SMUs please let me know how you achieved it, or if you are able to help me understand why SMU#2 is timing out and how I may fix my either of my code to make it work consistently I would be very grateful.