-------------------------------------------------------------- Field Type DCT Initial Access Modify Rec Proc PP Monitor -------------------------------------------------------------- VAL USHORT No 0 Yes No Yes Yes NOBT SHORT Yes 0 Yes No No INP INLINK Yes 0 No No N/A No 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 No No SVAL USHORT No 0 Yes Yes No No SIML INLINK Yes 0 No No No No SIMM GBLCHOICE No 0 Yes Yes No No SIMS GBLCHOICE Yes 0 Yes Yes No No B0 UCHAR Yes 0 Yes Yes Yes Yes B1 UCHAR Yes 0 Yes Yes Yes Yes B2 UCHAR Yes 0 Yes Yes Yes Yes B3 UCHAR Yes 0 Yes Yes Yes Yes B4 UCHAR Yes 0 Yes Yes Yes Yes B5 UCHAR Yes 0 Yes Yes Yes Yes B6 UCHAR Yes 0 Yes Yes Yes Yes B7 UCHAR Yes 0 Yes Yes Yes Yes B8 UCHAR Yes 0 Yes Yes Yes Yes B9 UCHAR Yes 0 Yes Yes Yes Yes BA UCHAR Yes 0 Yes Yes Yes Yes BB UCHAR Yes 0 Yes Yes Yes Yes BC UCHAR Yes 0 Yes Yes Yes Yes BD UCHAR Yes 0 Yes Yes Yes Yes BE UCHAR Yes 0 Yes Yes Yes Yes BF UCHAR Yes 0 Yes Yes Yes Yes --------------------------------------------------------------
---------------------------------------------------------------------------------------------- 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. 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. B0, ..., BF Bit 0 Value, Bit 1 Each represents a bit of the word. Value ... 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. 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 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.
refresh_bits is then called to refresh all the bit fields based on a hardware value.
----------------------------------------------------------------------------------------- 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 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_mbbiDirect(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_mbbiDirect 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.