adds database for Beamstop at SANS-LLB #2
@@ -15,10 +15,15 @@ TEMPLATES += db/sps_status.db
|
||||
TEMPLATES += db/writebit.db
|
||||
TEMPLATES += db/readbit.db
|
||||
TEMPLATES += db/readstring.db
|
||||
TEMPLATES += db/writeusint.db
|
||||
TEMPLATES += db/readusint.db
|
||||
|
||||
# Specific devices to include in the release
|
||||
TEMPLATES += db/shutter.db
|
||||
TEMPLATES += templates/shutter.substitutions
|
||||
SCRIPTS += scripts/shutter.cmd
|
||||
|
||||
SCRIPTS += sim/shutter_sim.py
|
||||
|
||||
TEMPLATES += db/sans_llb_beamstop.db
|
||||
TEMPLATES += templates/sans_llb_beamstop.substitutions
|
||||
SCRIPTS += scripts/sans_llb_beamstop.cmd
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
record(longin, "$(INSTR)$(SPS_REGISTER_NAME):$(UINT_NAME)")
|
||||
{
|
||||
field(DTYP, "S7plcFW")
|
||||
field(DESC, "$(DESC)")
|
||||
field(INP, "@$(SPS_REGISTER_NAME)/$(OFFSET) T=BYTE")
|
||||
field(PINI, "YES")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
record(longout, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP-INIT")
|
||||
{
|
||||
field(DESC, "Initialises BEAMSTOP PV")
|
||||
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP NPP")
|
||||
field(DOL, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP_RBV NPP")
|
||||
field(OMSL, "closed_loop")
|
||||
field(PINI, "YES")
|
||||
}
|
||||
|
||||
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(DRVL, 1)
|
||||
field(DRVH, 3)
|
||||
field(PINI, "NO")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER PP")
|
||||
}
|
||||
|
||||
record(longout, "$(INSTR)$(SPS_REGISTER_NAME):TRIGGER")
|
||||
{
|
||||
field(DESC, "Internal Trigger")
|
||||
field(OUT, "$(INSTR)$(SPS_REGISTER_NAME):EXECUTE-CHANGE PP")
|
||||
field(OMSL, "closed_loop")
|
||||
field(DOL, 1)
|
||||
field(PINI, "NO")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS PP")
|
||||
}
|
||||
|
||||
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(INPD, "$(INSTR)$(SPS_REGISTER_NAME):ERROR NPP")
|
||||
field(INPE, "$(INSTR)$(SPS_REGISTER_NAME):EXECUTE-POSSIBLE NPP")
|
||||
field(INPF, "$(INSTR)$(SPS_REGISTER_NAME):ConnStatusFetch NPP")
|
||||
field(INPG, "$(INSTR)$(SPS_REGISTER_NAME):ConnStatusWrite NPP")
|
||||
field(INPH, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP NPP")
|
||||
field(INPI, "$(INSTR)$(SPS_REGISTER_NAME):BEAMSTOP_RBV NPP")
|
||||
field(CALC, "(F=0||G=0||D=1)?3:(A=1)?2:(C=1||H#I)?1:(B=0)?3:0")
|
||||
field(SCAN, ".1 second")
|
||||
field(FLNK, "$(INSTR)$(SPS_REGISTER_NAME):STATUS PP")
|
||||
}
|
||||
|
||||
record(mbbi, "$(INSTR)$(SPS_REGISTER_NAME):STATUS")
|
||||
{
|
||||
field(DESC, "Status of Shutter")
|
||||
field(INP, "$(INSTR)$(SPS_REGISTER_NAME):MAP-STATUS NPP")
|
||||
field(ZRVL, "0")
|
||||
field(ZRST, "Okay")
|
||||
field(ONVL, "1")
|
||||
field(ONST, "Busy")
|
||||
field(TWVL, "2")
|
||||
field(TWST, "Warning")
|
||||
field(THVL, "3")
|
||||
field(THST, "Error")
|
||||
field(FRST, "4")
|
||||
field(FRST, "Unknown")
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
record(longout, "$(INSTR)$(SPS_REGISTER_NAME):$(UINT_NAME)")
|
||||
{
|
||||
field(DTYP, "S7plcFW")
|
||||
field(DESC, "$(DESC)")
|
||||
field(OUT, "@$(SPS_REGISTER_NAME)/$(OFFSET) T=BYTE")
|
||||
field(PINI, "NO")
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
# s7plcFWConfigure(
|
||||
# # Alias,
|
||||
# # IP,
|
||||
# # fetchPort,fetchOrg,fetchDb,fetchOffsetInDb,fetchSizeOfDb,
|
||||
# # writePort,writeOrg,writeDb,writeOffsetInDb,writeSizeOfDb,
|
||||
# # 0 == big endian, 1 == little endian,
|
||||
# # receive timeout,
|
||||
# # receive delay,
|
||||
# # out IO Interrupt Delay (if 0 then only reacts on a change)
|
||||
# )
|
||||
|
||||
epicsEnvSet("SPS_REGISTER_NAME", "SPS-BEAMSTOP")
|
||||
epicsEnvSet("SPS_FETCH_SIZE", "40")
|
||||
epicsEnvSet("SPS_WRITE_SIZE", "2")
|
||||
|
||||
s7plcFWConfigure("$(SPS_REGISTER_NAME)", "$(SPS_IP)", "$(FETCH_PORT=2000),1,$(FETCH_DB),0,$(SPS_FETCH_SIZE)", "$(WRITE_PORT=2001),1,$(WRITE_DB=$(FETCH_DB)),0,$(SPS_WRITE_SIZE)", "$(SPS_ENDIANNESS=1)", "$(SPS_RECEIVE_TIMEOUT=1000)", "$(SPS_RECEIVE_DELAY=200)", "0")
|
||||
|
||||
# Provides Connection Status PVs
|
||||
dbLoadRecords("$(sinqSPS_DB)/sps_status.db", "INSTR=$(INSTR), SPS_REGISTER_NAME=$(SPS_REGISTER_NAME)")
|
||||
|
||||
# Shutter PVs
|
||||
dbLoadTemplate("$(sinqSPS_DB)/sans_llb_beamstop.substitutions", "INSTR=$(INSTR), SPS_REGISTER_NAME=$(SPS_REGISTER_NAME)")
|
||||
|
||||
# Additional Mapping PVs
|
||||
dbLoadRecords("$(sinqSPS_DB)/sans_llb_beamstop.db", "INSTR=$(INSTR), SPS_REGISTER_NAME=$(SPS_REGISTER_NAME)")
|
||||
@@ -1,5 +1,3 @@
|
||||
require sinqS7plcFW
|
||||
|
||||
# s7plcFWConfigure(
|
||||
# # Alias,
|
||||
# # IP,
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
file "$(sinqSPS_DB)/writeusint.db"
|
||||
{
|
||||
pattern
|
||||
{OFFSET, UINT_NAME , DESC }
|
||||
{0 , "BEAMSTOP-RAW" , "Beamstop to switch to" }
|
||||
}
|
||||
|
||||
file "$(sinqSPS_DB)/writebit.db"
|
||||
{
|
||||
pattern
|
||||
{OFFSET, BIT, BIT_NAME , DESC }
|
||||
{1 , 0 , "EXECUTE-CHANGE" , "Change Beamstop" }
|
||||
}
|
||||
|
||||
file "$(sinqSPS_DB)/readusint.db"
|
||||
{
|
||||
pattern
|
||||
{OFFSET, UINT_NAME , DESC }
|
||||
{2 , "BEAMSTOP-CMD" , "Sent Beamstop to change to" }
|
||||
{3 , "BEAMSTOP_RBV" , "Current Beamstop in place" }
|
||||
}
|
||||
|
||||
file "$(sinqSPS_DB)/readbit.db"
|
||||
{
|
||||
pattern
|
||||
{OFFSET, BIT, BIT_NAME , ZNAM , ONAM , DESC}
|
||||
{6 , 0 , "SERVICE-MODE" , "disabled", "enabled", "" }
|
||||
{6 , 1 , "IN-POSITION" , "no" , "yes" , "" }
|
||||
{6 , 2 , "MOVES" , "no" , "yes" , "" }
|
||||
{6 , 3 , "ERROR" , "no" , "yes" , "" }
|
||||
{6 , 4 , "EXECUTE-POSSIBLE" , "no" , "yes" , "" }
|
||||
}
|
||||
|
||||
file "$(sinqSPS_DB)/readstring.db"
|
||||
{
|
||||
pattern
|
||||
{OFFSET, LENGTH, STRING_NAME }
|
||||
{8 , 30 , "BLOCKED-REASON" }
|
||||
}
|
||||
Reference in New Issue
Block a user