Continued work
This commit is contained in:
@@ -33,7 +33,7 @@ record(mbbi, "$(INSTR)$(NAME):STATUS")
|
||||
record(longin, "$(INSTR)$(NAME):CHANNELS")
|
||||
{
|
||||
field(DESC, "Total Supported Channels")
|
||||
field(VAL, $(CHANNELS=1))
|
||||
field(VAL, 1)
|
||||
field(DISP, 1)
|
||||
}
|
||||
|
||||
@@ -41,6 +41,13 @@ record(stringin, "$(INSTR)$(NAME):MsgTxt")
|
||||
{
|
||||
field(DESC, "Miscellanous messages")
|
||||
}
|
||||
|
||||
record(bi, "$(INSTR)$(NAME):IS_LOWRATE")
|
||||
{
|
||||
field(ZNAM, "LOW RATE")
|
||||
field(ONAM, "GOOD RATE")
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Commands
|
||||
################################################################################
|
||||
@@ -150,8 +157,7 @@ record(longout,"$(INSTR)$(NAME):THRESHOLD-MONITOR")
|
||||
field(DESC, "Channel monitored for minimum rate")
|
||||
field(VAL, "1") # Monitor
|
||||
field(DRVL, "0") # Smallest Threshold Channel (0 is off)
|
||||
field(DRVH, "$(CHANNELS=1)") # Largest Threshold Channel
|
||||
field(DTYP, "stream")
|
||||
field(DRVH, "1") # Largest Threshold Channel
|
||||
}
|
||||
|
||||
record(ao,"$(INSTR)$(NAME):THRESHOLD")
|
||||
@@ -160,19 +166,15 @@ record(ao,"$(INSTR)$(NAME):THRESHOLD")
|
||||
alias("$(INSTR)$(NAME):THRESHOLD_RBV")
|
||||
field(DESC, "Minimum rate for counting to proceed")
|
||||
field(VAL, "1") # Default Rate
|
||||
# Could perhaps still be improved.
|
||||
# It seems to only accept whole counts?
|
||||
field(DRVL, "1") # Minimum Rate
|
||||
field(DRVH, "100000") # Maximum Rate
|
||||
field(OMSL, "supervisory")
|
||||
field(OROC, "0")
|
||||
}
|
||||
|
||||
record(ai,"$(INSTR)$(NAME):ELAPSED-TIME")
|
||||
{
|
||||
field(DESC, "DAQ Measured Time")
|
||||
field(EGU, "sec")
|
||||
field(FLNK, "$(INSTR)$(NAME):ETO")
|
||||
}
|
||||
|
||||
# Array Subroutine record which emulates the counterbox functionality
|
||||
@@ -182,7 +184,6 @@ record(aSub, "$(INSTR)$(NAME):EMULATION")
|
||||
# Scan rate determines how often we sample the rate
|
||||
# and how often the counter value updates.
|
||||
field(SCAN, "0.1 seconds"
|
||||
field(INAM, "initEmulatedCounter")
|
||||
field(SNAM, "processEmulatedCounter"
|
||||
|
||||
# The first 4 inputs are also mapped as the first 4 outputs
|
||||
@@ -219,8 +220,12 @@ record(aSub, "$(INSTR)$(NAME):EMULATION")
|
||||
field(FTVC, "DOUBLE")
|
||||
field(OUTD, "$(INSTR)$(NAME):COMMAND-TRIG PP")
|
||||
field(FTVD, "ULONG")
|
||||
field(INPE, "$(INSTR)$(NAME):R0-PREV PP")
|
||||
field(FTE, "DOUBLE")
|
||||
field(OUTE, "$(INSTR)$(NAME):R0-PREV PP")
|
||||
field(FTVE, "DOUBLE")
|
||||
field(OUTF, "$(INSTR)$(NAME):IS_LOWRATE PP")
|
||||
field(FTVF, "ULONG")
|
||||
field(OUTF, "$(INSTR)$(NAME):MSG_TXT PP")
|
||||
field(FTVF, "CHAR")
|
||||
}
|
||||
|
||||
#######################
|
||||
@@ -237,9 +242,10 @@ record(int64in, "$(INSTR)$(NAME):M0")
|
||||
record(calc, "$(INSTR)$(NAME):R0")
|
||||
{
|
||||
field(DESC, "Rate of DAQ CH0 proton current")
|
||||
field(INPA, "$(REMOTE_RATE_PV) CA"
|
||||
#field(INPA, "$(REMOTE_RATE_PV) CA")
|
||||
field(INPA, "$(INSTR)$(NAME):PROTON_CURR)"
|
||||
field(INPB, "$(SHUTTER1_PV=0)")
|
||||
field(INPC, "$(SHUTTER1_CLOSED_VAL=1)"
|
||||
field(INPC, "$(SHUTTER1_CLOSED_VAL=1)")
|
||||
field(INPD, "$(SHUTTER2_PV=0)")
|
||||
field(INPE, "$(SHUTTER2_CLOSED_VAL=1)")
|
||||
# If either shutter is closed we have no rate
|
||||
@@ -273,3 +279,12 @@ record(bi, "$(INSTR)$(NAME):S0")
|
||||
field(ONAM, "CLEARING")
|
||||
}
|
||||
|
||||
record(calc, "$(INSTR)$(NAME):PROTON_CURR") {
|
||||
field(SCAN, "0.05 seconds")
|
||||
field(CALC, "1500 * 101 * SIN(A)")
|
||||
field(INPA, "$(INSTR)$(NAME):PROTON_CURR_VAR PP")
|
||||
}
|
||||
|
||||
record(calc, "$(INSTR)$(NAME):PROTON_CURR_VAR") {
|
||||
field(CALC, "VAL + 0.001")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user