Differences between revisions 1 and 2
Revision 1 as of 2008-02-13 13:18:10
Size: 1735
Editor: dcesarsky
Comment:
Revision 2 as of 2008-02-13 14:19:09
Size: 4142
Editor: dcesarsky
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
DMC sequence pseudo code:
{{{
WAIT 1 ; have a defined start
LABEL 0 ; set Label to 0
LOOP P#1 ; main loop measurement
   LOOP P#2 ; grating loop up
      WAIT 1 ; sync. for grating
      MOVE_GRATING_RELATIVE P#3 ; increment grating position
      LABEL 3 ; first chopper pos.
      WAIT P#5 ; take P#5 ramps
      LOOP P#6 ; calibration loop
         WAIT 1 ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE P#7 ; chop to BB1
         LABEL 65 ; BB1
         WAIT P#9 ; take P#9 ramps
         WAIT 1 ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE P#8 ; chop to BB2
         LABEL 129 ; BB2
         WAIT P#9 ; take P#9 ramps
      END_LOOP ; calibration done
      MOVE_CHOPPER_ABSOLUTE P#11 ; chopper to default
   END_LOOP ; grating scan up done
   LOOP P#10 ; grating loop down
      WAIT 1 ; sync. for grating
      MOVE_GRATING_RELATIVE P#4 ; decrement grating position
      LABEL 19 ; first chopper pos.
      WAIT P#5 ; take P#5 ramps
      LOOP P#6 ; calibration loop
         WAIT 1 ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE P#7 ; chop to BB1
         LABEL 81 ; BB1
         WAIT P#9 ; take P#9 ramps
         WAIT 1 ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE P#8 ; chop to BB2
         LABEL 145 ; BB2
         WAIT P#9 ; take P#9 ramps
      END_LOOP ; calibration done
      MOVE_CHOPPER_ABSOLUTE P#11 ; chopper to default
   END_LOOP ; grating scan down done
END_LOOP ; main loop done
WAIT 1 ; complete last plateau
LABEL 0 ; reset LABEL to 0
}}}

DMC_grat_scan_nochop

DMC sequence pseudo code:

WAIT                              1     ; have a defined start
LABEL                             0     ; set Label to 0
LOOP                              P#1   ; main loop measurement
   LOOP                           P#2   ; grating loop up
      WAIT                        1     ; sync. for grating
      MOVE_GRATING_RELATIVE       P#3   ; increment grating position
      LABEL                       3     ; first chopper pos.
      WAIT                        P#5   ; take P#5 ramps
      LOOP                        P#6   ; calibration loop
         WAIT                     1     ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE    P#7   ; chop to BB1
         LABEL                    65    ; BB1
         WAIT                     P#9   ; take P#9 ramps
         WAIT                     1     ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE    P#8   ; chop to BB2
         LABEL                    129   ; BB2
         WAIT                     P#9   ; take P#9 ramps
      END_LOOP                          ; calibration done
      MOVE_CHOPPER_ABSOLUTE       P#11  ; chopper to default
   END_LOOP                             ; grating scan up done
   LOOP                           P#10  ; grating loop down
      WAIT                        1     ; sync. for grating
      MOVE_GRATING_RELATIVE       P#4   ; decrement grating position
      LABEL                       19    ; first chopper pos.
      WAIT                        P#5   ; take P#5 ramps
      LOOP                        P#6   ; calibration loop
         WAIT                     1     ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE    P#7   ; chop to BB1
         LABEL                    81    ; BB1
         WAIT                     P#9   ; take P#9 ramps
         WAIT                     1     ; sync. for chopper
         MOVE_CHOPPER_ABSOLUTE    P#8   ; chop to BB2
         LABEL                    145   ; BB2
         WAIT                     P#9   ; take P#9 ramps
      END_LOOP                          ; calibration done
      MOVE_CHOPPER_ABSOLUTE       P#11  ; chopper to default
   END_LOOP                             ; grating scan down done
END_LOOP                                ; main loop done
WAIT                              1     ; complete last plateau
LABEL                             0     ; reset LABEL to 0

The only role of PACS' DMC scripts is the computation of its duration, needed as input variable when starting the associated OBCP.

// Purpose      : Compute duration of DMC Sequence 13 : grating scan without
//                chopping
// Description  : For all internal details about DMC Seq 13, see PACS-ME-LI-005
//                and pseudo code here. Identical to "Grating line scan with
//                two or three position choping" but with out choping on source.
//                Meant mostly for ILT to allow for fast execution of
//                measurements on "absolute" flux sources.
// Comments     : 1. No single command is executed here, only the duration is
//                   computed here. Hence, not all parameters of the actual DMC
//                   Seq. are relevant here!
// Version      : 2.0
// History      : 1.0 05-Apr-2005 Creation by PR
//                2.0 06-Apr-2005 Completed by DAC with pseudo code and
//                                full duration computation.
//                2.1 25-apr-2005 DAC Arranged arguments in P#1,#2 order
//                                Renamed DMC_grat_scan_nochop as OBCP
//

Input variabke(s):

int[] procedure DMC_grat_scan_nochop {
    int nb_up_dn = 1;          // Seq P#1  Nb of sequences: up down up ...
    int nb_grat_steps_up = 10; // Seq P#2  Nb of grating up steps
    int nb_ramps_grat_pos = 2; // Seq P#5  Nb of ramps per grating position
    int nb_CS1_CS2 = 0;        // Seq P#6  Nb of cycles on CS, per grat position
    int nb_ramps_cs = 2;       // Seq P#9  Nb of ramps per plateau on the CS
    int nb_grat_steps_dn = 10; // Seq P#10 Nb of grating down steps
}{

Herschel: PACS/CUSPVscripts/DMC_grat_scan_nochop (last edited 2009-07-15 14:32:37 by localhost)