RRM 3-13 dbCommon

From EPICSWIKI

EPICS Record Reference Manual


Fields Common to All Record Types

Introduction

This chapter contains a description of fields that are common to all records. These fields are defined in dbcommon.dbd.

Scan Fields

These fields contain information related to how and when a record processes. For a further explanation of these record processing and these fields, see Scanning Specification, Chapter 1, 1. A few records have unique fields that also affect how they process. These fields, if any, will be listed and explained in the chapter for each record.

Field Summary

FieldTypeDCTInitialAccessModifyRec Proc Monitor PP
SCANGBLCHOICEYes0YesYesNoNo
PINIGBLCHOICEYes0YesYesNoNo
PHASSHORTYes0YesYesNoNo
EVNTSHORTYes0YesYesNoNo
PRIOGBLCHOICEYes0YesYesNoNo
DISVSHORTYes1YesYesNoNo
DISASHORTNo0YesYesNoNo
SDISINLINKYes0NoNoN/ANo
PROCUCHARNo0YesYesNoYes
DISSGBLCHOICEYes0YesYesNoNo
LSETSHORTNo0YesNoNo 
LCNTUCHARNo0YesNoNo 
PACTUCHARNo0YesNoNo 
FLNKFWDLINKYesNullNoNoN/ANo

Field Description

NameSummaryDescription
SCANScanning AlgorithmThis can be one of the periodic intervals (.1 second, .2 second, .5 second, 1 second, 2 second, 5 second, 10 second, I/O Intr, Event, or Passive.
PINIProcess at InitializationIf this field is set to YES during database configuration, then the record is processed once at IOC initialization (before the normal scan tasks are started).
PHASScan Phase NumberThis 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 phase number.
EVNTEvent NumberEvent number for scan type SCAN_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)
PRIOPriorityScheduling priority for processing I/O Event scanned records and asynchronous record completion tasks.
DISVDisable ValueIf DISV=DISA, then the record will be disabled, i.e. dbProcess will not process the record.
DISAScan Disable Input Link ValueThis is the value that is compared with DISV to determine if the record is disabled. Its value 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.
SDISScan Disable Input LinkAn input link from which to obtain a value for DISA. This field is ignored unless it is a database link or a channel access link. If it is a database or a channel access link, dbProcess calls dbGetLink to obtain a value for DISA before deciding to call the processing routine.
PROCProcess RecordA record will be processed whenever a dbPutField is directed to this field.
DISSDisable Alarm SeverityWhen this record is disabled, it will be put into alarm with this severity and a status of DISABLE_ALARM.
LSETLock SetThe 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. The only exception is that non-process passive input links do not force the linked record to be in the same lock set. The lock sets are determined at IOC initialization time.
LCNTLock CountThe number of times in succession dbProcess finds the record active, i.e. PACT is TRUE. If dbProcess finds the record active MAX_LOCK (currently set to 10) times in succession, it raises a SCAN_ALARM.
PACTProcessing ActiveSee Application Developers Guide for details on usage. PACT 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.
FLNKForward LinkThis field is a database link. If FLNK is specified, processing this record will force a processing of the scan passive forward link record.

Alarm Fields

These fields indicate the status and severity of alarms, or else determine the how and when alarms are triggered. For a further explanation of database alarms, see Alarm Specification, Chapter 1, 4. Of course, many records have alarm-related fields not common to all records. These fields are listed and explained in the appropriate chapter on each record.

Field Summary

FieldTypeDCTInitialAccessModifyRec Proc MonitorPP
STATGBLCHOICENoUDF_ALARMYesNoYesNo
SEVRGBLCHOICENoINVALID_ALARMYesNoYesNo
NSTAGBLCHOICENo0YesNoNoNo
NSEVGBLCHOICENo0YesNoNoNo
ACKSGBLCHOICENo0YesNoNo 
ACKTGBLCHOICENo11YesNoNo 
UDFUCHARNo1YesYesNoYes


Field Description

NameSummaryDescription
STATCurrent Alarm StatusThese four fields are the alarm status and severity fields. STAT and SEVR are the values seen outside database access. NSTA and NSEV are the fields the database access, record support, and device support use 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.
SEVRCurrent Alarm Severity
NSTANew Alarm Status
NSEVNew Alarm Severity
ACKSAlarm Acknowledge SeverityHighest severity unacknowledged alarm
ACKTAlarm Acknowledge TransientIs it necessary to acknowledge transient alarms?
UDFVAL UndefinedUDF is initialized to TRUE at IOC initialization. Record and device support routines which write to the VAL field are responsible for setting UDF to FALSE.


Device Fields

These fields contain information about the device and record support used by a record.

Field Summary

FieldTypeDCTInitialAccessModifyRec Proc MonitorPP
SPVTNOACCESSNo4NoNoNo 
RSETNOACCESSNo4NoNoNo 
DSETNOACCESSNo4NoNoNo 
DPVTNOACCESSNo4NoNoNo 


Field Description

NameSummaryDescription
SPVTScan PrivateThis field is for private use of the scanning system.
RSETAddress of Record Support Entry TableSee Application Developers Guide for details on usage.
DSETAddress of Device Support Entry TableThis address of the device support entry table for this record. The value of this field is determined at IOC initialization time. Record support routines use this field to locate their device support routines.
DPVTDevice PrivateThis field is for private use of the device support modules.

Debugging Fields

These fields can aid in the debugging process.

Field Summary

FieldTypeDCTInitialAccessModifyRec Proc MonitorPP
TPROUCHARNo0YesYesNoNo
BKPTNOACCESSNo1NoNoNo 


Field Description

NameSummaryDescription
TPROTrace ProcessingIf this field is set TRUE, a message is printed each time this record is processed and a message is printed for each record processed as a result of this record being processed
BKPTBreakPointHolds a pointer to the breakpoint table specified in LINR, if any.


Miscellaneous Fields

These are miscellaneous fields common to all record types.

Field Summary

FieldTypeDCTInitialAccessModifyRec Proc MonitorPP
NAMESTRING [29]Yes0YesNoNo 
DESCSTRING [29]YesNullYesYesNoNo
ASGSTRING [29]YesNullYesYesNo 
TSESHORTNo0YesYesNo 
TSELINLINKYesNullNoNoN/ANo
DTYPDEVCHOICEYes0YesNoNo 
MLOKNOACCESSNo8NoNoNo 
MLISNOACCESSNo12NoNoNo 
DISPUCHARNo0YesYesYesNo
PUTFUCHARNo0YesNoNo 
RPROUCHARNo0YesNoNo 
ASPNOACCESSNo4NoNoNo 
PPNNOACCESSNo4NoNoNo 
PPNRNOACCESSNo4NoNoNo 
RDESNO_ACCESS      
TIMENOACCESSNo8OptionNoNoNo

Field Description

NameSummaryDescription
NAMERecord NameAn arbitrary 28 character record name supplied by the application developer. This name is the means of identifying a specific record. It must have a unique value across all IOCs attached to the same local area subnet.
DESCDescriptionAn arbitrary 28 character record description supplied by the application developer.
ASGAccess Security GroupA character string value defining the access security group for this record. If left NULL, the record is placed in group DEFAULT.
TSETime Stamp EventThe event number for time stamp. This is only meaningful if the IOC has an associated hardware event receiver. See 'er' record for details.
TSELTime Stamp Event LinkAn input link for obtaining the time stamp event number.
DTYPDevice TypeThis 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.
MLOKMonitor LockThe 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.
MLISMonitor ListThis 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.
DISPDisable putFieldsIf this field is set to TRUE, then all dbPutFields (normally issued by channel access) directed to this record are ignored except to the field DISP itself.
PUTFdbPutField ProcessDid dbPutField cause the current record processing?
RPROReprocessReprocess record when current processing completes.
ASPAccess Security Private 
PPNAddress of putNotifyAddress of putNotify callback.
PPNRNext Record for putNotifyNext record for PutNotify.
RDESAddress of dbRecordType 
TIMETimeThe time when this record was last processed, in standard format.




EPICS Record Reference Manual - 19 MAY 1998