Table of Contents
Previous Chapter Chapter 2: Fields Common to All Record Types
This chapter contains a description of fields that are common to all records. These fields are defined in dbcommon.ascii.
--------------------------------------------------------------------
Field Type DCT Initial Access Modify Rec Proc PP
Monitor
--------------------------------------------------------------------
NAME STRING Yes 0 Yes No No
DESC STRING Yes Null Yes Yes No No
ASG STRING Yes Null Yes Yes No
SCAN GBLCHOICE Yes 0 Yes Yes No No
PINI GBLCHOICE Yes 0 Yes Yes No No
PHAS SHORT Yes 0 Yes Yes No No
EVNT SHORT Yes 0 Yes Yes No No
TSE SHORT No 0 Yes Yes No
TSEL INLINK Yes Null No No N/A No
DTYP DEVCHOICE Yes 0 Yes No No
DISV SHORT Yes 1 Yes Yes No No
DISA SHORT No 0 Yes Yes No No
SDIS INLINK Yes 0 No No N/A No
MLOK NOACCESS No 8 No No No
MLIS NOACCESS No 12 No No No
DISP UCHAR No 0 Yes Yes Yes No
PROC UCHAR No 0 Yes Yes No Yes
STAT GBLCHOICE No UDF_ALARM Yes No Yes No
SEVR GBLCHOICE No INVALID_ALARM Yes No Yes No
NSTA GBLCHOICE No 0 Yes No No No
NSEV GBLCHOICE No 0 Yes No No No
ACKS GBLCHOICE No 0 Yes No No
ACKT GBLCHOICE No 11 Yes No No
DISS GBLCHOICE Yes 0 Yes Yes No No
LSET SHORT No 0 Yes No No
LCNT UCHAR No 0 Yes No No
PACT UCHAR No 0 Yes No No
PUTF UCHAR No 0 Yes No No
RPRO UCHAR No 0 Yes No No
ASP NOACCESS No 4 No No No
PPN NOACCESS No 4 No No No
PPNN NOACCESS No 4 No No No
SPVT NOACCESS No 4 No No No
RSET NOACCESS No 4 No No No
DSET NOACCESS No 4 No No No
DPVT NOACCESS No 4 No No No
PRIO GBLCHOICE Yes 0 Yes Yes No No
TPRO UCHAR No 0 Yes Yes No No
BKPT NOACCESS No 1 No No No
UDF UCHAR No 1 Yes Yes No Yes
TIME NOACCESS No 8 Option No No No
FLNK FWDLINK Yes Null No No N/A No
--------------------------------------------------------------------
-----------------------------------------------------------------------------------------
Name Summary Description
-----------------------------------------------------------------------------------------
NAME Record Name An 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.
DESC Description An arbitrary 28 character record description supplied by
the application developer.
ASG Access Security A character string value defining the access security group
Group for this record. If left NULL, the record is placed in group
DEFAULT.
SCAN Scanning This can be one of the periodic intervals, I/O event, event,
Algorithm or passive.
PINI Process at If this field is set to TRUE during database configuration,
Initialization then the record is processed once at IOC initialization
(before the normal scan tasks are started).
PHAS Scan Phase Number This 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.
EVNT Event Number Event 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)
TSE Time Stamp Event The event number for time stamp. This is only
meaningful if the IOC has an associated hardware event
receiver. See `er' record for details.
TSEL Time Stamp Event An input link for obtaining the time stamp event number.
Link
DTYP Device Type This 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.
DISV Disable Value If DISV=DISA, then the record will be disabled, i.e.
dbProcess will not process the record.
DISA Scan Disable Input This is the value that is compared with DISV to determine
Link Value 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.
SDIS Scan Disable Input An input link from which to obtain a value for DISA.
Link 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.
MLOK 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.
MLIS Monitor List This 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.
DISP Disable putFields If 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.
PROC Process Record A record will be processed whenever a dbPutField is
directed to this field.
STAT Current Alarm These four fields are the alarm status and severity fields.
Status 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.
SEVR Current Alarm
Severity
NSTA New Alarm Status
NSEV New Alarm
Severity
ACKS Alarm Acknowledge Highest severity unacknowledged alarm
Severity
ACKT Alarm Acknowledge Is it necessary to acknowledge transient alarms?
Transient
DISS Disable Alarm When this record is disabled, it will be put into alarm with
Severity this severity and a status of DISABLE_ALARM.
LSET Lock Set 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. 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.
LCNT Lock Count The 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.
PACT Processing Active See 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.
PUTF dbPutField Process Did dbPutField cause the current record processing?
RPRO Reprocess Reprocess record when current processing completes.
ASP Access Security
Private
PPN Address of Address of putNotify callback.
putNotify
PPNN Next Record for Next record for PutNotify.
putNotify
SPVT Scan Private This field is for private use of the scanning system.
RSET Address of Record See Application Developers Guide for details on usage.
Support Entry Table
DSET Address of Device This address of the device support entry table for this
Support Entry Table record. The value of this field is determined at IOC
initialization time. Record support routines use this field
to locate their device support routines.
DPVT Device Private This field is for private use of the device support modules.
PRIO Priority Scheduling priority for processing I/O Event scanned
records and asynchronous record completion tasks.
TPRO Trace Processing If 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
BKPT BreakPoint
UDF VAL Undefined UDF 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.
TIME Time The time when this record was last processed, in standard
format.
FLNK Forward Link This field is a database link. If FLNK is specified,
processing this record will force a processing of the scan
passive forward link record.
-----------------------------------------------------------------------------------------
Table of Contents
Next Chapter