205 lines
6.9 KiB
Plaintext
205 lines
6.9 KiB
Plaintext
# On this IOC generic BD Service PVs are defined
|
|
# Access Security Groups:
|
|
# DEFAULT - logt wenn EGU oder so veraendert werden
|
|
# LOG - logt wenn neuer wert geschrieben wird
|
|
# READONLY - verhindert versuchte caputs und aktiviert caputlog
|
|
# Input links can specify CA, CP, or CPP.
|
|
# If the input link specifies CA, it will be forced to be a Channel Access link.
|
|
# If the input link specifies CP, it will also be forced to be a Channel Access link; in addition, it will cause the record containing the input link to process whenever a monitor is posted, no matter what the record's SCAN field specifies.
|
|
# If the input link specifies CPP, it means the same thing as CP, except that the record will be processed if and only if the record itself specifies passive in its SCAN field. Output links can specify CA, which will simply cause them to be Channel Access links.
|
|
|
|
########################
|
|
# AGEBD-MASTER PVs
|
|
########################
|
|
|
|
record(waveform,"AGEBD-MASTER$(SUFFIX):LOG") {
|
|
field(DESC, "systemd logs provided by master service")
|
|
field(ASG, "PROTECTED")
|
|
field(FTVL, "UCHAR")
|
|
field(NELM, "$(SIZE=90000)")
|
|
field(PINI, "YES")
|
|
}
|
|
|
|
record(bo,"AGEBD-MASTER$(SUFFIX):LOG-CLEAR") {
|
|
field(DESC, "Clear logs")
|
|
field(ASG, "PROTECTED")
|
|
field(VAL, "0")
|
|
field(PINI, "YES")
|
|
}
|
|
|
|
record(bo,"AGEBD-MASTER$(SUFFIX):GET-SYSTEMD-STATUS") {
|
|
field(DESC, "request systemd status")
|
|
field(ASG, "PROTECTED")
|
|
field(VAL, "0")
|
|
field(PINI, "YES")
|
|
}
|
|
|
|
# the master service should set this back to 0 when done
|
|
record(bo, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-RESTART-REQ") {
|
|
field(DESC, "Signal for retarting $(SERVICE)")
|
|
field(ASG, "PROTECTED")
|
|
field(FLNK, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-RESTART")
|
|
field(ZNAM, "no request")
|
|
field(ONAM, "request to RESTART")
|
|
field(VAL, "0")
|
|
field(PINI, "YES")
|
|
field(HIGH, "1")
|
|
}
|
|
|
|
record(calcout, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-RESTART") {
|
|
field(DESC, "Request for killing $(SERVICE)")
|
|
field(ASG, "READONLY")
|
|
field(PINI, "YES")
|
|
field(VAL, "0")
|
|
field(CALC, "A && B ? 1 : 0")
|
|
field(INPA, "AGEBD-ALH$(SUFFIX):MASTER-ONOFF") # the master service must be started (1 = start)
|
|
field(INPB, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-RESTART-REQ") # the start request must be active
|
|
field(OOPT, "Transition To Non-zero")
|
|
field(OEVT, "1")
|
|
}
|
|
|
|
# the master service should set this back to 0 when done
|
|
record(bo, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-START-REQ") {
|
|
field(DESC, "Signal for starting $(SERVICE)")
|
|
field(ASG, "PROTECTED")
|
|
field(FLNK, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-START")
|
|
field(ZNAM, "no request")
|
|
field(ONAM, "request to START")
|
|
field(VAL, "0")
|
|
field(PINI, "YES")
|
|
field(HIGH, "1")
|
|
}
|
|
|
|
record(calcout, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-START") {
|
|
field(DESC, "Request for starting $(SERVICE)")
|
|
field(ASG, "READONLY")
|
|
field(PINI, "YES")
|
|
field(VAL, "0")
|
|
field(CALC, "A && B ? 1 : 0")
|
|
field(INPA, "AGEBD-ALH$(SUFFIX):MASTER-ONOFF") # the master service must be started (1 = start)
|
|
field(INPB, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-START-REQ") # the start request must be active
|
|
field(OOPT, "Transition To Non-zero")
|
|
field(OEVT, "1")
|
|
}
|
|
|
|
# the master service should set this back to 0 when done
|
|
# AGEBD-MASTER$(SUFFIX):POSTMORTEMLOG-LOGS-REQ
|
|
record(bo, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-LOGS-REQ") {
|
|
field(DESC, "Signal for requesting logs")
|
|
field(ASG, "PROTECTED")
|
|
field(FLNK, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-LOGS")
|
|
field(ZNAM, "no request")
|
|
field(ONAM, "request to LOGS")
|
|
field(VAL, "0")
|
|
field(PINI, "YES")
|
|
field(HIGH, "1")
|
|
}
|
|
|
|
record(calcout, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-LOGS") {
|
|
field(DESC, "Request systemd logs $(SERVICE)")
|
|
field(ASG, "READONLY")
|
|
field(PINI, "YES")
|
|
field(VAL, "0")
|
|
field(CALC, "A && B ? 1 : 0")
|
|
field(INPA, "AGEBD-ALH$(SUFFIX):MASTER-ONOFF") # the master service must be started (1 = start)
|
|
field(INPB, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-LOGS-REQ") # the start request must be active
|
|
field(OOPT, "Transition To Non-zero")
|
|
field(OEVT, "1")
|
|
}
|
|
|
|
# the master service should set this back to 0 when done
|
|
record(calcout, "AGEBD-MASTER$(SUFFIX):CALLBACK-ANY-REQ") {
|
|
field(DESC, "Callback PV for HLA")
|
|
field(ASG, "READONLY")
|
|
field(SCAN, "Event")
|
|
field(EVNT, "1")
|
|
field(CALC, "VAL + 1")
|
|
field(VAL, "0")
|
|
field(PINI, "YES")
|
|
}
|
|
|
|
|
|
# the killed service should set this to 0 when killed
|
|
record(bo, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-ABORT-REQ") {
|
|
field(DESC, "Signal for killing $(SERVICE)")
|
|
field(ASG, "PROTECTED")
|
|
field(FLNK, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-ABORT")
|
|
field(ZNAM, "no request")
|
|
field(ONAM, "request to abort")
|
|
field(VAL, "0")
|
|
field(PINI, "YES")
|
|
field(HIGH, "5")
|
|
}
|
|
|
|
record(calcout, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-ABORT") {
|
|
field(DESC, "Request for killing $(SERVICE)")
|
|
field(ASG, "READONLY")
|
|
field(PINI, "YES")
|
|
field(VAL, "0")
|
|
field(CALC, "A && B ? 1 : 0")
|
|
field(INPA, "AGEBD-ALH$(SUFFIX):MASTER-ONOFF") # the master service must be started (1 = start)
|
|
field(INPB, "AGEBD-MASTER$(SUFFIX):$(SERVICE)-ABORT-REQ") # the abort request must be active
|
|
}
|
|
|
|
########################
|
|
# AGEBD-ALH PVs
|
|
########################
|
|
record(calc, "AGEBD-ALH$(SUFFIX):$(SERVICE)-ALIVE") {
|
|
field(DESC, "Counter set to 0 if service alive")
|
|
field(ASG, "PROTECTED")
|
|
field(SCAN, "1 second")
|
|
field(CALC, "VAL+1") # ohne InputA funktioniert seit EPICS 7 oder so
|
|
field(PREC, "1")
|
|
field(EGU, "Seconds")
|
|
field(HIGH, "20") # High alarm limit
|
|
field(HSV, "MAJOR") # Severity of "high" alarm
|
|
}
|
|
|
|
record(stringout, "AGEBD-ALH$(SUFFIX):$(SERVICE)-STATUS"){
|
|
field(DESC, "$(SERVICE) run status")
|
|
field(ASG, "PROTECTED")
|
|
}
|
|
|
|
record(stringout, "AGEBD-ALH$(SUFFIX):$(SERVICE)-INFO") {
|
|
field(DESC, "$(SERVICE) info messages")
|
|
field(ASG, "PROTECTED")
|
|
}
|
|
|
|
record(stringout, "AGEBD-ALH$(SUFFIX):$(SERVICE)-STARTTIME"){
|
|
field(DESC, "$(SERVICE) last started at")
|
|
field(ASG, "PROTECTED")
|
|
}
|
|
|
|
record(stringout, "AGEBD-ALH$(SUFFIX):$(SERVICE)-VERSION"){
|
|
field(DESC, "$(SERVICE) running with version")
|
|
field(ASG, "PROTECTED")
|
|
}
|
|
|
|
record(bo, "AGEBD-ALH$(SUFFIX):$(SERVICE)-ONOFF") {
|
|
field(DESC, "pause/start service")
|
|
field(ASG, "PROTECTED")
|
|
field(ZNAM, "Pause")
|
|
field(ONAM, "Start")
|
|
field(VAL, "$(STARTON)")
|
|
field(PINI, "YES")
|
|
field(HIGH, "$(AUTOOFF)") # Seconds until automatic switch back to pause
|
|
}
|
|
|
|
record(calc, "AGEBD-ALH$(SUFFIX):$(SERVICE)-ONOFF-RB") {
|
|
field(DESC, "counter confirming run state of service")
|
|
field(ASG, "PROTECTED")
|
|
field(SCAN, ".1 second")
|
|
field(CALC, "VAL+1") # ohne InputA funktioniert seit EPICS 7 oder so
|
|
field(PREC, "1")
|
|
field(EGU, "Seconds")
|
|
field(HIGH, "20") # High alarm limit
|
|
field(HSV, "MINOR") # Severity of "high" alarm
|
|
}
|
|
|
|
record (bo, "AGEBD-ALH$(SUFFIX):$(SERVICE)-GUIRELOAD"){
|
|
field(DESC, "Trigger reload of $(SERVICE) GUI")
|
|
field(ASG, "PROTECTED")
|
|
field(ZNAM, "idle")
|
|
field(ONAM, "reload")
|
|
field(HIGH, "0.5")
|
|
} |