When a measurement is started using INITiate commands, a new measurement cycle is started. If the selected measurement is currently in a measurement cycle, it is aborted. If a timeout is specified, the timeout period begins when a measurement is initiated.
The INITiate command is used to start measurements. INITiate commands allow multiple measurements to be started without waiting for other measurement processes to complete. For example, the following code starts the Transmit Power and PFER measurements, and then uses the INITiate:DONE? command in a loop to query the status of these measurements, see Measurement Event Synchronization .
When the measurements are done, the FETCh command is used to acquire the results, and the results are entered into variables in the controlling application. The program ends when the INITiate:DONE? command returns the string "NONE" indicating that all initiated measurements have gone through the measuring state see Measurement States .
Trigger arming for each measurement is controlled in the SETup subsystem. The choices are single or continuous. The best practice (during remote operation) is to use single measurement mode. This simplifies the tasks of starting concurrent measurements, then using the INIT subsystem commands to determine which measurements are ready to be FETChed.
10 OUTPUT 714;"SETup:ALL:CONTinuous:OFF" ! selects single measurement mode 20 OUTPUT 714;"INITiate:TXPower;PFERror" ! starts TX power/phase frequency error measurement 30 LOOP 40 OUTPUT 714;"INITiate:DONE?" !query to find out if any measurements are done 50 ENTER 714;Meas_complete 60 SELECT Meas_complete$$ 70 CASE "TXP" !tests for the string "TXP" which would indicate TX power measurement is done 80 OUTPUT 714;"FETCh:TXPower:POWer?" !Queries average TX power measurement 90 ENTER 714;Avg_tx_power 100 CASE "PFER"!tests for the string "PFER" which would indicate phase/frequency error measurement is done 110 OUTPUT 714;"FETCh:PFERror:RMS?" !Queries PFER maximum phase error measurement 120 ENTER 714;Max_phs_error 130 END SELECT 140 EXIT IF Meas_complete$ = "NONE" 150 END LOOP 160 END
INITiate commands should be sent only when the test set has finished performing any operations, such as handovers, that require settling. For example, the following code performs a handover to a new traffic channel using the :SEQ (sequential) appendage, then initiates a TX power measurement.
OUTPUT 714;"CALL:TCH:SEQ 65" !Hands over traffic channel to channel 65, waits for process !to complete before accepting next command. OUTPUT 714;"INITiate:TXPower" !Initiates TX power measurement