Dear colleagues:
I would like to post a question to this mailing list of which I assume that
somebody has already encountered the same problem (and found an answer to
it!!).
Situation: The high voltage control in PHENIX is performed via EPICS.
The version is R3.13.0.beta11/epicsB.
Problem: Many high voltage modules (LeCroy 1458 system, mostly modules
1471N/P, 1469N/P) deliver voltages that can be higher
than the ones that are actually used for the detectors.
Question: How can one impose upper voltage limits on input values to
MEDM?
I know already that EPICS database fields HOPR and LOPR should be used to
check the demanded voltages for upper/lower boundaries. However, it appears
to me that in our high voltage record there are no such fields yet. They
are not listed when I print records on the crate controller.
I append the definition file of the high voltage record that we are using
to this message.
I already tried to add such fields (by copying the last field of the
definition file and replacing the names accordingly).
1st test yielded: The data base can still be loaded into the crate
controller and the control system worked well as it
did before I made this addition.
The new fields could be seen when accessing the high
voltage records. However, there were funny values
retrieved.
2nd test yielded: Now I tried to preset values when building the ASCII
database file for the user channels that the crate
controller loads. The crate controller was rebooted.
However, none of the fields of the high voltage record
were loaded tis time. Apparently my actions were
not correct, but I do not know what exactly was
incorrect; I know too little about EPICS details.
Is this record the right place to add HOPR/LOPR fields at all?
Another observation: I've seen that in other definition files that are
loaded by the crate controller (aiRecord.dbd, aoRecord.dbd) HOPR/LOPR ARE
contained. What are they for?
I append those files as well an excerpt of the field modified by me to this
email.
I would appreciate very much if recipients of this mail could advise on
how to use the HOPR/LOPR fields appropriately, i.e. how they have to be
defined and filled.
Best regards,
Johann M. Heuser
--
============================================================================
| JOHANN M. HEUSER PHENIX Experiment at RHIC/Brookhaven National Lab. |
| |
| State University of New York at Stony Brook |
| Department of Physics and Astronomy phone: (631)-632-4482 |
| Stony Brook, New York 11794-3800, USA fax: (631)-632-8573 |
| e-mail: [email protected] |
============================================================================ recordtype(hiv) {
include "dbCommon.dbd"
field(VAL,DBF_DOUBLE) {
prompt("trigger")
asl(ASL0)
pp(TRUE)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(DVI,DBF_DOUBLE) {
prompt("Demand Voltage IN")
asl(ASL0)
}
field(DVO,DBF_DOUBLE) {
prompt("Demand Voltage OUT")
asl(ASL0)
special(104)
pp(TRUE)
}
field(CDVO,DBF_SHORT) {
prompt("DV OUT cmd")
promptgroup(GUI_DISPLAY)
asl(ASL0)
}
field(MVI,DBF_DOUBLE) {
prompt("Measured Voltage IN")
asl(ASL0)
}
field(HHMV,DBF_FLOAT) {
prompt("MV Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LLMV,DBF_FLOAT) {
prompt("MV Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIMV,DBF_FLOAT) {
prompt("MV High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOMV,DBF_FLOAT) {
prompt("MV Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("MV Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("MV Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSMV,DBF_MENU) {
prompt("MV High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSMV,DBF_MENU) {
prompt("MV Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ADBV,DBF_DOUBLE) {
prompt("MV Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(RUI,DBF_DOUBLE) {
prompt("Ramp Up IN")
asl(ASL0)
}
field(RUO,DBF_DOUBLE) {
prompt("Ramp Up OUT")
asl(ASL0)
special(104)
pp(TRUE)
}
field(CRUO,DBF_SHORT) {
prompt("RUP OUT cmd")
promptgroup(GUI_DISPLAY)
asl(ASL0)
}
field(RDI,DBF_DOUBLE) {
prompt("Ramp Down IN")
asl(ASL0)
}
field(RDO,DBF_DOUBLE) {
prompt("Ramp Down OUT")
asl(ASL0)
special(104)
pp(TRUE)
}
field(CRDO,DBF_SHORT) {
prompt("RDN OUT cmd")
promptgroup(GUI_DISPLAY)
asl(ASL0)
}
field(TCI,DBF_DOUBLE) {
prompt("Trip Current IN")
asl(ASL0)
}
field(TCO,DBF_DOUBLE) {
prompt("Trip Current OUT")
asl(ASL0)
special(104)
pp(TRUE)
}
field(CTCO,DBF_SHORT) {
prompt("TC OUT cmd")
promptgroup(GUI_DISPLAY)
asl(ASL0)
}
field(PTCI, DBF_DOUBLE) {
prompt("Peak Trip Current IN")
asl(ASL0)
}
field(PTCO,DBF_DOUBLE) {
prompt("Peak Trip Current OUT")
asl(ASL0)
special(104)
pp(TRUE)
}
field(CPTCO,DBF_SHORT) {
prompt("Peak TC OUT cmd")
promptgroup(GUI_DISPLAY)
asl(ASL0)
}
field(CEI,DBF_SHORT) {
prompt("Channel Enable IN")
asl(ASL0)
}
field(CEO,DBF_SHORT) {
prompt("Channel Enable OUT")
asl(ASL0)
special(104)
pp(TRUE)
}
field(CCEO,DBF_SHORT) {
prompt("CE OUT cmd")
promptgroup(GUI_DISPLAY)
asl(ASL0)
}
field(RTI,DBF_SHORT) {
prompt("Ramp Trip Enable IN")
asl(ASL0)
}
field(RTO,DBF_SHORT) {
prompt("Ramp Trip Enable OUT")
asl(ASL0)
special(104)
pp(TRUE)
}
field(CRTO,DBF_SHORT) {
prompt("Ramp Trip OUT cmd")
promptgroup(GUI_DISPLAY)
asl(ASL0)
}
field(VZI,DBF_DOUBLE) {
prompt("Measured Volt DZ IN")
asl(ASL0)
}
field(VZO,DBF_DOUBLE) {
prompt("Measured Volt DZ OUT")
asl(ASL0)
special(104)
pp(TRUE)
}
field(CVZO,DBF_SHORT) {
prompt("MVDZ OUT cmd")
promptgroup(GUI_DISPLAY)
asl(ASL0)
}
field(CZI,DBF_DOUBLE) {
prompt("Measured Curr DZ IN")
asl(ASL0)
}
field(CZO,DBF_DOUBLE) {
prompt("Measured Curr DZ OUT")
asl(ASL0)
special(104)
pp(TRUE)
}
field(CCZO,DBF_SHORT) {
prompt("MCDZ OUT cmd")
promptgroup(GUI_DISPLAY)
asl(ASL0)
}
field(MCI,DBF_DOUBLE) {
prompt("Measured Current IN")
asl(ASL0)
}
field(HHMC,DBF_FLOAT) {
prompt("MC Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LLMC,DBF_FLOAT) {
prompt("MC Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIMC,DBF_FLOAT) {
prompt("MC High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOMC,DBF_FLOAT) {
prompt("MC Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSC,DBF_MENU) {
prompt("MC Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSC,DBF_MENU) {
prompt("MC Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSMC,DBF_MENU) {
prompt("MC High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSMC,DBF_MENU) {
prompt("MC Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ADBC,DBF_DOUBLE) {
prompt("MC Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(MCPI,DBF_DOUBLE) {
prompt("Measured Current Peak IN")
asl(ASL0)
}
field(HHMCP,DBF_FLOAT) {
prompt("MCP Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LLMCP,DBF_FLOAT) {
prompt("MCP Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIMCP,DBF_FLOAT) {
prompt("MCP High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOMCP,DBF_FLOAT) {
prompt("MCP Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSCP,DBF_MENU) {
prompt("MCP Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSCP,DBF_MENU) {
prompt("MCP Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSMCP,DBF_MENU) {
prompt("MCP High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSMCP,DBF_MENU) {
prompt("MCP Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ADBCP,DBF_DOUBLE) {
prompt("MCP Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(STI,DBF_SHORT) {
prompt("Status IN")
asl(ASL0)
}
field(HHST,DBF_SHORT) {
prompt("ST Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LLST,DBF_SHORT) {
prompt("ST Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIST,DBF_SHORT) {
prompt("ST High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOST,DBF_SHORT) {
prompt("ST Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSS,DBF_MENU) {
prompt("ST Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSS,DBF_MENU) {
prompt("ST Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSST,DBF_MENU) {
prompt("ST High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSST,DBF_MENU) {
prompt("ST Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(ADBS,DBF_DOUBLE) {
prompt("ST Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(VLI,DBF_DOUBLE) {
prompt("HighVoltage Limit IN")
asl(ASL0)
}
field(SWHC,DBF_SHORT) {
prompt("Switch IN/OUT")
promptgroup(GUI_DISPLAY)
asl(ASL0)
}
field(INIT,DBF_SHORT) {
prompt("Initialized?")
special(SPC_NOMOD)
interest(3)
}
field(CAFD,DBF_STRING) {
prompt("CA request Field")
asl(ASL0)
special(SPC_NOMOD)
size(4)
}
field(CAAD,DBF_SHORT) {
prompt("CA req hardware addr")
asl(ASL0)
}
field(CAVL,DBF_DOUBLE) {
prompt("CA req value")
asl(ASL0)
}
field(INP,DBF_INLINK) {
prompt("Input specification")
promptgroup(GUI_INPUTS)
asl(ASL0)
special(SPC_NOMOD)
interest(1)
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
asl(ASL0)
special(SPC_NOMOD)
interest(1)
}
field(LAMV,DBF_DOUBLE) {
prompt("MV Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(LAMC,DBF_DOUBLE) {
prompt("MC Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(LAMCP,DBF_DOUBLE) {
prompt("MCP Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(LAST,DBF_SHORT) {
prompt("ST Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(LDVO,DBF_DOUBLE) {
prompt("Last DV monitored OUT")
special(SPC_NOMOD)
interest(3)
}
field(LDVI,DBF_DOUBLE) {
prompt("Last DV monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBDV,DBF_DOUBLE) {
prompt("Monitor Deadband DV")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LMVI,DBF_DOUBLE) {
prompt("Last MV monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBMV,DBF_DOUBLE) {
prompt("Monitor Deadband MV")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(AMVI,DBF_DOUBLE) {
prompt("Last MV archived IN")
special(SPC_NOMOD)
interest(3)
}
field(ADMV,DBF_DOUBLE) {
prompt("Archived Deadband MV")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LRUO,DBF_DOUBLE) {
prompt("Last RU monitored OUT")
special(SPC_NOMOD)
interest(3)
}
field(LRUI,DBF_DOUBLE) {
prompt("Last RU monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBRU,DBF_DOUBLE) {
prompt("Monitor Deadband RU")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LRDO,DBF_DOUBLE) {
prompt("Last RD monitored OUT")
special(SPC_NOMOD)
interest(3)
}
field(LRDI,DBF_DOUBLE) {
prompt("Last RD monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBRD,DBF_DOUBLE) {
prompt("Monitor Deadband RD")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LTCO,DBF_DOUBLE) {
prompt("Last TC monitored OUT")
special(SPC_NOMOD)
interest(3)
}
field(LTCI,DBF_DOUBLE) {
prompt("Last TC monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBTC,DBF_DOUBLE) {
prompt("Monitor Deadband TC")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LPTCO,DBF_DOUBLE) {
prompt("Last PTC monitored OUT")
special(SPC_NOMOD)
interest(3)
}
field(LPTCI,DBF_DOUBLE) {
prompt("Last PTC monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBPTC,DBF_DOUBLE) {
prompt("Monitor Deadband Peak TC")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LCEO,DBF_SHORT) {
prompt("Last CE monitored OUT")
special(SPC_NOMOD)
interest(3)
}
field(LCEI,DBF_SHORT) {
prompt("Last CE monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBCE,DBF_SHORT) {
prompt("Monitor Deadband CE")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LRTO,DBF_SHORT) {
prompt("Last RT monitored OUT")
special(SPC_NOMOD)
interest(3)
}
field(LRTI,DBF_SHORT) {
prompt("Last RT monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBRT,DBF_SHORT) {
prompt("Monitor Deadband RT")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LVZO,DBF_DOUBLE) {
prompt("Last VZ monitored OUT")
special(SPC_NOMOD)
interest(3)
}
field(LVZI,DBF_DOUBLE) {
prompt("Last VZ monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBVZ,DBF_DOUBLE) {
prompt("Monitor Deadband VZ")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LCZO,DBF_DOUBLE) {
prompt("Last CZ monitored OUT")
special(SPC_NOMOD)
interest(3)
}
field(LCZI,DBF_DOUBLE) {
prompt("Last CZ monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBCZ,DBF_DOUBLE) {
prompt("Monitor Deadband DZ")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LMCI,DBF_DOUBLE) {
prompt("Last MC monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBMC,DBF_DOUBLE) {
prompt("Monitor Deadband MC")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(AMCI,DBF_DOUBLE) {
prompt("Last MC archived IN")
special(SPC_NOMOD)
interest(3)
}
field(ADMC,DBF_DOUBLE) {
prompt("Archived Deadband MCI")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LMCPI,DBF_DOUBLE) {
prompt("Last MCP monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBMCP,DBF_DOUBLE) {
prompt("Monitor Deadband MCP")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(AMCPI,DBF_DOUBLE) {
prompt("Last MCP archived IN")
special(SPC_NOMOD)
interest(3)
}
field(ADMCP,DBF_DOUBLE) {
prompt("Archived Deadband MCPI")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LSTI,DBF_SHORT) {
prompt("Last ST monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBST,DBF_SHORT) {
prompt("Monitor Deadband ST")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(ASTI,DBF_SHORT) {
prompt("Last ST archived IN")
special(SPC_NOMOD)
interest(3)
}
field(ADST,DBF_SHORT) {
prompt("Archived Deadband STI")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LVLI,DBF_DOUBLE) {
prompt("Last VL monitored IN")
special(SPC_NOMOD)
interest(3)
}
field(DBVL,DBF_DOUBLE) {
prompt("Monitor Deadband VL")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MVHO,DBF_FLOAT) {
prompt("MV & DV Hi Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MVLO,DBF_FLOAT) {
prompt("MV & DV Lo Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(RAHO,DBF_FLOAT) {
prompt("RU&RD Hi Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(RALO,DBF_FLOAT) {
prompt("RU&RD Lo Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MCHO,DBF_FLOAT) {
prompt("MC & TC Hi Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MCLO,DBF_FLOAT) {
prompt("MC & TC Lo Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MCPHO,DBF_FLOAT) {
prompt("MCP & PTC Hi Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MCPLO,DBF_FLOAT) {
prompt("MCP & PTC Lo Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(CEHO,DBF_SHORT) {
prompt("CE Hi Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(CELO,DBF_SHORT) {
prompt("CE Lo Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(RTHO,DBF_SHORT) {
prompt("RT Hi Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(RTLO,DBF_SHORT) {
prompt("RT Lo Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(STHO,DBF_SHORT) {
prompt("ST Hi Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(STLO,DBF_SHORT) {
prompt("ST Lo Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(VZHO,DBF_FLOAT) {
prompt("VZ Hi Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(VZLO,DBF_FLOAT) {
prompt("VZ Lo Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(CZHO,DBF_FLOAT) {
prompt("CZ Hi Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(CZLO,DBF_FLOAT) {
prompt("CZ Lo Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(VLHO,DBF_FLOAT) {
prompt("VL Hi Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(VLLO,DBF_FLOAT) {
prompt("VL Lo Ope Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
}
record(hiv, "HV_PC1_E_S_0_0") {
field(SCAN, "1 second")
field(DTYP, "CEBAF HiVrec L1458")
field(CDVO, "301")
field(CRUO, "302")
field(CRDO, "303")
field(CTCO, "304")
field(CCEO, "305")
field(CVZO, "306")
field(CCZO, "307")
field(CRTO, "308")
field(CPTCO, "309")
field(INP, "#R64 L03 U01 H00")
field(OUT, "#R64 L03 U01 H00")
field(HIST, "7")
field(LOST, "0")
field(HSST, "2")
field(LSST, "1")
field(HOPR, "-2700") <---- I tried to add these two fields
field(LOPR, "0") <---- containing the upper and lower
} voltage boundaries. recordtype(ai) {
include "dbCommon.dbd"
field(VAL,DBF_DOUBLE) {
prompt("Current EGU Value")
asl(ASL0)
pp(TRUE)
}
field(INP,DBF_INLINK) {
prompt("Input Specification")
promptgroup(GUI_INPUTS)
interest(1)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LINR,DBF_MENU) {
prompt("Linearization")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
menu(menuConvert)
}
field(EGUF,DBF_FLOAT) {
prompt("Engineer Units Full")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGUL,DBF_FLOAT) {
prompt("Engineer Units Low")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(AOFF,DBF_FLOAT) {
prompt("Adjustment Offset")
promptgroup(GUI_CONVERT)
pp(TRUE)
interest(1)
}
field(ASLO,DBF_FLOAT) {
prompt("Adjustment Slope")
promptgroup(GUI_CONVERT)
pp(TRUE)
interest(1)
initial("1")
}
field(SMOO,DBF_FLOAT) {
prompt("Smoothing")
promptgroup(GUI_CONVERT)
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LALM,DBF_DOUBLE) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_DOUBLE) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_DOUBLE) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
field(ESLO,DBF_DOUBLE) {
prompt("Rawto EGU Slope")
special(SPC_NOMOD)
interest(2)
initial("1")
}
field(ROFF,DBF_LONG) {
prompt("Raw Offset")
pp(TRUE)
interest(2)
}
field(PBRK,DBF_NOACCESS) {
prompt("Ptrto brkTable")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * pbrk")
}
field(INIT,DBF_SHORT) {
prompt("Initialized?")
special(SPC_NOMOD)
interest(3)
}
field(LBRK,DBF_SHORT) {
prompt("LastBreak Point")
special(SPC_NOMOD)
interest(3)
}
field(RVAL,DBF_LONG) {
prompt("Current Raw Value")
pp(TRUE)
}
field(ORAW,DBF_LONG) {
prompt("Previous Raw Value")
special(SPC_NOMOD)
interest(3)
}
field(SIOL,DBF_INLINK) {
prompt("Sim Input Specifctn")
promptgroup(GUI_INPUTS)
interest(1)
}
field(SVAL,DBF_DOUBLE) {
prompt("Simulation Value")
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
}
menu(aoOIF) {
choice(aoOIF_Full,"Full")
choice(aoOIF_Incremental,"Incremental")
}
recordtype(ao) {
include "dbCommon.dbd"
field(VAL,DBF_DOUBLE) {
prompt("Desired Output")
asl(ASL0)
pp(TRUE)
}
field(OVAL,DBF_DOUBLE) {
prompt("Output Value")
}
field(OUT,DBF_OUTLINK) {
prompt("Output Specification")
promptgroup(GUI_OUTPUT)
interest(1)
}
field(OROC,DBF_FLOAT) {
prompt("Output Rate of Chang")
promptgroup(GUI_OUTPUT)
interest(1)
}
field(DOL,DBF_INLINK) {
prompt("Desired Output Loc")
promptgroup(GUI_OUTPUT)
interest(1)
}
field(OMSL,DBF_MENU) {
prompt("Output Mode Select")
promptgroup(GUI_OUTPUT)
interest(1)
menu(menuOmsl)
}
field(OIF,DBF_MENU) {
prompt("Out Full/Incremental")
promptgroup(GUI_OUTPUT)
interest(1)
menu(aoOIF)
}
field(PREC,DBF_SHORT) {
prompt("Display Precision")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LINR,DBF_MENU) {
prompt("Linearization")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
menu(menuConvert)
}
field(EGUF,DBF_FLOAT) {
prompt("Eng Units Full")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGUL,DBF_FLOAT) {
prompt("Eng Units Low")
promptgroup(GUI_CONVERT)
special(SPC_LINCONV)
pp(TRUE)
interest(1)
}
field(EGU,DBF_STRING) {
prompt("Engineering Units")
promptgroup(GUI_DISPLAY)
interest(1)
size(16)
}
field(ROFF,DBF_LONG) {
prompt("Raw Offset")
pp(TRUE)
interest(2)
}
field(ESLO,DBF_DOUBLE) {
prompt("EGU to Raw Slope")
special(SPC_NOMOD)
interest(2)
initial("1")
}
field(DRVH,DBF_FLOAT) {
prompt("Drive High Limit")
promptgroup(GUI_OUTPUT)
pp(TRUE)
interest(1)
}
field(DRVL,DBF_FLOAT) {
prompt("Drive Low Limit")
promptgroup(GUI_OUTPUT)
pp(TRUE)
interest(1)
}
field(HOPR,DBF_FLOAT) {
prompt("High Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(LOPR,DBF_FLOAT) {
prompt("Low Operating Range")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(AOFF,DBF_FLOAT) {
prompt("Adjustment Offset")
promptgroup(GUI_CONVERT)
pp(TRUE)
interest(1)
}
field(ASLO,DBF_FLOAT) {
prompt("Adjustment Slope")
promptgroup(GUI_CONVERT)
pp(TRUE)
interest(1)
}
field(HIHI,DBF_FLOAT) {
prompt("Hihi Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOLO,DBF_FLOAT) {
prompt("Lolo Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HIGH,DBF_FLOAT) {
prompt("High Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(LOW,DBF_FLOAT) {
prompt("Low Alarm Limit")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
}
field(HHSV,DBF_MENU) {
prompt("Hihi Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LLSV,DBF_MENU) {
prompt("Lolo Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HSV,DBF_MENU) {
prompt("High Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(LSV,DBF_MENU) {
prompt("Low Severity")
promptgroup(GUI_ALARMS)
pp(TRUE)
interest(1)
menu(menuAlarmSevr)
}
field(HYST,DBF_DOUBLE) {
prompt("Alarm Deadband")
promptgroup(GUI_ALARMS)
interest(1)
}
field(ADEL,DBF_DOUBLE) {
prompt("Archive Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(MDEL,DBF_DOUBLE) {
prompt("Monitor Deadband")
promptgroup(GUI_DISPLAY)
interest(1)
}
field(RVAL,DBF_LONG) {
prompt("Current Raw Value")
pp(TRUE)
}
field(ORAW,DBF_LONG) {
prompt("Previous Raw Value")
special(SPC_NOMOD)
interest(3)
}
field(RBV,DBF_LONG) {
prompt("Readback Value")
special(SPC_NOMOD)
}
field(ORBV,DBF_LONG) {
prompt("Prev Readback Value")
special(SPC_NOMOD)
interest(3)
}
field(PVAL,DBF_DOUBLE) {
prompt("Previous value")
special(SPC_NOMOD)
interest(3)
}
field(LALM,DBF_DOUBLE) {
prompt("Last Value Alarmed")
special(SPC_NOMOD)
interest(3)
}
field(ALST,DBF_DOUBLE) {
prompt("Last Value Archived")
special(SPC_NOMOD)
interest(3)
}
field(MLST,DBF_DOUBLE) {
prompt("Last Val Monitored")
special(SPC_NOMOD)
interest(3)
}
field(PBRK,DBF_NOACCESS) {
prompt("Ptrto brkTable")
special(SPC_NOMOD)
interest(4)
size(4)
extra("void * pbrk")
}
field(INIT,DBF_SHORT) {
prompt("Initialized?")
special(SPC_NOMOD)
interest(3)
}
field(LBRK,DBF_SHORT) {
prompt("LastBreak Point")
special(SPC_NOMOD)
interest(3)
}
field(SIOL,DBF_OUTLINK) {
prompt("Sim Output Specifctn")
promptgroup(GUI_INPUTS)
interest(1)
}
field(SIML,DBF_INLINK) {
prompt("Sim Mode Location")
promptgroup(GUI_INPUTS)
interest(1)
}
field(SIMM,DBF_MENU) {
prompt("Simulation Mode")
interest(1)
menu(menuYesNo)
}
field(SIMS,DBF_MENU) {
prompt("Sim mode Alarm Svrty")
promptgroup(GUI_INPUTS)
interest(2)
menu(menuAlarmSevr)
}
field(IVOA,DBF_MENU) {
prompt("INVALID output action")
promptgroup(GUI_OUTPUT)
interest(2)
menu(menuIvoa)
}
field(IVOV,DBF_DOUBLE) {
prompt("INVALID output value")
promptgroup(GUI_OUTPUT)
interest(2)
}
field(OMOD,DBF_UCHAR) {
prompt("Was OVAL modified?")
special(SPC_NOMOD)
}
}
- Replies:
- Re: EPICS question: upper/lower voltage check Burkhard W. Kolb
- Re: EPICS question: upper/lower voltage check Marty Kraimer
- Navigate by Date:
- Prev:
Re: All outlinks not created equal?? Brian McAllister
- Next:
telnet based device support Jim Thomas
- Index:
1994
1995
1996
1997
1998
1999
<2000>
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: All outlinks not created equal?? Ned Arnold
- Next:
Re: EPICS question: upper/lower voltage check Burkhard W. Kolb
- Index:
1994
1995
1996
1997
1998
1999
<2000>
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|