Author Topic: Program that can log from many multimeters.  (Read 649531 times)

0 Members and 16 Guests are viewing this topic.

Offline Karlis

  • Newbie
  • Posts: 5
  • Country: lv
Re: Program that can log from many multimeters.
« Reply #2125 on: December 17, 2021, 08:12:38 pm »
Adding
#askValuesReadFormat s
din't help.

Ok, I will dig out the meter tomorrow (Usually it is not on my bench) and look at it.

I didn't know what response is expected on read? command, but maybe problem is in ET3240.
I noticed that at least my ET3240 on read? command returns exactly same string that is displayed on screen (not a measured value).
For 18.50mV it returns <18.50>.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2126 on: December 18, 2021, 04:13:00 pm »
I didn't know what response is expected on read? command, but maybe problem is in ET3240.
I noticed that at least my ET3240 on read? command returns exactly same string that is displayed on screen (not a measured value).
For 18.50mV it returns <18.50>.

It is some work to get the correct exponent, I need to check both range and mode.
I will work one it, but I do not know when it is fixed.
 
The following users thanked this post: Karlis

Offline fenugrec

  • Regular Contributor
  • *
  • Posts: 230
  • Country: ca
Re: Program that can log from many multimeters.
« Reply #2127 on: December 20, 2021, 05:15:52 pm »
Hi,
not sure if you prefer debug questions here or via email, but : is there a way to get slightly more detailed debug info ? I'm on linux and trying to connect with a prologix-USB clone (i.e. serial port), gives the following
Code: [Select]
Exception in thread "Scan ports" java.lang.NoClassDefFoundError: Could not initialize class com.fazecast.jSerialComm.SerialPort
at dk.hkj.comm.SerialInterface.getSerialPorts(SerialInterface.java:271)
at dk.hkj.main.InterfaceThreads$ScanPorts.run(InterfaceThreads.java:736)
(my config has one GPIB interface, id 'A', at address '/dev/ttyACM0' , and an hp3478a on A:23)
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2128 on: December 21, 2021, 08:51:27 am »
Hi,
not sure if you prefer debug questions here or via email, but : is there a way to get slightly more detailed debug info ? I'm on linux and trying to connect with a prologix-USB clone (i.e. serial port), gives the following
Code: [Select]
Exception in thread "Scan ports" java.lang.NoClassDefFoundError: Could not initialize class com.fazecast.jSerialComm.SerialPort
at dk.hkj.comm.SerialInterface.getSerialPorts(SerialInterface.java:271)
at dk.hkj.main.InterfaceThreads$ScanPorts.run(InterfaceThreads.java:736)
(my config has one GPIB interface, id 'A', at address '/dev/ttyACM0' , and an hp3478a on A:23)

You get the most detailed debug when starting with a debug on the command line (This is explained in the .bat file and works similar on all supported os). The console output contains more information than the log window.

There are generally two reasons why serial can fail:
1) You do not have access to serial ports (This problem is not present on windows)
2) The build-in driver do not support os-processor combination. The library I uses supports a lot of os-processor combinations, but not all.

Asking on the forum has the advantage that other people may be able to use the answer.
 

Offline fenugrec

  • Regular Contributor
  • *
  • Posts: 230
  • Country: ca
Re: Program that can log from many multimeters.
« Reply #2129 on: December 21, 2021, 01:07:30 pm »
You get the most detailed debug when starting with a debug on the command line

Thanks; that's already what I was doing and the only output I got was what I pasted, from the .log file; no output in the commandline where I ran "tcrundebug".

But I tried again afresh and had a better look at the logfile ; last paste I made had trimmed a lot of what I thought were duplicate entries. I forgot about these :

Code: [Select]
Exception in thread "Scan ports" java.lang.UnsatisfiedLinkError: /tmp/jSerialComm/1640091629552-libjSerialComm.so: /tmp/jSerialComm/1640091629552-libjSerialComm.so: failed to map segment from shared object
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
at java.lang.Runtime.load0(Runtime.java:810)
at java.lang.System.load(System.java:1088)
at com.fazecast.jSerialComm.SerialPort.<clinit>(SerialPort.java:252)
at dk.hkj.comm.SerialInterface.getSerialPorts(SerialInterface.java:271)
at dk.hkj.main.InterfaceThreads$ScanPorts.run(InterfaceThreads.java:736)

Aah. I think I see what's going on :  for more and more linux systems, by default /tmp/ and anything in it cannot be executed (for security reasons etc etc). I wonder why jSerialComm copies itself into there...

But my theory may be wrong : I just found this issue with similar symptoms,
https://github.com/Fazecast/jSerialComm/issues/277

