Table of Contents
Previous Chapter
--------------------------------------------------------------
Field Type DCT Initial Access Modify Rec Proc PP
Monitor
--------------------------------------------------------------
VAL ENUM No 0 Yes Yes Yes Yes
NOBT SHORT Yes 0 Yes No No
INP INLINK Yes 0 No No N/A No
ZRVL ULONG Yes 0 Yes Yes No Yes
ONVL ULONG Yes 0 Yes Yes No Yes
TWVL ULONG Yes 0 Yes Yes No Yes
THVL ULONG Yes 0 Yes Yes No Yes
FRVL ULONG Yes 0 Yes Yes No Yes
FVVL ULONG Yes 0 Yes Yes No Yes
SXVL ULONG Yes 0 Yes Yes No Yes
SVVL ULONG Yes 0 Yes Yes No Yes
EIVL ULONG Yes 0 Yes Yes No Yes
NIVL ULONG Yes 0 Yes Yes No Yes
TEVL ULONG Yes 0 Yes Yes No Yes
ELVL ULONG Yes 0 Yes Yes No Yes
TVVL ULONG Yes 0 Yes Yes No Yes
TTVL ULONG Yes 0 Yes Yes No Yes
FTVL ULONG Yes 0 Yes Yes No Yes
FFVL ULONG Yes 0 Yes Yes No Yes
ZRST STRING Yes Null Yes Yes No Yes
ONST STRING Yes Null Yes Yes No Yes
TWST STRING Yes Null Yes Yes No Yes
THST STRING Yes Null Yes Yes No Yes
FRST STRING Yes Null Yes Yes No Yes
FVST STRING Yes Null Yes Yes No Yes
SXST STRING Yes Null Yes Yes No Yes
SVST STRING Yes Null Yes Yes No Yes
EIST STRING Yes Null Yes Yes No Yes
NIST STRING Yes Null Yes Yes No Yes
TEST STRING Yes Null Yes Yes No Yes
ELST STRING Yes Null Yes Yes No Yes
TVST STRING Yes Null Yes Yes No Yes
TTST STRING Yes Null Yes Yes No Yes
FTST STRING Yes Null Yes Yes No Yes
FFST STRING Yes Null Yes Yes No Yes
ZRSV GBLCHOICE Yes 0 Yes Yes No Yes
ONSV GBLCHOICE Yes 0 Yes Yes No Yes
TWSV GBLCHOICE Yes 0 Yes Yes No Yes
THSV GBLCHOICE Yes 0 Yes Yes No Yes
FRSV GBLCHOICE Yes 0 Yes Yes No Yes
FVSV GBLCHOICE Yes 0 Yes Yes No Yes
SXSV GBLCHOICE Yes 0 Yes Yes No Yes
SVSV GBLCHOICE Yes 0 Yes Yes No Yes
EISV GBLCHOICE Yes 0 Yes Yes No Yes
NISV GBLCHOICE Yes 0 Yes Yes No Yes
TESV GBLCHOICE Yes 0 Yes Yes No Yes
ELSV GBLCHOICE Yes 0 Yes Yes No Yes
TVSV GBLCHOICE Yes 0 Yes Yes No Yes
TTSV GBLCHOICE Yes 0 Yes Yes No Yes
FTSV GBLCHOICE Yes 0 Yes Yes No Yes
FFSV GBLCHOICE Yes 0 Yes Yes No Yes
UNSV GBLCHOICE Yes 0 Yes Yes No Yes
COSV GBLCHOICE Yes 0 Yes Yes No Yes
RVAL ULONG No 0 Yes Yes Yes Yes
ORAW ULONG No 0 Yes No No No
MASK ULONG No 0 Yes No No No
MLST USHORT No 0 Yes No No No
LALM USHORT No 0 Yes No No No
SDEF SHORT No 0 Yes No No No
SHFT USHORT No 0 Yes No No No
SIOL INLINK Yes 0 No No N/A No
SVAL USHORT No 0 Yes Yes No No
SIML INLINK Yes 0 No No N/A No
SIMM GBLCHOICE No 0 Yes Yes No No
SIMS GBLCHOICE Yes 0 Yes Yes No No
--------------------------------------------------------------
--------------------------------------------------------------------------------------------------
Name Summary Description
--------------------------------------------------------------------------------------------------
VAL Value Field Unless INP is a constant link, this is the value resulting
from the record being processed. If INP is a constant, then
VAL is initialized to the INP value but can be changed
dynamically via dbPutField or dbPutLink. It
normally is the index (0 to 15) of the current state.
NOBT Number of Bits Number of bits set in hardware mask.
INP Input Link This field is used by the device support routines to obtain
input. For soft records, it can be a constant, a database
link, or a channel access link.
ZRVL,...,FFVL Zero Value, One Masks for hardware value associated with each state.
Value ...
ZRST,...,FFST Zero String, One Strings associated with each state.
String ...
ZRSV,...,FFSV Zero Severity, One Alarm severity associated with each state.
Severity,...
UNSV Unknown State
Severity
COSV Change of State
Severity
RVAL Raw Data Value RVAL is the value obtained by the device support routine.
Unless the device support routine specifies no conversion,
VAL is determined as follows: A temporary variable rval
is set equal to RVAL. It is then shifted right SHFT bits.
After shifting, the result should match one of the values
ZRVL,...,FFVL.
ORAW Old Raw Data ORAW is used to decide if monitors should be triggered for
Value RVAL at the same time monitors are triggered for changes
in VAL.
MASK Mask Mask used by device support routine to read hardware
register. Record support sets low order NOBT bits. Device
support can shift this value.
SHFT Shift Number of bits to shift values obtained from RVAL.
LALM Last Alarmed Value when last change of state alarm was issued.
MLST Monitor Last Value when last monitor for value changes was triggered
SDEF States Defined? Record support uses this field to save time if no states are
defined
SIMM Simulation Mode Simulation mode process variables. Refer to Chapter 3,
Section "Simulation Mode" on page 11 for more
information.
SIML Simulation Mode
Location
SVAL Simulation Value
SIOL Simulation Value
Location
SIMS Simulation Mode
Alarm Severity
--------------------------------------------------------------------------------------------------
This routine next checks to see that device support is available and a device support read routine is defined. If either does not exist, an error message is issued and processing is terminated.
Clears MASK and then sets the NOBT low order bits.
If device support includes init_record, it is called.
init_common is then called to determine if any states are defined. If states are defined, SDEF is set to TRUE.
-----------------------------------------------------------------------------------------
Name Summary Description
-----------------------------------------------------------------------------------------
PACT Processing Active See Chapter 2, Section "Database Common: Field
Descriptions" on page 4 for descriptions.
DPVT Device Private
UDF VAL Undefined
NSEV New Alarm Severity
NSTA New Alarm Status
NOBT Number of Bits Number of hardware bits accessed. They must be
consecutive.
VAL Value Field This field is set by the device support routines if they
don't want record support to set it.
INP Input Link This field is used by the device support routines to locate
its input.
RVAL Raw Data Value It is the responsibility of the device support routine to give
this field a value.
MASK Mask This is a mask used to read the hardware. Record support
sets the low order NOBT bits. The device support routine
can shift the bits. The device support routine should
perform the shift in in init_record.
SHFT Shift This can be set by the device support module at
init_record time.
-----------------------------------------------------------------------------------------
report(FILE fp, paddr)Not currently used.
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. If it uses MASK, it should shift it as necessary and also give SHFT a value.
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.
read_mbbi(precord)This routine must provide a new input value. It returns the following values:
If the INP link type is constant, then the constant value is stored into VAL by init_record, and UDF is set to FALSE. VAL can be changed via dbPut requests. If the INP link type is PV_LINK, then dbCaAddInlink is called by init_record.
read_mbbi calls recGblGetLinkValue to read the current value of VAL. See Chapter 3, Section "Soft Input" on page 10 for details.
If the return status of recGblGetLinkValue is zero, then read_mbbi sets UDF to FALSE. The status of recGblGetLinkValue is returned.