Hi all,
I have a problem with remote reading of very low power levels using PSA opt. 233 Measuring receiver. For levels below -100 dBm, IF BW = 10 Hz, Accuracy High, the reading takes tens (even hundreds) of seconds, thus I need a command which waits until the reading is finished and then I want to read the level using :READ:TRFL?. Which command(s) should go before? I can use *OPC and then reading *STB? in a loop until bit 5 of the register is set to 1, but which command should I watch for completion? Which operation is actually completed, when the level reading appears on the display?
:INIT:TRFL
:INIT:CONTinuous ON
*CLS; *ESE 1 // set event status register
:INIT:IMMediate // restarts measurement
*OPC
read *STB? until bit 5 is set to 1
The bit 5 of status register is 1 right after the first reading of *STB? (apparently :INIT:IMM is finished quickly), but still the analyzer acquires data and a green message with XX seconds to the end of reading blinks. Which command should precede *OPC that sets the status Operation complete bit to 1 first when the reading is finished and not earlier? I tried :MEAS:TRFL or :FETCH:TRFL, but both commands end with timeout (some operation is not yet completed and the level reading is not available). Not very elegant solution is to set a very long waiting time before :READ:TRFL? to avoid the timeout, but...
Thank you for any ideas, the debugging is a bit time consuming when each reading takes minutes
Martin
I have a problem with remote reading of very low power levels using PSA opt. 233 Measuring receiver. For levels below -100 dBm, IF BW = 10 Hz, Accuracy High, the reading takes tens (even hundreds) of seconds, thus I need a command which waits until the reading is finished and then I want to read the level using :READ:TRFL?. Which command(s) should go before? I can use *OPC and then reading *STB? in a loop until bit 5 of the register is set to 1, but which command should I watch for completion? Which operation is actually completed, when the level reading appears on the display?
:INIT:TRFL
:INIT:CONTinuous ON
*CLS; *ESE 1 // set event status register
:INIT:IMMediate // restarts measurement
*OPC
read *STB? until bit 5 is set to 1
The bit 5 of status register is 1 right after the first reading of *STB? (apparently :INIT:IMM is finished quickly), but still the analyzer acquires data and a green message with XX seconds to the end of reading blinks. Which command should precede *OPC that sets the status Operation complete bit to 1 first when the reading is finished and not earlier? I tried :MEAS:TRFL or :FETCH:TRFL, but both commands end with timeout (some operation is not yet completed and the level reading is not available). Not very elegant solution is to set a very long waiting time before :READ:TRFL? to avoid the timeout, but...
Thank you for any ideas, the debugging is a bit time consuming when each reading takes minutes
Martin
Why not turn off the continues measurement?
You want to be in control of when the measurements starts and ends.
Before starting the measurement read out what the measuring time will be.
Set a delay until half of your bus time out(Normally this would be 10 seconds)
in short programming:
set up measurement
readout the sweep time
trigger sweep.
Wait till sweeptime - 5 sec.
Send *opc
Read *STB?
debugging tip: set the rbw bigger so the measurement is a bit faster but not too fast to see your problem.