V4 Standard Properties and Events
This page is being used to develop the standard subscription events and related property hierarchies that we expect EPICS V4 servers and clients to use.
Properties
I'll start by going through the 'leaf' property names and their meanings. The hierarchies will be documented later under events.
These initial properties don't necessarily match what Marty and/or Jeff have in mind...
value
This is a scalar or n-dimensional array of any of the basic types.
Q: Should array values use a different property name?
timeStamp
An epicsTimeStamp.
Note: This may have a subproperty at some sites that further describes the event that caused the value: beam type etc.
alarmSeverity
Alarm severity, an enum {None, Minor, Major, Invalid}.
Q: Did we add Offline to this?
alarmStatus
Alarm status, a string.
Q: Do we hide status string compression stuff from the user, or instead make it a special kind of enum that keeps getting longer?
limits: upper, lower
A pair of scalars of the same basic type as the associated value they are subproperties of.
Limits value pairs are used for various properties:
controlLimits
Range of values over which the user can easily change the value, for graphical controls.
convertLimits
Raw to Engineering units conversion process (this might not really be a standard property).
displayLimits
Expected range the value will lie within, for graphical displays of value.
alarmLimits
Marty has these replicating the current "high, low, severity" pattern repeated for an inner and outer range, but I wonder if we couldn't simplify this whole area into just minorAlarmLimits and majorAlarmLimits and drop the severity thing completely. This could reduce the complexity of the code in lots of places.
units
A string containing the units description text of the associated value and limits properties.
choices
An array of strings containing the choice text for each of the enumerated choices of the associated value.
Catalogs
This section documents the standard property hierarchies, giving each one a property catalog name.
alarmCatalog
- alarmSeverity
- alarmStatus
valueCatalog
- value
- timeStamp
- alarmSeverity
- alarmStatus
guiCatalog
This deliberately does not contain the value. It does seem a bit big though, can we split it up a bit?
- choices
- units
- displayLimits
- majorAlarmLimits
- minorAlarmLimits
- controlLimits
Events
value
Posts a valueCatalog
archive
Assuming we still want this, it posts a valueCatalog