Download - Multiplexing in FESA
![Page 1: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/1.jpg)
Multiplexing in FESA
![Page 2: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/2.jpg)
Alexander Schwinn 2
Overview
• Part I - The concept
• Part II - Before execution
• Part III - Setting a new Voltage to the Hardware
• Part IV - Returning a new current to the client
• Part V - Exercise
![Page 3: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/3.jpg)
Alexander Schwinn 3
Part I – Our facility
VirtualAccelerator (USER)• VACC_00• VACC_01• VACC_02• …
Accelerator• SIS• ESR• UNI• SIS18• SIS100• …
Concrete EventSTART_CYCLE 32INJECT 35UNI_READY 38…
![Page 4: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/4.jpg)
Alexander Schwinn 4
Part II Timing Configuration
![Page 5: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/5.jpg)
Alexander Schwinn 5
Unilac
1
3
4
5
21
242
32
2
SIS18
SIS100
SIS300
Storage-Ring
10 111
113
112 10 11
111
311
217
117
217
417
3 Labels: sequence (cycle)
“sequence” or “cycle”
Part I – The Beam Production Chain
![Page 6: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/6.jpg)
Alexander Schwinn 666
Beam ISOLDE Beam ISOLDE
Beam PS
A ABB
super cycle
VirtualAccelerators (USERS)
Part I – The cycle-concept
• Different types of beams (cycles)Different types of beams (cycles)• Cycles are organized in a sequence called “super cycle”Cycles are organized in a sequence called “super cycle”• A super-cycle is repeated continously.A super-cycle is repeated continously.• Supercycles are accelerator-specific Supercycles are accelerator-specific
Accelerator = TL_BoosterPS_1
![Page 7: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/7.jpg)
Alexander Schwinn 777
Beam ISOLDE
Beam PS
A ABB
super cycle
Beam ISOLDE
Field: fdCurrentVirtualAccelera
torField-Value
A
0
B
0
B
0
A
0X Y Y Xt
Part I - The concept
![Page 8: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/8.jpg)
Alexander Schwinn 8
Part II Design Phase
![Page 9: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/9.jpg)
Alexander Schwinn 9
Part II Instantiation File (per FEC)
![Page 10: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/10.jpg)
Alexander Schwinn 10
Part III - Setting a New Value
Voltage
SetServerAction
Server
Data
Voltage0 VACC_00 - 0…4 VACC_04 – 0...15 VACC_15 – 0
SIS.USER.VACC_04; 47,11
Client-SetDev=kgb123
Prop=Voltage
Cycle=SIS.USER.VACC_04
Value=47,11
FESA-CLASS
Voltage0 VACC_00 - 0…4 VACC_04 – 47,11...15 VACC_15 – 0
![Page 11: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/11.jpg)
Alexander Schwinn 11
Part III usage of new voltage
FESA-Event RTAction
RealTime
TimingEvent
Timing Library
RAMP_STARTSIS.USER.VACC_04
4
47,11
Data
Voltage0 VACC_00 - 0…4 VACC_04 – 47,11...15 VACC_15 – 0
Hardware Device
anybus.set.val.chan123=47,11
done!
FESA-CLASS
![Page 12: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/12.jpg)
Alexander Schwinn 12
done!.current.is.08.15
anybus.read.val.chan123Hardware
Device
Part IV Notification of Server-side
FESA-Event RTAction
Subscriber1Dev=kgb123
Prop=status
Cycle=SIS.USER.VACC_04
RealTime
notify „current“
IPC or local queue
Data
Current0 VACC_00 - 0…4 VACC_04 – 08,15...15 VACC_15 – 0
Subscriber2Dev=kgb123
Prop=current
Cycle=
Subscription Tree Manager
match(event.cycle_name,subscriber.cycle_name)
We have subscribers?- for this property?- for this cycle?- for this device
Server
FESA-CLASS
4; 08,15
TimingEvent
Timing Library
FLATTOPSIS.USER.VACC_04
![Page 13: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/13.jpg)
Alexander Schwinn 13
StatusGetAction
Data
Current0 VACC_00 - 0…4 VACC_04 – 08,15...15 VACC_15 – 0
Subscriber1Dev=kgb123
Prop=status
Cycle=SIS.USER.VACC_04
Subscriber2Dev=kgb123
Prop=current
Cycle=
Subscription Tree Manager
match(event.cycle_name,subscriber.cycle_name)
executeSIS.USER.VACC_04
08,15
FESA-CLASS
Server
08,15
Part IV Notification of Clients
![Page 14: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/14.jpg)
Alexander Schwinn 141414
Part V Exercise
• ClassClass• Use your class from “08_advanced_RealTime”Use your class from “08_advanced_RealTime”• Add a multiplexed acquisition-field “voltageFlattop”Add a multiplexed acquisition-field “voltageFlattop”• Add a multiplexed acquisition-property “Voltage”Add a multiplexed acquisition-property “Voltage”
• Add a value-item voltageFlattop to refer to the fieldAdd a value-item voltageFlattop to refer to the field• Add “Voltage” as notified-property of your RTActionAdd “Voltage” as notified-property of your RTAction• Set the field “voltageFlattop” in the C++ codeSet the field “voltageFlattop” in the C++ code• Print the cycle-name of the current cycle in the C++ codePrint the cycle-name of the current cycle in the C++ code
• Instantiation FileInstantiation File• Use the event-configuration “TimingConfig” for both devicesUse the event-configuration “TimingConfig” for both devices• Update the following information in your device/configurationUpdate the following information in your device/configuration
• accelerator = SISaccelerator = SIS• timing-domain = SIStiming-domain = SIS• MainMuxCriterion = USERMainMuxCriterion = USER
• FESA-ExplorerFESA-Explorer• Subscribe to VACC_12, VACC_13, VACC_11 and ALLSubscribe to VACC_12, VACC_13, VACC_11 and ALL
On any problem: [email protected]
![Page 15: Multiplexing in FESA](https://reader035.vdocuments.mx/reader035/viewer/2022062409/56814dcc550346895dbb2444/html5/thumbnails/15.jpg)
Alexander Schwinn 15
Part V Exercise