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

HKJ and 92 Guests are viewing this topic.

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8325
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #5800 on: February 19, 2026, 04:54:36 am »
Pressing enter in that box also works. ;)
"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!
 
The following users thanked this post: 2X

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4861
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5801 on: February 19, 2026, 07:00:34 am »
Pressing enter in that box also works. ;)

Default Java behavior is ENTER, I add that leaving a edit box will also use it.
 
The following users thanked this post: KungFuJosh

Offline homico

  • Contributor
  • Posts: 43
  • Country: ru
Re: Program that can log/control many multimeters and other devices.
« Reply #5802 on: February 19, 2026, 11:07:46 am »
KUNKIN KP184 Multimachine mode doesn't work!![/color]
Well, the Chinese manufacturer has once again created a defective, inferior product!
I was counting on the Multimachine function, which the KunKin KP184 electronic loads supposedly have.
One device is designated as the Host, the others as Slaves.

2766945-0

My apologies to the manufacturer! This feature still works with the stock software.
« Last Edit: February 21, 2026, 10:29:14 am by homico »
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5803 on: February 19, 2026, 12:36:21 pm »
From what I've read is that the master devices broadcast the panel settings to the slave devices over the RS485 bus.

The definition has no notice of this, so TC does not do this automatically. I recon if you want to control master and slave, you need to make a special definition for this where after making a setting to the master, you change address and do the same setting again for the slave.

Once there is BUS-awareness for RS485 in TC,  its much easier to follow HKJ's approach to deliver what your want.
They say attention is a shovel. It's time to dig 'em out.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4861
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5804 on: February 19, 2026, 04:23:13 pm »
V2.96 is up
A couple of new devices and some updated, I have also added a options to automatic sync scales
   Added: Automatic sync of scale option
   Fixed: List in "Load devices" is not case depend when sorting anymore.
   Updated: Maynuo M97xx electronic load (Thanks Tjuurko)
   Added: Eletechsup PT21A01, Eletechsup PT22B01 PT100 Thermometer (Thanks flash2b)
   Added: East Tester ET3501, ET3502, ET3503, ET3505, ET3510 (Thanks  Tjuurko)
   Added: Eletechsup NT48A08, Eletechsup NT48B20, Eletechsup NT48C32 NTC Thermometer (Thanks flash2b)
   Fixed: Add automatic adjustement to the min/max limits in the number control by a very small about, fixed some limit issues.
   Added: Eletechsup NT38D01 (10k, 20k,50k and 100k), Eletechsup NT18B07, Eletechsup NT28B16 (10k, 20k,50k and 100k) NTC Thermometer (Thanks flash2b)
   Updated: Owon LCR2020, LCR2100, LCR2200, LCR2300, Anbai AT3810A, AT3817A, AT3816A, AT3818, Applent AT3810A, AT3817A, AT3816A, AT3818 (Thanks Flash2b)
   Update: Yokogawa DMM's definition has been updated (Thanks flash2b)
   Updated: Agilent 34461A, Keysight 34461A, Keysight 34465A, Keysight 34470A (Thanks KungFuJosh)
   Added: Keysight 34460A, , Agilent 34460A (Thanks KungFuJosh)
   Updated: Keithley DMM6500, Keithley DAQ6510 and Keithley DMM7510 DMM (Thanks KungFuJosh)

The sync option is places at the bottom of the sync setup:



It has a little trick: It will only sync scales with same unit. This means scales must keep track of unit and previous they did not. To fix this either delete all the old scales or accept that auto sync may not work first time a scale is selected, but will work next time (Select scale, deselect it and select it again is enough).
« Last Edit: February 19, 2026, 08:13:17 pm by HKJ »
 
The following users thanked this post: Gertjan, flash2b, KungFuJosh

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5805 on: February 19, 2026, 04:52:15 pm »
Most happy with:    Added: Automatic sync of scale option

Thank you HKJ
They say attention is a shovel. It's time to dig 'em out.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4861
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5806 on: February 19, 2026, 04:57:21 pm »
Most happy with:    Added: Automatic sync of scale option

I liked the idea so I got busy.
 

Online KungFuJosh

  • Super Contributor
  • ***
  • Posts: 8325
  • Country: us
  • TEAS is real.
Re: Program that can log/control many multimeters and other devices.
« Reply #5807 on: February 19, 2026, 04:58:57 pm »
That is a great idea. Nice!
"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

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5808 on: February 19, 2026, 05:19:06 pm »
I get a lot of these messages in the log when I go to about:

dk.hkj.devices.SetupFormats$ButtonsField - Status - Line do not contain 2 parameters: Report To Admin


It is caused by: Maynuo M97xx.txt
« Last Edit: February 19, 2026, 05:27:52 pm by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4861
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5809 on: February 19, 2026, 05:29:29 pm »
I get a lot of these messages in the log when I go to about:

dk.hkj.devices.SetupFormats$ButtonsField - Status - Line do not contain 2 parameters: Report To Admin


It is caused by: Maynuo M97xx.txt

