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

0 Members and 9 Guests are viewing this topic.

Offline Bobby85

  • Newbie
  • Posts: 2
  • Country: nl
Re: Program that can log from many multimeters.
« Reply #1925 on: October 11, 2021, 04:58:42 pm »
Hello All,

I'm working on the Keysight 34970A datalogger (via serial) as we speak :)
This unit is one 6 1/2 dig multi meter which is relay switched to cards and from cards to channels.
We use the 20 channel cards exclusively.
The unit measures V/R/F/temp via thermocouple and more.

Like the software but it's quite a climb to get the data logger going with my limited experience..

So perhaps someone can help me along with the flowing.

CONF:VOLT:DC #,DEF,(@101) is the channel configuration.
The code below works but what i would like is a couple of combo-boxes. One for unit one for scale one for resolution and so on and use the value's from all those in sending this one command.
Here VOLT DC # DEF and (@101) are all variables.

How might i go about this?

Code: [Select]
#cmdSetup combobox Ch_1
:write: CONF:VOLT:DC #,DEF,(@101)
;:read: CONF? (@101)
DC_Voltage_auto AUTO
DC_Voltage_0.1V 0.1
DC_Voltage_1V 1
DC_Voltage_10V 10
DC_Voltage_100V 100
DC_Voltage_300V 300
:tip: Set channel function
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1926 on: October 11, 2021, 07:01:22 pm »

CONF:VOLT:DC #,DEF,(@101) is the channel configuration.
The code below works but what i would like is a couple of combo-boxes. One for unit one for scale one for resolution and so on and use the value's from all those in sending this one command.
Here VOLT DC # DEF and (@101) are all variables.

How might i go about this?

You need to use the multi control, but it lacks a combobox at least for now.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1927 on: October 12, 2021, 08:49:07 am »

CONF:VOLT:DC #,DEF,(@101) is the channel configuration.
The code below works but what i would like is a couple of combo-boxes. One for unit one for scale one for resolution and so on and use the value's from all those in sending this one command.
Here VOLT DC # DEF and (@101) are all variables.

How might i go about this?

You need to use the multi control, but it lacks a combobox at least for now.

I have added the combobox to multi, but it will not solve all problems (Ask if you want a version, it will be included in the next release, but it will probably be some time).
First problem is that you cannot switch contents of a combobox easily, i.e. best solution is to make a combobox with both mode and range.

I.e. use lines like: DC_Voltage_0.1V CONF:VOLT:DC_0.1
This means the combobox will have many entries.

Next problem is the columns, they are only switched after using the mode menu, i.e. you cannot use a column name like DC_VOLT_1 for channel 1 DC voltage, but must use something like VALUE_1, i.e. without specifying what mode is selected.

I do not believe I will get a good solution before I have a multichannel DMM (It can either be a card for my DMM6500 or another meter), but I have no idea when I will buy one.
 

Offline Bobby85

  • Newbie
  • Posts: 2
  • Country: nl
Re: Program that can log from many multimeters.
« Reply #1928 on: October 12, 2021, 10:20:29 am »
Thank you for the quick reply.

I now use the datalogger with benchlink might be interesting to have a look.
https://www.keysight.com/nl/en/lib/software-detail/computer-software/benchlink-data-logger-3-778242.html
If you want to have a go at it on a real device let me know i'm sure we can arrange some remote session.

So there is no way to put a combobox value in a variable or use the contents of several combo boxes when hitting the set button?

If not the all in a single combobox will have to do for now ;).
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1929 on: October 12, 2021, 10:54:15 am »
So there is no way to put a combobox value in a variable or use the contents of several combo boxes when hitting the set button?

Yes and no. When using SCPIx you get a extra command layer where it is possible to store stuff in variables.
 

Online bdunham7

  • Super Contributor
  • ***
  • Posts: 8011
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1930 on: October 13, 2021, 12:27:44 am »
I apologize if these issues have been mentioned before, but I ran into two problems today in my first attempt to actually use this program.  First, for the Fluke 8846A, the value column always shows "F8846.VoltageDC" regardless of what range is selected.  The numbers are correct.  Second, when I try to save a chart, it goes through all the motions--I press save, a dialog box comes up that lets me give it a name and specify where to save it, I press save and the dialog box disappears--but no file has been saved.