[EDIT] My method of re-packaging the .jar with a different version of jSerialPort worked fine, but was not necessary. The problem was indeed execute permissions on /tmp, and can be worked around by modifying the tcrun / tcrundebug scripts to specify a different temp dir to the java -jar command:
Code: [Select]
-Djava.io.tmpdir=/home/...tmpdir/See https://github.com/Fazecast/jSerialComm/issues/387 for details.
« Last Edit: January 09, 2022, 02:41:15 pm by fenugrec »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2130 on: December 21, 2021, 07:01:32 pm »
But my theory may be wrong : I just found this issue with similar symptoms,
https://github.com/Fazecast/jSerialComm/issues/277

I will not update the current TestController with a old version of the library, the current version uses jSerialComm V2.70 and I will update when a new is published.

If you need a older version of TestController until then, i.e. from before I updated the serial library, I can put it up (That will be jSerialComm V2.6.2).
« Last Edit: December 21, 2021, 07:22:57 pm by HKJ »
 

Offline strawberry

  • Super Contributor
  • ***
  • !
  • Posts: 1199
  • Country: lv
Re: Program that can log from many multimeters.
« Reply #2131 on: December 21, 2021, 11:11:17 pm »
34401A in ohms range internal current source and sample time it take to charge to value and calculate capacitor capacitance in software
 

Offline fenugrec

  • Regular Contributor
  • *
  • Posts: 230
  • Country: ca
Re: Program that can log from many multimeters.
« Reply #2132 on: December 21, 2021, 11:31:12 pm »
I will not update the current TestController with a old version of the library, the current version uses jSerialComm V2.70 and I will update when a new is published.

Of course, I understand.
I tried to re-pack your .jar and replace jserialComm with a few different versions (2.5.3, 2.6.1, 2.6.2), but I wasn't able to eliminate the issue. Perhaps my method is flawed, I don't really java :
Code: [Select]
1- fastjar -xvf TestController.jar
2- jar -xvf jSerialComm-2.5.3
3- restore the original META-INF/MANIFEST file that jSerialComm just overwrote
4- jar cmvf META-INF/MANIFEST.MF ../testcontroller_repack.jar *

« Last Edit: January 09, 2022, 02:42:14 pm by fenugrec »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2133 on: December 22, 2021, 08:15:04 am »
Of course, I understand.
I tried to re-pack your .jar and replace jserialComm with a few different versions (2.5.3, 2.6.1, 2.6.2), but I wasn't able to eliminate the issue. Perhaps my method is flawed, I don't really java :

I have never tried to replace a library in a .jar file, when you have the source code there is no reason to do it.
From next version TestController will list the version of jSerialComm used when starting in debug mode and using serial ports.
I do not believe there is a way to check if a specific os-processor combination is supported, except the exception.

Note: To check if it is access control problems, you can try running TC from sudo.
 

Offline trp806mo

  • Regular Contributor
  • *
  • Posts: 82
  • Country: fr
Re: Program that can log from many multimeters.
« Reply #2134 on: December 22, 2021, 08:30:19 am »
Thanks for sharing your soft which works perfectly with my Siglent DC load.

Regarding the tti QL355P, I have two questions :
There is two entries for it in the add menu; is there a difference between them ?
It seems that Ihere is no possibility to choose a serial USB connexion for it (only socket or GPIB), is it a mistake from me ?
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2135 on: December 22, 2021, 08:42:12 am »
Regarding the tti QL355P, I have two questions :
There is two entries for it in the add menu; is there a difference between them ?

They are the same, but the ID string from the QL355P has changed, i.e. only one of them will work with your supply.

It seems that Ihere is no possibility to choose a serial USB connexion for it (only socket or GPIB), is it a mistake from me ?

To add serial:
Open the file TTiQL355P.txt
Change the line "#port 9221 GPIB" to "#port 9221 GPIB com"
After restart of TC and adding the PS you can click on the "Type" and change it from socket to serial.

If it works, please post a confirmation and I will add it to the original file.
 

Offline trp806mo

  • Regular Contributor
  • *
  • Posts: 82
  • Country: fr
Re: Program that can log from many multimeters.
« Reply #2136 on: December 23, 2021, 07:51:31 am »
After reading your documentation this configuratio is working :
#idString THURLBY-THANDAR,QL355P,D,1.6
#name dumy_QL335
#handle QL335
#port comFixedBaud
#baudrate 19200

result in your Commands windows :
;; Found TTI QL355P on QL355P Power Supply (COM54)
*IDN?
;; THURLBY-THANDAR,QL355P,D,1.6
 

Offline Pukker

  • Regular Contributor
  • *
  • Posts: 153
  • Country: nl
Re: Program that can log from many multimeters.
« Reply #2137 on: December 26, 2021, 10:35:19 am »
There is an error in the RidenRD60xx file.
It is not possible to set the current to more than 1A. If you choose 1A, then in fact the current is set to 10A.

Yes, that is true.

Look in devicefile RidenRD60xx.txt and replace

This will be fixed in the next release.
I only have definitions for RD6006 & RD6012, if anybody makes definitions for other models I am very interested in getting them.
Note: A definition is probably not more than the 10 lines Pukker has posted, just with other values.

There are also more values where 1000 must be replaced with 100.
Done in the attached RD60xx.txt file.
Only tested with RD6012, the only one I have. Firmware is the latest version from Unisoft, which is great.

Two problems I've seen and I don't know how to solve.
1. in RD6012 popup, tab settings, the Buzzer function was inverted, corrected that, but to select On I have to click Off and vv.
2. in the tab Memory M4 is selected by default and selecting another, (M0 to M9), always returns to M4
Making settings to M4 works OK, but only M4 is selectable. Don't know how to solve.

BTW. Making settings from Testcontroller is not the main function, logging (core business) works fine.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2138 on: December 27, 2021, 02:01:44 pm »

There are also more values where 1000 must be replaced with 100.
Done in the attached RD60xx.txt file.
Only tested with RD6012, the only one I have. Firmware is the latest version from Unisoft, which is great.

Two problems I've seen and I don't know how to solve.
1. in RD6012 popup, tab settings, the Buzzer function was inverted, corrected that, but to select On I have to click Off and vv.
2. in the tab Memory M4 is selected by default and selecting another, (M0 to M9), always returns to M4
Making settings to M4 works OK, but only M4 is selectable. Don't know how to solve.

BTW. Making settings from Testcontroller is not the main function, logging (core business) works fine.

I am a bit worried about if 6006 and 6012 uses the same factors, can anybody with a 6006 confirm that this file works correctly (The original Riden file must be replaced to test it).

 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2139 on: December 27, 2021, 02:05:07 pm »
After reading your documentation this configuratio is working :
#idString THURLBY-THANDAR,QL355P,D,1.6
#name dumy_QL335
#handle QL335
#port comFixedBaud
#baudrate 19200

result in your Commands windows :
;; Found TTI QL355P on QL355P Power Supply (COM54)
*IDN?
;; THURLBY-THANDAR,QL355P,D,1.6

I will add the serial definitions.
And it looks like I must have QL355P_A/QL355P_B/QL355P_C to handle the different identifications strings it uses.

 

Offline trp806mo

  • Regular Contributor
  • *
  • Posts: 82
  • Country: fr
Re: Program that can log from many multimeters.
« Reply #2140 on: December 30, 2021, 10:22:56 am »
@TheDefpom :  tested ok with a SDL1020X-E   :

;; Found Siglent SDL1020X-E on 192.168.0.20 sn: SDL13GCX5R0__

*IDN?
;; Siglent Technologies,SDL1020X-E,SDL13GCX5R0__,1.1.1.21R2

« Last Edit: December 30, 2021, 10:26:21 am by trp806mo »
 
The following users thanked this post: TheDefpom

Offline trp806mo

  • Regular Contributor
  • *
  • Posts: 82
  • Country: fr
Re: Program that can log from many multimeters.
« Reply #2141 on: December 30, 2021, 03:29:15 pm »
@HKJ :
regarding the defintion file of the SDL "siglent SDL10xxXxx.txt" i had to change some "#interface" in order to be able to pass the parameter :
#interface setOn :SOUR:INP:STAT (value) instead of   #interface setOn :SOUR:INP:STAT value (I don't kow why)

I added #interface readPower 2  just after #interface readCurrent 1  in order to get the power
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2142 on: December 31, 2021, 07:22:10 am »
@HKJ :
regarding the defintion file of the SDL "siglent SDL10xxXxx.txt" i had to change some "#interface" in order to be able to pass the parameter :
#interface setOn :SOUR:INP:STAT (value) instead of   #interface setOn :SOUR:INP:STAT value (I don't kow why)

I added #interface readPower 2  just after #interface readCurrent 1  in order to get the power

Thanks, this will be included in the next release.
In definitions () will activate the "calculator", that is needed to handle variables (and expression).
 

Offline palmerr23

  • Contributor
  • Posts: 17
  • Country: au
Re: Program that can log from many multimeters.
« Reply #2143 on: January 01, 2022, 03:52:16 am »
Hi,