I have uploaded a new zip file with the "Maynuo M97xx.txt" file fixed, TC has same version number.
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5810 on: February 19, 2026, 05:36:26 pm »
That fixed it !
They say attention is a shovel. It's time to dig 'em out.
 

Offline Richard W.

  • Regular Contributor
  • *
  • Posts: 169
  • Country: de
Re: Program that can log from many multimeters.
« Reply #5811 on: February 19, 2026, 08:27:09 pm »
As soon as i click "log" or any other button in TC, the Multimeter says Error -410
Funny thing: it was already working briefly, i was able to see actual values.

Since IDN works, i assume the Hardware should be fine?

There is a issue with handshake on Linux (It is not fully supported), it may be the problem here.

Maybe interesting for all the other 34401A-Users:

Thanks for the infomation, maybe i have to get a Windows-Machine for this task...

Or does Linux Mint behave different from Ubuntu?


[...]

I'm on linux mint and it just works, have you enabled your user for serial ports? "sudo usermod -a -G dialout $USER"


[...]
Since IDN works, i assume the Hardware should be fine?

Sometimes it happens also on windows for me. Usually, when it gets stuck, I send manually some query commands and it purges. I use "cutecom" and send "*IDN?" a few times. If you send manually "READ?" does it works?
I enabled the user to use the serial port. Otherwise nothing works. Took me some time to figure out...
If the HP goes into error, i can't get it out again. I need to power cycle. The error gets logged several times.


What chipset do you use for the USB to RS232 ? (Prolific, FTDI, WCH, SiliconLabs, etc....)

Also sometimes the connection to Carrier Detect (CD) in the null modem adapter can be the problem. On ether DTE or DCE side.

It's a FTDI-Adapter. The null modem adapter is hand soldered according to the HP's user manual, using all 9 lines.
The used Adapters and Cables have worked before (under Windows, playing around with HTERM)

The combination of Linux and FTDI USB-RS232 works stable, when 300 Baud are selected and the logging interval is at 10 Seconds.
Slow, but works continuously for over 5 days now.

With Windows, its running on 9600 Baud, and with 4.5 Digits / Fast i can easily get around 25 readings per second (iirc).
« Last Edit: February 19, 2026, 08:29:59 pm by Richard W. »
 

Offline homico

  • Contributor
  • Posts: 43
  • Country: ru
Re: Program that can log/control many multimeters and other devices.
« Reply #5812 on: February 20, 2026, 05:12:02 pm »
From what I've read is that the master devices broadcast the panel settings to the slave devices over the RS485 bus.
.......
Yes, it could have been interesting. The TC would control the Master device, and it would control the Second—the slave. And the readings could be recalculated. The Setup setting is 80A, but the command is for 40A....
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5813 on: February 21, 2026, 07:42:34 am »
How do I create a Digital value ?

I have used:
#value OutputDigital _ DIGITAL(DO1,-,-,-,-,-,-,-)

in my #askValues there is outputDigital? which is set by #scpiCmd outputDigital? holding? 0x83

All my values are retreived but not the DIGITAL one. If I change to INT, I get 0 or 1. I looked at the examples but there are only 2 definitions that use this feature HKJ Digitalinput.txt and HKJSS-Relay.txt.

I changed to #value OutputDigital _ DIGITAL(O1,O2,O3,O4,O5,O6,O7,O8) but that also did not work. The documentation states: "DIGITAL(B0,B1,B2,...) This switches the value to digital mode, this means all values are converted to integer and handled as digital bits. The parameters are names for each bit, use - to skip a bit. It is recommended to use short names (2 or 3 characters) for the bits."

What do I need to get a value 0 or 1 into a DIGITAL format ?

They say attention is a shovel. It's time to dig 'em out.
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5814 on: February 21, 2026, 09:30:23 am »
Can I make a {page} (or Tab as I call it) in a Setup menu, default when opening ?

Or is the only way to re-order the {page} to be the first one in the definition to open as default ?
They say attention is a shovel. It's time to dig 'em out.
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5815 on: February 21, 2026, 11:24:06 am »
How do I create a Digital value ?

What do I need to get a value 0 or 1 into a DIGITAL format ?

Is this the solution to the puzzle ? -->

#value OutputDigital Logic DIGITAL(DO1)

#scpiCmd outputDigital? holding? 0x83
:readmath: binConv(int(value),0,1)

So if value!=0 then DO1 will be in the current values. If value==0 there will be no current value.


« Last Edit: February 21, 2026, 11:35:28 am by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4861
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5816 on: February 21, 2026, 11:31:00 am »
How do I create a Digital value ?

I have used:
#value OutputDigital _ DIGITAL(DO1,-,-,-,-,-,-,-)

This looks correct enough, the digital() works the same as a SI or D6 specification, i.e. using D0 or int instead of it you will see the 0/1 value.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4861
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5817 on: February 21, 2026, 11:35:53 am »
Is this the solution to the puzzle ? -->

#value OutputDigital Logic DIGITAL(DO1)

#scpiCmd outputDigital? holding? 0x83
:readmath: binConv(int(value),0,1)

You do not need the binConv, input to digital is the same as any other format specification, i.e. a number.

