Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

RS-232 and GPIB communication problem Keithley 6517B

Hello.

I test my own software written in Python language using py-visa and NI drivers to communicate with electrometer Keithley 6517B and 6517B using RS-232, ENET100 and USB to GPIB.

My main problem is that sometimes (after 3 hours, 1 day, 3 days, i don't see any regularity) electrometer hangs up. I start infinite acquisition and then don't change any parameters of communication, measurement set-up, electrometer, cables and anything during measurement. After the occurrence of the problem I can't do anything with device (no button on the front panel reacts, including "local" button).

I've got this problem on two same devices Keithley 6517B and one Keithley 6517A- still got the same problem.

 

There was one problem with long term stability (regular disconnecting), but when I one time in an hour send to electrometers comands:

'trace:clear'

'trace:points 1'

'trace:feed:control always'

'initiate:continuous 1'

the problem of regular disconnecting disappeared.

 

- I was working on Windows XP, Windows 10 and Armbian (Orange Pi),

- 9600 baud rate was set for RS-232.

- I get data using only fetch? and read command. Nothing more happens on infinite loop.

- I get points in 3s period

- The device works on current mode on nearly constant level

- I attach electrometer settings (config.cfg) that I send after communication is established (not always but it doesn't matter)

 

Thanks for Your help.

0 Kudos
Message 1 of 2
(3,662 Views)

If the instrument out of the blue stop responding, then the issue is most likely with the instrument.  Contact Tektronix (they own the Keithley brand now) tech support - https://www.tek.com/keithley-low-level-sensitive-and-specialty-instruments/keithley-high-resistance-...

 

On your own, and possible before contacting them you could try:

1) making sure you have the latest firmware, they offer updates that might fix your issue

2) Use NI I/O trace to record all commands on GPIB bus and see what the errors reported are when it hangs.  

3) Document all the errors the electrometer reports before it hangs.  (i.e. check for errors after every commands and logs those to file.  Check for voltage compliance, etc.. any behaviour that might cause unexpected issues.)

4) Create a "Torture test" program that is essentially your code, but collects data faster so you can debug the issue without waiting days.  Make sure this code uses the advice of #3.

 

From a code stand point you are collecting data infrequently (once every 3s?)  Do you initialize communications with the instrument each time you want to read data and then disconnect afterwards?   Or do you initialize once and keep that session open for hours?   I'm not sure if there are issues with doing either, but you might try the scheme you aren't using.

 

Another idea would be to buffer readings to the internal memory, then read chunks of say 1200s readings every hour.  

 

Not sure any of this helps, but some food for thought.

Craig

0 Kudos
Message 2 of 2
(3,637 Views)