Tektronix Technical Forums are maintained by community involvement. Feel free to post questions or respond to questions by other members. Should you require a time-sensitive answer, please contact your local Tektronix support center here.

SCPI with relays

DMM6500 6½-Digit Touchscreen Multimeter
Post Reply
KMittaaja
Posts: 4
Joined: September 3rd, 2021, 12:08 am
Country: Finland

SCPI with relays

Post by KMittaaja » September 3rd, 2021, 1:30 am

I've been using 2000-series DVMs for a couply decades with 2000/SCAN relay card. This has the philosophy that the instrument is separate from relay card, so one configures the instrument (for example, DC volts with autorange) and then closes relay (say, channel 1, ":ROUT:CLOS (@1)"), and then stars measurement with ":INIT", checks with "*OPC?" until measurement is ready, and reads the result with either "FETCH?" (older than 2011 dated 2000 instruments) or ":DATA:FRES?" (newer 2000 instruments not supporting FETCH? anymore). Simple.

However, Keithley stopped 2000-series and now I have to use DMM6500. The SCPI 2000 emulation doesn't really work (I seem to get manual 1000V DC range with autoranging), so I'm developing new software that natively supports it with SCPI of DMM6500. DMM6500 has different philosophy, so I'm curious if the way I'm doing things is optimal or reasonable.

Scenario 1:
-------------

First I config the instrument. The SENS part must be done for all relay channels in order to work.
:SENS:FUNC 'VOLT:DC', (@1:10)
:SENS:VOLT:DC:AZER ON, (@1:10)
:SENS:VOLT:DC:NPLC MAX, (@1:10)
:SENS:VOLT:DC:RANG:AUTO ON, (@1:10)
:SENS:VOLT:DC:AVER:STAT OFF, (@1:10)
:FORM:ASC:PREC MAX
:FORM:DATA ASC
:TRIG:BLOC:MDIG 1

Then to measure channel 1 I use
:ROUT:OPEN:ALL
:ROUT:CLOS (@1)
:ABOR
:INIT
a loop waiting for *OPC? reply to become 1
FETCH?

This seems to do the measurement ok. So I presume this is the correct way.


Scenario 2:
-------------

However, if I want to use filtering, can I do it like this:
:SENS:VOLT:DC:AVER:STAT ON, (@1:10)
:SENS:VOLT:DC:AVER:TCON REP, (@1:10)
:SENS:VOLT:DC:AVER:COUN 10, (@1:10)

and next I would use the same way to measure channel 1
:ROUT:OPEN:ALL
:ROUT:CLOS (@1)
:ABOR
:INIT
a loop waiting for *OPC? reply to become 1
FETCH?

Does this give me channel 1 measurement as average of 10 measurements?
I think it does, but do you agree? I might be seeing just some timeout and get one measurement only..


Ranting
---------

It is a bit difficult to see the effects that come from config of relay channels, instead of instrument itself.

For filtering, it was easy on 2000 series, as the filter was for the instrument which just measured it's input (regardless of 2000/SCAN relay state).
Now with DMM6500 the effects are related to relay channels (if relay is closed then config is different) and that is a ambiguous as one can still also config instrument (leave the ", (@1:10)" away from command), but I think it is irrelevant when relay channel is selected with :ROUT:CLOS, and would only be relevant if all relay channels are open. It is also really bad that error message on front panel doesn't give all details (like which command caused the error). Error can only be analyzer by software debugging, going one line at a time in IDE, to find the command causing the error. If it would show the command causing error, it would save lots of work.

Thanks! Sorry for long post. I've been reading the DMM6500 manual pdf for some days and programming and testing, and all seems to work now. :)

Andrea C
Keithley Applications
Keithley Applications
Posts: 1612
Joined: October 15th, 2010, 10:35 am
Country: United States
Contact:

Re: SCPI with relays

Post by Andrea C » September 5th, 2021, 6:08 am

Hello,

For help to determine which command is causing an error, enable the command logging in the event log.
https://www.youtube.com/watch?v=cVU_C308EUc

For the scanner card channels in the DMM:

You can treat them as totally separate items, but you must use the multiple channel operation commands. Check out last section in ch 6 in the DMM6500 chapter on scanning and switching. If using this approach, you must command relays to be open or closed and separately command the DMM to measure. When using these commands, "scans" would require you to manage all the details on relays and dmm configuration prior to each measurement.

For the commands you have been using where a measure function and other dmm settings are associated with a switch channel: this method is most efficient if intending to perform scans of the channels. It can be of particular throughput benefit if your scan has mixed measure functions (some DCV, some temperature, etc.).
The other thing this method does is automatically manage the backplane relay (channel 11) and any 4-wire channel pairing that might be required for certain measure functions (4W ohms or RTD temperature sensor). If using the multiple channel operation, then you'd need to also manage channel 11 if doing 4wire measure types.
2000-SCAN_backplane_relay.PNG
backplane relay of 2000-SCAN
2000-SCAN_backplane_relay.PNG (36.05 KiB) Viewed 88 times

KMittaaja
Posts: 4
Joined: September 3rd, 2021, 12:08 am
Country: Finland

Re: SCPI with relays

Post by KMittaaja » September 5th, 2021, 11:04 pm

Thank you for your reply.

Good hint on the multi-channel operation for non-per-channel-configured single channel operation. It is indeed mentioned at end of chapter 5. Thanks. I wasn't interested in scans or multi-channel operation, so didn't notice that. In my application, I just simply read individual channels.

I've now already implemented it like described in original post and it seems to work ok (and I have no problem with per-channel config now that I've figured it out), so that's fine.

"
Scenario 2:
Does this give me channel 1 measurement as average of 10 measurements?
I think it does, but do you agree? I might be seeing just some timeout and get one measurement only..
"

Just to be certain, do I understand your reply correctly, that it indeed measures average of 10 measurements for channel 1?

That is my real question - that it is correct idea, that the AVER config commands (of scenario 2) affect all channels with the (@1:10) and thus when measuring any channel (like channel 1 in example), it is average of 10 measurements of that channel.

Andrea C
Keithley Applications
Keithley Applications
Posts: 1612
Joined: October 15th, 2010, 10:35 am
Country: United States
Contact:

Re: SCPI with relays

Post by Andrea C » September 9th, 2021, 5:18 am

For the filter question:
For channels from the scanner card, the only supported digital filter is the repeating average.
Suppose a 10 point repeating average is in effect.
The DMM will only report one reading value to you, but it takes longer to report it because behind the scenes, 10 readings are obtained.

Post Reply

Return to “DMM6500 Bench/System DMM”

Who is online

Users browsing this forum: No registered users and 1 guest