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

0 Members and 1 Guest are viewing this topic.

Offline dirkwim07

  • Contributor
  • Posts: 14
  • Country: nl
Re: Program that can log from many multimeters.
« Reply #1275 on: October 30, 2020, 03:18:23 pm »
thanks,

btw, now I've used my android phone to scan the DL24 device an it outputs a bit more info. In termite I only saw the FF-55 but with my mobile I also see 00-00

like this:

A    16:05:51.408    "(0x) FF-55-01-02-00-00-0B-00-00-64-00-00-67-00-00-00-01-00-00-00" received
A    16:05:51.430    "(0x) 00-00-00-00-00-13-00-00-22-32-3C-00-00-00-00-39" received

https://justpaste.it/3lbp0

 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1276 on: October 30, 2020, 03:46:35 pm »
thanks,

btw, now I've used my android phone to scan the DL24 device an it outputs a bit more info. In termite I only saw the FF-55 but with my mobile I also see 00-00

like this:

A    16:05:51.408    "(0x) FF-55-01-02-00-00-0B-00-00-64-00-00-67-00-00-00-01-00-00-00" received
A    16:05:51.430    "(0x) 00-00-00-00-00-13-00-00-22-32-3C-00-00-00-00-39" received

https://justpaste.it/3lbp0


It is about the same as the last you posted, except there is no data after the message.

There is still access to the original decoder in my software, it is called DC, the one for the load is called DCLoad
But there is no public definition for DC (I suppose it is for a DC Watt meter similar to the AC Watt meter), it requires adding a #metadef for it.
 

Offline gby

  • Regular Contributor
  • *
  • Posts: 176
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1277 on: November 01, 2020, 02:07:57 pm »
HKJ,

I was experimenting with doing a frequency sweep from low to high frequency with the chart X-axis set to frequency rather than time.  After the script started logging I had the line:
   #CHARTX (arb+".Frequency1")
which correctly made the X-axis frequency.  Very nice to be able to have X-Y graph.

But, while logging data the chart stops/the X-axis becomes static and no longer auto scales.  If you click to a different tab and come back to the Chart tab the X-axis auto scales to the data acquired up to that point and then remains static.  This means you can't see the logged data plotted while being acquired.

I am using latest V140 and the channel mapped to the X-axis was set for auto scaling and not Auto include 0 in the Scales for chart tab.

Is this behavior expected or a bug or have I set something up wrong?

I also note that when the X-axis is not time that the cursor does not work.  I suspect that is because the cursor mechanism only understands Y versus time and doesn't understand X-Y charts.  Is that correct?
 

Offline gby

  • Regular Contributor
  • *
  • Posts: 176
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1278 on: November 01, 2020, 02:26:54 pm »
One question: while testing the oscilloscope interface definition I used the Popups | Test interface.  When I check all of the gets all the numeric returned values are green.  But anything returning a string is red.  See attached screen shot of that window.  In the device file I have listed :string: on the line after the get like:
   #interface setCH1Coupling CH1:COUPLING (value)
   #interface getCH1Coupling CH1:COUPLING?
   :string:
but still get a red box.  Is the Test interface screen hard coded to put red for anything not a number or am I doing something wrong in the device file?

By default all parameters are supposed to be numeric, I have a build in list of functions that accept string parameters.

And please get rid of the channel no in the name, instead use:

#interfaceType OSC OSC:2 OSC:3 OSC:4

#interface setCoupling CH(channel):COUPLING (value)

Then I will add Coupling & MathDefinition on the list for string parameters

HKJ,

I finally got around to updating the Tektronix scope interface definition per your request above.  For the Immediate measurement channel I left the specific interface commands in.  I did this because there are functions for measurement channels 1-4 that the Immediate measurement channel does not support.

I also enhanced the Setup popup to include horizontal and trigger setups.

In checking this device file interface in Ver 140 I note that any string returned value is still marked as red in the Test interface popup.  Not a real problem, it just adds a little time to making sure it really works.

