chore: copy missing ioc templates

This commit is contained in:
Benjamin Labrecque
2026-07-16 10:16:00 +02:00
parent 9baee1b8c5
commit 0771cffbfe
11 changed files with 1053 additions and 111 deletions
@@ -1,37 +0,0 @@
# This is a template for preaparing an IOC providing BD Service specific PVs
# Access Security Groups:
# DEFAULT - logt wenn EGU oder so veraendert werden
# LOG - logt wenn neuer wert geschrieben wird
# PROTECTED - verhindert versuchte caputs auf alle fields ausser VAL
# READONLY - verhindert versuchte caputs und aktiviert caputlog
# Input links can specify CA, CP, or CPP.
# If the input link specifies CA, it will be forced to be a Channel Access link.
# If the input link specifies CP, it will also be forced to be a Channel Access link; in addition, it will cause the record containing the input link to process whenever a monitor is posted, no matter what the record's SCAN field specifies.
# If the input link specifies CPP, it means the same thing as CP, except that the record will be processed if and only if the record itself specifies passive in its SCAN field. Output links can specify CA, which will simply cause them to be Channel Access links.
#
record(ao, "$(DEVICE):AO") {
field(DESC, "Analog Output Record (ao)")
field(ASG, "PROTECTED")
field(VAL, "0")
field(PINI, "YES")
}
record(bo, "$(DEVICE):BO") {
field(DESC, "Binary Output Record (bo)")
field(ASG, "READONLY")
field(ZSV, "MINOR")
field(OSV, "NO_ALARM")
field(VAL, "1")
field(PINI, "YES")
}
# TODO: ok?
record(bo, "$(DEVICE):CALLBACK") {
field(DESC, "Callback PV to listen to for changes")
field(ASG, "READONLY")
field(ZSV, "MINOR")
field(OSV, "NO_ALARM")
field(VAL, "1")
field(PINI, "YES")
}
@@ -0,0 +1,87 @@
record(ao, "$(sourcepoint)-ORBITBUMP:OFFSET-X") {
field(DESC, "Beamline x offset for $(beamline)")
field(ASG, "PROTECTED")
field(EGU, "um")
field(PREC, "0")
field(VAL, "$(X)")
field(PINI, "YES")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-X-TOTAL")
field(DRVH, "$(DRVH)")
field(DRVL, "$(DRVL)")
field(HOPR, "$(DRVH)")
field(LOPR, "$(DRVL)")
field(HIHI, "10")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-10")
field(LLSV, "MAJOR")
}
record(ao, "$(sourcepoint)-ORBITBUMP:OFFSET-XP") {
field(DESC, "Beamline xp offset for $(beamline)")
field(ASG, "PROTECTED")
field(EGU, "urad")
field(PREC, "0")
field(VAL, "$(XP)")
field(PINI, "YES")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-XP-TOTAL")
field(DRVH, "$(DRVH)")
field(DRVL, "$(DRVL)")
field(HOPR, "$(DRVH)")
field(LOPR, "$(DRVL)")
field(HIHI, "10")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-10")
field(LLSV, "MAJOR")
}
record(ao, "$(sourcepoint)-ORBITBUMP:OFFSET-Y") {
field(DESC, "Beamline y offset for $(beamline)")
field(ASG, "PROTECTED")
field(EGU, "um")
field(PREC, "0")
field(VAL, "$(Y)")
field(PINI, "YES")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-Y-TOTAL")
field(DRVH, "$(DRVH)")
field(DRVL, "$(DRVL)")
field(HOPR, "$(DRVH)")
field(LOPR, "$(DRVL)")
field(HIHI, "10")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-10")
field(LLSV, "MAJOR")
}
record(ao, "$(sourcepoint)-ORBITBUMP:OFFSET-YP") {
field(DESC, "Beamline yp offset for $(beamline)")
field(ASG, "PROTECTED")
field(EGU, "urad")
field(PREC, "0")
field(VAL, "$(YP)")
field(PINI, "YES")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-YP-TOTAL")
field(DRVH, "$(DRVH)")
field(DRVL, "$(DRVL)")
field(HOPR, "$(DRVH)")
field(LOPR, "$(DRVL)")
field(HIHI, "10")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-10")
field(LLSV, "MAJOR")
}
@@ -0,0 +1,504 @@
# # on request writing total bump values to machine bumps and zero beamline bumps
# record(bo, "AGEBD-ORBITBUMP:$(sourcepoint)-COPYOVER") {
# field(DESC, "Request zeroing of beamline offsets")
# field(ASG, "PROTECTED")
# field(PINI, "YES")
# field(ZNAM, "Idle")
# field(ONAM, "Trigger")
# field(OUT, "myDevice:addAndZero.PROC PP")
# }
# record(seq, "AGEBD-ORBITBUMP:$(sourcepoint)-COPYOVER") {
# field(DESC, "On trigger: add PV_A to PV_B, zero PV_A")
# field(DOL1, "myDevice:add_calc NPP NMS") # Value = A + B
# field(LNK1, "myDevice:PV_B PP MS") # Step 1: write sum to PV_B
# field(DLY1, "0.1") # Wait 0.1s before next step
# field(DOL2, "0") # Value = 0
# field(LNK2, "myDevice:PV_A PP MS") # Step 2: zero PV_A
# }
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-X") {
field(DESC, "Machine x offset for $(beamline)")
field(ASG, "PROTECTED")
field(EGU, "um")
field(PREC, "0")
field(VAL, "$(X)")
field(PINI, "YES")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-X-TOTAL")
field(DRVH, "$(HIX)")
field(DRVL, "$(LOX)")
field(HOPR, "$(HIX)")
field(LOPR, "$(LOX)")
field(HIHI, "100")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-100")
field(LLSV, "MAJOR")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-XP") {
field(DESC, "Machine xp offset for $(beamline)")
field(ASG, "PROTECTED")
field(EGU, "urad")
field(PREC, "0")
field(VAL, "$(XP)")
field(PINI, "YES")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-XP-TOTAL")
field(DRVH, "$(HIXP)")
field(DRVL, "$(LOXP)")
field(HOPR, "$(HIXP)")
field(LOPR, "$(LOXP)")
field(HIHI, "100")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-100")
field(LLSV, "MAJOR")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-Y") {
field(DESC, "Machine y offset for $(beamline)")
field(ASG, "PROTECTED")
field(EGU, "um")
field(PREC, "0")
field(VAL, "$(Y)")
field(PINI, "YES")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-Y-TOTAL")
field(DRVH, "$(HIY)")
field(DRVL, "$(LOY)")
field(HOPR, "$(HIY)")
field(LOPR, "$(LOY)")
field(HIHI, "100")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-100")
field(LLSV, "MAJOR")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-YP") {
field(DESC, "Machine yp offset for $(beamline)")
field(ASG, "PROTECTED")
field(EGU, "urad")
field(PREC, "0")
field(VAL, "$(YP)")
field(PINI, "YES")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-YP-TOTAL")
field(DRVH, "$(HIYP)")
field(DRVL, "$(LOYP)")
field(HOPR, "$(HIYP)")
field(LOPR, "$(LOYP)")
field(HIHI, "100")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-100")
field(LLSV, "MAJOR")
}
# Sum PVs for total desired orbit bumps, i.e., sum of machine and beamline
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-X-TOTAL") {
field(DESC, "Total x offset for $(beamline)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "0")
field(CALC, "A + B")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-X")
field(INPB, "$(sourcepoint)-ORBITBUMP:OFFSET-X")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAX-BPM1")
field(HIHI, "100")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-100")
field(LLSV, "MAJOR")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-XP-TOTAL") {
field(DESC, "Total xp offset for $(beamline)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "0")
field(CALC, "A + B")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-XP")
field(INPB, "$(sourcepoint)-ORBITBUMP:OFFSET-XP")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAX-BPM1")
field(HIHI, "100")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-100")
field(LLSV, "MAJOR")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-Y-TOTAL") {
field(DESC, "Total y offset for $(beamline)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "0")
field(CALC, "A + B")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-Y")
field(INPB, "$(sourcepoint)-ORBITBUMP:OFFSET-Y")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAY-BPM1")
field(HIHI, "100")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-100")
field(LLSV, "MAJOR")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-YP-TOTAL") {
field(DESC, "Total y offset for $(beamline)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "0")
field(CALC, "A + B")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-YP")
field(INPB, "$(sourcepoint)-ORBITBUMP:OFFSET-YP")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAY-BPM1")
field(HIHI, "100")
field(HHSV, "MAJOR")
field(HIGH, "1")
field(HSV, "MINOR")
field(LOW, "-1")
field(LSV, "MINOR")
field(LOLO, "-100")
field(LLSV, "MAJOR")
}
# BPM1, C1xx, C1xpx, C1yy, C1ypy,
record(stringout, "AGEBD-ORBITBUMP:$(sourcepoint)-BPM1") {
field(DESC, "$(BPM1)")
field(ASG, "READONLY")
field(VAL, "$(BPM1)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C1xx") {
field(DESC, "Coefficient dx2dx at $(BPM1)")
field(ASG, "READONLY")
field(EGU, "mm/mm")
field(PREC, "3")
field(VAL, "$(C1xx)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C1xpx") {
field(DESC, "Coefficient dxp2dx at $(BPM1)")
field(ASG, "READONLY")
field(EGU, "mm/mrad")
field(PREC, "3")
field(VAL, "$(C1xpx)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C1yy") {
field(DESC, "Coefficient dy2dy at $(BPM1)")
field(ASG, "READONLY")
field(EGU, "mm/mm")
field(PREC, "3")
field(VAL, "$(C1yy)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C1ypy") {
field(DESC, "Coefficient dyp2dy at $(BPM1)")
field(ASG, "READONLY")
field(EGU, "mm/mrad")
field(PREC, "3")
field(VAL, "$(C1ypy)")
field(PINI, "YES")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAX-BPM1") {
field(DESC, "Hor. change for $(BPM1)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "3")
field(CALC, "A*B/1000 + C*D/1000")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-C1xx")
field(INPB, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-X-TOTAL")
field(INPC, "AGEBD-ORBITBUMP:$(sourcepoint)-C1xpx")
field(INPD, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-XP-TOTAL")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(OUT, "$(BPM1):X-B-REF-OP")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAX-BPM2")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAY-BPM1") {
field(DESC, "Hor. change for $(BPM1)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "3")
field(CALC, "A*B/1000 + C*D/1000")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-C1yy")
field(INPB, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-Y-TOTAL")
field(INPC, "AGEBD-ORBITBUMP:$(sourcepoint)-C1ypy")
field(INPD, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-YP-TOTAL")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(OUT, "$(BPM1):Y-B-REF-OP")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAY-BPM2")
}
# BPM2, C2xx, C2xpx, C2yy, C2ypy,
record(stringout, "AGEBD-ORBITBUMP:$(sourcepoint)-BPM2") {
field(DESC, "$(BPM2)")
field(ASG, "READONLY")
field(VAL, "$(BPM2)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C2xx") {
field(DESC, "Coefficient dx2dx at $(BPM2)")
field(ASG, "READONLY")
field(EGU, "mm/mm")
field(PREC, "3")
field(VAL, "$(C2xx)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C2xpx") {
field(DESC, "Coefficient dxp2dx at $(BPM2)")
field(ASG, "READONLY")
field(EGU, "mm/mrad")
field(PREC, "3")
field(VAL, "$(C2xpx)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C2yy") {
field(DESC, "Coefficient dy2dy at $(BPM2)")
field(ASG, "READONLY")
field(EGU, "mm/mm")
field(PREC, "3")
field(VAL, "$(C2yy)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C2ypy") {
field(DESC, "Coefficient dyp2dy at $(BPM2)")
field(ASG, "READONLY")
field(EGU, "mm/mrad")
field(PREC, "3")
field(VAL, "$(C2ypy)")
field(PINI, "YES")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAX-BPM2") {
field(DESC, "Hor. change for $(BPM2)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "3")
field(CALC, "A*B/1000 + C*D/1000")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-C2xx")
field(INPB, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-X-TOTAL")
field(INPC, "AGEBD-ORBITBUMP:$(sourcepoint)-C2xpx")
field(INPD, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-XP-TOTAL")
field(INPE, "$(sourcepoint)-ORBITBUMP:OFFSET-X")
field(INPF, "$(sourcepoint)-ORBITBUMP:OFFSET-XP")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(OUT, "$(BPM2):X-B-REF-OP")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAX-BPM3")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAY-BPM2") {
field(DESC, "Hor. change for $(BPM2)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "3")
field(CALC, "A*B/1000 + C*D/1000")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-C2yy")
field(INPB, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-Y-TOTAL")
field(INPC, "AGEBD-ORBITBUMP:$(sourcepoint)-C2ypy")
field(INPD, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-YP-TOTAL")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(OUT, "$(BPM2):Y-B-REF-OP")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAY-BPM3")
}
# BPM3, C3xx, C3xpx, C3yy, C3ypy,
record(stringout, "AGEBD-ORBITBUMP:$(sourcepoint)-BPM3") {
field(DESC, "$(BPM3)")
field(VAL, "$(BPM3)")
field(ASG, "READONLY")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C3xx") {
field(DESC, "Coefficient dx2dx at $(BPM3)")
field(EGU, "mm/mm")
field(PREC, "3")
field(VAL, "$(C3xx)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C3xpx") {
field(DESC, "Coefficient dxp2dx at $(BPM3)")
field(EGU, "mm/mrad")
field(PREC, "3")
field(VAL, "$(C3xpx)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C3yy") {
field(DESC, "Coefficient dy2dy at $(BPM3)")
field(EGU, "mm/mm")
field(PREC, "3")
field(VAL, "$(C3yy)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C3ypy") {
field(DESC, "Coefficient dyp2dy at $(BPM3)")
field(EGU, "mm/mrad")
field(PREC, "3")
field(VAL, "$(C3ypy)")
field(PINI, "YES")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAX-BPM3") {
field(DESC, "Hor. change for $(BPM3)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "3")
field(CALC, "A*B/1000 + C*D/1000")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-C3xx")
field(INPB, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-X-TOTAL")
field(INPC, "AGEBD-ORBITBUMP:$(sourcepoint)-C3xpx")
field(INPD, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-XP-TOTAL")
field(INPE, "$(sourcepoint)-ORBITBUMP:OFFSET-X")
field(INPF, "$(sourcepoint)-ORBITBUMP:OFFSET-XP")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(OUT, "$(BPM3):X-B-REF-OP")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAX-BPM4")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAY-BPM3") {
field(DESC, "Hor. change for $(BPM3)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "3")
field(CALC, "A*B/1000 + C*D/1000")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-C3yy")
field(INPB, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-Y-TOTAL")
field(INPC, "AGEBD-ORBITBUMP:$(sourcepoint)-C3ypy")
field(INPD, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-YP-TOTAL")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(OUT, "$(BPM3):Y-B-REF-OP")
field(FLNK, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAY-BPM4")
}
# BPM4, C4xx, C4xpx, C4yy, C4ypy,
record(stringout, "AGEBD-ORBITBUMP:$(sourcepoint)-BPM4") {
field(DESC, "$(BPM4)")
field(ASG, "READONLY")
field(VAL, "$(BPM4)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C4xx") {
field(DESC, "Coefficient dx2dx at $(BPM4)")
field(ASG, "READONLY")
field(EGU, "mm/mm")
field(PREC, "3")
field(VAL, "$(C4xx)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C4xpx") {
field(DESC, "Coefficient dxp2dx at $(BPM4)")
field(ASG, "READONLY")
field(EGU, "mm/mrad")
field(PREC, "3")
field(VAL, "$(C4xpx)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C4yy") {
field(DESC, "Coefficient dy2dy at $(BPM4)")
field(ASG, "READONLY")
field(EGU, "mm/mm")
field(PREC, "3")
field(VAL, "$(C4yy)")
field(PINI, "YES")
}
record(ao, "AGEBD-ORBITBUMP:$(sourcepoint)-C4ypy") {
field(DESC, "Coefficient dyp2dy at $(BPM4)")
field(ASG, "READONLY")
field(EGU, "mm/mrad")
field(PREC, "3")
field(VAL, "$(C4ypy)")
field(PINI, "YES")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAX-BPM4") {
field(DESC, "Hor. change for $(BPM4)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "3")
field(CALC, "A*B/1000 + C*D/1000")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-C4xx")
field(INPB, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-X-TOTAL")
field(INPC, "AGEBD-ORBITBUMP:$(sourcepoint)-C4xpx")
field(INPD, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-XP-TOTAL")
field(INPE, "$(sourcepoint)-ORBITBUMP:OFFSET-X")
field(INPF, "$(sourcepoint)-ORBITBUMP:OFFSET-XP")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(OUT, "$(BPM4):X-B-REF-OP")
}
record(calcout, "AGEBD-ORBITBUMP:$(sourcepoint)-DELTAY-BPM4") {
field(DESC, "Hor. change for $(BPM4)")
field(ASG, "READONLY")
field(SCAN, "Passive")
field(PREC, "3")
field(CALC, "A*B/1000 + C*D/1000")
field(INPA, "AGEBD-ORBITBUMP:$(sourcepoint)-C4yy")
field(INPB, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-Y-TOTAL")
field(INPC, "AGEBD-ORBITBUMP:$(sourcepoint)-C4ypy")
field(INPD, "AGEBD-ORBITBUMP:$(sourcepoint)-OFFSET-YP-TOTAL")
field(OOPT, "On Change")
field(DOPT, "Use CALC")
field(OUT, "$(BPM4):Y-B-REF-OP")
}