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

gby, Kirkhaan and 11 Guests are viewing this topic.

Offline PushUp

  • Regular Contributor
  • *
  • Posts: 189
  • Country: de
Re: Program that can log from many multimeters.
« Reply #550 on: May 12, 2020, 08:00:11 am »
Fluke 289 vs. TestController:

Is it possible to log VAC in "Peak" mode, which allows measuring with 100 ms response time instead of the usual 1 sec. periode?
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #551 on: May 12, 2020, 08:40:45 am »
Fluke 289 vs. TestController:

Is it possible to log VAC in "Peak" mode, which allows measuring with 100 ms response time instead of the usual 1 sec. periode?

You can select any mode you wish on the meter.
It only logs the main value and there it will log everything the meter shows. You can use a fast sample rate if you wish.
 

Online gby

  • Regular Contributor
  • *
  • Posts: 248
  • Country: us
Re: Program that can log from many multimeters.
« Reply #552 on: May 12, 2020, 12:35:59 pm »
Re: TestController ascii Driver With Kollmorgen AKD2G Servo

I am trying out the new ascii driver with a telnet port 23 connected ascii device.   Below is the debug log from startup with only that one device file checked in "load devices" tab.

After it settled I typed "axis1.vl.fb<enter key>" and after a moment "axis1.il.fb<enter key>.  This sequence gives the below debug log:
Code: [Select]
Starting
;; Start thread for: 192.168.1.162 - Kollmorgen AKD2G Servo
;; Found Kollmorgen AKD2G Servo on 192.168.1.162
axis1.vl.fb
;; AKD2G: Tx <axis1.vl.fb>
axis1.il.fb
;; AKD2G: Tx <axis1.il.fb>

The above log seems to have no Rx results and it seems to echo the sent characters.  In a telnet program each of these queries would return a value, the units, CR with "-->" as a prompt.  Such as the below:

Code: [Select]
Error: [0085] Command was not found.
-->axis1.vl.fb
59.372 [rpm]
-->axis1.il.fb
-0.002 [Arms]
-->

The "Error: [0085] Command was not found." came after Putty telnet first connects and I hit the <enter key> before anything else to get that cleared up.  Not sure why the initial connection confuses the device but a simple <enter key> gets it going.

Attached is the full device file I used.

Suggestions for next steps to start getting replies/working communication?
 

Offline PushUp

  • Regular Contributor
  • *
  • Posts: 189
  • Country: de
Re: Program that can log from many multimeters.
« Reply #553 on: May 12, 2020, 01:15:18 pm »
You can select any mode you wish on the meter.
It only logs the main value and there it will log everything the meter shows. You can use a fast sample rate if you wish.

I tried to measure/log the "Peak" with 100 ms response time from +332,7 VAC till -332,4 VAC as shown in the display, but only got the average in TestController... - what do I miss?
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #554 on: May 12, 2020, 01:22:03 pm »
I tried to measure/log the "Peak" with 100 ms response time from +332,7 VAC till -332,4 VAC as shown in the display, but only got the average in TestController... - what do I miss?

The +/- peak is not the main meter reading, I only read the main value.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #555 on: May 12, 2020, 01:31:52 pm »
Suggestions for next steps to start getting replies/working communication?

You have to do it indirectly, the software only handles SCPI like commands, the driver will translate these to ascii commands.

This means you have to define SCPI versions of you commands:
#scpiCmd axis1? txrx? axis1.(value)

Then use
axis1? vl.fb
axis1? il.fb

You could also use the txrx? directly from the command line:
txrx? axis1.vl.fb
txrx? axis1.il.fb
But that is for testing and not recommended for as a implementation.

 

Offline MikeLud

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Program that can log from many multimeters.
« Reply #556 on: May 12, 2020, 04:09:44 pm »
V0.66 is up

This version includes a new driver called "ascii", it is very similar to the Modbus driver with command definition, but this time it is plain ascii commands that is defined. This will hopefully make it possible to connect to a lot of non-scpi equipment.

HKJ,

I am using the new ascii driver to create a device driver for FY6800 Signal Generator and are having issues sending integers greater then 999999 it converts it to scientific notation and the Signal Generator is expecting an integer.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #557 on: May 12, 2020, 04:40:35 pm »
I am using the new ascii driver to create a device driver for FY6800 Signal Generator and are having issues sending integers greater then 999999 it converts it to scientific notation and the Signal Generator is expecting an integer.

You are supposed to be able to do something like (int(value)), but the int function has a problem in the current version (It will be fixed in next version).
Another way is to use (formatDouble(value,1,20,0,0))
 

Offline MikeLud

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Program that can log from many multimeters.
« Reply #558 on: May 12, 2020, 06:25:03 pm »
I am using the new ascii driver to create a device driver for FY6800 Signal Generator and are having issues sending integers greater then 999999 it converts it to scientific notation and the Signal Generator is expecting an integer.

You are supposed to be able to do something like (int(value)), but the int function has a problem in the current version (It will be fixed in next version).
Another way is to use (formatDouble(value,1,20,0,0))

My mistake I should have said float, the value is 0.000001 to 60000000.000000 hz
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #559 on: May 12, 2020, 06:36:35 pm »
You are supposed to be able to do something like (int(value)), but the int function has a problem in the current version (It will be fixed in next version).
Another way is to use (formatDouble(value,1,20,0,0))

My mistake I should have said float, the value is 0.000001 to 60000000.000000 hz

The specification for formatDouble is formatDouble(value,minIntegerDigits,maxIntegerDigits,minFractionalDigits,maxFractionalDigits), i.e. you can do: formatDouble(value,1,10,0,6)
You need the bracket around everything to active the parser.
 

Offline PushUp

  • Regular Contributor
  • *
  • Posts: 189
  • Country: de
Re: Program that can log from many multimeters.
« Reply #560 on: May 13, 2020, 05:25:56 am »
The +/- peak is not the main meter reading, I only read the main value.

Oh, I see. In this case the Keysight U1273A is superior to the Fluke 289, which has separated functions for +Peak and -Peak by just switching manually between them... - thank you for the info, HKJ!
 

Offline MikeLud

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Program that can log from many multimeters.
« Reply #561 on: May 13, 2020, 12:39:39 pm »
The specification for formatDouble is formatDouble(value,minIntegerDigits,maxIntegerDigits,minFractionalDigits,maxFractionalDigits), i.e. you can do: formatDouble(value,1,10,0,6)
You need the bracket around everything to active the parser.

HKJ,

Thanks for the above clarification, the next issue I am having is when trying to divide the returned value by 1000. It is not work the same as it did in the modbus driver
Code: [Select]
#scpiCmd RMA? txrx? RMA /1000
Never mind, I was able to figure it out using :readmath:
Code: [Select]
#cmdSetup number P-P_Amplitude Output_1
:read: RMA?
:readmath: ((value)/10000)
« Last Edit: May 13, 2020, 12:53:17 pm by MikeLud »
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #562 on: May 13, 2020, 01:00:25 pm »
Thanks for the above clarification, the next issue I am having is when trying to divide the returned value by 1000. It is not work the same as it did in the modbus driver

Never mind, I was able to figure it out using :readmath:

Exactly, I did not add shortcuts for multiplying or dividing in this driver. I assumed when using ascii most devices would return non-scaled values.


And just a note: You do not need  brackets around (value), but it do not do any harm. I uses two strategies for handling the parameters for readmath:
Any (value) string it directly replaced with the received value. If there are a () pair left the parser/calculator will handle it with the received value set up as a variable called value.
« Last Edit: May 13, 2020, 01:06:10 pm by HKJ »
 

Offline MikeLud

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Program that can log from many multimeters.
« Reply #563 on: May 14, 2020, 12:23:28 am »
Exactly, I did not add shortcuts for multiplying or dividing in this driver. I assumed when using ascii most devices would return non-scaled values.

And just a note: You do not need  brackets around (value), but it do not do any harm. I uses two strategies for handling the parameters for readmath:
Any (value) string it directly replaced with the received value. If there are a () pair left the parser/calculator will handle it with the received value set up as a variable called value.

HKJ,

I was able to do all of the scaling needed in the #cmdSetup but now I can not figure out how the do it with #askValuesMathFormat. I am able to get it to work if only logging one value but if I do more then one I can not get it to work.

Thanks
Mike

Code: [Select]
; A list of possible column name with unit and formatter (SI, Time, Int, D0..D6)
#value Frequency1 Hz SI
#value Amplitude1 V SI
#value Offset1 V SI
#value DutyCycle1 % D1
#value Frequency2 Hz SI
#value Amplitude2 V SI
#value Offset2 V SI
#value DutyCycle2 % D1

; How to poll for data, this is used for table and #values?
; a #askMode, #cmdMode and #prepareSample is used before this is string is used.
; This is a single line command
#askValues RMF?;RMA?;RMO?;RMD?;RFF?;RFA?;RFO?;RFD?
#askValuesMathFormat
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #564 on: May 14, 2020, 04:15:23 am »
I was able to do all of the scaling needed in the #cmdSetup but now I can not figure out how the do it with #askValuesMathFormat. I am able to get it to work if only logging one value but if I do more then one I can not get it to work.

Why do you need a #askValuesMathFormat if you already have scaled the values correctly? mathFormat is not easy to use when you have many values, because you need to process everything in one expression.
If you need to get rid of units use #askValueReadFormat.
 

Offline MikeLud

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Program that can log from many multimeters.
« Reply #565 on: May 14, 2020, 06:13:59 am »
Why do you need a #askValuesMathFormat if you already have scaled the values correctly? mathFormat is not easy to use when you have many values, because you need to process everything in one expression.
If you need to get rid of units use #askValueReadFormat.

HKJ,

The readmath does not work correctly under #scpiCmd see below I get NaN
Code: [Select]
#scpiCmd RMA? txrx? RMA
:readmath: (value/10000)
;; 01:59:28.445 FY6800: Tx <RMF?>
;; 01:59:28.445 FY6800: Tx <txrx? RMF>
;; 01:59:28.454 COM5: Tx: <RMF.> 52 4D 46 0A
;; 01:59:28.454 COM5: Rx: <00010000.000000> 30 30 30 31 30 30 30 30 2E 30 30 30 30 30 30
;; 01:59:28.454 FY6800: Rx <00010000.000000>
;; 01:59:28.454 FY6800: Tx <RMA?>
;; 01:59:28.454 FY6800: Tx <txrx? RMA>
;; 01:59:28.459 COM5: Tx: <RMA.> 52 4D 41 0A
;; 01:59:28.459 COM5: Rx: <50000> 35 30 30 30 30
;; 01:59:28.459 FY6800: Rx <=5>

;; 01:59:28.459 FY6800: Tx <RMO?>
;; 01:59:28.469 FY6800: Tx <txrx? RMO>
;; 01:59:28.477 COM5: Tx: <RMO.> 52 4D 4F 0A
;; 01:59:28.482 COM5: Rx: <0> 30
;; 01:59:28.488 FY6800: Rx <0>
;; 01:59:28.494 FY6800: Tx <RMD?>
;; 01:59:28.500 FY6800: Tx <txrx? RMD>
;; 01:59:28.509 COM5: Tx: <RMD.> 52 4D 44 0A
;; 01:59:28.515 COM5: Rx: <50000> 35 30 30 30 30
;; 01:59:28.520 FY6800: Rx <50000>
;; 01:59:28.526 FY6800: Tx <RFF?>
;; 01:59:28.533 FY6800: Tx <txrx? RFF>
;; 01:59:28.541 COM5: Tx: <RFF.> 52 46 46 0A
;; 01:59:28.547 COM5: Rx: <00010000.000000> 30 30 30 31 30 30 30 30 2E 30 30 30 30 30 30
;; 01:59:28.553 FY6800: Rx <00010000.000000>
;; 01:59:28.559 FY6800: Tx <RFA?>
;; 01:59:28.565 FY6800: Tx <txrx? RFA>
;; 01:59:28.573 COM5: Tx: <RFA.> 52 46 41 0A
;; 01:59:28.580 COM5: Rx: <50000> 35 30 30 30 30
;; 01:59:28.586 FY6800: Rx <50000>
;; 01:59:28.593 FY6800: Tx <RFO?>
;; 01:59:28.599 FY6800: Tx <txrx? RFO>
;; 01:59:28.608 COM5: Tx: <RFO.> 52 46 4F 0A
;; 01:59:28.615 COM5: Rx: <0> 30
;; 01:59:28.621 FY6800: Rx <0>
;; 01:59:28.628 FY6800: Tx <RFD?>
;; 01:59:28.634 FY6800: Tx <txrx? RFD>
;; 01:59:28.642 COM5: Tx: <RFD.> 52 46 44 0A
;; 01:59:28.648 COM5: Rx: <50000> 35 30 30 30 30
;; 01:59:28.655 FY6800: Rx <50000>
;; 01:59:28.661 FY6800: Rx as numbers <10000.0 NaN 0.0 50000.0 10000.0 50000.0 0.0 50000.0>
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #566 on: May 14, 2020, 06:52:31 am »
The readmath does not work correctly under #scpiCmd see below I get NaN

