mlcommons/power-dev

Ranging issues

Closed this issue · 6 comments

When having heavy step loads during ranging (particularly if near range edge), it takes meter few samples for meter to switch ranges (while in autorange).

Recommendation:
Use max range for ranging, accuracy is good enough (about 40mA in 20A range, per yokogawa calculator) to be able to make correct decision about wat is appropriate range to be used for measurement.
Alternative solution is to update checker to ignore ERROR: Current appears to be too high for set range and ERROR: Bad watts reading inf from WT330 during ranging phase

Just to bump here, my WT210 is having this issue now during almost every run when ranging. It is making it difficult to get passing logs.

not too surprising since wt210 as lower internal sampling rate, so it will take more time for to come to its senses in autorange mode.
are your run logs clean of errors?

Yep --
run1/spl.txt has good values/no errors for every poll

ranging/spl.txt has the occasional few lines of:

Time,03-18-2021 16:30:51.243,Watts,-1.000000,Volts,121.610000,Amps,-1.000000,PF,-1.000000,Mark,2021-03-18_16
-30-17_resnet50_Server_ranging

Whitelist:

ERROR: Current appears to be too high for set range
ERROR: Bad \w+ reading *+ from \w+

Grabbed the wrong error, here are the correct one that relates to Po-Hans whitelist above:

03-18-2021 19:56:18.516: ERROR: Bad watts reading 99100000000000005192630646116011999232.000000 from Yokogawa Buffer was 121.57E+00,9.91E+37,9.91E+37,9.91E+37,60.022E+00,9.91E+37,9.91E+37;10.000E+00;150.0E+00;0
+00;0

03-18-2021 19:56:18.517: ERROR: Bad amps reading 99100000000000005192630646116011999232.000000 from Yokogawa Buffer was 121.57E+00,9.91E+37,9.91E+37,9.91E+37,60.022E+00,9.91E+37,9.91E+37;10.000E+00;150.0E+00;0
+00;0

03-18-2021 19:56:18.517: ERROR: Bad pf reading 99100000000000005192630646116011999232.000000 from Yokogawa Buffer was 121.57E+00,9.91E+37,9.91E+37,9.91E+37,60.022E+00,9.91E+37,9.91E+37;10.000E+00;150.0E+00;0
+00;0

The decision is:

if WARNING then prints a WARNING and passes
endif
if ERROR is "uncertainty" and is in Ranging phase then ignore and passes,
else if ERROR is in Ranging phase then prints a WARNING and passes
else prints an ERROR and fails
endif

@ykurlaev FYI