Please use the attached Tektronix device file in your next release.

Thanks again for a great and useful program.
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1279 on: November 01, 2020, 03:02:20 pm »
HKJ,

I was experimenting with doing a frequency sweep from low to high frequency with the chart X-axis set to frequency rather than time.  After the script started logging I had the line:
   #CHARTX (arb+".Frequency1")
which correctly made the X-axis frequency.  Very nice to be able to have X-Y graph.

But, while logging data the chart stops/the X-axis becomes static and no longer auto scales.  If you click to a different tab and come back to the Chart tab the X-axis auto scales to the data acquired up to that point and then remains static.  This means you can't see the logged data plotted while being acquired.

I am using latest V140 and the channel mapped to the X-axis was set for auto scaling and not Auto include 0 in the Scales for chart tab.

Is this behavior expected or a bug or have I set something up wrong?

It sound like a bug, I will have to check.

I also note that when the X-axis is not time that the cursor does not work.  I suspect that is because the cursor mechanism only understands Y versus time and doesn't understand X-Y charts.  Is that correct?

In XY mode I cannot always map from X to a single Y value. I may improve this at a later date and allow cursor if the axis has increasing or decreasing values.
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1280 on: November 01, 2020, 03:06:55 pm »
Please use the attached Tektronix device file in your next release.

I will.
There is no reason to worry about the red, maybe I need to change it so only functions that are know numeric gets red.

Next release will have significantly improved annotations and also an import function to combine csv files.
 

Offline gby

  • Regular Contributor
  • *
  • Posts: 176
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1281 on: November 01, 2020, 03:25:23 pm »
HKJ,

I am working on a new device file to support a large family of power supplies.  The over current shut down setting range is 10% to 110% of the output maximum current limit.  I already have #replaceText MaxCurrent lines in the #metadef sections.  To handle the over current shut down settings I could add two more #replaceText values per #metadef but it would be convenient to use equations in the device file instead.

I tried
   #cmdSetup number Current Protect-Limits
   :read: SOUR:CURR:PROT:LEVEL?
   :write: SOUR:CURR:PROT:LEVEL
   Adc  (MaxCurrent/10) (1.1*MaxCurrent)
but the result was no limits listed for the number #cmdSetup.  Actually, where the numbers would be were empty little square boxes.

Is there a way to do some thing like the above or should I just go ahead and define more #replaceText values?
 

Offline gby

  • Regular Contributor
  • *
  • Posts: 176
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1282 on: November 01, 2020, 03:30:30 pm »
In XY mode I cannot always map from X to a single Y value. I may improve this at a later date and allow cursor if the axis has increasing or decreasing values.

You could just take the numerically lowest Y-value at the cursor X-position.  For single value functions you get what you want and for multi-value functions you get one well defined value.

Just a thought.
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1283 on: November 01, 2020, 04:02:44 pm »
Is there a way to do some thing like the above or should I just go ahead and define more #replaceText values?

For now no.
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1284 on: November 01, 2020, 04:03:51 pm »
You could just take the numerically lowest Y-value at the cursor X-position.  For single value functions you get what you want and for multi-value functions you get one well defined value.

Just a thought.

But then I would also have to mark it on the chart or it could be confusing.
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1285 on: November 01, 2020, 07:43:37 pm »
Update bug is fixed.
I have also enable cursor as long as the X data has a stable slope (That was very easy).

It will be in next release.
 

Offline gby

  • Regular Contributor
  • *
  • Posts: 176
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1286 on: November 01, 2020, 11:52:49 pm »
HKJ,

Attached is a device file for the Keithley 2260B series of power supplies.  Since these Keithely supplies are just a re-brand of the GW Instek PSW series the file includes those which , by documentation, should work but I don't have any GW Instek version to test with.

