NB: This manual refers to a very old version of EPICS, see the EPICS Wiki for updated record reference documentation.

[Next] [Previous] [Top] [Contents] [Index]

EPICS Record Reference Manual

Chapter 3: Fields Common to Many Record Types

1. Introduction


This chapter describes input and output fields that are common to multiple record types. These fields have the same meaning whenever they are used.

2. Input Records


2.1. Common Fields

NameSummaryDescription
INPInput LinkThis field is used by the device support routines to obtain input. For soft analog records it can be a constant, a database link, or a channel access link.
DTYPDevice TypeDTYP specifies the name of the device support module that will input values. Each record type has its own set of device support routines. If a record type does not have any associated device support, DTYP is meaningless.
RVALRaw ValueWhenever possible this field contains the raw data value exactly as it is obtained from the hardware or from the associated device driver and before it undergoes any conversions. The Soft Channel device support module reads values directly into VAL, bypassing this field.
VALValueThis is the record's final value, after any needed conversions have been performed.
SIMMSimulation ModeThis field has either the value YES or NO. By setting this field to YES, the record can be switched into simulation mode of operation. While in simulation mode, input will be obtained from SIOL instead of INP.
SIMLSimulation Mode LocationThis field can be a constant, a database link, or a channel access link. If SIML is a database or channel access link, then SIMM is read from SIML. If SIML is a constant link then SIMM is initialized with the constant value but can be changed via dbPuts.
SVALSimulation ValueThis is the record's input value, in engineering units, when the record is switched into simulation mode, i.e. when SIMM is set to YES.
SIOLSimulation Value LocationThis field can be a constant, a database link, or a channel access link. If SIOL is a database or channel access link, then SVAL is read from SIOL. If SIOL is a constant link then SVAL is initialized with the constant value but can be changed via dbPuts.
SIMSSimulation Mode Alarm SeverityWhen this record is in simulation mode, it will be put into alarm with this severity and a status of SIMM.

2.2. Device Input

A device input routine normally returns one of the following values to its associated record support routine:

2.3. Soft Input

In almost all cases, two special device support modules are provided: Soft Channel and Raw Soft Channel. Both allow INP to be a constant, a database link, or a channel access link. The Soft Channel device support module reads input directly into the VAL field and specifies that no conversion of any type should be performed. Thus, it allows the record to hold values corresponding to the C data type of the VAL field. Note that for soft input, RVAL is not used. The Raw Soft Channel support module reads input into RVAL and asks that any specified conversions be performed.

The device support read routine normally calls recGblGetLinkValue() which performs the following steps:

If the return status of recGblGetLinkValue() is zero and the INP link type is not CONSTANT, then UDF is set to FALSE. The device support read routine normally returns the status of recGblGetLinkValue.

2.4. Simulation Mode

A record can be switched into simulation mode of operation by setting the value of SIMM to YES. During simulation, the record will be put into alarm with a severity of SIMS and a status of SIMM_ALARM. While in simulation mode, input values, in engineering units, will be obtained from SIOL instead of INP. Also, while the record is in simulation mode, there will be no raw value conversion and no calls to device support when the record is processed.

Normally input records contain a private readValue() routine which performs the following steps:

3. Output Records


