HP  E1301B/E1326B no GPIB reading - Page 1
Forum section: electronics / testgear

author: davorin
author_rank: Unknown
timestamp: November 13, 2015, 02:43:24 pm
content: Just unpacked my new/old E1301B mainframe which came with the E1326B voltmeter option installed...only problem seems to be an empty NVRAM battery...When I select the voltmeter with a 9V battery attached, pressing either "VDC" on the panel or "MEAS:VOLT:DC?" via GPIB it returns on the first reading:Code:+9.900000E+037Reading again returns the correct vlaue....but when waiting for 10 seconds, the first reading is again wrong...

author: davorin
author_rank: Unknown
timestamp: November 13, 2015, 03:24:10 pm
content: Odd...seems to be only true when connecting an old 9V battery....no problems with 6632B feeding it...And again one of the devices which won't work out of the box with linux-gpib, but only with Agilent IO libs....Is there an alternative to linux-gpib?

author: bingo600
author_rank: Super Contributor
timestamp: November 13, 2015, 05:25:23 pm
content: Quote from: davorin on November 13, 2015, 03:24:10 pmSeems strange that it won't work with linux-gpib , it should be SCPI compatible and fairly std.Quote/Bingo

author: davorin
author_rank: Unknown
timestamp: November 13, 2015, 05:31:03 pm
content: What I thought as well...and according to linux-gpib mailing list I have a supported firmware for both F and S adapter....(both are same hardware btw ;o).Code:idVendor 0x0957 Agilent Technologies, Inc.idProduct 0x0718bcdDevice 1.21iManufacturer 1 BEIMING Technologies, Inc.iProduct 2 S82357 ()idVendor 0x0957 Agilent Technologies, Inc.idProduct 0x0718bcdDevice 1.11iManufacturer 1 BEIMING Technologies, Inc.iProduct 2 F82357 ()Maybe I'll try a fresh linux install on a small box and start from scratch as I want to have some HTTP REST API server controlling the GPIB bus....or just go with a Prologix Ethernet adapter...BTW: What happened to the Beiming site? The old link bmjd.biz is dead....

author: merox
author_rank: Regular Contributor
timestamp: November 13, 2015, 06:11:53 pm
content: I had a "similar" problem after switching our poduction test equipment from an 34401A to a 34410A. Somehow the 34410A seeed to have buffered an old measurement result in it's buffer, for whatever reason. I ended up in throwing the first measurement away and only accepting the ones after that one.

author: davorin
author_rank: Unknown
timestamp: November 13, 2015, 06:41:09 pm
content: Thought I change the topic now (o;Hmm..also with my selfmade Prologix clone it won't read anything from the E1301B/E1326B, whereas it works fine on 6632B:Code:me@nuc:~$ python 1301b.py /dev/ttyACM0 11Sending: ++mode 1Sending: ++addr 11Sending: ++auto 1Sending: *idn?me@nuc:~$me@nuc:~$me@nuc:~$ python 1301b.py /dev/ttyACM0 5Sending: ++mode 1Sending: ++addr 5Sending: ++auto 1Sending: *idn?HEWLETT-PACKARD,6632B,0,A.01.04

author: bingo600
author_rank: Super Contributor
timestamp: November 13, 2015, 09:31:16 pm
content: Quote from: davorin on November 13, 2015, 05:31:03 pmI saw Dave's ansver thereThat's weird, i wonder if the Agilent IO-lib is sending something to the box ?Quote from: davorin on November 13, 2015, 05:31:03 pmI have no idea , and now that you mention it , i don't think i'we seen a Beiming on *bay for some time.I might have to write cheh and ask

author: davorin
author_rank: Unknown
timestamp: November 13, 2015, 09:43:38 pm
content: Given the fact both 82357B and Prologix clone don't read anything back...there must be something missing....Time to hook up my old 16702A again (o;

author: bingo600
author_rank: Super Contributor
timestamp: November 13, 2015, 09:56:53 pm
content: Yupp.Look for something sent to the box on startup , from the Agilent IO-lib. And EOI set and/or LF , when sending/receiving to the box via io-lib./Bingo

author: bingo600
author_rank: Super Contributor
timestamp: November 13, 2015, 10:04:05 pm
content: HmmmWonder if it needs some driverstuff downloadedSee herehttps://github.com/samofab/E1300BCan you try linux-gpib after you have tried it with agilent-io ?The dmm could be a gpib sub-address/Bingo

author: davorin
author_rank: Unknown
timestamp: November 13, 2015, 10:12:00 pm
content: Hmm...tried that...but of course with E1301A being switched off as the Windows and Linux PC are not that close together...

author: free_electron
author_rank: Super Contributor
timestamp: November 13, 2015, 10:16:05 pm
content: your 1301 wouldn't have instrument basic in it would it ?

author: davorin
author_rank: Unknown
timestamp: November 13, 2015, 10:19:05 pm
content: Instrument Basic???Well...the programming examples show how to use it with a HP-85B...and I'm sure it doesn't do fancy pre-downloading of anything...

author: davorin
author_rank: Unknown
timestamp: November 14, 2015, 08:37:49 am
content: No difference when first using Agilent IO and then move the adapter over to Linux-gpib...no reading...What I've seen once when debugging CRTU-RU GPIB under linux-gpib is that on the logic analyzer I saw on the bus for example with the *IDN? command that between characters there were other characters placed not belonging to the command....

author: bingo600
author_rank: Super Contributor
timestamp: November 14, 2015, 04:01:06 pm
content: What's the GPIB address of the E1301B (i don't know how this is set , but think def is 9) ?What's the address of the E1326B (could this be dipswitches ? ... def is 24 i think , but some says to divide by 8 .. then 3) ?I'd try to open it with the 1301B as primary address , and "Dmm address divide by 8" as the secondary.Linux-gpib says the sad (secondary addr) should be offset by 0x60 (96) , so a secondary addr of 3 , should be (96+3) = 99 ,and a secondary of 24 should be (96+24) = 120I'd define this in gpib.conf , for a sad of 3 (99) , or change sad to 24 (120) laterCode:device {minor = 0name = "E1326B"pad = 9sad = 99eos = 0xaset-reos = yesset-bin = yesset-xeos = yesset-eot = notimeout = T1s}Then in python do a :Code:# my preferred way is to use def's in gpib.confE1326B=gpib.find("E1326B")orCode:# from doc - Gpib(board_index, pad[, sad[, timeout[, send_eoi[, eos_mode]]]])E1326B = Gpib(0,9,99)And see what happensDo grab the linux-gpib-4.0.1.tar.gz , from sourceforge , and look at the pdf in the doc folder.http://sourceforge.net/projects/linux-gpib/files/linux-gpib%20for%203.x.x%20and%202.6.x%20kernels/4.0.1/Also look at the python implementation in the dir/linux-gpib-4.0.1/language/python//Bingo**** Example snipped from the "net" , note NOT linux-gpib but might be usable ****http://www.tamsinc.com/sicl/82091/82091-sicl-usrgd.pdf/* Open the multimeter and switch sessions */dvm = iopen ("hpib,9,3");sw = iopen ("hpib,9,14");itimeout (dvm, 10000);itimeout (sw, 10000);/*Set up trigger*/iprintf (sw, "TRIG:SOUR BUS\n");

author: davorin
author_rank: Unknown
timestamp: November 14, 2015, 05:28:20 pm
content: WT.... (o;Code:me@nuc:~$ python 1326b.pyWriting to E1326BReading from E1326BHEWLETT-PACKARD,E1326B,0,A.05.00Measuring voltage+2.531271E-001Now I know what was going wrong...."ibterm" told me that as secondary address you have to supply in the range of 0 - 30:Code:me@nuc:~$ ibterm -d 11 -s 99sad must be between 0 and 30.ibterm: Aborted...but apperently doesn't do the 0x60 Addition, which I of course read in the manual (o;So I thought you have to supply also between 0 and 30 in gpib.conf...Maybe this could also be the problem with my CRTU-RUs then....So this means if a device has a base controller at "sad" of 0, you can't just talk to it with the primary address only...you always need the 0x60 offset then...

author: davorin
author_rank: Unknown
timestamp: November 14, 2015, 05:34:14 pm
content: YESSSSSSS...Code:me@nuc:~$ python crtu.pyWriting to CRTUReading from CRTURohde&Schwarz,CRTU-RU 1138.4000.82,100185,V4.34!Code:device {minor = 0name = "crtu"pad = 20sad = 96timeout = T1s}Indeed "ibterm" is unusable with devices with secondary addresses....

author: davorin
author_rank: Unknown
timestamp: November 14, 2015, 05:40:34 pm
content: Seems the 0x60 offset can be set always....works also with 6632B and 9354AL....just change line in "ibterm.c" from:Code:devdesc = ibdev(minor, pad, sad, timeout, send_eoi, eos_mode);to:Code:devdesc = ibdev(minor, pad, sad + 96, timeout, send_eoi, eos_mode);

author: bingo600
author_rank: Super Contributor
timestamp: November 14, 2015, 06:18:27 pm
content: He..HeI love swiss beer(hint..hint)Just NOT Gösser (but it's Austrian i think)Nice that you got it going , and a bit strange that you need to specify a sad of 0 (96) for the R&SI think i saw in the source that "no sad would be a sad of 0"Edit: I have written Dave P , and told him about ibterm and the 0x60 sad offset problem./Bingo