The file supports all the models in these series.  All single channel with 30/80/250/800 V and 360/720/1080 total power depending on model number.  Via Ethernet network.  Does not support USB.

Includes Mode, Setup popups as well as an interface for #interfaceType PS.  The interface was modeled after the interface in the existing Keithley 2280S-32-6 device file.  Hopefully that was a good one to use as a reference.

Please include in the next TC release.
 

Offline TheNewLab

  • Regular Contributor
  • *
  • Posts: 249
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1287 on: November 02, 2020, 02:15:22 am »
How about environmental test devices. Airflow HVAC, particle counter (wildfires) CO2, etc, etc?

Have downloaded, will install and experiment. All the included programs are pretty basic so likely to be fairly easily. As I work out various devices in this area, I will post

I really, really like an all-in-one app. pain logging multiple devices, sorting out on computer to make comprehensive presentation
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1288 on: November 02, 2020, 05:49:13 am »
Attached is a device file for the Keithley 2260B series of power supplies.  Since these Keithely supplies are just a re-brand of the GW Instek PSW series the file includes those which , by documentation, should work but I don't have any GW Instek version to test with.

Thanks, I have done one modification to the source resistance setting.
I do miss the radio buttons for fast selection of some common voltages & currents, but I have not added them.
If did also fix some Min/Max text replacements.


It looks like the USB interface is serial, this means you can do: "#port 2268 com" to support both, there must also be a baudrate for the com port.


Please include in the next TC release.

Will do.
« Last Edit: November 02, 2020, 06:24:08 am by HKJ »
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1289 on: November 02, 2020, 05:53:13 am »
How about environmental test devices. Airflow HVAC, particle counter (wildfires) CO2, etc, etc?

That would be nice, but we will have to communication about #interface

I really, really like an all-in-one app. pain logging multiple devices, sorting out on computer to make comprehensive presentation

I made it because I have many different brands of device I uses together and also do automatic tests with them.
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1290 on: November 02, 2020, 01:17:25 pm »
V1.41 is up
There are many small improvements and a new import function.
   Added: Keithley 2280B and GW Instek PSW series power supplies, thanks to GBY
   Added: Cursor is now possible with all X axis that has a regular rising or falling value.
   Fixed: Data value as X on chart did not update.
   Changed: Unknown interface names do not show red with text results in the test function
   Changed: Will only use "Restore" button for programs run in log window, not for menus with #autorun.
   Fixed: Export function failed when loading a export definition.
   Changed: ATorch DCLoad (DL24P) will now do its own W, Wh & Ah calculations, they are missing from the communication
   Added: Import popup can import columns from a CSV files with a specified reference column.
   Added: #clearTable clears all data in the table and disables Chart, Histogram &Range
   Added: #importTable can import columns from a CSV files with a specified reference column.
   Added: #scriptPriority can define if a script takes precedence or not over the user interfaces.
   Added: #scriptScript to define hidden scripts in menu script files, can be used with #runScript.
   Added: #return to stop the current script
   Added: runScript() & runScriptAsync() functions, will run same scripts as #runScript
   Added: #runScript & #runScriptAsync to run named scripts from command line or other scripts
   Added: #histogramAnnotate with same functions as #chartAnnotate
   Added: More annotations to #chartAnnotate (Circles, squares, polygons and polylines)
   Added: +curveName to make a annotation follow a named curve




The above chart is made completely automatic, first the script run the test and then generates the chart with annotations.



Importing a couple of data files.



Then I could make this curve, I could have improved the curve by combining the scales with #chartScaleSync.



And here I did not change the background color.

 
The following users thanked this post: Marco1971

Offline gby

  • Regular Contributor
  • *
  • Posts: 176
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1291 on: November 02, 2020, 04:26:49 pm »
Thanks, I have done one modification to the source resistance setting.
I do miss the radio buttons for fast selection of some common voltages & currents, but I have not added them.
If did also fix some Min/Max text replacements.