So if value!=0 then DO1 will be in the current values. If value==0 there will be no current value.

It will display the names you specify, not 0 or 1, i.e. this specification will display:
DIGITAL(D0,D1)
Value 0:
Value 1: DO
Value 2: D1
Value 3: D0 D1
Value 4:
Value 5: D0
Value 6: D1
Value 7: D0 D1

I do not remember if it shows D0 D1 or D1 D0.
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5818 on: February 21, 2026, 11:37:25 am »
Without binConv it did no work....

Edit:
And now it does.... magic ??? I do not know......  |O

So my solution is:

#value OutputDigital Logic DIGITAL(DO1)

#scpiCmd outputDigital? holding? 0x83
:readmath: int(value)

Without the int() it did not work.
« Last Edit: February 21, 2026, 11:47:01 am by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4861
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5819 on: February 21, 2026, 11:42:14 am »
Without binConv it did no work.

Strange, it is supposed to work, even without a :readmath:

Internally it simply takes the floating point number and cast to int, then check the specified bits.
Generally it is a good idea to name the bits according to function, I.e. digital input I0, I1 etc. on/off: On
Keep the names as short as possible, especially if you have multiple bits in a field.

Multiple digital values will be combined in the same scale, even if they are from different devices.
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5820 on: February 21, 2026, 11:47:22 am »
I will retest and report back.

I my case I have 2 registers with each only one bit used.

It is just so curious not to see a value of 0 in the Current Value tab, just to discover that with logging is on, there is actual a value of 0. As a boolean addict I would expected to see /DO1 as Current Value. Well my graph works now, I was interested to see how you implemented the "Digital Trace" which you talked about earlier. No one other than you have used it in a definition, so I will be the second author to use it. TC is a box full of tricks !

It will be part of one of my future definitions....

Edit:
It must be more magic in the air !! Without int() it now also works........ curious.

« Last Edit: February 21, 2026, 12:01:24 pm by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5821 on: February 21, 2026, 12:27:59 pm »
HKJ,

Are you aware that :enable: return1(displayVar(split(getVarList(1),"\n"))); does not work when the definition has a #cmdSetup toggleButton ?

Is this a bug ?

Exception in thread "AWT-EventQueue-0" dk.hkj.vars.VarExceptions$IndexException: Output.-->Set_Voltage_CH1<-- not possible
« Last Edit: February 21, 2026, 12:30:33 pm by flash2b »
They say attention is a shovel. It's time to dig 'em out.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4861
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5822 on: February 21, 2026, 12:35:40 pm »
HKJ,

Are you aware that :enable: return1(displayVar(split(getVarList(1),"\n"))); does not work when the definition has a #cmdSetup toggleButton ?

Is this a bug ?

Exception in thread "AWT-EventQueue-0" dk.hkj.vars.VarExceptions$IndexException: Output.-->Set_Voltage_CH1<-- not possible

No, but I need the full error message or at least enough lines that I can see where in TC it goes wrong.
 

Offline flash2b

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: nl
  • Everything I like about myself is better with you.
Re: Program that can log/control many multimeters and other devices.
« Reply #5823 on: February 21, 2026, 12:37:37 pm »
Code: [Select]
Exception in thread "AWT-EventQueue-0" dk.hkj.vars.VarExceptions$IndexException: Output.-->Set_Voltage_CH1<-- not possible
        at dk.hkj.vars.Var.getVarCreate(Var.java:1021)
        at dk.hkj.vars.Var.getVarCreate(Var.java:1029)
        at dk.hkj.vars.Var.getCreate(Var.java:1387)
        at dk.hkj.devices.SetupFormats.setScriptValue(SetupFormats.java:368)
        at dk.hkj.devices.SetupFormats$RadioField.setStateVar(SetupFormats.java:3205)
        at dk.hkj.devices.SetupFormats.enableItems(SetupFormats.java:405)
        at dk.hkj.main.PopupSetupSelection.initialSync(PopupSetupSelection.java:125)
        at dk.hkj.main.PopupSetupSelection.timerUpdate(PopupSetupSelection.java:132)
        at dk.hkj.main.PopupSetupSelection.access$3(PopupSetupSelection.java:130)
        at dk.hkj.main.PopupSetupSelection$3.actionPerformed(PopupSetupSelection.java:88)
        at javax.swing.Timer.fireActionPerformed(Unknown Source)
        at javax.swing.Timer$DoPostEvent.run(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
They say attention is a shovel. It's time to dig 'em out.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 4861
  • Country: dk
    • Tests
Re: Program that can log/control many multimeters and other devices.
« Reply #5824 on: February 21, 2026, 01:42:09 pm »
HKJ,

Are you aware that :enable: return1(displayVar(split(getVarList(1),"\n"))); does not work when the definition has a #cmdSetup toggleButton ?

Is this a bug ?

Exception in thread "AWT-EventQueue-0" dk.hkj.vars.VarExceptions$IndexException: Output.-->Set_Voltage_CH1<-- not possible

Using the trace it looks like it is the . that spoils it, do you have a name with . in it?
Technically the . means it will create a struct, but the var is not empty and it fails.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->