Limit Lines and Limit Test R&S FSL
1300.2519.12 7.10 E-11
'––––––––– Definition of limit lines –––––––––––––––––––––––––––––––––––––––
CALL InstrWrite(analyzer,"CALC:LIM5:NAME 'TEST1'")
'Define name
CALL InstrWrite(analyzer,"CALC:LIM5:COMM 'Upper limit'")
'
Define comment
CALL InstrWrite(analyzer,"CALC:LIM5:TRAC 1")
'Assign trace
CALL InstrWrite(analyzer,"CALC:LIM5:CONT:DOM FREQ")
'Define x–axis range
CALL InstrWrite(analyzer,"CALC:LIM5:CONT:MODE ABS")
'Define x–axis scaling
CALL InstrWrite(analyzer,"CALC:LIM5:UNIT DB")
'Define y–axis unit
CALL InstrWrite(analyzer,"CALC:LIM5:UPP:MODE REL")
'Define y–axis scaling
'––––––––– Definition of data points and threshold –––––––––––––––––––––––––
xlimit$ = "CALC:LIM5:CONT 120MHZ,126MHZ,127MHZ,128MHZ,129MHZ,130MHz,136MHz"
CALL InstrWrite(analyzer, xlimit$) 'Set values for x–axis
CALL InstrWrite(analyzer,"CALC:LIM5:UPP –70,–40,–40,–20,–40,–40,–70")
'Set values for y–axis
CALL InstrWrite(analyzer,"CALC:LIM5:UPP:THR –75DBM")
'Set y threshold (only
'possible for relative
'y–axis)
'––––––––– Definition of margin or x /y offset–––––––––––––––––––––––––––––
'A margin or an x /y offset can be defined here.
'––––––––––– Activate and evaluate the limit line –––––––––––––
CALL InstrWrite(analyzer,"CALC:LIM5:UPP:STAT ON")
'Activate line 5
CALL InstrWrite(analyzer,"CALC:LIM5:STAT ON")
'Activate limit check
CALL InstrWrite(analyzer,"INIT;*WAI") 'Perform sweep with sync
CALL InstrWrite(analyzer,"CALC:LIM5:FAIL?")
'Query result of limit check
CALL InstrRead(analyzer, result$) 'Result: 1 (= FAIL)
'––––––––– Read out result –––––––––––––––––––––––––––––––––––––––––––––––––
Print "Limit Result Line 5: ";result$
'–––––– Evaluate limit line by means of status register –––––––
CALL InstrWrite(analyzer,"*CLS") 'Reset status register
'––––––––– Measure –––––––––––––––––––––––––––––––––––––––––––––––––––––––––
CALL InstrWrite(analyzer,"INIT;*OPC") 'Perform sweep with sync
CALL viEnableEvent(analyzer, VI_EVENT_SERVICE_REQ, VI_QUEUE, 0)
Status = viWaitOnEvent(analyzer, VI_EVENT_SERVICE_REQ, SRQWaitTimeout,
VI_NULL, VI_NULL)
IF (status = VI_SUCCESS) THEN CALL Srq 'If SRQ is recognized =>
'subroutine for evaluation