@@ -56,7 +56,7 @@ record(longout, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-OUT")
|
||||
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(DRVL, 0)
|
||||
field(DRVH, 3)
|
||||
field(PINI, "NO")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER-DELAY")
|
||||
@@ -87,17 +87,38 @@ record(longout, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER")
|
||||
#
|
||||
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):RETRY")
|
||||
{
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP")
|
||||
field(INPB, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP_RBV")
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP NPP")
|
||||
field(INPB, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP_RBV NPP")
|
||||
field(INPC, "$(INSTR)$(SPS_REGISTER_NAME):BUSY")
|
||||
field(INPD, "$(INSTR)$(SPS_REGISTER_NAME):MOVES")
|
||||
field(INPE, "$(INSTR)$(SPS_REGISTER_NAME):STATUS")
|
||||
field(CALC, "A#B&&C#0&&D=0&&E=0?1:0")
|
||||
# Can't trust the SPS
|
||||
field(INPD, "$(BS_MCU):BS:TARGET_RANGE NPP")
|
||||
field(CALC, "A#B&&C#0&&D=0?1:0")
|
||||
# field(INPC, "$(INSTR)$(SPS_REGISTER_NAME):BUSY")
|
||||
# field(INPD, "$(INSTR)$(SPS_REGISTER_NAME):MOVES")
|
||||
# field(INPE, "$(INSTR)$(SPS_REGISTER_NAME):STATUS")
|
||||
# field(INPF, "$(INSTR)$(SPS_REGISTER_NAME):IN-POSITION NPP")
|
||||
# field(CALC, "A#B&&C#0&&D=0&&F=1&&E=0?1:0")
|
||||
field(DOPT, "Use CALC")
|
||||
field(OOPT, "When Non-zero")
|
||||
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-OUT.PROC PP")
|
||||
field(SCAN, "2 second")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):DECREASE-BUSY-TICK")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):SPS-CHANGING")
|
||||
}
|
||||
|
||||
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):SPS-CHANGING")
|
||||
{
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):MOVES NPP")
|
||||
field(INPB, "$(INSTR)$(SPS_REGISTER_NAME):IN-POSITION NPP")
|
||||
field(CALC, "A=1||B=0")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):MCU-CHANGING")
|
||||
}
|
||||
|
||||
# Can't trust the SPS
|
||||
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):MCU-CHANGING")
|
||||
{
|
||||
field(INPA, "$(BS_MCU):BS:TARGET_RANGE NPP")
|
||||
field(CALC, "A#0")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):DECREASE-BUSY-TICK")
|
||||
}
|
||||
|
||||
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):DECREASE-BUSY-TICK")
|
||||
@@ -122,24 +143,22 @@ record(seq, "$(INSTR)$(SPS_REGISTER_NAME):DELAY-RETRY-ERROR")
|
||||
field(SELM, "All")
|
||||
}
|
||||
|
||||
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):RETRY-ERROR")
|
||||
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):RETRY-ERROR")
|
||||
{
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP")
|
||||
field(INPB, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP_RBV")
|
||||
field(INPC, "$(INSTR)$(SPS_REGISTER_NAME):BUSY")
|
||||
field(INPD, "$(INSTR)$(SPS_REGISTER_NAME):MOVES")
|
||||
field(INPE, "$(INSTR)$(SPS_REGISTER_NAME):IN-POSITION NPP")
|
||||
field(CALC, "A#B&&C=0&&D=0&&E=1?1:0")
|
||||
field(OOPT, "When Non-zero")
|
||||
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS PP")
|
||||
field(INPD, "$(INSTR)$(SPS_REGISTER_NAME):SPS-CHANGING NPP")
|
||||
field(CALC, "A#B&&C=0&&D=0?1:0")
|
||||
#field(OOPT, "When Non-zero")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS")
|
||||
}
|
||||
|
||||
record(calc, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS")
|
||||
{
|
||||
field(DESC, "Maps Status Variables to singular status")
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):SERVICE-MODE NPP")
|
||||
field(INPB, "$(INSTR)$(SPS_REGISTER_NAME):IN-POSITION NPP")
|
||||
field(INPC, "$(INSTR)$(SPS_REGISTER_NAME):MOVES NPP")
|
||||
field(INPB, "$(INSTR)$(SPS_REGISTER_NAME):SPS-CHANGING NPP")
|
||||
field(INPD, "$(INSTR)$(SPS_REGISTER_NAME):ERROR NPP")
|
||||
field(INPE, "$(INSTR)$(SPS_REGISTER_NAME):EXECUTE-POSSIBLE NPP")
|
||||
field(INPF, "$(INSTR)$(SPS_REGISTER_NAME):ConnStatusFetch NPP")
|
||||
@@ -147,10 +166,33 @@ record(calc, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS")
|
||||
field(INPH, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP NPP")
|
||||
field(INPI, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP_RBV NPP")
|
||||
field(INPK, "$(INSTR)$(SPS_REGISTER_NAME):RETRY-ERROR NPP")
|
||||
field(CALC, "(F=0||G=0||D=1||K=1)?3:(A=1)?2:(B=0||C=1||H#I)?1:0")
|
||||
field(CALC, "(F=0||G=0||D=1||K=1)?3:(A=1)?2:(B=1||H#I)?1:0")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSX")
|
||||
}
|
||||
|
||||
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSX")
|
||||
{
|
||||
field(DESC, "Disable BSX during change")
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):STATUS NPP")
|
||||
field(INPB, "$(BS_MCU):bsx.DISA NPP")
|
||||
field(CALC, "A=0?!B:B")
|
||||
field(DOPT, "Use CALC")
|
||||
field(OUT, "$(BS_MCU):bsx.DISV PP")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSY")
|
||||
}
|
||||
|
||||
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSY")
|
||||
{
|
||||
field(DESC, "Disable BSY during change")
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):STATUS NPP")
|
||||
field(INPB, "$(BS_MCU):bsy.DISA NPP")
|
||||
field(CALC, "A=0?!B:B")
|
||||
field(DOPT, "Use CALC")
|
||||
field(OUT, "$(BS_MCU):bsy.DISV PP")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):STATUS PP")
|
||||
}
|
||||
|
||||
|
||||
record(mbbi, "$(INSTR)$(SPS_REGISTER_NAME):STATUS")
|
||||
{
|
||||
field(DESC, "Status of Shutter")
|
||||
@@ -186,35 +228,13 @@ record(scalcout, "$(INSTR)$(SPS_REGISTER_NAME):STATUS-Msg")
|
||||
|
||||
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):SET-READY")
|
||||
{
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):MOVES")
|
||||
field(INPB, "$(INSTR)$(SPS_REGISTER_NAME):BUSY")
|
||||
field(CALC, "B?A:0")
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):BUSY")
|
||||
field(INPB, "$(INSTR)$(SPS_REGISTER_NAME):MCU-CHANGING NPP")
|
||||
field(CALC, "A?B:0")
|
||||
field(OOPT, "Transition To Non-zero")
|
||||
field(DOPT, "Use OCAL")
|
||||
field(OCAL, "0")
|
||||
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):BUSY PP")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSX")
|
||||
}
|
||||
|
||||
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSX")
|
||||
{
|
||||
field(DESC, "Disable BSX during change")
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):STATUS NPP")
|
||||
field(INPB, "$(BS_MCU):bsx.DISA NPP")
|
||||
field(CALC, "A=0?!B:B")
|
||||
field(DOPT, "Use CALC")
|
||||
field(OUT, "$(BS_MCU):bsx.DISV PP")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSY")
|
||||
}
|
||||
|
||||
record(calcout, "$(INSTR)$(SPS_REGISTER_NAME):BLOCK-BSY")
|
||||
{
|
||||
field(DESC, "Disable BSY during change")
|
||||
field(INPA, "$(INSTR)$(SPS_REGISTER_NAME):STATUS NPP")
|
||||
field(INPB, "$(BS_MCU):bsy.DISA NPP")
|
||||
field(CALC, "A=0?!B:B")
|
||||
field(DOPT, "Use CALC")
|
||||
field(OUT, "$(BS_MCU):bsy.DISV PP")
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
||||
Reference in New Issue
Block a user