AnsweredAssumed Answered

Problem to drive a full band sweep

Question asked by hlodwig on Aug 27, 2012
Latest reply on Oct 22, 2012 by mkelly
Hello,

I have a difficulty driving the equipement for a wide sweep.

I use a 8164B measurement system with a 81600B opt 201 TLS in slot 0 and a 81636B powermeter in slot 1.

In order to sweep on the 81600B opt 201 full band, you told that it is necessary to cut the sweep in three sections; 1437 - 1475 nm ; 1475 -  1620 nm - 1620 - 1640 nm.

According to this conditions, I try to drive the equipment with the following commands :

Step 1 : Commands sent at the beginning of procedure :

*RST
SOURCE0:WAVELENGTH:CORRECTION:AUTOCALIB 0
TRIGGER:CONFIGURATION LOOP
SOURCE0:WAVELENGTH:SWEEP:MODE CONTINUOUS
SOURCE0:POWER:STATE 1
OUTPUT0:STATE 1
TRIGGER0:OUTPUT STF
TRIGGER0:INPUT SWS
SOURCE0:POWER:AM:STATE OFF
SOURCE0:WAVELENGTH:SWEEP:CYCLE 1
SENSE0:FUNCTION:STATE LOGGING,STOP

Step 2 : Commands sent before every sweep :

OUTPUT0:PATH HIGHPOWER
SOURCE0:WAVELENGTH:SWEEP:SPEED 40NM/S
SOURCE0:WAVELENGTH:SWEEP:STEP 10PM
INITIATE1:CONTINUOUS 0
TRIGGER1:OUTPUT DISABLED
TRIGGER1:INPUT SMEASURE
SENSE1:CHANNEL1:POWER:UNIT 0
SENSE1:POWER:ATIME 0.00025S
SENSE1:POWER:RANGE:AUTO 0
SENSE1:CHANNEL1:POWER:RANGE 0DBM
ROUTE2 A,1

Step 3 : Commands sent before each section of a cutted sweep :

SOURCE0:WAVELENGTH:SWEEP:START 1459NM
SOURCE0:WAVELENGTH:SWEEP:STOP 1639NM
SOURCE0:WAVELENGTH:SWEEP:EXP?   //   Result => 18000
SENSE1:FUNCTION:PARAMETER:LOGGING 18000,0.00025S
SOURCE0:WAVELENGTH:SWEEP START

Step 4 : Commands sent to execute sweep of section :

pause 3 seconds
SENSE1:FUNCTION:STATE LOGGING,START
pause 1 second
TRIGGER 1
SOURCE0:WAVELENGTH:SWEEP:FLAG?

When result >= 2 :
SENSE1:CHANNEL1:FUNCTION:RESULT:BLOC? 0 ,18000
SENSE1:FUNCTION:STATE LOGGING,STOP
pause 3 seconds

And after that, going to the step 3 for the next section. When all sections are scanned, a new sweep is done (step 2).

That works, but the problem is that take a long time. As you can see, I have to force the program to takes pauses in the procedure for every section, else there is a problem with the flag. If the pauses are not respected, the flag starts at 0, increments to 1 and never increments again and the program waits infinitely.

Is there something wrong on the procedure ? Or is this a physical constraint I can't avoid ?

Thank you in advance.
Best regards.
Hlodwig  

Outcomes