-------------------------------------------------------------- Field Type DCT Initial Access Modify Rec Proc PP Monitor -------------------------------------------------------------- VAL ENUM No 0 Yes Yes Yes Yes OMSL GBLCHOICE Yes 0 Yes Yes No No OUT OUTLINK Yes 0 No No N/A No DOL INLINK Yes 0 No No N/A No HIGH FLOAT Yes 0 Yes Yes No No ZNAM STRING Yes Null Yes Yes No Yes ONAM STRING Yes Null Yes Yes No Yes RVAL ULONG No 0 Yes Yes Yes Yes ORAW ULONG No 0 Yes No No No MASK ULONG No compute Yes No No No RPVT NOACCESS No 0 No No No WDPT NOACCESS No 0 No No No ZSV GBLCHOICE Yes 0 Yes Yes No Yes OSV GBLCHOICE Yes 0 Yes Yes No Yes COSV GBLCHOICE Yes 0 Yes Yes No Yes RBV ULONG No 0 Yes No Yes No ORBV ULONG No 0 Yes No No No MLST USHORT No 0 Yes No No No LALM USHORT No 0 Yes No No No SIOL OUTLINK Yes 0 No No N/A 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 IVOA GBLCHOICE Yes 0 Yes Yes No No IVOV USHORT Yes 0 Yes Yes No No --------------------------------------------------------------
---------------------------------------------------------------------------------------- Name Summary Description ---------------------------------------------------------------------------------------- VAL Value Field This is the value to be sent to OUT. It is either obtained from DOL or else given a value via dbPuts. OMSL Output Mode Select This field has either the value SUPERVISORY or CLOSED_LOOP. DOL is used to determine VAL only if OMSL has the value CLOSED_LOOP. By setting this field the record can be switched between supervisory and closed loop mode of operation. While in closed loop mode, the VAL field cannot be set via dbPuts. DOL Desired Output If DOL is a database or channel access link and OMSL is Location (Input CLOSED_LOOP, then VAL is read from DOL. Link) OUT Output Link This field is used by the device support routines to decide where to send output. For soft records, it can be a constant, a database link, or a channel access link. If the link is a constant, the result is no output. HIGH Seconds to Hold If this value is greater than zero, then whenever VAL is set High equal to 1, it is reset to zero after HIGH seconds. ZNAM Zero Name ASCII string defining state zero. ONAM One Name ASCII string defining state one. RVAL Raw Data Value RVAL is the value written by the device support routine. If MASK is set by the device support routine, RVAL is computed by record support. 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 Hardware Mask This value can be set by the device support routine. It is the value sent to the hardware when VAL is not zero. RPVT Record Private WDPT Watchdog Pointer Private field for honoring second to hold HIGH. ZSV Zero Severity Alarm Severity for state zero. OSV One Severity Alarm Severity for state one. COSV Change of State Alarm Severity for change of state. Severity RBV Read Back Value This is the actual read back value obtained from the hardware itself or from the associated device driver. It is the responsibility of the device support routine to give this field a value. ORBV Old Read Back ORBV is used to decide if monitors should be triggered for Value RBV at the same time monitors are triggered for changes in VAL. MLST Monitor Last Value when last monitor for value changes was triggered LALM Last Alarmed Value when last change of state alarm was issued. SIMM Simulation Mode Simulation mode process variables. Refer to Chapter 3, Section "Simulation Mode" on page 13 for more information. SIML Simulation Mode Location SIOL Simulation Value Location SIMS Simulation Mode Alarm Severity IVOA Invalid Alarm Whenever the record is put into INVALID alarm severity Output Action IVOA specifies an action. See Chapter 3, Section "Invalid Alarm Output Action" on page 14 for more information. IVOV Invalid Alarm Output Value ----------------------------------------------------------------------------------------
This routine next checks to see that device support is available. The routine next checks to see if the device support write routine is defined. If either device support or the device support write routine does not exist, an error message is issued and processing is terminated.
If DOL is a constant, then VAL is initialized to 1 if its value is nonzero or initialized to 0 if DOL is zero, and UDF is set to FALSE.
If device support includes init_record, it is called. VAL is set using RVAL, and UDF is set to FALSE.
----------------------------------------------------------------------------------------- Name Summary Description ----------------------------------------------------------------------------------------- PACT Processing Active See Chapter 2, Section "Database Common: Field Descriptions" on page 4 for descriptions. DPVT Device Private NSEV New Alarm Severity NSTA New Alarm Status VAL Value Field This field is only of interest to device support routines that do not use MASK and RVAL. OUT Output Link This field is used by the device support routines to locate its output. RVAL Raw Data Value If MASK is defined then record support sets RVAL=(0,MASK) if VAL is (0, not zero). MASK Hardware mask. The device support module must set this field. Not that if VAL is 1, then record processing sets RVAL = MASK. RBV Read Back Value This is the actual read back value obtained from the hardware itself or from the associated device driver. It is the responsibility of the device support routine to give this field a value. -----------------------------------------------------------------------------------------
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. It should determine MASK if it is needed.
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.
write_bo(precord)This routine must output an new value. It returns the following values:
If the OUT link type is PV_LINK, then dbCaAddInlink is called by init_record. init_record always returns a value of 2, which means that no conversion will ever be attempted.
write_bo calls recGblPutLinkValue to write the current value of VAL. See Chapter 3, Section "Soft Output" on page 13 for details.