NB: This manual documents a 20+ year old version of EPICS, see here for the EPICS 7 Record Reference documentation.
EPICS Record Reference Manual
The first element of the sub-array, that at location INDX in the referenced waveform record, can be displayed as a scalar, or the entire subarray (of length NELM) can be displayed in the same way as a waveform record. If there are fewer than NELM elements in the referenced waveform after the INDX, only the number of elements actually available are returned, and the number of elements read field (NORD) is set to reflect this. This record type does not support writing new values into waveform records.
The subArray's fields fall into the following categories:
scan parameters
read parameters
array parameters
operator display parameters
run-time parameters
In addition, the DTYP field must specify a device support module. Currently, the only device support module is Soft Channel
.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
INP | Input Link | INLINK | Yes | 0 | No | N/A | No | |
DTYP | Device Type | DEVCHOICE | Yes | 0 | Yes | No | No | No |
The user specifies the maximum number of elements allowed in the subarray in the MALM field. Generally, the number should be equal to the number of elements of the Waveform array (found in the Waveform's NELM field). The MALM field is used to allocate memory. The subArray's Number of Elements (NELM) field is where the user specifies the actual number of elements that the subArray will contain. It should of course be no greater than MALM; if it is, the record processing routine sets it equal to MALM.
The INDX field determines the offset of the subArray record's array in relation to the Waveform's. For instance, if INDX is 2, then the subArray will read NELM elements starting with the third element of the Waveform's array. Thus, it equals the index number of the Waveform's array.
The actual sub-array is referenced by the VAL field.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
FTVL | Field Type of Value | GBLCHOICE | Yes | 0 | Yes | No | No | No |
VAL | Value Field | (See FTVL) | No | 0 | Yes | Yes | Yes | No |
MALM | Maximum Number of Elements In Sub-array | ULONG | Yes | 1 | Yes | No | No | No |
NELM | Number of Elements In Sub-array | ULONG | Yes | 1 | Yes | Yes | No | Yes |
INDX | Index Into Referenced Array | ULONG | Yes | 0 | Yes | Yes | No | Yes |
EGU is a string of up to 16 characters describing the engineering units (if any) of the values which the subArray holds. It is retrieved by the get_units
record support routine.
The HOPR and LOPR fields set the upper and lower display limits for the sub-array elements. Both the get_graphic_double
and get_control_double
record support routines retrieve these fields.
The PREC field determines the floating point precision with which to display VAL. It is used whenever the get_precision
record support routine is called.
See Chapter 2, Fields Common to All Record Types, for more on the record name (NAME) and description (DESC) fields.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
EGU | Engineering Units | STRING [16] | Yes | null | Yes | Yes | No | No |
HOPR | High Operating Range | FLOAT | Yes | 0 | Yes | Yes | No | No |
LOPR | Low Operating Range | FLOAT | Yes | 0 | Yes | Yes | No | No |
PREC | Display Precision | SHORT | Yes | 0 | Yes | Yes | No | No |
NAME | Record Name | STRING [29] | Yes | 0 | Yes | No | No | No |
DESC | Description | STRING [29] | Yes | Null | Yes | Yes | No | No |
The NORD field holds a counter of the number of elements read into the array. It can be less than NELM even after the array is full if NELM exceeds the number of existing elements in the referenced array, i.e., the Waveform's array.
BPTR contains a pointer to the record's array.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
NORD | Number of Elements Read | LONG | No | 0 | Yes | No | No | No |
BPTR | Buffer Pointer | NOACCESS | No | null | Yes | No | No | No |
recGblGetGraphicDouble()
.recGblGetControlDouble()
is called.
Name | Summary | Description |
---|---|---|
PACT | Processing Active | See Chapter 2, Fields Common to All Record Types for an explanation of these fields. |
DPVT | Device Private | |
UDF | VAL Undefined | |
NSEV | New Alarm Severity | |
NSTA | New Alarm Status | |
INP | Input Link | This field is used by the device support routines to locate its input. |
FTVL | Field Type of Value | This is DBF_STRING, ... ,DBF_ENUM. The device support routine should check that this is correctly defined. |
MALM | Maximum Number Of Elements in Sub-array | Number of elements that will fit in the array the record allocates. Device support must never return more elements than this. |
NELM | Number Sub-array Elements | Number of elements in desired sub-array. |
INDX | Index Into Referenced Array | Index of beginning of desired sub-array in source array. |
BPTR | Buffer Pointer | Address of array device support must copy the source array into. |
NORD | Number Of Elements Read | Device support must set this value when it completes. |
report(FILE fp, paddr)not currently used.
init()Not currently used.
init_record(precord)This routine is called by the record support init_record routine.
read_sa(precord)Enough of the source waveform is read into BPTR, from the beginning of the source, to include the requested sub-array. The sub-array is then copied to the beginning of the buffer. NORD is set to indicate how many elements of the sub-array were acquired.
Soft Channel
is currently provided. The INP link type must be either DB_LINK or CA_LINK.
Generated with Harlequin WebMaker