Skip to content
Snippets Groups Projects
Commit 2e2d019d authored by Gabriel Fedel's avatar Gabriel Fedel :speech_balloon:
Browse files

Improve the way to generate "Beam pulses"

Keep the Beam delay fixed as 0.5, and beam width will always
be 90% of RF pulse - Beam Delay.
This way we always have valid beam pulses and the beam end
never falls out at the same moment than RF end
parent 395a1bd6
No related branches found
No related tags found
No related merge requests found
Pipeline #83260 canceled
...@@ -74,9 +74,11 @@ record(ao, "$(P)$(R=)RFSyncWdt-SP") { ...@@ -74,9 +74,11 @@ record(ao, "$(P)$(R=)RFSyncWdt-SP") {
record(ao, "$(P)$(R=)BeamPulseDly-SP") { record(ao, "$(P)$(R=)BeamPulseDly-SP") {
field(DESC, "Beam Pulse Delay") field(DESC, "Beam Pulse Delay")
field(VAL, "300") field(VAL, "0.5")
field(EGU, "us") field(EGU, "us")
field(DISP, "1") # Locked for this IOC version field(DISP, "1") # Locked for this IOC version
field(PINI, "YES")
field(PREC, "3")
info(autosaveFields_pass0, "VAL") info(autosaveFields_pass0, "VAL")
} }
...@@ -85,26 +87,19 @@ record(ao, "$(P)$(R=)BeamPulseWdt-SP") { ...@@ -85,26 +87,19 @@ record(ao, "$(P)$(R=)BeamPulseWdt-SP") {
field(DESC, "Beam Pulse Width") field(DESC, "Beam Pulse Width")
field(VAL, "2700") field(VAL, "2700")
field(EGU, "us") field(EGU, "us")
field(PREC, "3")
info(autosaveFields_pass0, "VAL") info(autosaveFields_pass0, "VAL")
} }
## Set Beam Delay and Width ## Set Beam Width
# If rf pulse > beam pulse, set beam delay to 0.1 # Always set beam width as 90% of the Rf len - Beam Pulse Dly
record(calcout, "$(P)$(R=)#SetBeamDelay"){ # The Beam Pulse Wdt never can fall out at the same moment as
field(INPA, "$(P)$(R=)RFSyncWdt-SP CP") # RF End
field(INPB, "$(P)$(R=)BeamPulseWdt-SP")
field(CALC, "A-B>1?A-B:0.1")
field(OUT, "$(P)$(R=)BeamPulseDly-SP PP")
field(FLNK, "$(P)$(R=)#SetBeamWidth")
}
# Always set beam width as rf pulse - beam delay - 0.5
# So the beam end is always behind pulse end
record(calcout, "$(P)$(R=)#SetBeamWidth"){ record(calcout, "$(P)$(R=)#SetBeamWidth"){
field(INPA, "$(P)$(R=)BeamPulseDly-SP") field(INPA, "$(P)$(R=)RFSyncWdt-SP CP")
field(INPB, "$(P)$(R=)RFSyncWdt-SP") field(INPB, "$(P)$(R=)BeamPulseDly-SP PP")
field(CALC, "(B-A)-0.5") field(CALC, "(A-B)*0.9")
field(OUT, "$(P)$(R=)BeamPulseWdt-SP PP") field(OUT, "$(P)$(R=)BeamPulseWdt-SP PP")
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment