Logging from meters

wow. this looks like the UltraDMM that I use and love, but with support for far more meters and devices. Thanks so much for this, I’ll absolutely have to try it out.

Not really. With this software you can analyze data and add calculated values, i.e. if you have current and voltage, you can add a Watt, a Ah or a Wh column.

Next step up is scripting, the current version do support some.

Looks cool. I’d love support for the

*IDN?
HEWLETT-PACKARD,34401A,0,11-5-2

I’m using a USB-RS232 adapter.

edit: UNI-T UT181A would also be a welcome addition. I’ve been using this one from CuriousTech for now.

I do not have the meter, that makes it a bit difficult for me, but maybe you can do it you self (Depends on how close it is to 34465A)?

The program has a “Devices” directory, in that make a copy of “Keysight34465A.txt” and rename it to “HP34401A.txt”.
Then edit the file and change the 4 first lines.

#idString HEWLETT-PACKARD,34401A,
#name Hewlett-Packard HP34401A
#handle HP34401
#port com

Maybe add a:
#baudrate 9600

If you get it fully working I would like a copy of it. The software can change range on bench meters, but it requires some careful setup and testing.

I believe you can test it by putting the 34465A into 34401A emulation mode.

If it’s any help, here’s the serial port settings required for the 34401A

I may check that out a bit later today. Do the meter not have adjustable baudrate?

It does, but 9600 is max.

It is the Agilent 34410A & Agilent 34411A that they can substitute ID lines for and for that works with my software, by just editing the 3 lines at the top.

Maybe it is a bit hard to start with the program, the way to get devices(multimeters) into the program is rather discrete.

At the bottom of the “Load devices” page, use this:

To select and added devices.

I’m able to communicate with the meter on the commands tab, but logging or viewing the current values tab doesn’t work. Just constant beeping from the meter when getting errors. DMM reports error –410,“Query INTERRUPTED”.

Any tips on modifying the meter txt file?

The “#askValues data:last? ” is used to read the data from the meter

It looks like you can use any off:

#askValues read?
#askValues fetch?
#askValues meas?

I do not know which one is best

Also look for #prepareSample and the lines after it, they are send to start measuring. I use them to setup a trigger.

Note: Most commands use everything from the #command to the next #command, with exception some of the parameters just after the #command and some special tags, the text is transmitted to the meter.

Thanks, got it working at least for VDC using the meas? command. Need to send system:remote first.

That command is probably best put in the #initCmd tag.

Handling modes requires two type of settings:
One to read the actual mod:
#askMode :SENSE:FUNCTION?

And a coupe of commands to select modes:
#cmdMode VAC VOLT:AC
abort;
*cls;
conf:volt:ac

The VOLT:AC is what the meter answers to the #askMode command and the lines below the #cmdMode command is how to select that mode.
Finally you remove the #cmdMode that you do not need

If you get this worked out you have a full configuration for the meter.

I’m getting ;; –410,“Query INTERRUPTED” error message if I try to switch the meter operating mode via the popup menu.

Also, adding the SYSTEM:REMOTE command to the #initCmd results in the same error

Writing these commands, such as CONF:VOLT:AC in the input field in the program works fine.

I read here, that there needs to be a short delay between SCPI commands to avoid this.

edit: For the measurement to work on other modes than VOLT:DC, I had to change the #askValues to READ?, because MEAS? just switches the meter to the default VOLT:DC mode.

You can try sticking a “;*ESR?” after the commands that need a delay, if this do not work I will add a delay function.

You can put many command on the same line with ; (semicolon) between them. The software will split them and send them on at a time. Anything with a ? will for a wait for the answer.

Still getting the 410 error while switching modes.

For some reason the system:remote under #initCmd started to work now even without the *ESR?

Could you have forgotten to restart the software after editing and saving the definition?

I have added a delay function, use [time_in_millis] as a SCPI command, this means it must be on its own line or with semicolons before and after it.
I.e. either this:
*cls
[1000]
SENSE:FUNCTION:ON “PER”

or this:
*cls;[1000];SENSE:FUNCTION:ON “PER”

for a 1 second delay. The minimum is [1] and the maximum is [9999], no spaces is allowed inside the brackets.

Did you upload the updated software to support the delay command. Meter reports 101,“Invalid character”.

Yes, I did. It has version 0.13 on the About screen (You can reach that from the configuration page). It is a bit hysteric about the format, if there is anything but bracket numbers bracket it will ignore it.
The SCPI output part will split into separate commands on all ; and newlines, then it will remove leading and trailing spaces. What is left is checked for the delay function and else send to the meter.

I have written a short description on how to add a SCPI multimeter:

http://lygte-info.dk/project/TestControllerConfigDMM%20UK.html

You have probably figured most of it out already.