When I use the following script
Code: [Select]
=globalvar  sVal=0.01
=sVal=0.05
PlatyLoad::SOUR:CURR (sVal)
=sVal=(sVal*1.1)
PlatyLoad::SOUR:CURR (sVal)
It sends the following commands to the device:
Code: [Select]
:SOUR:CURR 0.05
:SOUR:CURR 0.05500000000000001

All values are defined as D3 in the definitions file (attached).

The length of the second (double precision) value sent is tripping up my SCPI parser (which I will fix), but it would be much better if I could get TestController to send the values as D3.

Have I missed something in the little script or my definitions file that would trim the values to 3 decimal places?

Thanks
 

Offline palmerr23

  • Contributor
  • Posts: 17
  • Country: au
Re: Program that can log from many multimeters.
« Reply #2144 on: January 01, 2022, 05:22:14 am »
I'm trying to get the control value in this script to log.

Code: [Select]
#logcmds 0
#log 2
=globalvar  sVal=0.01
=sVal=0.005
#while (sVal<3.5)
#echo (sVal)
#hasLogged
=sVal=(sVal*1.1)
#endwhile

I've created a Math variable (see attached) which doesn't update with sVal. I've tried both Formula and FormulaNU settings. I've read the documentation and some other posts here on the same topic and am still none the wiser!

Can you explain again how to log a control variable.

Thanks.
 

Offline TheDefpom

  • Frequent Contributor
  • **
  • Posts: 764
  • Country: nz
  • YouTuber Nerd - I Fix Stuff
    • The Defpom's Channel
Re: Program that can log from many multimeters.
« Reply #2145 on: January 01, 2022, 06:49:50 am »
I have been working on another definition file, this time for the Siglent SPD1168X and SPD1305X power supplies.

I have it basically working apart from some weird issue where despite giving the correct commands the power supply does not action turning the output On/Off or switching between internal and external sensing, it just beeps for a command error, I have spent a few hours trying to figure out why that is happening but can't figure it out, it seems like a bug with the power supply.

The Siglent EasyPower software CAN turn the output On/Off and switch the sense, so it must be an error with the commands or quirky behaviour of the unit that the official software allows for.

Maybe someone else has come across this and knows of a fix, or has one of these supplies and a bit of time to figure it out, I may even dig into it further if I can get a network sniffer for the PC so I can see what the official software is sending the power supply (I haven't even looked yet), I use a Mac and my software couldn't sniff the entire network, again I haven't looked for something better.

On a side note, the TC software doesn't open a window or anything on Mac when clicking the About button... and doesn't fetch updates, I have to download manually off the website.
Cheers Scott

Check out my Electronics Repair, Mailbag, or Review Videos at https://www.youtube.com/TheDefpom
 

Offline tubularnut

  • Regular Contributor
  • *
  • Posts: 225
  • Country: gb
Re: Program that can log from many multimeters.
« Reply #2146 on: January 01, 2022, 09:59:03 am »
Maybe someone else has come across this and knows of a fix, or has one of these supplies and a bit of time to figure it out, I may even dig into it further if I can get a network sniffer for the PC so I can see what the official software is sending the power supply (I haven't even looked yet), I use a Mac and my software couldn't sniff the entire network, again I haven't looked for something better.


You can get Wireshark for Windows. Or, if you have a network switch or router that can do port mirroring, you could use the Mac to sniff the entire network traffic?
« Last Edit: January 01, 2022, 10:28:24 am by tubularnut »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2147 on: January 01, 2022, 10:34:11 am »
Have I missed something in the little script or my definitions file that would trim the values to 3 decimal places?

You can use the script formatting functions, they do not use the same format names, but a couple of integers to specify.
https://lygte-info.dk/project/TestControllerFunctions%20UK.html#formatDouble

Code: [Select]
PlatyLoad::SOUR:CURR (formatDouble(sVal,1,6,0,3))
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2148 on: January 01, 2022, 10:41:11 am »
Can you explain again how to log a control variable.

You are doing it nearly correctly, nut I would suggest you declare sVal before using it, i.e. move the globalvar up before #log.

 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2149 on: January 01, 2022, 10:49:17 am »
I have been working on another definition file, this time for the Siglent SPD1168X and SPD1305X power supplies.

I am not too happy about the problem you list, it sort of spoils a lot of the usefulness (I will include it anyway).

On a side note, the TC software doesn't open a window or anything on Mac when clicking the About button... and doesn't fetch updates, I have to download manually off the website.

Can you run it in debug mode and see if it list some error messages to the console output? I hope you can do a console output on the Mac.

Software do not download updates automatic, it will only advise your about updates.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf