Do not poll Threshold when disabled, e.g. Channel=0 #7

Merged
soederqvist_a merged 1 commits from fix-threshold-statusw into master 2026-04-29 11:34:16 +02:00
2 changed files with 14 additions and 2 deletions
+3 -1
View File
@@ -119,7 +119,9 @@ setMinRate{
readMinRate{
out "DL %(\$1THRESHOLD-MONITOR_RBV)d";
in "%f";
@mismatch{in "%(\$1MsgTxt)s";}
@init{
# This is a trick to avoid UDF and initialize to whatever is set in the VAL field
}
}
setRateMonitor{
+11 -1
View File
@@ -238,8 +238,8 @@ record(ai,"$(INSTR)$(NAME):THRESHOLD_RBV")
{
field(DESC, "Minimum rate for counting to proceed")
field(INP, "@$(PROTO) readMinRate($(INSTR)$(NAME):) $(ASYN_PORT)")
field(VAL, 0)
field(DTYP, "stream")
field(SCAN, "1 second")
field(EGU, "cts/sec")
}
@@ -260,6 +260,16 @@ record(longin,"$(INSTR)$(NAME):THRESHOLD-MONITOR_RBV")
field(DTYP, "stream")
field(SCAN, "1 second")
field(EGU, "CH")
field(FLNK, "$(INSTR)$(NAME):THRESHOLD-MONITOR-FLNK")
}
record(calcout, "$(INSTR)$(NAME):THRESHOLD-MONITOR-FLNK")
{
field(DESC, "Only process Threshold when Non-Zero")
field(CALC, "A")
field(INPA, "$(INSTR)$(NAME):THRESHOLD-MONITOR_RBV")
field(OOPT, "When Non-zero")
field(OUT, "$(INSTR)$(NAME):THRESHOLD_RBV.PROC PP")
}
record(longout, "$(INSTR)$(NAME):CT")