Difference between revisions of "RRM 3-14 dbCommon"
BobDalesio (talk | contribs) |
m |
||
(26 intermediate revisions by 4 users not shown) | |||
Line 13: | Line 13: | ||
==== Field Summary ==== | ==== Field Summary ==== | ||
<TABLE BORDER="1"> | <TABLE BORDER="1"> | ||
Line 23: | Line 22: | ||
<TD>PHAS<TD>SHORT<TD>Yes<TD>0<TD>Yes<TD>Yes<TD>No<TD>No<TR> | <TD>PHAS<TD>SHORT<TD>Yes<TD>0<TD>Yes<TD>Yes<TD>No<TD>No<TR> | ||
<TD>EVNT<TD>SHORT<TD>Yes<TD>0<TD>Yes<TD>Yes<TD>No<TD>No<TR> | <TD>EVNT<TD>SHORT<TD>Yes<TD>0<TD>Yes<TD>Yes<TD>No<TD>No<TR> | ||
<TD>PRIO<TD>GBLCHOICE<TD>Yes<TD>Low<TD>Yes<TD>Yes<TD>No<TD>No<TR> | <TD>PRIO<TD>GBLCHOICE<TD>Yes<TD>Low<TD>Yes<TD>Yes<TD>No<TD>No<TR> | ||
<TD>DISV<TD>SHORT<TD>Yes<TD>1<TD>Yes<TD>Yes<TD>No<TD>No<TR> | <TD>DISV<TD>SHORT<TD>Yes<TD>1<TD>Yes<TD>Yes<TD>No<TD>No<TR> | ||
<TD>DISA<TD>SHORT<TD>No<TD>0<TD>Yes<TD>Yes<TD>No<TD>No<TR> | <TD>DISA<TD>SHORT<TD>No<TD>0<TD>Yes<TD>Yes<TD>No<TD>No<TR> | ||
<TD>SDIS<TD>INLINK<TD>Yes<TD>0<TD> | <TD>SDIS<TD>INLINK<TD>Yes<TD>0<TD>Yes<TD>Yes<TD>No<TD>No<TR> | ||
<TD>PROC<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>Yes<TD>No<TD>Yes<TR> | <TD>PROC<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>Yes<TD>No<TD>Yes<TR> | ||
<TD>DISS<TD>GBLCHOICE<TD>Yes<TD>No Alarm<TD>Yes<TD>Yes<TD>No<TD>No<TR> | <TD>DISS<TD>GBLCHOICE<TD>Yes<TD>No Alarm<TD>Yes<TD>Yes<TD>No<TD>No<TR> | ||
<TD>LCNT<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>No<TD>No<TD> | <TD>LCNT<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>No<TD>No<TD><TR> | ||
<TD>PACT<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>No<TD>No<TD> | <TD>PACT<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>No<TD>No<TD><TR> | ||
<TD>FLNK<TD>FWDLINK<TD>Yes<TD>Null<TD>No<TD>No<TD> | <TD>FLNK<TD>FWDLINK<TD>Yes<TD>Null<TD>Yes<TD>Yes<TD>No<TD>No<TR> | ||
<TD>SPVT<TD>NOACCESS<TD>No<TD>4<TD>No<TD>No<TD>No<TD></TABLE> | |||
==== Field Description ==== | ==== Field Description ==== | ||
<TABLE BORDER="1"><TH>Name<TH>Summary<TH>Description<TR> | <TABLE BORDER="1"><TH>Name<TH>Summary<TH>Description<TR> | ||
<TD>SCAN<TD>Scanning | <TD>SCAN<TD>Scanning Rate<TD>This can be one of the periodic intervals (<CODE>.1 second</CODE>, <CODE>.2 second</CODE>, <CODE>.5 second</CODE>, <CODE>1 second</CODE>, <CODE>2 second</CODE>, <CODE>5 second</CODE>, <CODE>10 second</CODE>, <CODE>I/O Intr</CODE>, <CODE>Event</CODE>, or <CODE>Passive</CODE>.<TR> | ||
<TD>PINI<TD>Process at Initialization<TD>If 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).<TR> | <TD>PINI<TD>Process at Initialization<TD>If 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).<TR> | ||
<TD>PHAS<TD>Scan Phase Number<TD>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.<TR> | <TD>PHAS<TD>Scan Phase Number<TD>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.<TR> | ||
Line 52: | Line 50: | ||
<TD>LCNT<TD>Lock Count<TD>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.<TR> | <TD>LCNT<TD>Lock Count<TD>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.<TR> | ||
<TD>PACT<TD>Processing Active<TD>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.<TR> | <TD>PACT<TD>Processing Active<TD>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.<TR> | ||
<TD>FLNK<TD>Forward Link<TD>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> | <TD>FLNK<TD>Forward Link<TD>This field is a database link. If FLNK is specified, processing this record will force a processing of the scan passive forward link record.<TR> | ||
<TD>SPVT<TD>Scan Private<TD>This field is for private use of the scanning system.</TABLE> | |||
=== Alarm Fields === | === Alarm Fields === | ||
Line 62: | Line 61: | ||
<TABLE BORDER="1"><TH>Field<TH>Type<TH>DCT<TH>Initial<TH>Access<TH>Modify<TH>Rec Proc Monitor<TH>PP<TR> | <TABLE BORDER="1"><TH>Field<TH>Type<TH>DCT<TH>Initial<TH>Access<TH>Modify<TH>Rec Proc Monitor<TH>PP<TR> | ||
<TD>STAT<TD>GBLCHOICE<TD>No<TD>UDF_ALARM<TD>Yes<TD>No<TD>Yes<TD> | <TD>STAT<TD>GBLCHOICE<TD>No<TD>UDF_ALARM<TD>Yes<TD>No<TD>Yes<TD><TR> | ||
<TD>SEVR<TD>GBLCHOICE<TD>No<TD>INVALID_ALARM<TD>Yes<TD>No<TD>Yes<TD> | <TD>SEVR<TD>GBLCHOICE<TD>No<TD>INVALID_ALARM<TD>Yes<TD>No<TD>Yes<TD><TR> | ||
<TD>NSTA<TD>GBLCHOICE<TD>No<TD> | <TD>NSTA<TD>GBLCHOICE<TD>No<TD>No Alarm<TD>Yes<TD>No<TD>No<TD><TR> | ||
<TD>NSEV<TD>GBLCHOICE<TD>No<TD> | <TD>NSEV<TD>GBLCHOICE<TD>No<TD>No Alarm<TD>Yes<TD>No<TD>No<TD><TR> | ||
<TD>ACKS<TD>GBLCHOICE<TD>No<TD> | <TD>ACKS<TD>GBLCHOICE<TD>No<TD>No Alarm<TD>Yes<TD>No<TD><TD> <TR> | ||
<TD>ACKT<TD>GBLCHOICE<TD>No<TD> | <TD>ACKT<TD>GBLCHOICE<TD>No<TD>Yes<TD>Yes<TD>No<TD><TD> <TR> | ||
<TD>UDF<TD>UCHAR<TD>No<TD>1<TD>Yes<TD>Yes<TD>No<TD>Yes</TABLE> | <TD>UDF<TD>UCHAR<TD>No<TD>1<TD>Yes<TD>Yes<TD>No<TD>Yes</TABLE> | ||
==== Field Description ==== | ==== Field Description ==== | ||
Line 81: | Line 79: | ||
<TD>ACKS<TD>Alarm Acknowledge Severity<TD>Highest severity unacknowledged alarm<TR> | <TD>ACKS<TD>Alarm Acknowledge Severity<TD>Highest severity unacknowledged alarm<TR> | ||
<TD>ACKT<TD>Alarm Acknowledge Transient<TD>Is it necessary to acknowledge transient alarms?<TR> | <TD>ACKT<TD>Alarm Acknowledge Transient<TD>Is it necessary to acknowledge transient alarms?<TR> | ||
<TD>UDF<TD>VAL Undefined<TD>UDF is initialized to TRUE at IOC initialization. | <TD>UDF<TD>VAL Undefined<TD>This indicates that the record has never been processed or its value is UnDeFined. Typically this is caused by a failure in device support, a record that has never been processed, or where 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.</TABLE> | ||
=== Device Fields === | === Device Fields === | ||
Line 92: | Line 89: | ||
<TABLE BORDER="1"><TH>Field<TH>Type<TH>DCT<TH>Initial<TH>Access<TH>Modify<TH>Rec Proc Monitor<TH>PP<TR> | <TABLE BORDER="1"><TH>Field<TH>Type<TH>DCT<TH>Initial<TH>Access<TH>Modify<TH>Rec Proc Monitor<TH>PP<TR> | ||
<TD>RSET<TD>NOACCESS<TD>No<TD>4<TD>No<TD>No<TD>No<TD> <TR> | <TD>RSET<TD>NOACCESS<TD>No<TD>4<TD>No<TD>No<TD>No<TD> <TR> | ||
<TD>DSET<TD>NOACCESS<TD>No<TD>4<TD>No<TD>No<TD>No<TD> <TR> | <TD>DSET<TD>NOACCESS<TD>No<TD>4<TD>No<TD>No<TD>No<TD> <TR> | ||
Line 102: | Line 98: | ||
<TABLE BORDER="1"><TH>Name<TH>Summary<TH>Description<TR> | <TABLE BORDER="1"><TH>Name<TH>Summary<TH>Description<TR> | ||
<TD>RSET<TD>Address of Record Support Entry Table<TD>See Application Developers Guide for details on usage.<TR> | <TD>RSET<TD>Address of Record Support Entry Table<TD>See Application Developers Guide for details on usage.<TR> | ||
<TD>DSET<TD>Address of Device Support Entry Table<TD>This 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.<TR> | <TD>DSET<TD>Address of Device Support Entry Table<TD>This 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.<TR> | ||
Line 116: | Line 111: | ||
<TABLE BORDER="1"><TH>Field<TH>Type<TH>DCT<TH>Initial<TH>Access<TH>Modify<TH>Rec Proc Monitor<TH>PP<TR> | <TABLE BORDER="1"><TH>Field<TH>Type<TH>DCT<TH>Initial<TH>Access<TH>Modify<TH>Rec Proc Monitor<TH>PP<TR> | ||
<TD>TPRO<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>Yes<TD>No<TD>No<TR> | <TD>TPRO<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>Yes<TD>No<TD>No<TR> | ||
<TD>BKPT<TD>NOACCESS<TD>No<TD> | <TD>BKPT<TD>NOACCESS<TD>No<TD>0<TD>No<TD>No<TD>No<TD> </TABLE> | ||
==== Field Description ==== | ==== Field Description ==== | ||
Line 123: | Line 117: | ||
<TABLE BORDER="1"><TH>Name<TH>Summary<TH>Description<TR> | <TABLE BORDER="1"><TH>Name<TH>Summary<TH>Description<TR> | ||
<TD>TPRO<TD>Trace Processing<TD>If this field is | <TD>TPRO<TD>Trace Processing<TD>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.<TR> | ||
<TD>BKPT<TD>BreakPoint<TD> | <TD>BKPT<TD>BreakPoint<TD>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.</TABLE> | ||
=== Miscellaneous Fields === | === Miscellaneous Fields === | ||
Line 134: | Line 128: | ||
<TABLE BORDER="1"><TH>Field<TH>Type<TH>DCT<TH>Initial<TH>Access<TH>Modify<TH>Rec Proc Monitor<TH>PP<TR> | <TABLE BORDER="1"><TH>Field<TH>Type<TH>DCT<TH>Initial<TH>Access<TH>Modify<TH>Rec Proc Monitor<TH>PP<TR> | ||
<TD>NAME<TD>STRING [ | <TD>NAME<TD>STRING [61]<TD>Yes<TD>0<TD>Yes<TD>No<TD>No<TD> <TR> | ||
<TD>DESC<TD>STRING [ | <TD>DESC<TD>STRING [41]<TD>Yes<TD>Null<TD>Yes<TD>Yes<TD>No<TD>No<TR> | ||
<TD>ASG<TD>STRING [29]<TD>Yes<TD>Null<TD>Yes<TD>Yes<TD>No<TD> <TR> | <TD>ASG<TD>STRING [29]<TD>Yes<TD>Null<TD>Yes<TD>Yes<TD>No<TD> <TR> | ||
<TD>TSE<TD>SHORT<TD> | <TD>TSE<TD>SHORT<TD>Yes<TD>0<TD>Yes<TD>Yes<TD>No<TD> <TR> | ||
<TD>TSEL<TD>INLINK<TD>Yes<TD>Null<TD> | <TD>TSEL<TD>INLINK<TD>Yes<TD>Null<TD>Yes<TD>Yes<TD>?<TD>No<TR> | ||
<TD>DTYP<TD>DEVCHOICE<TD>Yes<TD> | <TD>DTYP<TD>DEVCHOICE<TD>Yes<TD>Soft Record Support<TD>Yes<TD>No<TD>No<TD> <TR> | ||
<TD>MLOK<TD>NOACCESS<TD>No<TD> | <TD>MLOK<TD>NOACCESS<TD>No<TD>0<TD>No<TD>No<TD>No<TD> <TR> | ||
<TD>MLIS<TD>NOACCESS<TD>No<TD> | <TD>MLIS<TD>NOACCESS<TD>No<TD>0<TD>No<TD>No<TD>No<TD> <TR> | ||
<TD>DISP<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>Yes<TD>Yes<TD>No<TR> | <TD>DISP<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>Yes<TD>Yes<TD>No<TR> | ||
<TD>PUTF<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>No<TD>No<TD> <TR> | <TD>PUTF<TD>UCHAR<TD>No<TD>0<TD>Yes<TD>No<TD>No<TD> <TR> | ||
Line 155: | Line 149: | ||
<TABLE BORDER="1"><TH>Name<TH>Summary<TH>Description<TR> | <TABLE BORDER="1"><TH>Name<TH>Summary<TH>Description<TR> | ||
<TD>NAME<TD>Record Name<TD> | <TD>NAME<TD>Record Name<TD>A 60 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, and should use only this limited set of characters: <tt>a-z A-Z 0-9 _ - : [ ] < > ;</tt><TR> | ||
<TD>DESC<TD>Description<TD>An arbitrary | <TD>DESC<TD>Description<TD>An arbitrary 40 character record description supplied by the application developer.<TR> | ||
<TD>ASG<TD>Access Security Group<TD>A character string value defining the access security group for this record. If left NULL, the record is placed in group DEFAULT.<TR> | <TD>ASG<TD>Access Security Group<TD>A character string value defining the access security group for this record. If left NULL, the record is placed in group DEFAULT.<TR> | ||
<TD> | <TD>TSEL<TD>Time Stamp Event Link<TD>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.<TR> | ||
<TD> | <TD>TSE<TD>Time Stamp Event<TD>This 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.<TR> | ||
<TD>DTYP<TD>Device Type<TD>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.<TR> | <TD>DTYP<TD>Device Type<TD>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.<TR> | ||
<TD>MLOK<TD>Monitor Lock<TD>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.<TR> | <TD>MLOK<TD>Monitor Lock<TD>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.<TR> | ||
Line 176: | Line 170: | ||
EPICS Record Reference Manual | EPICS Record Reference Manual |
Latest revision as of 19:20, 22 March 2016
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
Field | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|
SCAN | GBLCHOICE | Yes | Passive | Yes | Yes | No | No |
PINI | GBLCHOICE | Yes | No | Yes | Yes | No | No |
PHAS | SHORT | Yes | 0 | Yes | Yes | No | No |
EVNT | SHORT | Yes | 0 | Yes | Yes | No | No |
PRIO | GBLCHOICE | Yes | Low | Yes | Yes | No | No |
DISV | SHORT | Yes | 1 | Yes | Yes | No | No |
DISA | SHORT | No | 0 | Yes | Yes | No | No |
SDIS | INLINK | Yes | 0 | Yes | Yes | No | No |
PROC | UCHAR | No | 0 | Yes | Yes | No | Yes |
DISS | GBLCHOICE | Yes | No Alarm | Yes | Yes | No | No |
LCNT | UCHAR | No | 0 | Yes | No | No | |
PACT | UCHAR | No | 0 | Yes | No | No | |
FLNK | FWDLINK | Yes | Null | Yes | Yes | No | No |
SPVT | NOACCESS | No | 4 | No | No | No |
Field Description
Name | Summary | Description |
---|---|---|
SCAN | Scanning Rate | This 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 . |
PINI | Process at Initialization | If 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). |
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) |
PRIO | Priority | Scheduling priority for processing I/O Event scanned records and asynchronous record completion tasks. |
DISV | Disable Value | If DISV=DISA, then the record will be disabled, i.e. dbProcess will not process the record. |
DISA | Scan Disable Input Link Value | This 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. |
SDIS | Scan Disable Input Link | An 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. |
PROC | Process Record | A record will be processed whenever a dbPutField is directed to this field. |
DISS | Disable Alarm Severity | When this record is disabled, it will be put into alarm with 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. Lock sets are determined at IOC initialization time, and are updated whenever a database link is added, removed or altered. |
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. |
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. |
SPVT | Scan Private | This field is for private use of the scanning system. |
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
Field | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|
STAT | GBLCHOICE | No | UDF_ALARM | Yes | No | Yes | |
SEVR | GBLCHOICE | No | INVALID_ALARM | Yes | No | Yes | |
NSTA | GBLCHOICE | No | No Alarm | Yes | No | No | |
NSEV | GBLCHOICE | No | No Alarm | Yes | No | No | |
ACKS | GBLCHOICE | No | No Alarm | Yes | No | ||
ACKT | GBLCHOICE | No | Yes | Yes | No | ||
UDF | UCHAR | No | 1 | Yes | Yes | No | Yes |
Field Description
Name | Summary | Description |
---|---|---|
STAT | Current Alarm Status | These 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. |
SEVR | Current Alarm Severity | |
NSTA | New Alarm Status | |
NSEV | New Alarm Severity | |
ACKS | Alarm Acknowledge Severity | Highest severity unacknowledged alarm |
ACKT | Alarm Acknowledge Transient | Is it necessary to acknowledge transient alarms? |
UDF | VAL Undefined | This indicates that the record has never been processed or its value is UnDeFined. Typically this is caused by a failure in device support, a record that has never been processed, or where 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. |
Device Fields
These fields contain information about the device and record support used by a record.
Field Summary
Field | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|
RSET | NOACCESS | No | 4 | No | No | No | |
DSET | NOACCESS | No | 4 | No | No | No | |
DPVT | NOACCESS | No | 4 | No | No | No |
Field Description
Name | Summary | Description |
---|---|---|
RSET | Address of Record Support Entry Table | See Application Developers Guide for details on usage. |
DSET | Address of Device Support Entry Table | This 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. |
DPVT | Device Private | This field is for private use of the device support modules. |
Debugging Fields
These fields can aid in the debugging process.
Field Summary
Field | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|
TPRO | UCHAR | No | 0 | Yes | Yes | No | No |
BKPT | NOACCESS | No | 0 | No | No | No |
Field Description
Name | Summary | Description |
---|---|---|
TPRO | 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. |
BKPT | BreakPoint | 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. |
Miscellaneous Fields
These are miscellaneous fields common to all record types.
Field Summary
Field | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|
NAME | STRING [61] | Yes | 0 | Yes | No | No | |
DESC | STRING [41] | Yes | Null | Yes | Yes | No | No |
ASG | STRING [29] | Yes | Null | Yes | Yes | No | |
TSE | SHORT | Yes | 0 | Yes | Yes | No | |
TSEL | INLINK | Yes | Null | Yes | Yes | ? | No |
DTYP | DEVCHOICE | Yes | Soft Record Support | Yes | No | No | |
MLOK | NOACCESS | No | 0 | No | No | No | |
MLIS | NOACCESS | No | 0 | No | No | No | |
DISP | UCHAR | No | 0 | Yes | Yes | Yes | 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 | |
PPNR | NOACCESS | No | 4 | No | No | No | |
RDES | NO_ACCESS | ||||||
TIME | NOACCESS | No | 8 | Option | No | No | No |
Field Description
Name | Summary | Description |
---|---|---|
NAME | Record Name | A 60 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, and should use only this limited set of characters: a-z A-Z 0-9 _ - : [ ] < > ; |
DESC | Description | An arbitrary 40 character record description supplied by the application developer. |
ASG | Access Security Group | A character string value defining the access security group for this record. If left NULL, the record is placed in group DEFAULT. |
TSEL | Time Stamp Event Link | 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. |
TSE | Time Stamp Event | This 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. |
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. |
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. |
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 putNotify | Address of putNotify callback. |
PPNR | Next Record for putNotify | Next record for PutNotify. |
RDES | Address of dbRecordType | |
TIME | Time | The time when this record was last processed, in standard format. |
EPICS Record Reference Manual