...
Description
This key contains the timing status
Source
General Timing WindowWindowKeys
Keys
Key name | Source | | Data size [byte] | Throughput [kbyte/s] | Fomat | Notes |
---|
DAFNESTATE_JDAT | General Timing Window: it fetches from the DEVIL387 the GTIMDyn global and combines some of its data with information obtained from the Timing Status Word register. The result (GTIMStatusData) is translated as a Json document and written to Memcached on: - "Apply Sequence" command; - "BTF RUN" command.
| ~0 | ~250 | ~0 | The key content is a Json document with the following format. { "bunch_seq_1_32":0, "bunch_seq_33_64":0, "bunch_seq_65_96":0, "bunch_seq_97_120":0, "accumulator_pulses":0, "linac_freq":0, "extraction_freq":0.0, "equidistant":0, "mode":0, "execution":0, "standby_state":0, "run":0 }
Values for the various fiedls are as consistent as possible with the "Timing Status Word" corresponding bitfields. In some cases the representation is modified in order to make it more intuitive (e.g. mode: -1=electrons, 1=positrons) or even directly usable (e.g. linac_freq: 25 Hz, 50 Hz). In other cases (execution, stand_by_state) the value is equal to that of the corresponding bitfield in the Timing Status Word register (see table below). - bunch_seq_1_32, _33_64, _65_96: number in the range (0-4294967295)
- bunch_seq_97-120: number in the range (0-16777215)
- "accumulator_pulses": integer number
- linac_freq: 25.0, 50.0 [Hz] floating point
- extraction_freq: 0.2, 0.5, 1.0, 2.0 [Hz] floating point
- equidistant: 0=contiguous, 1=equidistant
- mode: -1=electrons, 1=positrons
- execution: 1, 2, 4, 8, 16 (see table below)
- standby_state: 1, 2, 4 (see table below)
- run: 0=standby ,1=run
| The Json key is worked out by a SubVI of the General Timing window: /u2/dcs/source_solaris/0_classes/TIM/console/timing_2/General_Timing_3.3.3.vi - build 20230125-1145. The SubVI is: Image Added/u2/dcs/source_solaris/0_classes/TIM/console/timing_2/TimingStatusDecode.vi (There is also another version named "TimingStatusDecode2.vi" that represents the DAFNE fill pattern as a unique sring of 120 "0" or "1" characters). The key is updated any time a user issues "Apply Sequence"or "BTF RUN" from the General Timing window. |
Total throughput
...
Excerpt |
---|
Timing Status Word registerbit [0-31] | Variable | bit values | corresponding value | bit values | corresponding value | bit values | corresponding value | bit values | corresponding value | bit values | corresponding value |
---|
0 | LINAC freq. [Hz] | 1 | 25 | 0 | 50 |
|
|
|
|
|
| 1 | 0 | 1 |
|
|
|
|
|
| 2 | extraction freq. [Hz] | 1 | 0.2 | 0 | 0.5 | 0 | 1 | 0 | 2 |
|
| 3 | 0 | 1 | 0 | 0 |
|
| 4 | 0 | 0 | 1 | 0 |
|
| 5 | 0 | 0 | 0 | 1 |
|
| 6 | contiguous/equidistant | 0 | contiguous | 1 | equidistant |
|
|
|
|
|
| 7 | mode -/+ | 0 | e- | 1 | e+ |
|
|
|
|
|
| 8 | execution |
|
...
1 | Single cycle first bunch | 0 | Single cycle same bunch | 0 | Single cycle next bunch | 0 | Single sequence | 0 | Go forever | 9 | 0 | 1 | 0 | 0 |
|
...
...
...
...
...
1 | 13 | standby state (*) | 1 | All Off LINAC standby (Non spara niente?) | 0 | Spectrometer only 1Hz (spara 1Hz allo spettrometro) | 0 | Disable gun (disable gun e poi?) |
|
|
|
| 14 | 0 | 1 | 0 |
|
|
|
| 15 | 0 | 0 | 1 |
|
|
|
| 16 | run/standby | 1 | run | 0 | standby |
|
|
|
|
|
| 17 | 0 | 1 |
|
|
|
|
|
| 18...31 |
|
|
|
|
|
|
|
|
|
|
|
(*) "standby state" is the condition which is reached when a "standby" command is issued DAFNE STATE | Linac Freq | extraction freq | contiguous/equidistant | mode -/+ | execution | standby state (*) | run |
---|
|
...
/standby | DESCRIPTION | EXTERNAL INPUTS | Antonio's comment
|
---|
STDBY(0) |
|
|
|
|
| 1?? |
| No beam ? Global off? |
|
| E- INJECT (1) | >0 | >0 | * | 0 | Go forever(8)/ Single sequence(16) | 0?? (codifica esistente?) | 1 | I | Dafne KCK ON Accumulator | Se stdby =0 non esiste questo stato non ha un'unica soluzione | E+ INJECT (2) | >0 | >0 | * | 1 | Go forever(8)/ Single sequence(16) | 0?? (codifica esistente?) | 1 | I | Dafne KCK ON | Se stdby =0 non esiste questo stato non ha un'unica soluzione | E- (3) STORED | * | * | * | * | * | * | * | ONLY Electrons in dafne | I ele >0 I pos =0 |
| E+ (4) STORED | * | * | * | * | * | * | * | ONLY Positrons in dafne | I pos >0 I ele =0 |
| FILLED(5) | * | * | * | * | * | * | * | Nell'assunzione che significhi fascio che non collide | I pos >0 && ele > 0 & Lum=0 |
| COLLIDING(6) | * | * | * | * | * | * | * |
| pos >0 && ele > 0 & Lum>0 |
| BTF DELIVERING |
|
|
|
|
|
|
|
|
|
| BTF DELIVERING & COLLIDING |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code Block |
---|
| [10:10 AM] Alessandro D'Uffizi
switch (status)
{
case 0: return "DAFNE: STDBY";
case 1: return "DAFNE: E- INJECT";
case 2: return "DAFNE: E+ INJECT";
case 3: return "DAFNE: E- STORED";
case 4: return "DAFNE: E+ STORED";
case 5: return "DAFNE: FILLED";
case 6: return "DAFNE: COLLIDING";
case 7: return "DAFNE: BTF DELIVERING";
case 8: return "DAFNE: BTF DELIVERING & COLLIDING";
default: return "DAFNE: UNKNOWN";
}
|
|
...