Logging from meters

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.

A description on how to use simple scripting: http://lygte-info.dk/project/TestControllerScriptingExample%20UK.html

I have also added the Siglent SDM3045X bench multimeter.

Thanks for all the work!

I’ve been logging for 24 hours straight and this thing is rock solid. Haven’t gotten the delay commands to work yet so switching the operating mode isn’t happening for me.

The software is not really ready for long time logging yet, it will hit a memory limit after some time (Some Java options can improve this).

I wonder about the delay, it works from V0.13.
Here are two examples (Pictures cannot be spoiled by the automatic formatting):

I am using the V0.13. Every time I put the delay in brackets, the meter beeps for error and reports

Doesn’t matter if I put it into the device config file or enter it directly in the program.

No. Only my newer meters I get a invalid character due to the ” in the sense line (The 34401 may be different).

Yes, that’s what I noticed. I get no errors with any of the other commands such as :sense:function:on “volt:dc”, only the bracketed delay command triggers the error beep.

I just checked in the 44401A manual and did not find the function:on command anywhere. It looks like you have to use function “range”, not function:on “range” and can optionally stick a “sense:” before the function

The sense:function:on “volt:dc” or “volt:ac” still works fine without error for changing the DMM mode. It doesn’t matter if I leave out the :on part at the end or include it. Conf:volt:ac or conf:volt:dc also work.

So the problem is not the SCPI command for changing mode. It’s the delay. And if I omit the delay command (in brackets), then the meter reports the –410,“Query INTERRUPTED” error.

Would it be possible to make the program realize the mode used if I switch the mode manually. Now if I type in the sense:function “volt:ac”, the program doesn’t realize that it should be measuring ac even if I type in sense:function? to query it.

I can see that I may send a empty line to the meter in some circumstances, I will fix that.

The meter uses the #askMode command to check what mode the meter is in. There is some code to trap manual mode changes, but it do not work at the current time (This will, of course, also be fixed).

From v0.15 you can add this to detect range change:

#mayModifyMode sens
#mayModifyMode func

Anything that starts with the above will force a reinitialization of column names. This is done with the #askMode command.

It do not send empty lines anymore.

Beautiful! Mode switching from the popup menu with delays works fine now.

One more suggestion: I’d like the logging to start immediately. If I choose the 10sec option, it takes 10 seconds for the first entry to be written. Also a numeric input for the logging sample rate would be nice (I’d like 0.5s , 5 sec and 30 sec at least).

Bug: at least for me the slope for /h doesn’t work.

If you get everything working, please give me a copy to include.
The #author tag works, you can try it and check “Configuration, About”

It is already support, instead of using the button write a command:
#log interval

There is a couple of command and the help window will show them if you type a # character.
The command window supports 3 types of input:

  1. SCPI for the devices
  2. Regular commands, they all start with #. I will be adding many more later on.
  3. Expressions/statements, they start with = and are very similar to the calculator window, except you are guaranteed to have all the columns names for devices as variables with an updated value.

Missing “break” :person_facepalming: , it will be fixed in next version.

Next version is up (V0.16), changes are:
Logging will add a entry at 0 seconds
On “Scales for chart” page the auto checkbox will change visible settings and they can show many more decimals now.
In the table page it is possible to right click and adjust decimals for a column, this will also affect the range page.
Missing data 5 times in a row from a socket device will close the connection, not hang the program.
Scalable fonts, this still has a few issues, slider on configuration page.
The /h slope option now work.

Small bug in the newest version.

Opening the popup window to check the values in the chart comes up like this: