This section contains a description of the fields that are common to all record types. These fields are defined in dbCommon.dbd.
See also Fields Common to Input Record Types and Fields Common to Output Record Types.
The NAME field contains the record name which must be unique within an EPICS Channel Access name space. The name is supplied by the application developer and is the means of identifying a specific record. The name has a maximum length of 60 characters and should use only this limited set of characters:
a-z A-Z 0-9 _ - : [ ] < > ;
The DESC field may be set to provide a meaningful description of the record's purpose. Maximum length is 40 characters.
Field Summary Type DCT Default Read Write CA PP NAME Record Name STRING [61] No Yes No No DESC Descriptor STRING [41] Yes Yes Yes No
These fields contain information related to how and when a record processes. A few records have unique fields that also affect how they process. These fields, if any, will be listed and explained in the section for each record.
The SCAN field specifies the scanning period for periodic record scans or the scan type for non-periodic record scans. The default set of values for SCAN can be found in menuScan.dbd.
The choices provided by this menu are:
Passive
for the record scan to be triggered by other records or Channel AccessEvent
for event-driven scanI/O Intr
for interrupt-driven scanAdditional periodic scan rates may be defined for individual IOCs by making a local copy of menuScan.dbd and adding more choices as required. Scan rates should normally be defined in order, with the fastest rates appearing first. Scan periods may now be specified in seconds, minutes, hours or Hertz/Hz, and plural time units will also be accepted (seconds are used if no unit is mentioned in the choice string). For example the rates given below are all valid:
1 hour 0.5 hours 15 minutes 3 seconds 1 second 2 Hertz
The PINI field specifies record processing at initialization. If it is set to YES during database configuration, the record is processed once at IOC initialization (before the normal scan tasks are started).
The PHAS field orders the records within a specific SCAN group. This is not meaningful for passive records. All records of a specified phase are processed before those with higher phase number. Whenever possible it is better to use linked passive records to enforce the order of processing rather than a phase number.
The EVNT field specifies an event number. This event number is used if the SCAN field is set to Event
. All records with scan type Event
and the same EVNT value will be processed when a call to post_event for EVNT is made. The call to post_event is: post_event(short event_number).
The PRIO field specifies the scheduling priority for processing records with SCAN=I/O Event
and asynchronous record completion tasks.
The DISV field specifies a "disable value". Record processing is immediately terminated if the value of this field is equal to the value of the DISA field, i.e. the record is disabled. Note that field values of a record can be changed by database put or Channel Access, even if a record is disabled.
The DISA field contains the value that is compared with DISV to determine if the record is disabled. The value of the DISA field is obtained via SDIS if SDIS is a database or channel access link. If SDIS is not a database or channel access link, then DISA can be set via dbPutField or dbPutLink.
If the PROC field of a record is written to, the record is processed.
The DISS field defines the record's "disable severity". If this field is not NO_ALARM and the record is disabled, the record will be put into alarm with this severity and a status of DISABLE_ALARM.
The LSET field contains the lock set to which this record belongs. All records linked in any way via input, output, or forward database links belong to the same lock set. Lock sets are determined at IOC initialization time, and are updated whenever a database link is added, removed or altered.
The LCNT field counts the number of times dbProcess finds the record active during successive scans, i.e. PACT is TRUE. If dbProcess finds the record active MAX_LOCK times (currently set to 10) it raises a SCAN_ALARM.
The PACT field is TRUE while the record is being processed. For asynchronous records PACT can be TRUE from the time record processing is started until the asynchronous completion occurs. As long as PACT is TRUE, dbProcess will not call the record processing routine. See Application Developers Guide for details on usage of PACT.
The FLNK field is a database link to another record (the "target" record). Processing a record with a specified FLNK field will force processing of the target record, provided the target record's SCAN field is set to Passive
.
The SPVT field is for internal use by the scanning system.
Field Summary Type DCT Default Read Write CA PP SCAN Scan Mechanism MENU (menuScan) Yes Yes Yes No PINI Process at iocInit MENU (menuPini) Yes Yes Yes No PHAS Scan Phase SHORT Yes Yes Yes No EVNT Event Name STRING [40] Yes Yes Yes No PRIO Scheduling Priority MENU (menuPriority) Yes Yes Yes No DISV Disable Value SHORT Yes 1 Yes Yes No DISA Disable SHORT No Yes Yes No SDIS Scanning Disable INLINK Yes Yes Yes No PROC Force Processing UCHAR No Yes Yes Yes DISS Disable Alarm Sevrty MENU (menuAlarmSevr) Yes Yes Yes No LCNT Lock Count UCHAR No Yes No No PACT Record active UCHAR No Yes No No FLNK Forward Process Link FWDLINK Yes Yes Yes No SPVT Scan Private NOACCESS No No No No
These fields indicate the status and severity of alarms, or else determine the how and when alarms are triggered. Of course, many records have alarm-related fields not common to all records. These fields are listed and explained in the appropriate section on each record.
The STAT field contains the current alarm status.
The SEVR field contains the current alarm severity.
These two fields are seen outside database access. The NSTA and NSEV fields are used by the database access, record support, and device support routines to set new alarm status and severity values. Whenever any software component discovers an alarm condition, it uses the following macro function: recGblSetSevr(precord,new_status,new_severity) This ensures that the current alarm severity is set equal to the highest outstanding alarm. The file alarm.h defines all allowed alarm status and severity values.
The ACKS field contains the highest unacknowledged alarm severity.
The ACKT field specifies if it is necessary to acknowledge transient alarms.
The UDF indicates if the record's value is UnDeFined. Typically this is caused by a failure in device support, the fact that the record has never been processed, or that the VAL field currently contains a NaN (not a number). UDF is initialized to TRUE at IOC initialization. Record and device support routines which write to the VAL field are responsible for setting UDF.
Field Summary Type DCT Default Read Write CA PP STAT Alarm Status MENU (menuAlarmStat) No UDF Yes No No SEVR Alarm Severity MENU (menuAlarmSevr) No Yes No No NSTA New Alarm Status MENU (menuAlarmStat) No Yes No No NSEV New Alarm Severity MENU (menuAlarmSevr) No Yes No No ACKS Alarm Ack Severity MENU (menuAlarmSevr) No Yes No No ACKT Alarm Ack Transient MENU (menuYesNo) Yes YES Yes No No UDF Undefined UCHAR Yes 1 Yes Yes Yes
The RSET field contains the address of the Record Support Entry Table. See the Application Developers Guide for details on usage.
The DSET field contains the address of Device Support Entry Table. The value of this field is determined at IOC initialization time. Record support routines use this field to locate their device support routines.
The DPVT field is is for private use of the device support modules.
Field Summary Type DCT Default Read Write CA PP RSET Address of RSET NOACCESS No No No No DSET DSET address NOACCESS No No No No DPVT Device Private NOACCESS No No No No
The TPRO field is used for trace processing. If this field is non-zero a message is printed whenever this record is processed, and when any other record in the same lock-set is processed by a database link from this record.
The BKPT field indicates if there is a breakpoint set at this record. This supports setting a debug breakpoint in the record processing. STEP through database processing can be supported using this.
Field Summary Type DCT Default Read Write CA PP TPRO Trace Processing UCHAR No Yes Yes No BKPT Break Point NOACCESS No No No No
The ASG field contains a character string value defining the access security group for this record. If left empty, the record is placed in group DEFAULT.
The ASP field is a field for private use of the access security system.
The DISP field controls dbPutFields to this record which are normally issued by channel access. If the field is set to TRUE all dbPutFields directed to this record are ignored except to the field DISP itself.
The DTYP field specifies the device type for the record. Each record type has its own set of device support routines which are specified in devSup.ASCII. If a record type does not have any associated device support, DTYP and DSET are meaningless.
The MLOK field contains the monitor lock. The lock used by the monitor routines when the monitor list is being used. The list is locked whenever monitors are being scheduled, invoked, or when monitors are being added to or removed from the list. This field is accessed only by the dbEvent routines.
The MLIS field is the head of the list of monitors connected to this record. Each record support module is responsible for triggering monitors for any fields that change as a result of record processing. Monitors are present if mlis count is greater than zero. The call to trigger monitors is: db_post_event(precord,&data,mask), where "mask" is some combination of DBE_ALARM, DBE_VALUE, and DBE_LOG.
The PPN field contains the address of a putNotify callback.
The PPNR field contains the next record for PutNotify.
The PUTF field is set to TRUE if dbPutField caused the current record processing.
The RDES field contains the address of dbRecordType
The RPRO field specifies a reprocessing of the record when current processing completes.
The TIME field contains the time when this record was last processed in standard format.
The TSE field indicates the mechanism to use to get the time stamp. '0' - call get time as before '-1' - call the time stamp driver and use the best source available. '-2' - the device support provides the time stamp from the hardware. Values between 1-255 request the time of the last occurance of a generalTime event.
The TSEL field contains an input link for obtaining the time stamp. If this link references the .TIME field of a record then the time stamp of the referenced record becomes the time stamp for this record as well. In this case, an internal flag is set and ".TIME" is then overwritten by ".VAL". If any other field is referenced, the field value is read and stored in the .TSE field which is then used to acquire a timestamp.
Field Summary Type DCT Default Read Write CA PP ASG Access Security Group STRING [29] Yes Yes Yes No ASP Access Security Pvt NOACCESS No No No No DISP Disable putField UCHAR No Yes Yes No DTYP Device Type DEVICE Yes Yes Yes No MLOK Monitor lock NOACCESS No No No No MLIS Monitor List NOACCESS No No No No PPN pprocessNotify NOACCESS No No No No PPNR pprocessNotifyRecord NOACCESS No No No No PUTF dbPutField process UCHAR No Yes No No RDES Address of dbRecordType NOACCESS No No No No RPRO Reprocess UCHAR No Yes No No TIME Time NOACCESS No No No No TSE Time Stamp Event SHORT Yes Yes Yes No TSEL Time Stamp Link INLINK Yes Yes Yes No