Tektronix Technical Forums are maintained by community involvement. Feel free to post questions or respond to questions by other members. Should you require a time-sensitive answer, please contact your local Tektronix support center here.

Runtime of get.close("allslots") after channel.open("allslots")

Post Reply
teftef
Posts: 2
Joined: February 22nd, 2016, 4:29 am
Country: Germany

Runtime of get.close("allslots") after channel.open("allslots")

Post by teftef » February 22nd, 2016, 4:32 am

I am using the System Switch 3706A with the 3732 matrix card inside.
The 3706A is only used for switching channles, the actual measurements are done with a separate Keithley SMU.
I control the switch by running scripts which are essentially a series of GPIB commands.

When using the command channel.open("allslots") I have observed an effect on the run-time, which I can't explain.

A typical script has the following structure
(written in a mix of lua-commands and pseudo-code):


A) channel.close("A, B, C").
A) Measure commands to the SMU
A) channel.open("allslots")
B) channel.close("D, E, F").
B) Measure commands to the SMU
B) channel.open("allslots")
etc., etc.

Using the command channel.open("allslots") I am always in a defined state between the sections A and B.
(Another option would be to use exlusive.close at the start of each section.)

To make sure my switch commands have worked correctly, I am usually using channel.getclose("allslots") to return the switch status and compare this to my wanted setup. So a typical scripts becomes this:

A1) channel.close("A, B, C").
A2) show error if (channel.getclose("allslots") != A,B,C)
A3) Measure commands to the SMU
A4) channel.open("allslots")
A5) show error if (channel.getclose("allslots") != nil)
B1) channel.close("D, E, F")
B2) show error if (channel.getclose("allslots") != D,E,F)
B3) Measure commands to the SMU
B4) channel.open("allslots")
B5) show error if (channel.getclose("allslots") != nil)
etc. etc.


Usually all matrix commands take way less thacn 10ms to execute (let's call this fast).
With this command sequence, it takes above 120ms to execute the getclose() command after the open("allslots") command (let's call this slow).

Some observations:
getclose() executes fast after a channel.close(A,B,C).
getclose() executes slow after a open("allslots").

If I omit command A5, then command B2 executes slow (usually it is fast).


Any ideas why getclose("allslots") performs slow when it is precedented by a open("allslots")?

I realized that I can replace every open("allslots") with a exclusive.close(""), which does the same (does it?).
This way all getclose commands perform fast.

teftef
Posts: 2
Joined: February 22nd, 2016, 4:29 am
Country: Germany

Re: Runtime of get.close("allslots") after channel.open("allslots")

Post by teftef » February 23rd, 2016, 12:43 am

Since the exclusive.close("") works as well, I maybe add the question:

Is there a different behaviour between exclusive.close("") and open("allslots") ?
Maybe open("allslots") does something additional, which takes more time?

Post Reply

Return to “Series 3700 Switch System/Multimeter and Plug-In Cards”

Who is online

Users browsing this forum: No registered users and 4 guests