Signal Class Users Guide
DOMAIN/FAMILY/MEMBER/SIGNALThe signal name is an extension to the device name used in the ESRF control system. To create a signal object, a name with four fields must be used. This corresponds to signal naming as it is used in the history database and in general data display applications.
A signal object represents a simple long, float or double data value. Description resources allow a dynamic configuration for tracing and logging and archiving applications. Maximum and minimum values can be checked and alarm levels can be specified and verified.
Property | Description |
---|---|
Name | The full signal name. |
Label | A label for the signal value, which can be used in applications. |
Unit | The unit of the signal value. |
Format | The format in which the data should be displayed (printf() format). |
Description | A text describing the signal. |
Max | A maximum value. Can be used for data display or to check limits of set values. |
Min | A minimum value. Can be used for data display or to check limits of set values. |
AlHigh | Above this limit an alarm will be indicated. |
AlLow | Under this limit an alarm will be indicated. |
Delta | If the nominal value and the read value of the signal differ by +/- delta during the number of seconds specified by "Delta_t" , an alarm will be raised. |
Delta_t | If the nominal value differs from the read value for a longer time than Dta_t seconds, an alarm will be raised. |
Standard Unit | A multiplier factor to convert the given signal unit into a standard unit (V, A, W, bar ...). |
All resource definitions are searched in three levels. First a set of default resources for the signal class will initialise a newly created object.
#To offer a second level of resources the function object_initialise() was modified from the standard device server template. A class_name argument was added to the function to allow the specification of signal resources for a whole class of devices.#------------------------------------------------------------------------
# Signal Class Default Resources
#------------------------------------------------------------------------
#
CLASS/SIGNAL/DEFAULT/Label: "No Label"
CLASS/SIGNAL/DEFAULT/Unit: "No Unit"
CLASS/SIGNAL/DEFAULT/Format: "No Format"
CLASS/SIGNAL/DEFAULT/Descr: "No Description"
#
CLASS/SIGNAL/DEFAULT/AlHigh: "Not specified"
CLASS/SIGNAL/DEFAULT/AlLow: "Not specified"
CLASS/SIGNAL/DEFAULT/Max: "Not specified"
CLASS/SIGNAL/DEFAULT/Min: "Not specified"
CLASS/SIGNAL/DEFAULT/Delta: "Not specified"
CLASS/SIGNAL/DEFAULT/Dta_t: "Not specified"
CLASS/SIGNAL/DEFAULT/StdU: "1"
#
static long object_initialise (Dssignal ds, char *dev_class_name, long *error);Every object of a device class will treat the same signals. A set of default resources for the device class can be specified. For example a set of resources for the signal "Voltage" of the "RF-Anode" class.
CLASS/RF-Anode/DEFAULT/Voltage.Label: "Anode Voltage"The resource database only provides four fields to set up resources. To simulate a fifth field a point is used to separate the signal name from the resource name of the signal.CLASS/RF-Anode/DEFAULT/Voltage.Unit: kV
CLASS/RF-Anode/DEFAULT/Voltage.Format: "%4.1f"
CLASS/RF-Anode/DEFAULT/Voltage.Descr: "Voltage measurement of" \
"the anode modulator" \
"power supply."
CLASS/RF-Anode/DEFAULT/Voltage.StdU: "100"
The last level allows resource specification per signal. The resource path is the device name and the fourth field is used as described for the class resources. For example a set of resources for the signal "Voltage" of the device "SR/RF-ANODE/TRA3" of the "RF-Anode" class.
SR/RF-ANODE/TRA3/Voltage.AlHigh: 100.0SR/RF-ANODE/TRA3/Voltage.AlLow: 20.0
SR/RF-ANODE/TRA3/Voltage.Max: 120.0
SR/RF-ANODE/TRA3/Voltage.Min: 0.0
SR/RF-ANODE/TRA3/Voltage.Delta: 1.0
SR/RF-ANODE/TRA3/Voltage.Dta_t: 20
The other possible alarm is an alarm on the difference between a nominal value and the actual read value of a signal. If the read value differs from the nominal value by +/- "Delta" for a longer time than "Dta_t" seconds, an alarm will be returned when executing "DevMethodCheckAlarm" on page 6. The nominal value of a signal must be applied with the method "DevMethodCheckLimits" on page 5. Changing the nominal value resets the time counter to zero..
properties.length = 12properties.sequence[0] = Name of signal
properties.sequence[1] = Label
properties.sequence[2] = Unit
properties.sequence[3] = Format
properties.sequence[4] = Description
properties.sequence[5] = Maximum value
properties.sequence[6] = Minimum value
properties.sequence[7] = Alarm high
properties.sequence[8] = Alarm low
properties.sequence[9] = Delta value
properties.sequence[10] = Time interval
properties.sequence[11] = Multilier for standard units.
DEVHIGH = Exceeded maximum value.DEVLOW = Exceeded minimum value
DEVRUN = Signal is in the given range.
DEVHIGH = Exceeded high alarm level.DEVLOW = Exceeded low alarm level.
DEVEXTRACTED = Difference between read and set (nominal) value.
DEVRUN = Signal is in the given range.
"%s higher as alarm level\n", Label"%s lower as alarm level\n", Label
Generated with Harlequin WebMaker