88 lines
2.7 KiB
Plaintext
88 lines
2.7 KiB
Plaintext
record(bo, "$(DEVICE):CONTROL-BRIDGE-CHECK-$(NR)") {
|
|
field(DESC, "Only in MD mode: bridge check $(NR)")
|
|
field(ASG, "PROTECTED")
|
|
field(FLNK, "$(DEVICE):CHECK-$(NR)-MD")
|
|
field(VAL, "0")
|
|
field(ZSV, "NO_ALARM")
|
|
field(OSV, "MINOR")
|
|
field(PINI, "YES")
|
|
}
|
|
|
|
record(bo, "$(DEVICE):CHECK-$(NR)") {
|
|
field(DESC, "$(Description)")
|
|
field(ASG, "PROTECTED")
|
|
field(FLNK, "$(DEVICE):CHECK-$(NR)-MD")
|
|
field(ZSV, "MAJOR")
|
|
field(OSV, "NO_ALARM")
|
|
field(VAL, "1")
|
|
field(PINI, "YES")
|
|
field(HIGH, "1") # Seconds until automatic switch to Alarm
|
|
}
|
|
|
|
record(calc, "$(DEVICE):CHECK-$(NR)-MD") {
|
|
field(DESC, "Check $(NR) MD, written by IOC")
|
|
field(ASG, "READONLY")
|
|
field(FLNK, "$(DEVICE):CHECK-$(NR)-LATCHFWD")
|
|
field(LOLO, "0.1")
|
|
field(LLSV, "MAJOR")
|
|
field(CALC, "A ? 1 : B")
|
|
field(INPA, "$(DEVICE):CONTROL-BRIDGE-CHECK-$(NR)")
|
|
field(INPB, "$(DEVICE):CHECK-$(NR)")
|
|
}
|
|
|
|
# forward only alarm states to latch bo
|
|
record(calcout, "$(DEVICE):CHECK-$(NR)-LATCHFWD") {
|
|
field(DESC, "Latchfwd for check $(NR)")
|
|
field(ASG, "READONLY")
|
|
field(FLNK, "$(DEVICE):CHECK-$(NR)-LATCH")
|
|
field(CALC, "$(Latch)? ( A? C : B ) : 1")
|
|
field(PINI, "YES")
|
|
field(INPA, "$(DEVICE):CONTROL-MODE CP")
|
|
field(INPB, "$(DEVICE):CHECK-$(NR) CP")
|
|
field(INPC, "$(DEVICE):CHECK-$(NR)-MD CP")
|
|
field(OOPT, "When Zero")
|
|
field(DOPT, "Use CALC")
|
|
field(OUT, "$(DEVICE):CHECK-$(NR)-LATCH.VAL")
|
|
}
|
|
|
|
# forward current state to latch bo on reset event
|
|
record(calcout, "$(DEVICE):CHECK-$(NR)-LATCHRST") {
|
|
field(DESC, "Latchfwd for check $(NR)")
|
|
field(ASG, "READONLY")
|
|
field(FLNK, "$(DEVICE):CHECK-$(NR)-LATCH")
|
|
field(SCAN, "Event")
|
|
field(EVNT, "5")
|
|
field(CALC, "$(Latch)? ( A? C : B ) : 1")
|
|
field(PINI, "YES")
|
|
field(INPA, "$(DEVICE):CONTROL-MODE")
|
|
field(INPB, "$(DEVICE):CHECK-$(NR)")
|
|
field(INPC, "$(DEVICE):CHECK-$(NR)-MD")
|
|
field(OOPT, "Every Time")
|
|
field(DOPT, "Use CALC")
|
|
field(OUT, "$(DEVICE):CHECK-$(NR)-LATCH.VAL")
|
|
}
|
|
|
|
record(bo, "$(DEVICE):CHECK-$(NR)-LATCH") {
|
|
field(DESC, "$(Description)")
|
|
field(ASG, "READONLY")
|
|
field(FLNK, "$(DEVICE):CHECK-SUM-OP-A")
|
|
field(ZSV, "MINOR")
|
|
field(OSV, "NO_ALARM")
|
|
field(VAL, "1")
|
|
field(PINI, "YES")
|
|
}
|
|
|
|
# emit event for master rearm when alarm state is left and non latched
|
|
record(calcout, "$(DEVICE):CHECK-$(NR)-REARM-MASTER") {
|
|
field(DESC, "Rearm Master for non latched checks")
|
|
field(ASG, "NOACCESS")
|
|
field(CALC, "!$(Latch)? ( A? C : B ) : 1")
|
|
field(PINI, "YES")
|
|
field(INPA, "$(DEVICE):CONTROL-MODE CP")
|
|
field(INPB, "$(DEVICE):CHECK-$(NR) CP")
|
|
field(INPC, "$(DEVICE):CHECK-$(NR)-MD CP")
|
|
field(OOPT, "Transition To Non-zero")
|
|
field(OEVT, "4")
|
|
field(ODLY, "0.1")
|
|
}
|