3.1. Common Fields
NameSummaryDescription
OUTOutput LinkThis 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.
DTYPDevice TypeDTYP specifies the name of the device support module that will receive values. Each record type has its own set of device support routines. If a record type does not have any associated device support, DTYP is meaningless.
VALValueThis is the desired value before any conversions to raw output have been performed.
OVALOutput ValueOVAL is used to decide when to invoke monitors. Archive and value change monitors are invoked if OVAL is not equal to VAL. If a record type needs to make adjustments, OVAL is used to enforce the maximum rate of change limit before converting the desired value to a raw value.
RVALRaw ValueWhenever possible this is the actual value sent to the hardware itself or to the associated device driver.
RBVRead Back ValueWhenever possible this is the actual read back value obtained from the hardware itself or from the associated device driver.
DOLDesired Output Location (an Input Link)DOL can be a constant, a database link, or a channel access link. There is no device support associated with DOL. If DOL is a database or channel access link and OMSL is CLOSED_LOOP, then VAL is obtained from DOL.
OMSLOutput Mode SelectThis 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.
OIFOutput Full or Incremental (analog output record only)This field, which is only used when input is obtained from DOL, determines if the value obtained from DOL is an increment to add to the current VAL or is the actual VAL desired.
SIMMSimulation ModeThis field has either the value YES or NO. By setting this field to YES, the record can be switched into simulation mode of operation. While in simulation mode, output will be written to SIOL instead of OUT.
SIMLSimulation Mode LocationThis field can be a constant, a database link, or a channel access link. If SIML is a database or channel access link, then SIMM is read from SIML. If SIML is a constant link then SIMM is initialized with the constant value but can be changed via dbPuts.
SIOLSimulation Value LocationThis field can be a constant, a database link, or a channel access link. If SIOL is a database or channel access link, then the output value is written to SIOL. If this link is a constant, the result is no output.
SIMSSimulation Mode Alarm SeverityWhen this record is in simulation mode, it will be put into alarm with this severity and a status of SIMM_ALARM.
IVOAInvalid Alarm Output ActionWhenever the record is put into INVALID alarm severity IVOA specifies an action. IVOA can be one of the following actions: Continue normally, Don't drive outputs, Set output equal to IVOV
IVOVInvalid Alarm Output Value, In Engineering UnitsWhen new severity has been set to INVALID alarm and IVOA is "Set output equal to IVOV", then, VAL is set to IVOV and converted to RVAL before device support is called.

3.2. Soft Output

Normally two soft output device support modules are provided Soft and Raw Soft. Both allow the output link OUT to be a constant, a database link, or a channel access link. It is normally meaningless to use constant output links. The Soft support module writes output from the value associated with OVAL or VAL (if OVAL does not exist). The Raw Soft Channel support module writes the value associated with the RVAL field after conversion has been performed.

The device support write routine normally calls recGblPutLinkValue which performs the following steps:

The device support write routine normally returns the status of recGblPutLinkValue.

3.3. Output Mode Select

The fields DOL and OMSL are used to allow the output record to be part of a closed loop control algorithm. OMSL is meaningful only if DOL refers to a database or channel access link. It can have the values SUPERVISORY or CLOSED_LOOP. If the mode is SUPERVISORY, then nothing is done to VAL. If the mode is CLOSED_LOOP and the record type does not contain an OIF field, then each time the record is processed, VAL is set equal to the value obtained from the location referenced by DOL. If the mode is CLOSED_LOOP in record types with an OIF field and OIF is Full, VAL is set equal to the value obtained from the location referenced by DOL; if OIF is Incremental VAL is incremented by the value obtained from DOL.

3.4. Simulation Mode

An output record can be switched into simulation mode of operation by setting the value of SIMM to YES. During simulation, the record will be put into alarm with a severity of SIMS and a status of SIMM_ALARM. While in simulation mode, output values, in engineering units, will be written to SIOL instead of OUT. However, the output values are never converted.

-- (SIMM = FALSE?) INP -> RVAL --(maybe convert) -> VAL

/

SIML -> SIMM

\

-- (SIMM = TRUE?) SIOL -> SVAL --(never convert) -> RVAL

Also, while the record is in simulation mode, there will be no calls to device support during record processing.

Normally output records contain a private writeValue() routine which performs the following steps:

3.5. Invalid Alarm Output Action

Whenever an output record is put into INVALID alarm severity, IVOA specifies an action to take. The record support process routine for each output record contains code which performs the following steps.

1. - Introduction
2. - Input Records
2.1. - Common Fields
2.2. - Device Input
2.3. - Soft Input
2.4. - Simulation Mode
3. - Output Records
3.1. - Common Fields
3.2. - Soft Output
3.3. - Output Mode Select
3.4. - Simulation Mode
3.5. - Invalid Alarm Output Action

EPICS Record Reference Manual - 19 MAY 1998
[Next] [Previous] [Top] [Contents] [Index]

Generated with Harlequin WebMaker