Clear control bits before setting selected to 1 and inform user if connection to SPS is lost #1
@ -6,13 +6,23 @@ record(bo, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER")
|
|||||||
field(VAL, 0)
|
field(VAL, 0)
|
||||||
field(ZNAM, "Closed")
|
field(ZNAM, "Closed")
|
||||||
field(ONAM, "Open")
|
field(ONAM, "Open")
|
||||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER-CONTROL PP")
|
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):CLEAR-CONTROL PP")
|
||||||
}
|
}
|
||||||
|
|
||||||
# The Exposed SPS Interface has an open register and a close register. You need
|
# The Exposed SPS Interface has an open register and a close register. You need
|
||||||
# to write 1 to the corresponding register to perform said action. This, in
|
# to write 1 to the corresponding register to perform said action and make sure
|
||||||
# combination with "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER", maps the binay 0/1
|
# that the other bit is set back to 0. These two records, in combination with
|
||||||
# to writing a 1 to the required register.
|
# "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER", first clear both control bits and
|
||||||
|
# then maps the binay 0/1 to writing a 1 to the required register.
|
||||||
|
record(dfanout, "$(INSTR)$(SPS_REGISTER_NAME):CLEAR-CONTROL")
|
||||||
|
{
|
||||||
|
field(DOL, 0)
|
||||||
|
field(OUTA, "$(INSTR)$(SPS_REGISTER_NAME):CLOSE-SHUTTER PP")
|
||||||
|
field(OUTB, "$(INSTR)$(SPS_REGISTER_NAME):OPEN-SHUTTER PP")
|
||||||
|
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER-CONTROL PP")
|
||||||
|
field(SELM, "All")
|
||||||
|
}
|
||||||
|
|
||||||
record(seq, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER-CONTROL")
|
record(seq, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER-CONTROL")
|
||||||
{
|
{
|
||||||
field(SELM, "Specified")
|
field(SELM, "Specified")
|
||||||
@ -32,7 +42,9 @@ record(calc, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS")
|
|||||||
field(INPD, "$(INSTR)$(SPS_REGISTER_NAME):PSYS-OK NPP")
|
field(INPD, "$(INSTR)$(SPS_REGISTER_NAME):PSYS-OK NPP")
|
||||||
field(INPE, "$(INSTR)$(SPS_REGISTER_NAME):EMERGENCY-STOP-OFF NPP")
|
field(INPE, "$(INSTR)$(SPS_REGISTER_NAME):EMERGENCY-STOP-OFF NPP")
|
||||||
field(INPF, "$(INSTR)$(SPS_REGISTER_NAME):MOVES NPP")
|
field(INPF, "$(INSTR)$(SPS_REGISTER_NAME):MOVES NPP")
|
||||||
field(CALC, "(E=0||B=0)?3:(A=0||D=0)?2:F=1?1:C=0?3:0")
|
field(INPG, "$(INSTR)$(SPS_REGISTER_NAME):ConnStatusFetch NPP")
|
||||||
|
field(INPH, "$(INSTR)$(SPS_REGISTER_NAME):ConnStatusWrite NPP")
|
||||||
|
field(CALC, "(G=0||H=0||E=0||B=0)?3:(A=0||D=0)?2:F=1?1:C=0?3:0")
|
||||||
field(SCAN, ".1 second")
|
field(SCAN, ".1 second")
|
||||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):STATUS PP")
|
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):STATUS PP")
|
||||||
}
|
}
|
||||||
@ -60,6 +72,12 @@ record(stringout, "$(INSTR)$(SPS_REGISTER_NAME):MOTION-Msg")
|
|||||||
field(VAL, "Shutter in motion")
|
field(VAL, "Shutter in motion")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
record(stringout, "$(INSTR)$(SPS_REGISTER_NAME):Connection-Msg")
|
||||||
|
{
|
||||||
|
field(DESC, "Shutter connection disrupted message")
|
||||||
|
field(VAL, "Connection to SPS Disrupted")
|
||||||
|
}
|
||||||
|
|
||||||
record(scalcout, "$(INSTR)$(SPS_REGISTER_NAME):STATUS-Msg")
|
record(scalcout, "$(INSTR)$(SPS_REGISTER_NAME):STATUS-Msg")
|
||||||
{
|
{
|
||||||
field(DESC, "Status Message")
|
field(DESC, "Status Message")
|
||||||
@ -70,6 +88,8 @@ record(scalcout, "$(INSTR)$(SPS_REGISTER_NAME):STATUS-Msg")
|
|||||||
field(INPF, "$(INSTR)$(SPS_REGISTER_NAME):PSYS-OK NPP")
|
field(INPF, "$(INSTR)$(SPS_REGISTER_NAME):PSYS-OK NPP")
|
||||||
field(INPG, "$(INSTR)$(SPS_REGISTER_NAME):EMERGENCY-STOP-OFF NPP")
|
field(INPG, "$(INSTR)$(SPS_REGISTER_NAME):EMERGENCY-STOP-OFF NPP")
|
||||||
field(INPH, "$(INSTR)$(SPS_REGISTER_NAME):MOVES NPP")
|
field(INPH, "$(INSTR)$(SPS_REGISTER_NAME):MOVES NPP")
|
||||||
|
field(INPI, "$(INSTR)$(SPS_REGISTER_NAME):ConnStatusFetch NPP")
|
||||||
|
field(INPJ, "$(INSTR)$(SPS_REGISTER_NAME):ConnStatusWrite NPP")
|
||||||
field(INAA, "$(INSTR)$(SPS_REGISTER_NAME):OPEN-Msg NPP")
|
field(INAA, "$(INSTR)$(SPS_REGISTER_NAME):OPEN-Msg NPP")
|
||||||
field(INBB, "$(INSTR)$(SPS_REGISTER_NAME):REMOTE-Msg NPP")
|
field(INBB, "$(INSTR)$(SPS_REGISTER_NAME):REMOTE-Msg NPP")
|
||||||
field(INCC, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER-READY-Msg NPP")
|
field(INCC, "$(INSTR)$(SPS_REGISTER_NAME):SHUTTER-READY-Msg NPP")
|
||||||
@ -78,5 +98,6 @@ record(scalcout, "$(INSTR)$(SPS_REGISTER_NAME):STATUS-Msg")
|
|||||||
field(INFF, "$(INSTR)$(SPS_REGISTER_NAME):BLOCKED-REASON-Msg NPP")
|
field(INFF, "$(INSTR)$(SPS_REGISTER_NAME):BLOCKED-REASON-Msg NPP")
|
||||||
field(INGG, "$(INSTR)$(SPS_REGISTER_NAME):PSYS-OK-Msg NPP")
|
field(INGG, "$(INSTR)$(SPS_REGISTER_NAME):PSYS-OK-Msg NPP")
|
||||||
field(INHH, "$(INSTR)$(SPS_REGISTER_NAME):MOTION-Msg NPP")
|
field(INHH, "$(INSTR)$(SPS_REGISTER_NAME):MOTION-Msg NPP")
|
||||||
field(CALC, 'H=1?HH:G=0?DD:D=0?(EE+": "+FF):F=0?GG:C=0?CC:E=0?BB:AA')
|
field(INII, "$(INSTR)$(SPS_REGISTER_NAME):Connection-Msg NPP")
|
||||||
|
field(CALC, '(I=0||J=0)?II:H=1?HH:G=0?DD:D=0?(EE+": "+FF):F=0?GG:C=0?CC:E=0?BB:AA')
|
||||||
}
|
}
|
||||||
|
@ -5,4 +5,5 @@ record(bo, "$(INSTR)$(SPS_REGISTER_NAME):$(BIT_NAME)")
|
|||||||
field(OUT, "@$(SPS_REGISTER_NAME)/$(OFFSET) T=BYTE B=$(BIT)")
|
field(OUT, "@$(SPS_REGISTER_NAME)/$(OFFSET) T=BYTE B=$(BIT)")
|
||||||
field(ZNAM, "0")
|
field(ZNAM, "0")
|
||||||
field(ONAM, "1")
|
field(ONAM, "1")
|
||||||
|
field(HIGH, "$(HIGH=0)")
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user