...
Description
This key contains the timing status
Source
General Timing WindowWindowKeys
Keys
Key name | Source | | Data size [byte] | Throughput [kbyte/s] | Fomat | Notes |
---|
TIMSTATEDATJDAT | 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 |
updated on each action on the General Timing Windowmodified 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 |
|
...
...
...
...
(*) "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";
}
|
|