From 0789462aed29e34decb98912d6593fcc49ee8c47 Mon Sep 17 00:00:00 2001 From: Edward Wall Date: Wed, 3 Jun 2026 16:49:47 +0200 Subject: [PATCH] rename/refactor channels.db --- db/channels.db | 262 +++++++++++++++++++++++++--------------------- db/daq_2nd_gen.db | 93 ++++++++-------- db/daq_4ch.db | 36 +++---- db/daq_8ch.db | 64 +++++------ db/daq_common.db | 7 +- 5 files changed, 234 insertions(+), 228 deletions(-) diff --git a/db/channels.db b/db/channels.db index 8c2971f..72469e6 100644 --- a/db/channels.db +++ b/db/channels.db @@ -8,87 +8,151 @@ # CHANNEL - the number associated with the measurment channel ################################################################################ -# Status Variables +# Channel Specific -# record(dfanout, "$(INSTR)$(NAME):RESET_MT$(CHANNEL)") -# { -# field(DESC, "Resets Internal Variables") -# field(SELM, "All") -# field(OMSL, "supervisory") -# field(OUTA, "$(INSTR)$(NAME):M$(CHANNEL)_CLEARED PP") -# field(OUTB, "$(INSTR)$(NAME):M$(CHANNEL)_PRESET PP") -# } - -# Trigger a change in status as clearing -record(bo, "$(INSTR)$(NAME):T$(CHANNEL)") +# Updated by READALL, at POLL_FREQ frequency +record(int64in, "$(INSTR)$(NAME):CH$(CHANNEL)") { - field(DESC, "Trigger Clearing Status") - field(VAL, 1) - field(OUT, "$(INSTR)$(NAME):M$(CHANNEL)_CLEARED PP") + field(DESC, "DAQ CH$(CHANNEL) Counts") + field(EGU, "cts") + field(FLNK, "$(INSTR)$(NAME):CH$(CHANNEL)_POLL") } -# Trigger a change in status as value returned to 0 -record(seq, "$(INSTR)$(NAME):O$(CHANNEL)") +record(ai, "$(INSTR)$(NAME):CH$(CHANNEL)_RATE") { - field(DESC, "Trigger Returned to 0 Status") - field(DO0, 0) - field(LNK0, "$(INSTR)$(NAME):M$(CHANNEL)_CLEARED PP") - field(SELM, "Specified") - field(SELL, "$(INSTR)$(NAME):M$(CHANNEL).VAL") - field(FLNK, "$(INSTR)$(NAME):S$(CHANNEL)") + field(DESC, "Rate of DAQ CH$(CHANNEL)") + field(INP, "@$(PROTO) readRate($(INSTR)$(NAME):, $(CHANNEL)) $(ASYN_PORT)") + field(DTYP, "stream") + field(EGU, "cts/sec") + field(SCAN, "1 second") } -record(bi, "$(INSTR)$(NAME):M$(CHANNEL)_CLEARED") +record(ao, "$(INSTR)$(NAME):CH$(CHANNEL)_THRESH") { - field(DESC, "Channel Status") - field(VAL, 0) - field(ZNAM, "OK") - field(ONAM, "CLEARING") + # Rate for this channel only applies, if + # $(INSTR)$(NAME):THRESHOLD-MONITOR == $(CHANNEL) + field(DESC, "Sets min rate for counting to proceed") + field(OMSL, "supervisory") + field(OROC, "0") + field(OUT, "@$(PROTO) setMinRate($(INSTR)$(NAME):, $(CHANNEL)) $(ASYN_PORT)") + field(DTYP, "stream") + field(EGU, "cts/sec") } -# Current Status of Channel, i.e. is it ready for a new operation? -record(calc, "$(INSTR)$(NAME):S$(CHANNEL)") -{ - field(DESC, "Stupid Nicos Stuff") - field(INPA, "$(INSTR)$(NAME):STATUS NPP") - field(INPB, "$(INSTR)$(NAME):M$(CHANNEL)_CLEARED NPP") - field(INPC, "$(INSTR)$(NAME):M$(CHANNEL)_PRESET NPP") - field(CALC, "A == 1 || B || C") - field(FLNK, "$(INSTR)$(NAME):MTS$(CHANNEL)") -} +################################################################################ +# Poll Loop -# If set, stop count once threshold reached -record(int64in, "$(INSTR)$(NAME):MT$(CHANNEL)") +record(dfanout, "$(INSTR)$(NAME):CH$(CHANNEL)_POLL") { - field(DESC, "Monitor Count Threshold") - field(VAL, 0) - field(FLNK, "$(INSTR)$(NAME):M$(CHANNEL)_SET") -} - -# Stop the count, if threshold is reached -record(calcout, "$(INSTR)$(NAME):MTS$(CHANNEL)") -{ - field(INPA, "$(INSTR)$(NAME):M$(CHANNEL) NPP") - field(INPB, "$(INSTR)$(NAME):MT$(CHANNEL) NPP") - field(CALC, "B > 0 && A >= B") - field(OOPT, "When Non-zero") - field(OUT, "$(INSTR)$(NAME):STOP.PROC") -} - -record(dfanout, "$(INSTR)$(NAME):M$(CHANNEL)_SET") -{ - field(DESC, "Trigger setting HW preset") + field(DESC, "Channel $(CHANNEL) poll sequence") field(SELM, "All") field(OMSL, "closed_loop") field(DOL, 1) - field(OUTA, "$(INSTR)$(NAME):M$(CHANNEL)_PRESET PP") - field(OUTB, "$(INSTR)$(NAME):SET-TYPE-MON$(CHANNEL).PROC PP") + field(OUTA, "$(INSTR)$(NAME):CH$(CHANNEL)_HWCS.PROC") + field(OUTB, "$(INSTR)$(NAME):CH$(CHANNEL)_STSRAW.PROC") + field(OUTC, "$(INSTR)$(NAME):CH$(CHANNEL)_REACHED.PROC") } -record(calcout, "$(INSTR)$(NAME):M$(CHANNEL)_CHECK_SET") +################################################################################ +# Clearing Channel Counts + +record(bi, "$(INSTR)$(NAME):CH$(CHANNEL)_CLEARED") { + field(VAL, 0) + field(ZNAM, "Cleared") + field(ONAM, "Clearing") +} + +# Trigger a change in status as value returned to 0 +record(seq, "$(INSTR)$(NAME):CH$(CHANNEL)_HWCS") +{ + field(DESC, "Trigger Returned to 0 Status") + field(SELM, "Specified") + field(SELL, "$(INSTR)$(NAME):CH$(CHANNEL).VAL") + field(DO0, 0) + field(LNK0, "$(INSTR)$(NAME):CH$(CHANNEL)_CLEARED PP") +} + +record(dfanout, "$(INSTR)$(NAME):CH$(CHANNEL)_CLEAR") +{ + field(DESC, "Clears the current channel count") + field(SELM, "All") + field(OMSL, "closed_loop") + field(DOL, 1) + field(OUTA, "$(INSTR)$(NAME):CH$(CHANNEL)_CLEARED PP PP") + field(OUTB, "$(INSTR)$(NAME):CH$(CHANNEL)_HWC.PROC PP") +} + +record(longout, "$(INSTR)$(NAME):CH$(CHANNEL)_HWC") +{ + field(DESC, "Clear in Hardware") + field(DTYP, "stream") + field(OMSL, "closed_loop") + field(DOL, "$(INSTR)$(NAME):CH$(CHANNEL)_BM NPP") + field(OUT, "@$(PROTO) clearChannel($(INSTR)$(NAME):) $(ASYN_PORT)") +} + +################################################################################ +# Determining Channel Status + +record(calc, "$(INSTR)$(NAME):CH$(CHANNEL)_STSRAW") +{ + field(DESC, "Channel Status") + field(INPA, "$(INSTR)$(NAME):STATUS NPP") + field(INPB, "$(INSTR)$(NAME):CH$(CHANNEL)_CLEARED NPP") + field(INPC, "$(INSTR)$(NAME):CH$(CHANNEL)_SET NPP") + field(CALC, "A == 1 || B || C") + field(FLNK, "$(INSTR)$(NAME):CH$(CHANNEL)_STS") +} + +# Current Status of Channel, i.e. is it ready for a new operation? +record(mbbi, "$(INSTR)$(NAME):CH$(CHANNEL)_STS") +{ + field(DESC, "Channel Status") + field(INP, "$(INSTR)$(NAME):CH$(CHANNEL)_STSRAW NPP MS") + field(ZRVL, "0") + field(ZRST, "Idle") + field(ONVL, "1") + field(ONST, "Busy") +} + +################################################################################ +# Channel Preset + +# If set, stop count once preset reached +record(int64in, "$(INSTR)$(NAME):CH$(CHANNEL)_PRESET") +{ + field(DESC, "Monitor Count Preset") + field(VAL, 0) + field(FLNK, "$(INSTR)$(NAME):CH$(CHANNEL)_SETTING") +} + +record(calcout, "$(INSTR)$(NAME):CH$(CHANNEL)_REACHED") +{ + field(DESC, "Stop if preset reached") + field(INPA, "$(INSTR)$(NAME):CH$(CHANNEL) NPP") + field(INPB, "$(INSTR)$(NAME):CH$(CHANNEL)_PRESET NPP") + field(CALC, "B > 0 && A >= B") + field(OOPT, "When Non-zero") + field(OUT, "$(INSTR)$(NAME):STOP.PROC") +} + +################################################################################ +# Setting Channel Preset + +record(bi, "$(INSTR)$(NAME):CH$(CHANNEL)_SET") +{ + field(DESC, "Channel Status") + field(VAL, 0) + field(ZNAM, "Set") + field(ONAM, "Setting") +} + +record(calcout, "$(INSTR)$(NAME):CH$(CHANNEL)_CHECK_SET") +{ + field(DESC, "Was preset fully configured") field(SCAN, ".1 second") - field(INPA, "$(INSTR)$(NAME):M$(CHANNEL)_PRESET NPP") + field(INPA, "$(INSTR)$(NAME):CH$(CHANNEL)_SET NPP") field(INPB, "$(INSTR)$(NAME):MONITOR-CHANNEL NPP") field(INPC, "$(INSTR)$(NAME):MONITOR-CHANNEL_RBV NPP") field(CALC, "A && ( ($(CHANNEL) # B) || (B = C) )") @@ -96,43 +160,46 @@ record(calcout, "$(INSTR)$(NAME):M$(CHANNEL)_CHECK_SET") field(DOPT, "Use OCAL") field(OCAL, "0") # This is just a delay, as otherwise, Nicos will not see - # the $(INSTR)$(NAME):M$(CHANNEL)_PRESET state change + # the $(INSTR)$(NAME):CH$(CHANNEL)_SET state change # when not changing which monitor channel the preset # applies to. Is there a better way? field(ODLY, .5) - field(OUT, "$(INSTR)$(NAME):M$(CHANNEL)_PRESET PP") + field(OUT, "$(INSTR)$(NAME):CH$(CHANNEL)_SET PP") } -record(bi, "$(INSTR)$(NAME):M$(CHANNEL)_PRESET") +record(dfanout, "$(INSTR)$(NAME):CH$(CHANNEL)_SETTING") { - field(DESC, "Channel Status") - field(VAL, 0) - field(ZNAM, "OK") - field(ONAM, "SETTING") + field(DESC, "Trigger setting HW preset") + field(SELM, "All") + field(OMSL, "closed_loop") + field(DOL, 1) + field(OUTA, "$(INSTR)$(NAME):CH$(CHANNEL)_SET PP") + field(OUTB, "$(INSTR)$(NAME):CH$(CHANNEL)_IN_HW.PROC PP") } -record(calcout, "$(INSTR)$(NAME):SET-TYPE-MON$(CHANNEL)") +record(calcout, "$(INSTR)$(NAME):CH$(CHANNEL)_IN_HW") { - field(DESC, "Set to HW Mon Type if possible") + field(DESC, "Possible to configure in HW") field(INPA, "$(INSTR)$(NAME):PRESET-TYPE NPP") - field(INPB, "$(INSTR)$(NAME):MT$(CHANNEL) NPP") + field(INPB, "$(INSTR)$(NAME):CH$(CHANNEL)_PRESET NPP") field(INPC, "$(INSTR)$(NAME):MONITOR-CHANNEL.DRVH NPP") field(CALC, "A=0 && B>0 && $(CHANNEL)<=C") field(OOPT, "When Non-zero") field(DOPT, "Use OCAL") field(OCAL, "1") - field(OUT, "$(INSTR)$(NAME):SET-HW-CHANNEL$(CHANNEL).PROC") + field(OUT, "$(INSTR)$(NAME):CH$(CHANNEL)_HW_CONF.PROC") } -record(ao, "$(INSTR)$(NAME):SET-HW-CHANNEL$(CHANNEL)") +record(ao, "$(INSTR)$(NAME):CH$(CHANNEL)_HW_CONF") { + field(DESC, "Configure in HW") field(OMSL, "closed_loop") field(DOL, $(CHANNEL)) field(OUT, "$(INSTR)$(NAME):MONITOR-CHANNEL PP") - field(FLNK, "$(INSTR)$(NAME):SET-TYPE-MON2$(CHANNEL) PP") + field(FLNK, "$(INSTR)$(NAME):CH$(CHANNEL)_SET_PTYPE PP") } -record(ao, "$(INSTR)$(NAME):SET-TYPE-MON2$(CHANNEL)") +record(ao, "$(INSTR)$(NAME):CH$(CHANNEL)_SET_PTYPE") { field(OMSL, "closed_loop") field(DOL, 2) @@ -140,8 +207,6 @@ record(ao, "$(INSTR)$(NAME):SET-TYPE-MON2$(CHANNEL)") } ################################################################################ -# Count Commands - # Unfortunately, clearing the channels is somewhat complicated as a result of # the addition of more channels over time and minimal changes to the underlying interface # @@ -165,49 +230,10 @@ record(ao, "$(INSTR)$(NAME):SET-TYPE-MON2$(CHANNEL)") # CC 5 setzt gleichzeitig die Zähler der Channels 1 und 3 zurück # CC 16 ist gleichbedeutend wie CT (Timer zurücksetzen) # CC 511 setzt gleichzeitig die Zähler aller Kanäle (auch des Timers) zurück. - -record(calc, "$(INSTR)$(NAME):BM$(CHANNEL)") +record(calc, "$(INSTR)$(NAME):CH$(CHANNEL)_BM") { field(DESC, "Bit Mask for Channel") field(INPA, $(CHANNEL)) field(CALC, "A > 4 ? 2 ^ A : 2 ^ (A-1)") field(PINI, "YES") } - -record(longout, "$(INSTR)$(NAME):C$(CHANNEL)") -{ - field(DESC, "Clear the current channel count") - field(DTYP, "stream") - field(OMSL, "closed_loop") - field(DOL, "$(INSTR)$(NAME):BM$(CHANNEL) NPP") - field(OUT, "@$(PROTO) clearChannel($(INSTR)$(NAME):) $(ASYN_PORT)") - field(FLNK, "$(INSTR)$(NAME):T$(CHANNEL)") -} - -record(ao,"$(INSTR)$(NAME):THRESH$(CHANNEL)") -{ - field(DESC, "Sets min rate for counting to proceed") - field(OMSL, "supervisory") - field(OROC, "0") - field(OUT, "@$(PROTO) setMinRate($(INSTR)$(NAME):, $(CHANNEL)) $(ASYN_PORT)") - field(DTYP, "stream") -} - -################################################################################ -# Read all monitors values - -record(int64in, "$(INSTR)$(NAME):M$(CHANNEL)") -{ - field(DESC, "DAQ CH$(CHANNEL)") - field(EGU, "cts") - field(FLNK, "$(INSTR)$(NAME):O$(CHANNEL)") -} - -record(ai, "$(INSTR)$(NAME):R$(CHANNEL)") -{ - field(DESC, "Rate of DAQ CH$(CHANNEL)") - field(INP, "@$(PROTO) readRate($(INSTR)$(NAME):, $(CHANNEL)) $(ASYN_PORT)") - field(DTYP, "stream") - field(EGU, "cts/sec") - field(SCAN, "1 second") -} diff --git a/db/daq_2nd_gen.db b/db/daq_2nd_gen.db index dbed757..512e303 100644 --- a/db/daq_2nd_gen.db +++ b/db/daq_2nd_gen.db @@ -45,46 +45,49 @@ record(sel, "$(INSTR)$(NAME):HW_MT") field(SELM, "Specified") field(NVL, "$(INSTR)$(NAME):MONITOR-CHANNEL_RBV.VAL NPP") # Skip A as it corresponds to 0 - field(INPB, "$(INSTR)$(NAME):MT1 NPP") - field(INPC, "$(INSTR)$(NAME):MT2 NPP") - field(INPD, "$(INSTR)$(NAME):MT3 NPP") - field(INPE, "$(INSTR)$(NAME):MT4 NPP") - field(INPF, "$(INSTR)$(NAME):MT5 NPP") - field(INPG, "$(INSTR)$(NAME):MT6 NPP") - field(INPH, "$(INSTR)$(NAME):MT7 NPP") - field(INPI, "$(INSTR)$(NAME):MT8 NPP") - field(INPJ, "$(INSTR)$(NAME):MT9 NPP") - field(INPK, "$(INSTR)$(NAME):MT10 NPP") + field(INPB, "$(INSTR)$(NAME):CH1_PRESET NPP") + field(INPC, "$(INSTR)$(NAME):CH2_PRESET NPP") + field(INPD, "$(INSTR)$(NAME):CH3_PRESET NPP") + field(INPE, "$(INSTR)$(NAME):CH4_PRESET NPP") + field(INPF, "$(INSTR)$(NAME):CH5_PRESET NPP") + field(INPG, "$(INSTR)$(NAME):CH6_PRESET NPP") + field(INPH, "$(INSTR)$(NAME):CH7_PRESET NPP") + field(INPI, "$(INSTR)$(NAME):CH8_PRESET NPP") + field(INPJ, "$(INSTR)$(NAME):CH9_PRESET NPP") + field(INPK, "$(INSTR)$(NAME):CH10_PRESET NPP") } record(dfanout,"$(INSTR)$(NAME):RESET_HW_MT") { field(SELM, "All") - field(OMSL, "supervisory") - field(OUTA, "$(INSTR)$(NAME):RESET_HW_MT1 PP") - field(OUTB, "$(INSTR)$(NAME):RESET_HW_MT2 PP") + field(OMSL, "closed_loop") + field(DOL, 1) + field(OUTA, "$(INSTR)$(NAME):RESET_HW_MT1.PROC") + field(OUTB, "$(INSTR)$(NAME):RESET_HW_MT2.PROC") } record(dfanout,"$(INSTR)$(NAME):RESET_HW_MT1") { field(SELM, "All") - field(OMSL, "supervisory") - field(OUTA, "$(INSTR)$(NAME):MT1 PP") - field(OUTB, "$(INSTR)$(NAME):MT2 PP") - field(OUTC, "$(INSTR)$(NAME):MT3 PP") - field(OUTD, "$(INSTR)$(NAME):MT4 PP") - field(OUTE, "$(INSTR)$(NAME):MT5 PP") - field(OUTF, "$(INSTR)$(NAME):MT6 PP") - field(OUTG, "$(INSTR)$(NAME):MT7 PP") - field(OUTH, "$(INSTR)$(NAME):MT8 PP") + field(OMSL, "closed_loop") + field(DOL, 0) + field(OUTA, "$(INSTR)$(NAME):CH1_PRESET PP") + field(OUTB, "$(INSTR)$(NAME):CH2_PRESET PP") + field(OUTC, "$(INSTR)$(NAME):CH3_PRESET PP") + field(OUTD, "$(INSTR)$(NAME):CH4_PRESET PP") + field(OUTE, "$(INSTR)$(NAME):CH5_PRESET PP") + field(OUTF, "$(INSTR)$(NAME):CH6_PRESET PP") + field(OUTG, "$(INSTR)$(NAME):CH7_PRESET PP") + field(OUTH, "$(INSTR)$(NAME):CH8_PRESET PP") } record(dfanout,"$(INSTR)$(NAME):RESET_HW_MT2") { field(SELM, "All") - field(OMSL, "supervisory") - field(OUTA, "$(INSTR)$(NAME):MT9 PP") - field(OUTB, "$(INSTR)$(NAME):MT10 PP") + field(OMSL, "closed_loop") + field(DOL, 0) + field(OUTA, "$(INSTR)$(NAME):CH9_PRESET PP") + field(OUTB, "$(INSTR)$(NAME):CH10_PRESET PP") } # record(dfanout,"$(INSTR)$(NAME):RESET_MT") @@ -130,22 +133,22 @@ record(dfanout,"$(INSTR)$(NAME):CMONITORS1") { field(SELM, "All") field(OMSL, "supervisory") - field(OUTA, "$(INSTR)$(NAME):C1 PP") - field(OUTB, "$(INSTR)$(NAME):C2 PP") - field(OUTC, "$(INSTR)$(NAME):C3 PP") - field(OUTD, "$(INSTR)$(NAME):C4 PP") - field(OUTE, "$(INSTR)$(NAME):C5 PP") - field(OUTF, "$(INSTR)$(NAME):C6 PP") - field(OUTG, "$(INSTR)$(NAME):C7 PP") - field(OUTH, "$(INSTR)$(NAME):C8 PP") + field(OUTA, "$(INSTR)$(NAME):CH1_CLEAR PP") + field(OUTB, "$(INSTR)$(NAME):CH2_CLEAR PP") + field(OUTC, "$(INSTR)$(NAME):CH3_CLEAR PP") + field(OUTD, "$(INSTR)$(NAME):CH4_CLEAR PP") + field(OUTE, "$(INSTR)$(NAME):CH5_CLEAR PP") + field(OUTF, "$(INSTR)$(NAME):CH6_CLEAR PP") + field(OUTG, "$(INSTR)$(NAME):CH7_CLEAR PP") + field(OUTH, "$(INSTR)$(NAME):CH8_CLEAR PP") } record(dfanout,"$(INSTR)$(NAME):CMONITORS2") { field(SELM, "All") field(OMSL, "supervisory") - field(OUTA, "$(INSTR)$(NAME):C9 PP") - field(OUTB, "$(INSTR)$(NAME):C10 PP") + field(OUTA, "$(INSTR)$(NAME):CH9_CLEAR PP") + field(OUTB, "$(INSTR)$(NAME):CH10_CLEAR PP") } ################################################################################ @@ -166,22 +169,22 @@ record(dfanout,"$(INSTR)$(NAME):THRESHOLD-F1") { field(OMSL, "supervisory") field(SELM, "All") - field(OUTA, "$(INSTR)$(NAME):THRESH1 PP") - field(OUTB, "$(INSTR)$(NAME):THRESH2 PP") - field(OUTC, "$(INSTR)$(NAME):THRESH3 PP") - field(OUTD, "$(INSTR)$(NAME):THRESH4 PP") - field(OUTE, "$(INSTR)$(NAME):THRESH5 PP") - field(OUTF, "$(INSTR)$(NAME):THRESH6 PP") - field(OUTG, "$(INSTR)$(NAME):THRESH7 PP") - field(OUTH, "$(INSTR)$(NAME):THRESH8 PP") + field(OUTA, "$(INSTR)$(NAME):CH1_THRESH PP") + field(OUTB, "$(INSTR)$(NAME):CH2_THRESH PP") + field(OUTC, "$(INSTR)$(NAME):CH3_THRESH PP") + field(OUTD, "$(INSTR)$(NAME):CH4_THRESH PP") + field(OUTE, "$(INSTR)$(NAME):CH5_THRESH PP") + field(OUTF, "$(INSTR)$(NAME):CH6_THRESH PP") + field(OUTG, "$(INSTR)$(NAME):CH7_THRESH PP") + field(OUTH, "$(INSTR)$(NAME):CH8_THRESH PP") } record(dfanout,"$(INSTR)$(NAME):THRESHOLD-F2") { field(OMSL, "supervisory") field(SELM, "All") - field(OUTA, "$(INSTR)$(NAME):THRESH9 PP") - field(OUTB, "$(INSTR)$(NAME):THRESH10 PP") + field(OUTA, "$(INSTR)$(NAME):CH9_THRESH PP") + field(OUTB, "$(INSTR)$(NAME):CH10_THRESH PP") } ################################################################################ diff --git a/db/daq_4ch.db b/db/daq_4ch.db index 81a3bf8..87cb984 100644 --- a/db/daq_4ch.db +++ b/db/daq_4ch.db @@ -28,37 +28,27 @@ record(longin, "$(INSTR)$(NAME):MONITOR-CHANNEL_RBV") record(ai, "$(INSTR)$(NAME):HW_MT") { field(DESC, "Monitor threshold to actually use") - field(INP, "$(INSTR)$(NAME):MT1 NPP") + field(INP, "$(INSTR)$(NAME):CH1_PRESET NPP") } record(dfanout,"$(INSTR)$(NAME):RESET_HW_MT") { field(OMSL, "supervisory") field(SELM, "All") - field(OUTA, "$(INSTR)$(NAME):MT1 PP") - field(OUTB, "$(INSTR)$(NAME):MT2 PP") - field(OUTC, "$(INSTR)$(NAME):MT3 PP") - field(OUTD, "$(INSTR)$(NAME):MT4 PP") + field(OUTA, "$(INSTR)$(NAME):CH1_PRESET PP") + field(OUTB, "$(INSTR)$(NAME):CH2_PRESET PP") + field(OUTC, "$(INSTR)$(NAME):CH3_PRESET PP") + field(OUTD, "$(INSTR)$(NAME):CH4_PRESET PP") } -# record(dfanout,"$(INSTR)$(NAME):RESET_MT") -# { -# field(OMSL, "supervisory") -# field(SELM, "All") -# field(OUTA, "$(INSTR)$(NAME):RESET_MT1 PP") -# field(OUTB, "$(INSTR)$(NAME):RESET_MT2 PP") -# field(OUTC, "$(INSTR)$(NAME):RESET_MT3 PP") -# field(OUTD, "$(INSTR)$(NAME):RESET_MT4 PP") -# } - record(dfanout,"$(INSTR)$(NAME):CMONITORS") { field(SELM, "All") field(OMSL, "supervisory") - field(OUTA, "$(INSTR)$(NAME):C1 PP") - field(OUTB, "$(INSTR)$(NAME):C2 PP") - field(OUTC, "$(INSTR)$(NAME):C3 PP") - field(OUTD, "$(INSTR)$(NAME):C4 PP") + field(OUTA, "$(INSTR)$(NAME):CH1_CLEAR PP") + field(OUTB, "$(INSTR)$(NAME):CH2_CLEAR PP") + field(OUTC, "$(INSTR)$(NAME):CH3_CLEAR PP") + field(OUTD, "$(INSTR)$(NAME):CH4_CLEAR PP") } ################################################################################ @@ -71,10 +61,10 @@ record(dfanout,"$(INSTR)$(NAME):THRESHOLD-F") { field(OMSL, "supervisory") field(SELM, "All") - field(OUTA, "$(INSTR)$(NAME):THRESH1 PP") - field(OUTB, "$(INSTR)$(NAME):THRESH2 PP") - field(OUTC, "$(INSTR)$(NAME):THRESH3 PP") - field(OUTD, "$(INSTR)$(NAME):THRESH4 PP") + field(OUTA, "$(INSTR)$(NAME):CH1_THRESH PP") + field(OUTB, "$(INSTR)$(NAME):CH2_THRESH PP") + field(OUTC, "$(INSTR)$(NAME):CH3_THRESH PP") + field(OUTD, "$(INSTR)$(NAME):CH4_THRESH PP") } ################################################################################ diff --git a/db/daq_8ch.db b/db/daq_8ch.db index ece1e16..675d3fb 100644 --- a/db/daq_8ch.db +++ b/db/daq_8ch.db @@ -28,49 +28,35 @@ record(longin, "$(INSTR)$(NAME):MONITOR-CHANNEL_RBV") record(ai, "$(INSTR)$(NAME):HW_MT") { field(DESC, "Monitor threshold to actually use") - field(INP, "$(INSTR)$(NAME):MT1 NPP") + field(INP, "$(INSTR)$(NAME):CH1_PRESET NPP") } record(dfanout,"$(INSTR)$(NAME):RESET_HW_MT") { field(OMSL, "supervisory") field(SELM, "All") - field(OUTA, "$(INSTR)$(NAME):MT1 PP") - field(OUTB, "$(INSTR)$(NAME):MT2 PP") - field(OUTC, "$(INSTR)$(NAME):MT3 PP") - field(OUTD, "$(INSTR)$(NAME):MT4 PP") - field(OUTE, "$(INSTR)$(NAME):MT5 PP") - field(OUTF, "$(INSTR)$(NAME):MT6 PP") - field(OUTG, "$(INSTR)$(NAME):MT7 PP") - field(OUTH, "$(INSTR)$(NAME):MT8 PP") + field(OUTA, "$(INSTR)$(NAME):CH1_PRESET PP") + field(OUTB, "$(INSTR)$(NAME):CH2_PRESET PP") + field(OUTC, "$(INSTR)$(NAME):CH3_PRESET PP") + field(OUTD, "$(INSTR)$(NAME):CH4_PRESET PP") + field(OUTE, "$(INSTR)$(NAME):CH5_PRESET PP") + field(OUTF, "$(INSTR)$(NAME):CH6_PRESET PP") + field(OUTG, "$(INSTR)$(NAME):CH7_PRESET PP") + field(OUTH, "$(INSTR)$(NAME):CH8_PRESET PP") } -# record(dfanout,"$(INSTR)$(NAME):RESET_MT") -# { -# field(OMSL, "supervisory") -# field(SELM, "All") -# field(OUTA, "$(INSTR)$(NAME):RESET_MT1 PP") -# field(OUTB, "$(INSTR)$(NAME):RESET_MT2 PP") -# field(OUTC, "$(INSTR)$(NAME):RESET_MT3 PP") -# field(OUTD, "$(INSTR)$(NAME):RESET_MT4 PP") -# field(OUTE, "$(INSTR)$(NAME):RESET_MT5 PP") -# field(OUTF, "$(INSTR)$(NAME):RESET_MT6 PP") -# field(OUTG, "$(INSTR)$(NAME):RESET_MT7 PP") -# field(OUTH, "$(INSTR)$(NAME):RESET_MT8 PP") -# } - record(dfanout,"$(INSTR)$(NAME):CMONITORS") { field(SELM, "All") field(OMSL, "supervisory") - field(OUTA, "$(INSTR)$(NAME):C1 PP") - field(OUTB, "$(INSTR)$(NAME):C2 PP") - field(OUTC, "$(INSTR)$(NAME):C3 PP") - field(OUTD, "$(INSTR)$(NAME):C4 PP") - field(OUTE, "$(INSTR)$(NAME):C5 PP") - field(OUTF, "$(INSTR)$(NAME):C6 PP") - field(OUTG, "$(INSTR)$(NAME):C7 PP") - field(OUTH, "$(INSTR)$(NAME):C8 PP") + field(OUTA, "$(INSTR)$(NAME):CH1_CLEAR PP") + field(OUTB, "$(INSTR)$(NAME):CH2_CLEAR PP") + field(OUTC, "$(INSTR)$(NAME):CH3_CLEAR PP") + field(OUTD, "$(INSTR)$(NAME):CH4_CLEAR PP") + field(OUTE, "$(INSTR)$(NAME):CH5_CLEAR PP") + field(OUTF, "$(INSTR)$(NAME):CH6_CLEAR PP") + field(OUTG, "$(INSTR)$(NAME):CH7_CLEAR PP") + field(OUTH, "$(INSTR)$(NAME):CH8_CLEAR PP") } ################################################################################ @@ -83,14 +69,14 @@ record(dfanout,"$(INSTR)$(NAME):THRESHOLD-F") { field(OMSL, "supervisory") field(SELM, "All") - field(OUTA, "$(INSTR)$(NAME):THRESH1 PP") - field(OUTB, "$(INSTR)$(NAME):THRESH2 PP") - field(OUTC, "$(INSTR)$(NAME):THRESH3 PP") - field(OUTD, "$(INSTR)$(NAME):THRESH4 PP") - field(OUTE, "$(INSTR)$(NAME):THRESH5 PP") - field(OUTF, "$(INSTR)$(NAME):THRESH6 PP") - field(OUTG, "$(INSTR)$(NAME):THRESH7 PP") - field(OUTH, "$(INSTR)$(NAME):THRESH8 PP") + field(OUTA, "$(INSTR)$(NAME):CH1_THRESH PP") + field(OUTB, "$(INSTR)$(NAME):CH2_THRESH PP") + field(OUTC, "$(INSTR)$(NAME):CH3_THRESH PP") + field(OUTD, "$(INSTR)$(NAME):CH4_THRESH PP") + field(OUTE, "$(INSTR)$(NAME):CH5_THRESH PP") + field(OUTF, "$(INSTR)$(NAME):CH6_THRESH PP") + field(OUTG, "$(INSTR)$(NAME):CH7_THRESH PP") + field(OUTH, "$(INSTR)$(NAME):CH8_THRESH PP") } ################################################################################ diff --git a/db/daq_common.db b/db/daq_common.db index 554465d..eda311d 100644 --- a/db/daq_common.db +++ b/db/daq_common.db @@ -5,6 +5,7 @@ # NAME - the device name, e.g. EL737 # PROTO - Stream device protocol file # ASYN_PORT - Low level Asyn IP Port to EL737 +# POLL_FREQ - Scan string defining main status-loop polling frequency (default .5 second) # Send initial initialisation commands record(bo, "$(INSTR)$(NAME):INIT-CONF") @@ -85,8 +86,8 @@ record(mbbiDirect, "$(INSTR)$(NAME):RAW-STATUS") { field(DESC, "Raw returned status value") field(DTYP, "stream") - field(SCAN, ".5 second") - field(INP, "@$(PROTO) readStatus($(INSTR)$(NAME):) $(ASYN_PORT)") + field(SCAN, "$(POLL_FREQ=.5 second)") + field(INP, "@$(PROTO) readStatus($(INSTR)$(NAME):) $(ASYN_PORT)") field(FLNK, "$(INSTR)$(NAME):READALL") } @@ -340,7 +341,7 @@ record(ao, "$(INSTR)$(NAME):FAKE-HW-COUNT") { field(DESC, "Count forever :)") field(OMSL, "closed_loop") - field(DOL, "15768000") # Half a year + field(DOL, "15768000") # Half a year :) field(OUT, "$(INSTR)$(NAME):HW_ETT") field(FLNK, "$(INSTR)$(NAME):PRESET-TIME") } -- 2.52.0