Step 5: INITiate and FETCh Measurements

Step 5: INITiate and FETCh Measurements

Last updated: January 16, 2009

In this step you INITiate measurements, FETCh the results, and verify the results are valid.

INITiate a Set of Concurrent Measurements

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

FETCh Measurement 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