NB: This manual documents a 20+ year old version of EPICS, see here for the EPICS 7 Record Reference documentation.
EPICS Record Reference Manual
scan parameters
trigger parameters
pulse parameters
output parameters
operator display parameters
run-time parameters
The trigger type (TTYP) field determines whether the pulse trigger comes from an external or internal source. Or, differently put, from a hardware source or from a soft trigger source. When TTYP is set to Hardware
, the HTS field becomes the trigger source for the record. The hard device support sets the HTS. When hardware is chosen, the OUT output link must specify a hardware address, and the DTYP field must specify the appropriate device support module.
When software is specified in the TTYP field, the record uses the SGV field to generate pulses. The SGV field generates a pulse when its value is Active
, and generates no pulse when Inactive
. It's value can be manipulated by dbPuts at run-time, or else a value for STV can be retrieved from the soft trigger location (STL) field, an input link which must be a database link if STV is used.
The GATE field can either enable or disable the generation of pulses. When GATE is 0, no pulses are triggered. When GATE is 1, pulses are triggered according to the record's configuration. A value for GATE can be read from the GLNK field, an input link which can be a constant, database link, or a channel access link. When a constant, GATE is initialized to the constant value. Otherwise, a value for GATE is fetched from the location specified in GLNK each time the record is processed.
The CEDG, CTYP, ECS, and ECR field may not have significance for all device support modules. For the modules they apply to, they control the timing of pulses. The CEDG field determines whether clock timing occurs on the rising edge or falling edge of a signal. It has two choices: Rising Edge
or Falling Edge
. The CTYP field determines whether the timing is controlled externally or internally and has two choices: Internal
and External
. The ECS and ECR fields have significance only if CTYP specifies External
.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
TTYP | Trigger Type (hardware/Software) | RECCHOICE | Yes | 0 | Yes | Yes | No | No |
HTS | Hardware Trigger | ENUM | Yes | 0 | Yes | Yes | No | Yes |
STL | Soft Trigger Location (input link) | INLINK | Yes | 0 | No | No | N/A | No |
STV | Soft Trigger Value | RECCHOICE | Yes | 0 | Yes | Yes | No | Yes |
GATE | Gate for enable/disable of Pulse Generation | RECCHOICE | Yes | 1 | Yes | Yes | No | Yes |
GLNK | Gate Location | INLINK | Yes | 0 | Yes | No | N/A | No |
CTYP | Clock Type | RECCHOICE | Yes | 0 | Yes | Yes | No | No |
CEDG | Clock Signal Edge | RECCHOICE | Yes | 0 | Yes | Yes | No | No |
ECS | External Clock Source | SHORT | Yes | 0 | Yes | Yes | No | No |
ECR | External Clock Rate, in Hz | DOUBLE | Yes | 0 | Yes | Yes | No | No |
Seconds
, Milliseconds
, Microseconds
, Nanoseconds
, or Picoseconds
.The user specifies the time duration of the pulse in the pulse width (WIDE) field, which also uses the UNIT field for its time units.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
UNIT | Time units | RECCHOICE | Yes | 0 | Yes | Yes | No | No |
DLY | Pulse Delay, in UNITS of time | DOUBLE | Yes | 0 | Yes | Yes | Yes | Yes |
WIDE | Pulse Width, in UNITS of time | DOUBLE | Yes | 0 | Yes | Yes | Yes | Yes |
The HOPR and LOPR fields set the upper and lower display limits for the VAL, DLY, ODLY, WIDE, and OWID fields. 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 DLY only. 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 |
---|---|---|---|---|---|---|---|---|
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 | |
DESC | Description | STRING [29] | Yes | Null | Yes | Yes | No | No |
The old delay (ODLY) and old width (OWID) fields are used to implement monitors for the DLY and WIDE fields, respectively. If, for instance, the current value of the DLY field differs from the value held in ODLY, monitors are triggered for the DLY field.
The PFLD indicates which of the following fields have changes since the record was last processed: DLY, WIDE, STV, GATE, or HTS. Some devices use PFLD so that adjustments can be made when any of these fields are changed.
The VAl field indicates whether a pulse has been generated since the last time the record was processed. It is ACTIVE
if YES, INACTIVE
if NO.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
ODLY | Old Delay | DOUBLE | No | 0 | Yes | No | No | No |
OWID | Old Width | DOUBLE | No | 0 | Yes | No | No | No |
PFLD | Processing Field | USHORT | No | 0 | Yes | No | No | No |
VAL | Value | RECCHOICE | No | 0 | Yes | Yes | Yes | No |
LLOW | Low Logic Level | RECCHOICE | Yes | 0 | Yes | Yes | No | No |
Next this routine initializes STV with the value of STL if STL type is CONSTANT link or creates a channel access link if STL type is PV_LINK.
GATE is likewise initialized if GLNK is CONSTANT or PV_LINK.
If device support includes init_record, it is called.
Check to see that the appropriate device support module exists. If it doesn't, an error message is issued and processing is terminated with the PACT field still set to TRUE. This ensures that processes will no longer be called for this record. Thus error storms will not occur.
Name | Summary | Description |
---|---|---|
OUT | Output Link | This field is used by the device support routines to locate its output. |
WIDE | Pulse Width | Device support must use WIDE for pulse width |
DLY | Pulse Delay | Device support must use DLY for the delay after trigger edge until beginning of pulse. |
LLOW | Low Logic Level | Device support must use to determine logic low level. |
UNIT | Time Units | All values that refer to time measure will be in this time unit. |
VAL | Value | This field will contain a 1 if a trigger occurred since the last time the record was processed if the device supports it. |
PFLD | Processing Field | This field is used by some devices to indicate if the record was scanned to adjust certain fields such as delay or trigger source. If the device has a destructive read, then changes to these types of fields could write to the device instead of a read and a write. |
TTYP | Trigger Type | This field is used by the device support routines to force triggering on leading or falling edge of signal if the specified device supports it. |
HTS | Hardware Trigger Source | This field will be used to set the hardware trigger source if the device supports it. |
STV | Soft Trigger Source | This field will be used for software to trigger an output delayed pulse if the device supports it. |
CEDG | Clock Signal Edge | This field is used by the device support routines to force clock timing on leading or falling edge of signal. |
CTYP | Clock Type | If CTYP is external, device support is responsible for using ECR for the clock rate and if CTYP is internal, ECS is the clock source. |
ECS | External Clock Source | |
ECR | External Clock Rate |
report()This routine is optional. If provided, it prints a report of all device modules.
init()This routine is called once during IOC initialization.
init_record(precord)This routine is optional. If provided, it is called by the record support init_record routine.
get_ioint_info(int cmd,struct dbCommon *precord,IOSCANPVT *ppvt)This routine is called by the ioEventScan system each time the record is added or deleted from an I/O event scan list. cmd has the value (0,1) if the record is being (added to, deleted from) an I/O event list. It must be provided for any device type that can use the ioEvent scanner.
write_pd(precord)This routine issues commands to the output device.
Generated with Harlequin WebMaker