Author Topic: Program that can log/control many multimeters and other devices.  (Read 1768150 times)

ton4eff and 264 Guests are viewing this topic.

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4958
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #6800 on: July 18, 2026, 06:31:19 pm »
0 - 100 %, float

New document uploaded.
 

Offline flash2b

  • Super Contributor
  • ***
  • Posts: 1050
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #6801 on: July 18, 2026, 06:40:21 pm »
Made a #metadef change for the Qixin QX-DO12 limiting it to 30kHz, misread the specs.

Please update (same version number)

[ Attachment Invalid Or Does Not Exist ]
« Last Edit: July 25, 2026, 03:18:47 pm by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4958
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #6802 on: July 18, 2026, 06:44:03 pm »
Made a #metadef change for the Qixin QX-DO12 limiting it to 30kHz, misread the specs.

Please update (same version number)

Updated.
 

Offline flash2b

  • Super Contributor
  • ***
  • Posts: 1050
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #6803 on: July 18, 2026, 06:46:35 pm »
0 - 100 %, float

New document uploaded.

One empty bullet point at the end of the Primary PWM description.

Glad you liked my proposal  :)
They say attention is a shovel. It's time to dig 'em out.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4958
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #6804 on: July 18, 2026, 06:54:00 pm »
One empty bullet point at the end of the Primary PWM description.

I was a bit too fast.  :(

Glad you liked my proposal  :)

It included what is needed.
Personally I like the 0-1 range better than the 0-100 range, but as long as it is documented it is not important.
 

Offline flash2b

  • Super Contributor
  • ***
  • Posts: 1050
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #6805 on: July 18, 2026, 07:18:00 pm »
The 0–1 fractional form is less common and 0-100% is used broadly also for function generators both menu's as well as SCPI.

Glad that it is documented.
They say attention is a shovel. It's time to dig 'em out.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4958
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #6806 on: July 18, 2026, 07:22:22 pm »
The 0–1 fractional form is less common and 0-100% is used broadly also for function generators both menu's as well as SCPI.

Glad that it is documented.

The 0-1 is more basic unit, the 0-100 is % and not basic unit.

But documentation is the important part here.
 

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8441
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #6807 on: July 18, 2026, 08:21:45 pm »
Pending further testing, but here is a new version of the K20XX driver for the 2000, 2001, 2010, 2002 DMMs.

@Cyclotron (and his dear friend Claude) helped improve compatibility with the 2001/2002 meters that I don't own to test with. Somebody should send me a K2002. 🤷

Thanks,
Josh

ETA: Outdated file removed. New file coming soon. Claude was more bloated and less function than I hoped.

ETA2: This is not for the K2000. I didn't mean to mention that one.
« Last Edit: July 18, 2026, 10:04:03 pm by KungFuJosh »
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4958
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #6808 on: July 18, 2026, 08:26:56 pm »
Pending further testing, but here is a new version of the K20XX driver for the 2000, 2001, 2010, 2002 DMMs.

Updated, thanks.
 
The following users thanked this post: KungFuJosh

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8441
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #6809 on: July 18, 2026, 10:00:52 pm »
I'm going to need to make a few changes.

I'd like to replace whole lines without replacing an entire #cmdSetup function. Is that possible?

For example, I would use #replaceText, but instead of 1 word replacement, it could be any number of lines.

Or if I want to do something like #replaceLine, then I could replace individual lines if that function is or becomes available.

Either of those functions could be useful to adjust ranges of something. Yes, we could do #replaceText rangeMin, and #replaceText rangeMax, but #replaceLine could simplify that, while adding more control.

Thanks,
Josh
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8441
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #6810 on: July 19, 2026, 12:26:14 am »
Here's a tested update for Keithley 2001, 2010, and 2002 DMMs.

I'd like to simplify it more (see above), but this one looks like it should be good otherwise. More features will probably be added with the next version.

Thanks,
Josh
« Last Edit: July 19, 2026, 02:19:50 am by KungFuJosh »
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8441
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #6811 on: July 19, 2026, 04:45:50 am »
You have fixed (in TC v3.33) the :enabled: state, but the not :enabled: state, the numberDial is not consistent with the advNumber control

(Attachment Link)

Other controls, like number, are like advNumber, so disabled gray text but still a white box in the input fields.

Enabling and Disabling makes it good again, but not on the first render of the menu (like the screen shot).

What are you discussing here? Enabling and Disabling a control selector, or is there a cool feature I don't know about yet? 🤔

Thanks,
Josh
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Offline flash2b

  • Super Contributor
  • ***
  • Posts: 1050
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #6812 on: July 19, 2026, 05:54:56 am »
It is to gray out a control on the UI when for instance when a feature of the device is switched off. In this case it was for me the scaling, when the checkbox was in off state, the related fields below were grayed out.

#cmdSetup checkbox Scaling_Enable Scaling
:read: scaleEnable?
:write: scaleEnable
:tip: Select On to enable scaling of channels
On 0 1

#cmdSetup numberDual Scale_CH1 Scaling
:enable: Scaling.Scaling_Enable.On==1
:read: scaleVoltageCH1?
:write: scaleVoltageCH1
:tip: Set minumum and maximum input values to scale the output
V 0 100 Min
V 0 100 Max
:update: Scaled_Voltage_CH1
« Last Edit: July 19, 2026, 06:00:43 am by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 
The following users thanked this post: KungFuJosh

Offline flash2b

  • Super Contributor
  • ***
  • Posts: 1050
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #6813 on: July 19, 2026, 06:08:52 am »
I'm going to need to make a few changes.

I'd like to replace whole lines without replacing an entire #cmdSetup function. Is that possible?

For example, I would use #replaceText, but instead of 1 word replacement, it could be any number of lines.

Or if I want to do something like #replaceLine, then I could replace individual lines if that function is or becomes available.

Either of those functions could be useful to adjust ranges of something. Yes, we could do #replaceText rangeMin, and #replaceText rangeMax, but #replaceLine could simplify that, while adding more control.

Did you also try #replaceText with quotes? like: #replaceText "0 200" 0 100

That is replacing two words in one #replaceText.
« Last Edit: July 19, 2026, 06:11:54 am by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 
The following users thanked this post: KungFuJosh

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8441
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #6814 on: July 19, 2026, 06:09:41 am »
It is to gray out a control on the UI when for instance when a feature of the device is switched off. In this case it was for me the scaling, when the checkbox was in off state, the related fields below were grayed out.

Thank you. Is there documentation for that somewhere?
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Offline flash2b

  • Super Contributor
  • ***
  • Posts: 1050
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #6815 on: July 19, 2026, 06:11:31 am »
It is to gray out a control on the UI when for instance when a feature of the device is switched off. In this case it was for me the scaling, when the checkbox was in off state, the related fields below were grayed out.

Thank you. Is there documentation for that somewhere?

it is documented under Tags on this page: https://lygte-info.dk/project/TestControllerConfigDevice%20UK.html
They say attention is a shovel. It's time to dig 'em out.
 

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8441
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #6816 on: July 19, 2026, 06:12:10 am »
Did you also try #replaceText with quotes? like: #replaceText "0 200" 0 100

That is replacing two words in one #replaceText.

Thank you. That's perfect for single line items, but what about multi-line items, like all the values for a drop down?
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8441
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #6817 on: July 19, 2026, 06:18:41 am »
It is to gray out a control on the UI when for instance when a feature of the device is switched off. In this case it was for me the scaling, when the checkbox was in off state, the related fields below were grayed out.

Thank you. Is there documentation for that somewhere?

it is documented under Tags on this page: https://lygte-info.dk/project/TestControllerConfigDevice%20UK.html

I'm too tired to think it through right now, but essentially what I want to do is something like:
Code: [Select]
#cmdSetup numberInt Measurement_Count
:enable: [mode is not Mode1 || mode is not mode2]
:write: SENS:COUN #
:read: :SENS:COUN?
_ 1 1M

I'm curious if something like that is possible, or if I will need to use a selector to hide it instead. I like the idea of it being greyed out / disabled better.

Thanks,
Josh
"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 

Offline flash2b

  • Super Contributor
  • ***
  • Posts: 1050
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #6818 on: July 19, 2026, 06:25:23 am »
It is to gray out a control on the UI when for instance when a feature of the device is switched off. In this case it was for me the scaling, when the checkbox was in off state, the related fields below were grayed out.

Thank you. Is there documentation for that somewhere?

it is documented under Tags on this page: https://lygte-info.dk/project/TestControllerConfigDevice%20UK.html

I'm too tired to think it through right now, but essentially what I want to do is something like:
Code: [Select]
#cmdSetup numberInt Measurement_Count
:enable: [mode is not Mode1 || mode is not mode2]
:write: SENS:COUN #
:read: :SENS:COUN?
_ 1 1M

I'm curious if something like that is possible, or if I will need to use a selector to hide it instead. I like the idea of it being greyed out / disabled better.

Change :enable: [mode is not Mode1 || mode is not mode2]

into something like this

:enable: Measure.Mode!="Mode1" || Measure.Mode!="Mode2"

The word Measure should be the same as the name of the Tab/Page where the Mode is defined, This example is using the auto created variables by TC in the controls.

If you just want the Mode variable you created yourself (using a :setvar:) then :enable: Mode!="Mode1" || Mode!="Mode2" would do the trick
« Last Edit: July 19, 2026, 06:45:58 am by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4958
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #6819 on: July 19, 2026, 07:26:55 am »
Change :enable: [mode is not Mode1 || mode is not mode2]

into something like this

:enable: Measure.Mode!="Mode1" || Measure.Mode!="Mode2"

The above will always be true!

The function inList https://lygte-info.dk/project/TestControllerFunctions%20UK.html#inList is easier to use:

:enable: !inList(Measure.Mode,"Mode1 Mode2")

 
The following users thanked this post: KungFuJosh

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4958
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #6820 on: July 19, 2026, 07:33:12 am »
I'm going to need to make a few changes.

I'd like to replace whole lines without replacing an entire #cmdSetup function. Is that possible?

For example, I would use #replaceText, but instead of 1 word replacement, it could be any number of lines.

Or if I want to do something like #replaceLine, then I could replace individual lines if that function is or becomes available.

Either of those functions could be useful to adjust ranges of something. Yes, we could do #replaceText rangeMin, and #replaceText rangeMax, but #replaceLine could simplify that, while adding more control.

I am not sure what you mean and if it would be simpler.

#replaceText is easy to use and easy to understand, especially if you use good names as target for replace.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4958
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #6821 on: July 19, 2026, 07:34:33 am »
Here's a tested update for Keithley 2001, 2010, and 2002 DMMs.

I'd like to simplify it more (see above), but this one looks like it should be good otherwise. More features will probably be added with the next version.

Updated again.
 
The following users thanked this post: KungFuJosh

Offline flash2b

  • Super Contributor
  • ***
  • Posts: 1050
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #6822 on: July 19, 2026, 08:40:39 am »
I'm going to need to make a few changes.

I'd like to replace whole lines without replacing an entire #cmdSetup function. Is that possible?

For example, I would use #replaceText, but instead of 1 word replacement, it could be any number of lines.

Or if I want to do something like #replaceLine, then I could replace individual lines if that function is or becomes available.

Either of those functions could be useful to adjust ranges of something. Yes, we could do #replaceText rangeMin, and #replaceText rangeMax, but #replaceLine could simplify that, while adding more control.

I am not sure what you mean and if it would be simpler.

#replaceText is easy to use and easy to understand, especially if you use good names as target for replace.

#metaSection might also be a solution for it. Once you understand how this works, it is quite easy.
They say attention is a shovel. It's time to dig 'em out.
 
The following users thanked this post: KungFuJosh

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4958
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #6823 on: July 19, 2026, 01:39:59 pm »
I have updated the Keithley 199 definition since #interface was not complete.

Thanks, updated.
 

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8441
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #6824 on: July 19, 2026, 02:58:34 pm »
#replaceText is easy to use and easy to understand, especially if you use good names as target for replace.

My question is really about using it for multiple lines.

For example:
Code: [Select]
#replaceText DMMrangeI
200uA 0.000200
2mA 0.002000
20mA 0.020000
200mA 0.200000
2A 2.000000

or

Code: [Select]
#replaceText DMMrangeI
10mA 0.010000
100mA 0.100000
1A 1.000000
3A 3.000000

I've never seen #metaSection used within a #cmdSetup, is that an option? Even if it is an option, I would prefer it be lighter, like defining the ranges once, and then having the range filled based on metaSection or replaceText or whatever.

Code: [Select]
#cmdSetup comboboxHot Range DC_Current
:read: CURR:DC:RANG?
:write: CURR:DC:RANG #
:updatedelayed: 0.5
:update: Range_Auto DC_Current
DMMrangeI
:updatemodechange:

Something like a combination of both #metaSection and #replaceText?

Thanks,
Josh

"Experience is something you don't get until just after you need it." - Steven Wright
Best Continuity Tester Ever
Best Continuity Tester Ever...Got Betterer!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->