disables the bsx and bsy motors when the beamstop isn't in an okay state
This commit is contained in:
+22
-4
@@ -22,7 +22,7 @@ record(seq, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER-DELAY")
|
||||
{
|
||||
field(DESC, "Delays Internal Trigger as SPS too slow")
|
||||
field(DOL0, 1)
|
||||
field(LNK0, "$(INSTR)$(SPS_REGISTER_NAME):SET-BUSY.PROC PP")
|
||||
field(LNK0, "$(INSTR)$(SPS_REGISTER_NAME):SET-BUSY.PROC PP")
|
||||
field(DLY0, 0.5)
|
||||
field(SELM, "All")
|
||||
field(PINI, "NO")
|
||||
@@ -32,8 +32,8 @@ record(longout, "$(INSTR)$(SPS_REGISTER_NAME):SET-BUSY")
|
||||
{
|
||||
field(DESC, "Trigger Internal Busy Status")
|
||||
# This determines the number of max retry ticks
|
||||
field(VAL, 5)
|
||||
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):BUSY PP")
|
||||
field(VAL, 5)
|
||||
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):BUSY PP")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER")
|
||||
}
|
||||
|
||||
@@ -103,7 +103,7 @@ record(seq, "$(INSTR)$(SPS_REGISTER_NAME):DELAY-RETRY-ERROR")
|
||||
{
|
||||
field(DESC, "Delays checking if retry error occurred")
|
||||
field(DOL0, 1)
|
||||
field(LNK0, "$(INSTR)$(SPS_REGISTER_NAME):RETRY-ERROR.PROC PP")
|
||||
field(LNK0, "$(INSTR)$(SPS_REGISTER_NAME):RETRY-ERROR.PROC PP")
|
||||
field(DLY0, 0.5)
|
||||
field(SELM, "All")
|
||||
}
|
||||
@@ -176,5 +176,23 @@ record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):SET-READY")
|
||||
field(DOPT, "Use OCAL")
|
||||
field(OCAL, "0")
|
||||
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):BUSY PP")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):SHOULD-BLOCK-MOTORS")
|
||||
}
|
||||
|
||||
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):SHOULD-BLOCK-MOTORS")
|
||||
{
|
||||
field(DESC, "Whether to block bsx and bsy")
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):STATUS NPP")
|
||||
field(CALC, "A=0?0:1")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-MOTOR-BLOCK PP")
|
||||
}
|
||||
|
||||
record(seq, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-MOTOR-BLOCK")
|
||||
{
|
||||
field(DESC, "Block moving bsx and bsy")
|
||||
field(DOL0, "$(INSTR)$(SPS_REGISTER_NAME):SHOULD-BLOCK-MOTORS NPP")
|
||||
field(LNK0, "$(BSX_MOT).DISV PP")
|
||||
field(DOL1, "$(INSTR)$(SPS_REGISTER_NAME):SHOULD-BLOCK-MOTORS NPP")
|
||||
field(LNK1, "$(BSY_MOT).DISV PP")
|
||||
field(SELM, "All")
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
# # out IO Interrupt Delay (if 0 then only reacts on a change)
|
||||
# )
|
||||
|
||||
# Expects as an argument, the PV's for the motors bsx and bsy.
|
||||
|
||||
epicsEnvSet("SPS_REGISTER_NAME", "SPS-BEAMSTOP")
|
||||
epicsEnvSet("SPS_FETCH_SIZE", "40")
|
||||
epicsEnvSet("SPS_WRITE_SIZE", "2")
|
||||
@@ -22,4 +24,4 @@ dbLoadRecords("$(sinqSPS_DB)/sps_status.db", "INSTR=$(INSTR), SPS_REGISTER_NAME=
|
||||
dbLoadTemplate("$(sinqSPS_DB)/sans_llb_beamstop.substitutions", "INSTR=$(INSTR), SPS_REGISTER_NAME=$(SPS_REGISTER_NAME), STATUS_FLNK=$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS")
|
||||
|
||||
# Additional Mapping PVs
|
||||
dbLoadRecords("$(sinqSPS_DB)/sans_llb_beamstop.db", "INSTR=$(INSTR), SPS_REGISTER_NAME=$(SPS_REGISTER_NAME)")
|
||||
dbLoadRecords("$(sinqSPS_DB)/sans_llb_beamstop.db", "INSTR=$(INSTR), SPS_REGISTER_NAME=$(SPS_REGISTER_NAME), BSX_MOT=$(BSX_MOT), BSY_MOT=$(BSY_MOT)")
|
||||
|
||||
Reference in New Issue
Block a user