You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Document status

DRAFT

Document owner


Designer


Developers


QA

Description

RF master generator class. 

Keys

RDS42002_DYN

Static fork


Dynamic Fork

Note: LabVIEW booleans take one byte.

Details

Il calcolo dettagliato degli offsets di tutte le variabili del Dynamic Fork è riportato nella tabella a fondo pagina.
Segue la descrizione del significato delle varie componenti dei 3 vettori ADCDynArray, DACDynArray e IODynArray, nel caso degli anelli e-, e+ e dell'accumulatore.

ADCDynArray

Ha 13 componenti per le chiavi RF degli anelli e 9 componenti per quella dell'accumulatore; ciascuna componente rappresenta un valore letto dagli ADC. Traducendo il chName da float (con un cast su una stringa di 8 caratteri), si ottiene, per ciascun canale:

e+, e-Accumulator

 0 - BeamPhs Beam Phase
 1 - PhaseWP Phase Working Point
 2 - AGCWP AGC Working Point
 3 - RFFrw RF Forward
 4 - RFLevel RF Level
 5 - RFRvrsm RF Rverse
 6 - PhsFdbk Phase Feedback
 7 - TnrWP Turner Working Point
 8 - ZMdFdbk Zero Mode Feedback
 9 - SlideFbk Slide Feedback
10- PhErrKly Phase Error Klystron
11- WpKlyFbk Working Point Feedback
12- Klystron

 0 - BeamPhs Beam Phase
 1 - PhaseWP Phase Working Point
 2 - AGCWP AGC Working Point
 3 - RFFrw RF Forward
 4 - RFLevel RF Level
 5 - RFRvrsm RF Rverse
 6 - PhsFdbk Phase Feedback
 7 - TnrWP Turner Working Point
 8 - ZMdFdbk Zero Mode Feedback

DACDynArray

Ha 19 componenti per le chiavi RF degli anelli e 10 componenti per quella dell'accumulatore; ciascuna componente rappresenta un valore impostato sul DAC. Traducendo il chName da float (con un cast su una stringa di 8 caratteri), si ottiene, per ciascun canale:

e+, e-Accumulator

0 - AbsPhsR Absolute Phase Reference
1 - PhsFdbkR Phase Feedback Reference
2 - RFLevRef RF Level Reference
3 - AGCGain AGC Gain
4 - PhsLpGn Phase Loop Gain
5 - PhsWndwP Window Cavity Center Phase
6 - PhsWndwM Window Cavity width Pahase
7 - RFLvRefA RF Level Refernce Amplitude
8 - TnrPhsSh Tuner Phase Shifter
9 - ZMdFdbkP Zero Mode feedback reference
10-Amplitud RF feedback Amplitude
11-phaseFbk RF feedback phase
12-SlopeFbk RF feedback Slope
13-ZeroFbk RF feedback Zero
14-ManPhKly Manual Phase Kystron
15-LowThKly Window Center Klystron Phase
16-HigThKly Window WidthKlystron Phase
17-RfFbkOn RF Feedback On
18-KlyFbkOn Klystron Feedback On

0 - AbsPhsR Absolute Phase Reference
1 - PhsFdbkR Phase Feedback Reference
2 - RFLevRef RF Level Reference
3 - AGCGain AGC Gain
4 - PhsLpGn Phase Loop Gain
5 - PhsWndwP Window Cavity Center Phase
6 - PhsWndwM Window Cavity width Pahase
7 - RFLvRefA RF Level Refernce Amplitude
8 - TnrPhsSh Tuner Phase Shifter
9 - ZMdFdbkP Zero Mode feedback reference

IODynArray

Ha 14 componenti sia per le chiavi RF degli anelli sia per quella dell'accumulatore. Traducendo il chName da float (con un cast su una stringa di 8 caratteri), si ottiene per ciascun canale:

e+, e-Accumulator

0 - TnrUpLSw Tuner Level Up
1 - TnrDwLSw  Tuner Level Down
2 - PLCAllar PLC Allarm
3 - FstIntlk Fast Interlok
4 - ZMdFdbkO Zero Mode Feedback ON/OFF
5 - TnrDw Tuner Down
6 - ResetPLC Reset PLC
7 - IMPCW IMP/CW
8 - TnrUp Tuner Up
9 - AGCOnOff Aplitude Loop On/Off
10-PhsFdbkO Cavity Phase ON/Off
11-TnrMnAt Tuner Manual automatic
12-RFOnOff RF On Off
13-ErInOnOf ErIn ON/OFF

0 - TnrUpLSw Tuner Level Up
1 - TnrDwLSw  Tuner Level Down
2 - PLCAllar PLC Allarm
3 - FstIntlk Fast Interlok
4 - ErInOnOf ErIn ON/OFF
5 - ZMdFdbkO Zero Mode Feedback ON/OFF
6 - TnrDw Tuner Down
7 - ResetPLC Reset PLC
8 - IMPCW IMP/CW
9 - TnrUp Tuner Up
10 - AGCOnOff Aplitude Loop On/Off
11-PhsFdbkO Cavity Phase ON/Off
12-TnrMnAt Tuner Manual automatic
13-RFOnOff RF On Off

Detailed description of the Dynamic Fork with calculated offsets

Offset
[byte]

LabVIEW
type

ValueComment

00
01
02
03
04
05
06
07

DBL

elementName


08
09
10
11

I32

status


12
13
14
15

I32

consoleName


16
17
18
19

U32

errorMask


20
21
22
23

U32

errorMaskADC


24
25
26
27

U32

errorMaskDAC


28
19
30
31

U32

errorMaskIO


32

TF

onLine


33

TF

byPass


34

TF

remote


35

TF

busy


Beginning of the array of clusters ADCDynArray (Cluster structure must be known)

36
37
38
39

U32

nr. of array components

arraySize

  • for e-, e+: arraySize = 13
  • for Acc.: arraySize = 9

40
41
42
43
44
45
46
47

DBL

ADCDynArray.chName[0]
(36 + 4) + ( i * 24 )
with i from 0 to ( arraySize - 1)

First component [i=0]
First DBL

48
49
50
51
52
53
54
55

DBL

ADCDynArray.readOut[0]
(36 + 4) + ( i * 24 ) + 8
with i from 0 to ( arraySize - 1)

First component [i=0]
Second DBL

56
57
58
59
60
61
62
63

DBL

ADCDynArray.readOutRaw[0]
(36 + 4) + ( i * 24 ) + 16
with i from 0 to ( arraySize - 1)

First component [i=0]
Third DBL

...

...

...

...

End of the array

Beginning of the array of clusters DACDynArray (Cluster structure must be known)

O1
O1+01
O1+02
O1+03

U32

nr. of array components

arraySize

  • for e-, e+: arraySize = 19
  • for Acc.: arraySize = 10

The "O1" offset depends on the number of components of the preceeding arrays

  • for e-, e+: O1 = (36+4)+(12*24)+16+8 = 352
  • for Acc.: O1= (36+4)+(8*24)+16+8 = 256

O1+04
O1+05
O1+06
O1+07
O1+08
O1+09
O1+10
O1+11

DBL

DACDynArray.chName[0]
(O1 + 4) + ( i * 24 )
with i from 0 to ( arraySize - 1)

First component [i=0]
First DBL

O1+12
O1+13
O1+14
O1+15
O1+16
O1+17
O1+18
O1+19

DBL

DACDynArray.setting[0]
(O1 + 4) + ( i * 24 ) + 8
with i from 0 to ( arraySize - 1)

First component [i=0]
Second DBL

O1+20
O1+21
O1+22
O1+23
O1+24
O1+25
O1+26
O1+27

DBL

DACDynArray.settingraw[0]
(O1 + 4) + ( i * 24 ) + 16
with i from 0 to ( arraySize - 1)

First component [i=0]
Third DBL

...

...

...

...

End of the array

Beginning of the array of clusters IODynArray (Cluster structure must be known)

O2
O2+01
O2+02
O2+03

U32

nr. of array components

arraySize

  • for e-, e+: arraySize = 14
  • for Acc.: arraySize = 14

The "O2" offset depends on the number of components of the preceeding arrays

  • for e-, e+: O2 = (352+4)+(18*24)+16+8 = 812
  • for Acc.: O2= (256+4)+(9*24)+16+8 = 500

O2+04
O2+05
O2+06
O2+07
O2+08
O2+09
O2+10
O2+11

DBL

IODynArray.chName[0]
(O2 + 4) + ( i * 9 )
with i from 0 to ( arraySize - 1)

First component [i=0]
DBL

O2+12

TF

IODynArray.value[0]
(O2 + 4) + ( i * 9 ) + 8
with i from 0 to ( arraySize - 1)

First component [i=0]
LabVIEW TF (booleans) take one byte.

...

...

...


End of the array

O3
O3+01
O3+02
O3+03
O3+04
O3+05
O3+06
O3+07

DBL

tunerPosition

The "O3" offset depends on the number of components of the preceeding arrays

  • for e-, e+: O3 = (812+4)+(13*9)+8+1 = 942
  • for Acc.: O3= (500+4)+(13*9)+8+1  = 630

Details

  • No labels