I’ve programmed quite a few GPIB instruments in the past
* HP 8720D and 8753ES VNAs
* HP 3457A multimeter
* HP 5370B time interval counter
* HP 70000 series spectrum analyzer
* Stanford Research Lock-in amplifier
but the HP 34970A has me beat!!!!!
Here's what's working, and what is not.
1) I can set up channel 101 to measure DC volts with
CONFIGURE:VOLTAGE:DC (@101)
2) I can set up channel 102 to measure AC volts with
CONFIGURE:VOLTAGE:AC (@102)
So far so good.
However, each time I set up some channels to measure a particular parameter, the ones previously set are turned off. So for example, sending these two commands
CONFIGURE:VOLTAGE:DC (@101) ; CONFIGURE:VOLTAGE:AC (@102)
results in channel 102 being set to AC volts (as intended), but all other channels are reset, so are off. which is not what I want.
I can't find the sequence of GPIB commands that allow different parameters to be set on different channels. Normally one sticks a semi-colon between commands, and they all get executed sequentially.
The 34970A manual says
"Both the MEASURE and CONFIGURE commands reset all measurement parameters to their default values" In other words, what I am seeing is what the manual says should happen. However, this is not very useful!
I´m obviously doing something wrong. Does anyone know what?
I don’t want to program in Excel, but instead C, but one of the Excel examples seems to be executing the commands I tried, but they are not working in my simple C program. The manual gives this example
SendSCPI ¨CONF TEMP TC,T, (@102) 'Configure channel 102 for temperature
SendSCPI ¨CONF:VOLT:DC (@110,111,112) 'Configure 3 channels for DC volts.
I am trying to program the 34970A the same way I have done multiple instruments in the past
1) National Instruments GPIB board in a Sun workstation running Solaris
2) National Instruments drivers, which gives me commands like
ibwrt() - write data
ibrd() - read data.
3) Write the code in C and compile with the gcc compiler, linking in the National Instruments library, and including the National Instruments header files in my C program.
I’m not using any GUI - just command line stuff in a UNIX environment.
Dave.
I have now got this worked out, thanks to someone on the HP/Agilent/Keysight mailing list
HP-Agilent-Keysight-equipment@groups.io | Home
The trick was that that one needs to execute
ROUT:SCAN (@channel_list)
That then creates a scan list of whatever channels on wants to scan, which can be a smaller number than those that are configured.
So my problem is solved, but I posted the solution here just in case others get the problem.
Dave