Thursday, April 30, 2015

When is a number not a number?

All of our power supplies measure their own output voltage and output current. These measured values are available to you from the front panel and over the bus. They may be displayed as an average value or a digitized waveform. Some products have different measurement ranges you can set that affect the accuracy of the measurement and the noise floor of the measurement. Of course, there is a maximum value that each measurement range is capable of measuring. So what happens to the reading if the actual output voltage or current exceeds the maximum value of the measurement range? What does the front panel show and what value do you get if you read it back over the bus?

Below is an example where I set the current measurement range to the 1 mA range on a Keysight N6781A Source/Measure Unit. I then forced more than 1 mA to flow out of the output. As you can see, the front panel indicates “Overload”. If you perform a current measurement and read the result back to your PC, you will get 9.91E37. This is a value defined in the SCPI (Standard Commands for Programmable Instruments) standard to mean “not a number” (NAN). Since Keysight products follow the SCPI standard, we return this number when a range is overloaded. This numeric value for NAN was chosen so that it can be represented as a 32-bit floating point number and is larger than anything expected to occur while using instrumentation. In addition to an overload condition on an instrument, NAN can also be used as the result when, for example, you divide zero by zero or subtract infinity from infinity.
This predefined number is also used when waveform data exceeds the maximum rating of a particular range. The screenshot below on the left shows data that does not overload the range. But when the range is changed and part of the waveform exceeds the maximum rating of the range, that part of the waveform data shows up on the screen in red and when returned to a PC, the value is the NAN value of 9.91E37.

Two other unique numbers defined by the SCPI standard are used to represent positive infinity and negative infinity. For positive infinity (INF), 9.9E37 is used. For negative infinity (NINF), -9.9E37 is used. These values can be used to mean “maximum” for a setting. For example, our output voltage slew rate setting has a range of values to which it can be set. If you want to ensure the output voltage will change as quickly as possible, you want to set this to the maximum slew rate possible. Instead of looking up the specification for the maximum setting, you can use the appropriate SCPI command to set the slew rate to 9.9E37 and it will go to the maximum possible slew rate.

So when is a number not a number? When it is equal to 9.91E37!

No comments:

Post a Comment