Thanks for catching my cut, paste, and forget to update errors in the text replacements.  I used a spread sheet to automate creating all the #metadef's and did not properly update the formulas.  Unfortunately there are a couple more of them I had to correct  :palm:.

Hard to know what radio button presets to have for a supply that might be only 30V or up to 800V max.  I don't think it is a good idea to have a preset for a voltage larger than the supply can do.  So, I settled on 3.3V, 5V, 12V, 24V which all supplies can do.  I also thought about having a quick button to go to maximum voltage, but quickly jumping up to 800V sounded dangerous.  Hopefully you like that selection.

It looks like the USB interface is serial, this means you can do: "#port 2268 com" to support both, there must also be a baudrate for the com port.

So far I only tested Ethernet connection.  I added com to the #port per your suggestion.  At some point I will test USB com part or maybe someone else will try it and get back to us whether it works or not.

Attached is a Keithley 2260B file with all the above updates to include with the next TC release.
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1292 on: November 02, 2020, 04:36:36 pm »
Attached is a Keithley 2260B file with all the above updates to include with the next TC release.

Thanks.

I moved the voltage preset to the first line and change the name to "Voltage", this way it will update together with the number field, no :update: needed.
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1293 on: November 03, 2020, 10:49:08 am »
A bit fun with recording the same signal on two different PC's with two different meters, then importing both data sets into TestController and synchronizing on dateTime:



The result is not bad, the two data sets align with better than one second precision.

In praxis this can be used to record related signals some distance apart.
 

Offline gby

  • Regular Contributor
  • *
  • Posts: 176
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1294 on: November 07, 2020, 02:35:28 pm »
Quick question, for a SCPI command how can you do an IF statement in follow on :readmath:?

My specific issue is the following:
Code: [Select]
#scpiCmd getDefCH6? txrxn? 3 REC.RETRIEVEHDR
:readmath: getMatch(value,"(?<=1,1\\s).*")
:readmath: getElement(value,5)
For this device if CH6 is not in use the above getElement returns nothing/empty string which TestController sees and no Rx value and then waits for a timeout.  See below debug window sequence.
Code: [Select]
;; AKD2GS: Tx <getDefCH6?>
;; AKD2GS: Tx <txrxn? 3 REC.RETRIEVEHDR>
;; 192.168.1.193: Tx: <REC.RETRIEVEHDR..> 52 45 43 2E 52 45 54 52 49 45 56 45 48 44 52 0D 0A
;; 192.168.1.193: Rx: <Recording> 52 65 63 6F 72 64 69 6E 67 0D
;; 192.168.1.193: Rx: <1,1> 31 2C 31 0D
;; 192.168.1.193: Rx: <AXIS1.IL.FB [Arms],AXIS1.VL.CMD [rpm],AXIS1.VL.FB [rpm],vbus.value [Vdc],AXIS1.TEMP [degC]> 41 58 49 53 31 2E 49 4C 2E 46 42 20 5B 41 72 6D 73 5D 2C 41 58 49 53 31 2E 56 4C 2E 43 4D 44 20 5B 72 70 6D 5D 2C 41 58 49 53 31 2E 56 4C 2E 46 42 20 5B 72 70 6D 5D 2C 76 62 75 73 2E 76 61 6C 75 65 20 5B 56 64 63 5D 2C 41 58 49 53 31 2E 54 45 4D 50 20 5B 64 65 67 43 5D 0D
;; AKD2GS: Rx Timeout
Because this sequence returns nothing and because TC sees that as no Rx value,  then execution of TC halts for 5 seconds or so while it waits through the Rx timeout period.

To prevent these delays I would like to add something like:
   :readmath: if (strlen(value)=0) then "Empty" else value
to the command definition to prevent empty channels from having long Rx time out sequences.  In TC SCPI command definition how do you do that/what would the syntax be for a :readmath: IF statement be?

 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1295 on: November 07, 2020, 03:11:47 pm »
Quick question, for a SCPI command how can you do an IF statement in follow on :readmath:?

Use the ?: operator

:readmath: (strlen(value)==0)?"Empty":value


 

Offline Hexley

  • Regular Contributor
  • *
  • Posts: 58
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1296 on: November 07, 2020, 10:51:52 pm »
Here is an updated device file for the GW Instek GPP-4323 power supply. It now supports the advanced features of channels 1 & 2. As voltage sources, they can be set to series, parallel, or independent modes. As loads they can be set to constant current, constant voltage, or constant resistance.

Please replace the current device file with this one in the next release, thanks.[attach=1]
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1297 on: November 08, 2020, 06:36:56 am »
Please replace the current device file with this one in the next release, thanks.[attach=1]

Thanks, I will do that.
 

Offline privet

  • Newbie
  • Posts: 1
  • Country: gp
Re: Program that can log from many multimeters.
« Reply #1298 on: November 09, 2020, 06:31:44 pm »
Hi, 

What a work !!!   
Thanks a lot for your work, it's perfect for testing my old batteries with my MS8218.

If I hadn't found your software, I would still be looking for how to decode the mastech protocol

thanks thanks thanks    :-+
 

Online HKJ

  • Super Contributor
  • ***
  • Posts: 1533
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1299 on: November 12, 2020, 01:02:07 pm »
V1.42 is up
This adds popups to the scripting language and a small improvement to the import function.
V1.42
   Added: Support for popups in scripts
   Changed: Image viewer now has a independent window
   Added: More import matchers, this makes it possible to import data sets where reference columns is not a nice slope.
   Changed: Import popup, clicking on column name will change include checkmark
   Changed: Import popup, Import button first active when a valid import selection is present
   Fixed: Displays NaN (Not a Number) as ? in all standard formatters.

The popups makes it possible to display stuff like:



From scripting.

Here is a article with the script for making the above menus and also for making the green charge curve I have posted earlier: http://lygte-info.dk/project/TestControllerTestingBatteryUSB%20UK.html

The popup functions are in two groups, this first group is for building input forms (Like the examples above):

#POPUPINIT "popup_title"
#POPUPLABEL "prompt" varName "tip"
#POPUPTEXT "prompt" varName {characters {"tip"}}
#POPUPNUMBER "prompt" varName {min max {"tip"}}
#POPUPNUMBERLIST "prompt" varName {min max {"tip"}}
#POPUPNUMBERINT "prompt" varName {min max {"tip"}}
#POPUPNUMBERINTLIST "prompt" varName {min max {"tip"}}
#POPUPCOMBO "prompt" varName {list of values} {"tip"}
#POPUPRADIO "prompt" varName {list of values} {"tip"}
#POPUPCOLUMNS CHANNEL "prompt" varName {systemColumns{ filter {"tip"}}
#POPUPDEVICE "prompt" varName {deviceFilter {functionFilter {all} tip}}}
#POPUPVALUE "prompt" varName{ includeMath{ filter{ tip}}}
#POPUPCHECKBOX "prompt" varName {"tip"}
#POPUPFILENAME "prompt" varName {"tip"}
#POPUPFILE "prompt" varName{ path{ extension{ load {"tip"}}}}
#POPUPIMAGE "prompt" varName images {tip}
#POPUPBUTTON "button text" varName {"tip"}
#POPUPBUTTONS "ok button text" varName "cancel button text" {"tip"}
#POPUPSHOW {x y}

The second group are for messages and questions that can be answered with a button press:

#POPUPSHOWINFO "info message"{ icon}
#POPUPSHOWINFOASYNC "info message"{ icon{ timeout}
#POPUPSHOWQUESTION "prompt" varName{ button1Text{ button2Text{ button3Text}}}


I have also added another base for popups that makes them a separate window, for now I only uses this for image viewer, but I have some other addition in development, that will use it.
 
The following users thanked this post: PushUp, tubularnut


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf