Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Keithley 2420 and SR844 via Keysight GPIB cables to NI PCIe-GPIB card on Ubuntu 21.04

Hi,

 

I have been using a NI PCIe-GPIB card on Ubuntu 21.04 to control instruments. My Keithley 2460 is working fine. I can write, read and query. The SR844 times out frequently but I can write on it. The Keithley 2420 does not work at all. It times out and complains interrupted signal when sending it again. 

 

I am using Linux GPIB and pyvisa to control the instruments. They are connected via Keysight cables. 

 

Any suggestions how to get around this? Why is every instrument behaving differently? Are the Keysight GPIB cables incompatible?

 

Cheers,

Robert

0 Kudos
Message 1 of 7
(1,583 Views)

What are the settings especially the bus speed setting, maybe it is a bit too fast. Especially for the SR844.

And the Keithley 2420 is it setup for gpib or serial maybe?

greetings from the Netherlands
0 Kudos
Message 2 of 7
(1,567 Views)

How can I check/change that? I only found online solutions for NI software.

0 Kudos
Message 3 of 7
(1,538 Views)

I only use NI cards, sorry also don't know this for agilent.

I don't suspect the cables.

greetings from the Netherlands
0 Kudos
Message 4 of 7
(1,534 Views)

It's a NI card. But Keithley devices.

 

2460 Source meter is working flawlessly: write and read and query works well.
I am having trouble with 2420 Source meter and SR844 Lockin. I can write and configure the instruments but the read and query time out. I have no idea why this is 😕

Any suggestions how to resolve this issue?

 

ibtest for 2420:

enter maximum number of bytes to read [1024]: 1024
trying to read 1024 bytes from device...
received string: 'KEITHLEY INSTRUMENTS INC.,MODEL 24'
Number of bytes read: 34
gpib status is:
ibsta = 0xc100 < ERR TIMO CMPL >
iberr= 6
EABO 6: Operation aborted

ibtest for 2460:

enter maximum number of bytes to read [1024]: 1024
trying to read 1024 bytes from device...
received string: 'KEITHLEY INSTRUMENTS,MODEL 2460,04480133,1.7.3c
'
Number of bytes read: 48
gpib status is:
ibsta = 0x2100 < END CMPL >
iberr= 0

gpib.conf:

interface {
minor = 0
board_type = "ni_pci"
name = "gpib"
pad = 0
master = yes

/ base = 0
sad = 0
irq = 0
dma = 0
with and without does not matter /
}

device {
minor = 0
name = "PS1"
pad = 6

eos = 0xa /* EOS Byte */
set-reos = no /* Terminate read if EOS */
set-bin = no /* Compare EOS 8-bit */
}

device {
minor = 0
name = "SM1"
pad = 11

eos = 0xa /* EOS Byte */
set-reos = no /* Terminate read if EOS */
set-bin = no /* Compare EOS 8-bit */
}

device {
minor = 0
name = "LA1"
pad = 16

eos = 0xa /* EOS Byte */
set-reos = no /* Terminate read if EOS */
set-bin = no /* Compare EOS 8-bit */
}

0 Kudos
Message 5 of 7
(1,471 Views)

If you have an NI card you probably also have MAX the Measurement Explorer from NI.

If so you can change the settings of the GPIB card in MAX.

greetings from the Netherlands
0 Kudos
Message 6 of 7
(1,465 Views)

The Keithley 2400 and 2420 are *nearly* identical source meters.  They support all the same commands, but can source and sink different amounts of current and voltage.  see - https://www.tek.com/datasheet/series-2400-sourcemeter-instruments

 

Sorry I read 2400, not 2460.  They 2460 is a newer model with a different range yet.  But I see your code issue is just with the initialization process.    

 

You should be fine to mix NI and other types of GPIB cables.  

 

Do you have a really long cable or a bad cable to the 2420?  How are they all connected, what lengths?  GPIB cables come in long version but the protocol specifies 2m between instruments.  You can into error with 6m cables or many cables chained together.  Can you share a photo of how you have the instruments wired? What length cables? All instruments are at different GPIB addresses (6, 11, 16) and all powered on at the same time when trying to communicate? 

 

Are you doing a reset before these ibtests?  You can set the timeouts to all instruments to something like 10s and see if they all reply correctly.  Perhaps the 2420 doesn't have time to reset then reply. 

 

Also rather than ibtest, why not try to write *IDN? and read reply?

 

Hope that helps.

Craig

Craig

 

0 Kudos
Message 7 of 7
(1,454 Views)