05-22-2021 02:00 PM
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
05-22-2021 02:42 PM
05-22-2021 04:39 PM
How can I check/change that? I only found online solutions for NI software.
05-22-2021 05:00 PM
05-24-2021 10:55 AM
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 */
}
05-24-2021 03:13 PM
05-25-2021 12:08 PM - edited 05-25-2021 12:26 PM
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