simplifies motor disabling
Test And Build / Build (push) Successful in 4s

This commit is contained in:
2026-04-10 14:46:51 +02:00
parent 5b9f6e2165
commit 3487d0bb1a
+46 -43
View File
@@ -9,32 +9,11 @@ record(longout, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-INIT")
record(longout, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP")
{
field(DESC, "Move to new Beamstop")
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-RAW PP")
field(OMSL, "supervisory")
field(DESC, "Select new Beamstop")
field(DRVL, 1)
field(DRVH, 3)
field(PINI, "NO")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER-DELAY PP")
}
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(DLY0, 0.5)
field(SELM, "All")
field(PINI, "NO")
}
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(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):SET-BUSY.PROC PP")
}
# Reset status
@@ -58,6 +37,37 @@ record(bi, "$(INSTR)$(SPS_REGISTER_NAME):BUSY")
field(ONAM, "Busy")
}
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(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-OUT")
}
record(longout, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-OUT")
{
field(DESC, "Send new selection to SPS")
field(DOL, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP NPP")
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-RAW PP")
field(OMSL, "closed_loop")
field(DRVL, 1)
field(DRVH, 3)
field(PINI, "NO")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER-DELAY")
}
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):TRIGGER.PROC PP")
field(DLY0, 0.5)
field(SELM, "All")
field(PINI, "NO")
}
record(longout, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER")
{
field(DESC, "Internal Trigger")
@@ -81,8 +91,8 @@ record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):RETRY")
field(CALC, "A#B&&C#0&&D=0&&E=0?1:0")
field(DOPT, "Use CALC")
field(OOPT, "When Non-zero")
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER.PROC PP")
field(SCAN, "1 second")
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-OUT.PROC PP")
field(SCAN, "2 second")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):DECREASE-BUSY-TICK")
}
@@ -104,7 +114,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(DLY0, 0.5)
field(DLY0, 1)
field(SELM, "All")
}
@@ -178,33 +188,26 @@ 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-BSX")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSX")
}
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):SHOULD-BLOCK-BSX")
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSX")
{
field(DESC, "Whether to block bsx and bsy")
field(DESC, "Disable BSX during change")
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):STATUS NPP")
field(INPB, "$(BSX_MOT).DISA NPP")
field(CALC, "A=0?!B:B")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):SHOULD-BLOCK-BSY PP")
field(DOPT, "Use CALC")
field(OUT, "$(BSX_MOT).DISV PP")
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSY")
}
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):SHOULD-BLOCK-BSY")
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSY")
{
field(DESC, "Whether to block bsx and bsy")
field(DESC, "Disable BSY during change")
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):STATUS NPP")
field(INPB, "$(BSY_MOT).DISA NPP")
field(CALC, "A=0?!B:B")
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-BSX NPP")
field(LNK0, "$(BSX_MOT).DISV PP")
field(DOL1, "$(INSTR)$(SPS_REGISTER_NAME):SHOULD-BLOCK-BSY NPP")
field(LNK1, "$(BSY_MOT).DISV PP")
field(SELM, "All")
field(DOPT, "Use CALC")
field(OUT, "$(BSY_MOT).DISV PP")
}