I can see the problem, it was a typo in my code. You can get a new jar file from the usual link.
 

Offline MikeLud

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Program that can log from many multimeters.
« Reply #567 on: May 14, 2020, 12:42:40 pm »
The readmath does not work correctly under #scpiCmd see below I get NaN
I can see the problem, it was a typo in my code. You can get a new jar file from the usual link.

HKJ,

I hate to be a pain, but now the value is only be returned as whole number.

Code: [Select]
#scpiCmd RMA? txrx? RMA
:readmath: (formatDouble(value/10000,1,2,4,4))

;; 08:38:54.861 FY6800: Tx <RMA?>
;; 08:38:54.865 FY6800: Tx <txrx? RMA>
;; 08:38:54.869 COM5: Tx: <RMA.> 52 4D 41 0A
;; 08:38:54.869 COM5: Rx: <121234> 31 32 31 32 33 34
;; 08:38:54.871 FY6800: Rx <12.0000>
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #568 on: May 14, 2020, 12:50:47 pm »
I hate to be a pain, but now the value is only be returned as whole number.

Code: [Select]
#scpiCmd RMA? txrx? RMA
:readmath: (formatDouble(value/10000,1,2,4,4))

That is the correct result  :)
It is because you are dividing a integer with a integer, then the result will be a integer. It is very easy to fix, instead of dividing by 10000 you divide by 10000.0
 

Offline MikeLud

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Program that can log from many multimeters.
« Reply #569 on: May 14, 2020, 01:07:19 pm »
I hate to be a pain, but now the value is only be returned as whole number.

Code: [Select]
#scpiCmd RMA? txrx? RMA
:readmath: (formatDouble(value/10000,1,2,4,4))

That is the correct result  :)
It is because you are dividing a integer with a integer, then the result will be a integer. It is very easy to fix, instead of dividing by 10000 you divide by 10000.0

HKJ,

Tried but no luck. I even tried *0.0001

Thanks
MikeLud
« Last Edit: May 14, 2020, 01:10:02 pm by MikeLud »
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #570 on: May 14, 2020, 01:15:09 pm »
Tried but no luck. I even tried *0.0001

Ok, I found the problem. For now you can do:
double(value)/10000
 

Offline MikeLud

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Program that can log from many multimeters.
« Reply #571 on: May 14, 2020, 01:21:47 pm »
Tried but no luck. I even tried *0.0001

Ok, I found the problem. For now you can do:
double(value)/10000

HKJ,

Works like a charm, thanks.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #572 on: May 14, 2020, 01:31:14 pm »
Works like a charm, thanks.

From next release both methods will work.
 

Online HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3039
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #573 on: May 16, 2020, 03:23:37 pm »
V0.68 is up

It is mostly bug fixes, that includes the bugs discussed above and a some others.
I have added a indication to show when logging to disk.
And the newest version of the Keysight Bench multimeter definition is included.
 
The following users thanked this post: tubularnut, MikeLud

Offline tubularnut

  • Regular Contributor
  • *
  • Posts: 225
  • Country: gb
Re: Program that can log from many multimeters.
« Reply #574 on: May 16, 2020, 03:43:54 pm »
Not sure if this a bug, or intentional?

On the Load Devices screen, at the bottom where the list of devices is populated, the list is replicated twice, so after you reach Voltcraft, it begins again at Agilant.

It does this on both Mac and Windows 10.

However, if I just press return into the Filter box, the list reduces to just one complete set.

[Screenshot from Windows.]
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf