Data AcQuisition And Real-Time AnalysisScope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
Contact us about
Limits - Show Pass/Fail
This button is active by default, which means that the current Spectrum Limits Pass/Fail status is shown at the upper right of the trace area as a bright green box with a 'PASS' message, or a bright red box with a 'FAIL' message.
If you are applying Limits to a swept or stepped sweep frequency response, there will at any given time be only a single spectral peak, at the current test frequency. All other frequencies will certainly fall below the Min threshold and trigger a 'FAIL' message. Using the Spectrum Averager in Peak mode will eventually result in a complete spectrum with valid test results, but not until the end of the sweep.
You thus might want to toggle this option off to avoid spurious 'FAIL' messages until the end of the sweep (which is usually at the end of the average). This is best handled via Macros. (See below.)
LimitsShow=1 sets this option on, LimitsShow=0 turns it off, and LimitsShow=x toggles the current state.
You can use the WaitAvg Event Wait macro to wait until a frequency response average is completed before turning LimitsShow on.
Alternatively, you can keep LimitsShow off, and show a custom macro message box. The font and background can be any size or color, and the floating box can be positioned anywhere. To determine whether to show a Pass or Fail message, you can test the Limits macro variable in an IF statement, such as:
IF.Limits=0 @_ShowPass ELSE. @_ShowFail ENDIF.
The Limits variable will be non-zero if there has been a failure from either the Max or Min limit, on either selected channel. You can test these separately, because each condition sets a different bit field in the variable. Use an & after the equal sign to invoke the 'logical bit field test' form of the IF statement for this, with an h after that to specify a hexadecimal bit pattern. For example, to test if only the Left Max limit has been exceeded, you would use:
IF.Limits=&h00000001 @_LeftMaxFail ELSE. @_LeftMaxPass ENDIF.
The bit fields for each condition are:
Left Max = h00000001 Right Max = h00000100 Left Min = h00010000 Right Min = h01000000
Please note that this is hexadecimal notation, used to test binary states. The binary notation equivalent would require up to 32 digits. Hexadecimal works here because only values of 0 or 1 are used in each 8-bit Limit field.
Multiple bit fields may be tested simultaneously by combining them together. For example, IF.Limits=&h00010001 tests if either Left Max or Left Min has failed, while IF.Limits=&h01010000 tests if either Left or Right Min has failed.
You can force any Limits condition by directly setting the desired bit fields, such as Limits=h01010101 to set all fields at once. (Note that there is no & when setting, only for testing!) This allows for easy testing of macros during development.
Limits can also be used as a string variable for setting Notes, Labels, Fields, file names, or log text. For example, if the Left Max limit had been exceeded, then Notes="Result ="+Limits(h) would set Notes with the hexadecimal value:
Result = 00000001
Optionally, you could use Notes="Result ="+Limits(A) to use a 4-character LRlr alpha format. Here uppercase letters indicate that the Left or Right Max limit has been tripped, while lowercase letters indicate Min. If a limit has not been tripped, that position will hold a period. So for the above case with only Left Max, the result would be:
Result = L...
Questions? Comments? Contact us!We respond to ALL inquiries, typically within 24 hrs.
Over 30 Years of Innovative Instrumentation
© Copyright 2007 - 2017 by Interstellar Research
All rights reserved