I don't see any way to determine the version number here, but I downloaded this on 5 SEP 2021.

Edit:  Using the MODE button from within TestController to set the 8846A modes causes the value label to read correctly, but unlike the F289, changing it from the meter does not--so not a significant issue.
« Last Edit: October 13, 2021, 01:01:45 am by bdunham7 »
A 3.5 digit 4.5 digit 5 digit 5.5 digit 6.5 digit 7.5 digit DMM is good enough for most people.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1931 on: October 13, 2021, 05:16:31 am »
I apologize if these issues have been mentioned before, but I ran into two problems today in my first attempt to actually use this program.  First, for the Fluke 8846A, the value column always shows "F8846.VoltageDC" regardless of what range is selected.  The numbers are correct.  Second, when I try to save a chart, it goes through all the motions--I press save, a dialog box comes up that lets me give it a name and specify where to save it, I press save and the dialog box disappears--but no file has been saved.

I don't see any way to determine the version number here, but I downloaded this on 5 SEP 2021.

Edit:  Using the MODE button from within TestController to set the 8846A modes causes the value label to read correctly, but unlike the F289, changing it from the meter does not--so not a significant issue.

The version number can be found by selecting the Configuration page and pressing About.

I try to avoid regular polling of the devices, to leave as much bandwidth as possible for fast logging, this means I do not check the meter for mode at a regular interval, but only when the "Mode"  popup is used to change mode.

I wonder what is going wrong with the save, try using the debug batch file to start the program and see if there is an error message in the log or console output.

 

Online bdunham7

  • Super Contributor
  • ***
  • Posts: 8011
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1932 on: October 13, 2021, 05:54:28 pm »
OK, the mode issue is a non-issue then.

The version is v1.80

I tried the debug batch file, but when I look at the now-verbose command window in the program, I don't see anything at all in response to my pressing the save button (in the CHART window), entering a filename and location and then pressing ENTER or SAVE.  I don't know if this is related, but the data files that the program put in the Documents folder are all completely empty except for a file called ScriptLibrary.dat.  My loaded devices are not remembered from one session to the next either, I hadn't gotten that far.  I do not see a log file saved anywhere.

Any ideas?
A 3.5 digit 4.5 digit 5 digit 5.5 digit 6.5 digit 7.5 digit DMM is good enough for most people.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1933 on: October 13, 2021, 06:36:35 pm »
I tried the debug batch file, but when I look at the now-verbose command window in the program, I don't see anything at all in response to my pressing the save button (in the CHART window), entering a filename and location and then pressing ENTER or SAVE.  I don't know if this is related, but the data files that the program put in the Documents folder are all completely empty except for a file called ScriptLibrary.dat.  My loaded devices are not remembered from one session to the next either, I hadn't gotten that far.  I do not see a log file saved anywhere.

Any ideas?

The console output (i.e. DOS window) can contain more error messages than the log window. The program basically try to catch errors, print the message to console output and then ignore the error. In normal usage the console output is invisible, but when in debug the DOS window is open and showing the console output that also includes the regular debug messages. You could also start TC from a DOS window with "java -jar TestController.jar", this would give you the console window, but not include debug information, only errors.

I wonder if you have some access limitations on your computer that prevents TC from saving files. It is not supposed to happen, because I use the document folder to save stuff in.
 

Online bdunham7

  • Super Contributor
  • ***
  • Posts: 8011
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1934 on: October 13, 2021, 07:21:56 pm »
OK, I

a) updated Java (I had disabled updates a while back so it was ~2 years old)
b) installed v1.82
c) restarted Windows 10 with an update

and I now have at least the nominal ability to save the chart as a .png.  So that's all good.  :-+

Now on to the detailed issues:

I started looking at editing the device configuration .txt file and just as an exercise, I was able to change it so that when I select 4W Ohms it also selects 100NPLC instead of 10, which I want.  However, I cannot get the program to display the proper resolution in the 'Current Values' or 'Table' windows.  It simply displays "1K" when the meter is reading 1000.002 ohms.  v1.80 was displaying more digits, but not enough--there should be 8 digits.  When I open the Chart or Histogram windows, provided I have set values correctly in the 'Scales for Chart' window, I can see intermediate values that reflect the 8 digits.  IOW, I have ticks at 1000, 1000.002, 1000.004, etc and there are multiple data points in between those.  So all 8 available digits are being transmitted, but they don't show up.

Also, the program still does not remember the meter if I exit and start a new session--I have to go to Load, select the Fluke 8846A from the menu, select 'Scan Serial Ports', then 'Reconnect'.  Is that normal or is something still amiss?





A 3.5 digit 4.5 digit 5 digit 5.5 digit 6.5 digit 7.5 digit DMM is good enough for most people.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1935 on: October 13, 2021, 07:36:41 pm »
a) updated Java (I had disabled updates a while back so it was ~2 years old)
b) installed v1.82
c) restarted Windows 10 with an update

and I now have at least the nominal ability to save the chart as a .png.  So that's all good.  :-+

None of that is supposed to affect the program.
There is none (As far as I remember) versions of TestController that do not work. Newer versions contains new functions and sometime bugfixes, but the bugfixes are usually minor or related to a very specific function/device, i.e. nothing that prevents TC from working.

I started looking at editing the device configuration .txt file and just as an exercise, I was able to change it so that when I select 4W Ohms it also selects 100NPLC instead of 10, which I want.  However, I cannot get the program to display the proper resolution in the 'Current Values' or 'Table' windows.  It simply displays "1K" when the meter is reading 1000.002 ohms.  v1.80 was displaying more digits, but not enough--there should be 8 digits.  When I open the Chart or Histogram windows, provided I have set values correctly in the 'Scales for Chart' window, I can see intermediate values that reflect the 8 digits.  IOW, I have ticks at 1000, 1000.002, 1000.004, etc and there are multiple data points in between those.  So all 8 available digits are being transmitted, but they don't show up.

Look for the #value definitions, they contain the numeric format definition (Typically D1, D2, etc or SI).
The chart uses its own definition of numeric format controlled from the "Scales for Charts" page.
You can override the default numeric format from the "Table" window, in next version you will be able to do it from both "Table" and "Current values" and the dialog will be different.

Also, the program still does not remember the meter if I exit and start a new session--I have to go to Load, select the Fluke 8846A from the menu, select 'Scan Serial Ports', then 'Reconnect'.  Is that normal or is something still amiss?

These settings are supposed to be saved in ...\Documents\TestController\Settings\ in a couple of files called Settings something.txt
 

Online TheDefpom

  • Frequent Contributor
  • **
  • Posts: 766
  • Country: nz
  • YouTuber Nerd - I Fix Stuff
    • The Defpom's Channel
Re: Program that can log from many multimeters.
« Reply #1936 on: October 13, 2021, 08:44:26 pm »
I have a question.

I only recently started trying to use this awesome software so I have a lot of learning to do.

Does the "Readout" popup support multiple readouts from the same device? I have found I can do it with a grid panel, but I think I might want multiple popups, I'm just wondering if it can do it already ?

I am in the process of writing the definition for a Siglent SDL1030X, I have the app reading the loads values and I am able to control the modes etc. I still have a lot to do, such as the various mode settings etc. but I am making good progress I think.

FYI I also added this to the Siglent SDM30xxxx file so that it returns back to local mode when quitting the app: #finalCmd abort;*cls;*rst
Cheers Scott

Check out my Electronics Repair, Mailbag, or Review Videos at https://www.youtube.com/TheDefpom
 
The following users thanked this post: tautech

Online bdunham7

  • Super Contributor
  • ***
  • Posts: 8011
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1937 on: October 14, 2021, 12:46:56 am »
These settings are supposed to be saved in ...\Documents\TestController\Settings\ in a couple of files called Settings something.txt

OK, so I installed this on another computer just to make sure it wasn't some one-off sort of deal.  This problem occurs on both--there is nothing saved in a that folder (or anywhere else) on exit and not only does the program not remember meters used in previous sessions, I just realized that it is running as if it were the first time each time I start it.  I get the dialog box that asks if I want to load the demo units, and it opens a browser page and takes me to the TestController installation page.

Edit:  OK, case closed!  The problem was my Avast antivirus (specifically the Ransomware Shield) blocking javaw.exe   :palm:   Entered an exception to the block and things appear to work.   :-+  Now I have work to do before more questions.  Thanks, HKJ!
« Last Edit: October 14, 2021, 01:03:39 am by bdunham7 »
A 3.5 digit 4.5 digit 5 digit 5.5 digit 6.5 digit 7.5 digit DMM is good enough for most people.
 

Offline Cavhat

  • Contributor
  • Posts: 11
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1938 on: October 14, 2021, 02:31:46 am »
This tool is brilliant!  It was precisely what I've been searching for, and I've taken several days to pore over the documentation and this thread, and to explore Test Controller's scripting capabilities.  Having said that, I've run into some bugs (or maybe some quirks) and I have some questions I'd like to put to you.

First, a bug: The "Script List" popup fails to list any of the scripts I created (and, in fact, is completely blank except for when I sweep the mouse cursor over the dialog box buttons, which individually reappear when I do so).  Here's what the dialog box looks like after I've painted the mouse cursor all over it:

1297495-0


Here's the debug output:

Code: [Select]
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 5, Size: 5
        at java.util.ArrayList.rangeCheck(Unknown Source)
        at java.util.ArrayList.get(Unknown Source)
        at dk.hkj.devices.LoadDeviceConfig.getIndex(LoadDeviceConfig.java:122)
        at dk.hkj.main.PopupScriptList$3.prepareRenderer(PopupScriptList.java:118)
        at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
        at javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
        at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
        at javax.swing.plaf.ComponentUI.update(Unknown Source)
        at javax.swing.JComponent.paintComponent(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JViewport.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JLayeredPane.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paintToOffscreen(Unknown Source)
        at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
        at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
        at javax.swing.RepaintManager.paint(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
        at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
        at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
        at java.awt.Container.paint(Unknown Source)
        at java.awt.Window.paint(Unknown Source)
        at javax.swing.RepaintManager$4.run(Unknown Source)
        at javax.swing.RepaintManager$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.access$1200(Unknown Source)
        at javax.swing.RepaintManager$ProcessingRunnable.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)

For what it's worth, initially the dialog did work as expected.  At some point while I created more scripts and files containing scripts, it stopped working.

Next, the documentation states:

Code: [Select]
To check the type of a variable use type(v), the normal types will be long/double/string, but there are also complex/dateTime/array/struct/...

This seems to suggest that it's possible to declare a variable as a struct; how do we go about doing so?  Is such a thing possible right now?  (Being able to do so would be amazing...and being able to declare arrays of structs would be even more so!)

Finally, I'm not clear on how the iterator variable works in the #FOREACH command.  I tried doing something like this, using #FOREACH to iterate through an array of arbitrary size:

Code: [Select]
=var my_array = array("some value", "another value", "and so on")
#foreach item my_array
#echo (item)
#endforeach

This code results in this output:

Code: [Select]
;; my_array

...but I was hoping for something like this output:

Code: [Select]
;; some value
;; another value
;; and so on

Clearly I am misunderstanding the command's usage.  Could you clarify it?

Thanks again for your work on this really great tool!
 

Online TheDefpom

  • Frequent Contributor
  • **
  • Posts: 766
  • Country: nz
  • YouTuber Nerd - I Fix Stuff
    • The Defpom's Channel
Re: Program that can log from many multimeters.
« Reply #1939 on: October 14, 2021, 04:25:49 am »
I have another question...

Is there a button type that toggles states ?

What I am wanting is a button for On/Off without having to use two buttons, much like the ButtonsOn version that has the indicator but a single button that can toggle between two states, change its button text, and change its activated output to toggle commands, so you can send a 0 or 1 just like a checkbox etc.

I wanted to use a button like this for the SDL1030X definition I am making, to have features such as Load On/Off, Short On/Off, Remote Sensing On/Off etc.
Cheers Scott

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

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1940 on: October 14, 2021, 04:55:48 am »
First, a bug: The "Script List" popup fails to list any of the scripts I created (and, in fact, is completely blank except for when I sweep the mouse cursor over the dialog box buttons, which individually reappear when I do so).  Here's what the dialog box looks like after I've painted the mouse cursor all over it:

I will look at it, with your debug dump I suppose it will be easy to fix.

Next, the documentation states:

Code: [Select]
To check the type of a variable use type(v), the normal types will be long/double/string, but there are also complex/dateTime/array/struct/...

This seems to suggest that it's possible to declare a variable as a struct; how do we go about doing so?  Is such a thing possible right now?  (Being able to do so would be amazing...and being able to declare arrays of structs would be even more so!)

That is basically automatic:
Code: [Select]
var a;
a.x=4
will make a a struct with the element x
There is no problem combining arrays and structs.
Some of the electronic functions returns structs with the answer.

Finally, I'm not clear on how the iterator variable works in the #FOREACH command.  I tried doing something like this, using #FOREACH to iterate through an array of arbitrary size:

Code: [Select]
=var my_array = array("some value", "another value", "and so on")
#foreach item my_array
#echo (item)
#endforeach

This code results in this output:

Code: [Select]
;; my_array

...but I was hoping for something like this output:

Code: [Select]
;; some value
;; another value
;; and so on

Clearly I am misunderstanding the command's usage.  Could you clarify it?

Code: [Select]
=var my_array = array("some value", "another value", "and so on")
=var item;
#foreach item (my_array)
#echo (item)
#endforeach
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1941 on: October 14, 2021, 04:58:22 am »
Does the "Readout" popup support multiple readouts from the same device? I have found I can do it with a grid panel, but I think I might want multiple popups, I'm just wondering if it can do it already ?

Each Readout can only show one value, but you can use multiple Readouts.

I am in the process of writing the definition for a Siglent SDL1030X, I have the app reading the loads values and I am able to control the modes etc. I still have a lot to do, such as the various mode settings etc. but I am making good progress I think.

Please post it here when you are ready.

FYI I also added this to the Siglent SDM30xxxx file so that it returns back to local mode when quitting the app: #finalCmd abort;*cls;*rst

I will add this to the definition file.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1942 on: October 14, 2021, 05:00:05 am »
Is there a button type that toggles states ?

What I am wanting is a button for On/Off without having to use two buttons, much like the ButtonsOn version that has the indicator but a single button that can toggle between two states, change its button text, and change its activated output to toggle commands, so you can send a 0 or 1 just like a checkbox etc.

I wanted to use a button like this for the SDL1030X definition I am making, to have features such as Load On/Off, Short On/Off, Remote Sensing On/Off etc.

No, but you can use checkbox (Not recommended for on/off, but fine for the other settings).
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1943 on: October 14, 2021, 09:14:16 am »
V1.84 is up
A lot of small additions and fixes.
   Fixed: (I hope) A problem showing script list popup
   Added: Table "Goto value" value move the view to the value that is closet to specified value in column.
   Added: Table goto min/max move the view to the highest/lowest value in a column.
   Changed: Table numeric format selection changed to match "Current values" numeric format selection (They adjust the same global format).
   Added: Numeric format can be changed on "Current values", this is a global change similar to #VALUEFORMAT command.
   Added: Menus on Readout shows selected value
   Added: Readout support one larger text size (This could be done from scripting, but not from menu)
   Fixed: Script layout generation did not save transparency on Readout correctly
   Added: "#cmdSetup multi combobox" and :string: tag support for multi control.
   Added: Alarm popup can also be set on LogEvent and script done
   Added: Support "Math" channels in Grid panel popup
   Added: Support "Math" channels in Param sweeper popup, breaker
   Added: Support "Math" channels in Log event popup
   Added: Support "Math" channels in Auto hold popup



The right click menu on the table page is changed and has some goto functions.



The right click menu on Readout shows what is selected and has a local format override.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1944 on: October 14, 2021, 09:43:23 am »
and to explore Test Controller's scripting capabilities.

Not all scripting is documented, you can switch into programming mode with #calc . When this is used in a text block (Like log window or a loaded script file, but not command line) it gives access to all the scripting. This includes (all can be nested):
if ... ... elseif ... ... else ... endif
for ... to ... do ... endfor
foreach ... in ... do ... endforeach
repeat ... until ...
while ... ... endwhile

You can find some examples in KeysightU1461A.txt and Keysight344xxA.txt
 

Offline Cavhat

  • Contributor
  • Posts: 11
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1945 on: October 14, 2021, 05:55:23 pm »
V1.84 is up
   Fixed: (I hope) A problem showing script list popup

The Script List popup is indeed fixed.  Thank you for the quick response and bugfix!  I've noticed in that popup that the "Lines" column is highlighted in red for some of my scripts--what does that signify?

Not all scripting is documented, you can switch into programming mode with #calc .

<snip>

You can find some examples in KeysightU1461A.txt and Keysight344xxA.txt

Thanks for this tip!  Because I wasn't focused on instrument definitions--Test Controller helpfully already includes definition files for all of the instruments I possess--I hadn't thought to look very closely at those definition files for examples of TC's more advanced scripting capability.

The examples prompt another question:  I've noticed that end-of-statement semicolons are inconsistently applied in various examples, and my experimentation with it suggests that the script interpreter doesn't really much care about requiring a semicolon as a statement delimiter (but, obviously, it requires a semicolon to signify a comment).  What is the scripting language's grammar for the end-of-statement semicolon?  Is this something I should pay attention to?
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1946 on: October 14, 2021, 06:10:44 pm »
I've noticed in that popup that the "Lines" column is highlighted in red for some of my scripts--what does that signify?

That TC has a problem with them.

The examples prompt another question:  I've noticed that end-of-statement semicolons are inconsistently applied in various examples, and my experimentation with it suggests that the script interpreter doesn't really much care about requiring a semicolon as a statement delimiter (but, obviously, it requires a semicolon to signify a comment).  What is the scripting language's grammar for the end-of-statement semicolon?  Is this something I should pay attention to?

My usual languages are C++ and Java, both requires a semicolon, this means I nearly always put one after a statement. To avoid getting a lot of errors due to that the TC "programming" language accept semicolons, but do not require them.
note:
Scripting language is commands starting with #
"Programming" language is another interpreter that is invoked at the places where expressions can be used. For TC I have only documented the functions and operators, not that it is mostly a programming  language.

The semicolon at the start of a line works with the scripting language interpreter, but not with the "Programming" language, there it is // anywhere on the line.
 
The following users thanked this post: Cavhat

Online TheDefpom

  • Frequent Contributor
  • **
  • Posts: 766
  • Country: nz
  • YouTuber Nerd - I Fix Stuff
    • The Defpom's Channel
Re: Program that can log from many multimeters.
« Reply #1947 on: October 14, 2021, 11:32:47 pm »
I noticed that if my internet connection is being crap that the app doesn't launch, the TC window opens but stays blank, until the internet is available.

Internet where I am is pretty bad, sometimes it is fine, other times it is so slow it cant even load an email.

Why does the app not load until the internet is OK ? is this something that can be improved / removed?
Cheers Scott

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

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1948 on: October 15, 2021, 04:38:31 am »
I noticed that if my internet connection is being crap that the app doesn't launch, the TC window opens but stays blank, until the internet is available.

Internet where I am is pretty bad, sometimes it is fine, other times it is so slow it cant even load an email.

Why does the app not load until the internet is OK ? is this something that can be improved / removed?

The program downloads a couple of files from the internet, there is a backup of them in home_dir/TestController/Settings/
If it cannot download the files from the internet the backup is used.

But TC is obvious very bad at detecting your bad connection and uses way to much time on trying to download the files, instead of using the backup.

I will try if I can improve that.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1949 on: October 15, 2021, 05:19:43 am »
I have reduced the timeout on the download, please try this .jar file (It is used to replace the release .jar file in TC):

http://lygte-info.dk/pic/Projects/TestController/TestController.jar
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf