Last updated: January 16, 2009
In this step you INITiate measurements, FETCh the results, and verify the results are valid.
The test set is capable of performing concurrent measurements. To start the measurement process you INITiate a set of concurrent measurements.
1190 OUTPUT Testset;"INIT:WBER;WTP;WWQ;WACL;WOBW;WSEM" 1200 Fetch_results! Go to a subroutine to handle the results
To retrieve measurement results as they complete, you must set up a loop using the
INIT:DONE?
query. Depending upon the output of the query, the program will either wait for a measurement to complete, FETCh the result of a completed measurement, or continue the program once all measurements are complete. Once a measurement result is FETChed, you should check its integrity indicator to verify that the result is valid.
1990 SUB Fetch_results 2000 COM /Address/ INTEGER Testset 2010 REPEAT 2020 OUTPUT Testset;"INIT:DONE?" 2030 ENTER Testset;Measdone$ 2040 SELECT Measdone$ 2050 CASE "WTP" 2060 OUTPUT Testset;"FETC:WTP:INT?;POW?" 2070 ENTER Testset;Integrity,Power 2080 IF Integrity=0 THEN 2090 Print_results(Measdone$,Power) 2100 ELSE 2110 Meas_error(Measdone$,Integrity) 2120 END IF 2130 CASE "WCP" 2140 OUTPUT Testset;"FETC:WCP:INT?;POW?" 2150 ENTER Testset;Integrity,Power 2160 IF Integrity=0 THEN 2170 Print_results(Measdone$,Power) 2180 ELSE 2190 Meas_error(Measdone$,Integrity) 2200 END IF 2210 CASE "WWQ" 2220 OUTPUT Testset;"FETC:WWQ?" 2230 ENTER Testset;Integrity,Evm,Ferr,Ooff,Perr,Merr 2240 IF Integrity=0 THEN 2250 Print_results(Measdone$,Evm,Ferr,Ooff,Perr,Merr) 2260 ELSE 2270 Meas_error(Measdone$,Integrity) 2280 END IF 2290 CASE "WACL" 2300 OUTPUT Testset;"FETC:WACL:INT?;AVER?" 2310 ENTER Testset;Integrity,Negfive,Posfive,Negten,Posten 2320 IF Integrity=0 THEN 2330 Print_results(Measdone$,Negfive,Posfive,Negten,Posten) 2340 ELSE 2350 Meas_error(Measdone$,Integrity) 2360 END IF 2370 CASE "WBER" 2380 OUTPUT Testset;"FETC:WBER?" 2390 ENTER Testset;Integrity,Ber 2400 IF Integrity=0 THEN 2410 Print_results(Measdone$,Ber) 2420 ELSE 2430 Meas_error(Measdone$,Integrity) 2440 END IF 2450 CASE "WOBW" 2460 OUTPUT Testset;"FETC:WOBW?" 2470 ENTER Testset;Integrity,Obw 2480 IF Integrity=0 THEN 2490 Print_results(Measdone$,Obw) 2500 ELSE 2510 Meas_error(Measdone$,Integrity) 2520 END IF 2530 CASE "WSEM" 2540 OUTPUT Testset;"FETC:WSEM?" 2550 ENTER Testset;Integrity,Overall,Pow,Range1,Range2,Range3,Range4 2560 IF Integrity=0 THEN 2570 Print_results(Measdone$,Overall) 2580 ELSE 2590 Meas_error(Measdone$,Integrity) 2600 END IF 2610 END SELECT 2620 UNTIL Measdone$="NONE" 2630 SUBEND