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 13: dfanout

Johnny Tang, Matthew Bickley, and Chip Watson

Continuous Electron Beam Accelerator Facility

Southeastern Universities Research Association

1. Introduction


The dfanout record or data fanout record is used to forward data to up to eight other records. It's similar to the fanout record except that the capability to forward data has been added to it. It has no associated device support. The fields in this record can be classified into the following categories:

scan parameters

desired output parameters

write parameters

operator display parameters

alarm parameters

monitor parameters

run-time and simulation mode parameters

2. Scan Parameters


The data fanout record has the standard fields for specifying under what circumstances it will be processed. These fields are listed in Scan Fields, Chapter 2, 2. In addition, Scanning Specification, Chapter 1, 1, explains how these fields are used. Since the data fanout record supports no direct interfaces to hardware, it cannot be scanned on I/O interrupt, so its SCAN field cannot be I/O Intr.

3. Desired Output Parameters


The data fanout record must specify where the desired output value originates, i.e., the data which it is to forward to the records in its output links. The output mode select (OMSL) field determines whether the output originates from another record or from run-time database access. When set to closed loop, the desired output is retrieved from the link specified in the desired output (DOL) field, which can specify either a database or channel access link, and placed into the VAL field. When set to supervisory, the desired output can be written to the VAL field via dpPuts at run-time.

The DOL field can also be a constant in which case the VAL field is initialized to the constant value.

Note that there are no conversion parameters, so the desired output value undergoes no conversions before it is sent out to the output links.
FieldSummaryTypeDCTInitialAccessModifyRec Proc MonitorPP
DOLDesired Output Location (Input Link)INLINKYes0NoNoN/ANo
OMSLOutput Mode Select GBLCHOICEYes0YesYesNoNo
VAL Value FieldDOUBLENo0YesYesNoYes

4. Write Parameters


The OUTA-OUTH fields specify where VAL is to be sent. Each field that is to forward data must specify an address to another record. See Address Specification, Chapter 1, 2, for information on specifying links.
FieldSummaryTypeDCTInitialAccessModifyRec Proc MonitorPP
OUTA Output Link A OUTLINKYes0NoNoN/ANo
OUTB Output Link B OUTLINKYes0NoNoN/ANo
OUTC Output Link C OUTLINKYes0NoNoN/ANo
OUTD Output Link D OUTLINKYes0NoNoN/ANo
OUTE Output Link E OUTLINKYes0NoNoN/ANo
OUTF Output Link F OUTLINKYes0NoNoN/ANo
OUTG Output Link GOUTLINKYes0NoNoN/ANo
OUTH Output Link H OUTLINKYes0NoNoN/ANo

5. Operator Display Parameters


These parameters are used to present meaningful data to the operator. They display the value and other parameters of the data fanout record either textually or graphically.

The EGU field can contain a string of up to 16 characters describing the value in the VAL field.

The HOPR and LOPR fields determine the upper and lower display limits for graphics displays and the upper and lower control limits for control displays. They apply to the VAL, HIHI, HIGH, LOW, and LOLO fields. The record support routines get_graphic_double or get_control_double retrieve HOPR and LOPR

See Chapter 2, Fields Common to All Record Types, for more on the record name (NAME) and description (DESC) fields.
FieldSummaryTypeDCTInitialAccessModifyRec Proc MonitorPP
EGUEngineering UnitsSTRING [16]YesnullYesYesNoNo
HOPRHigh Operating RangeFLOATYes0YesYesNoNo
LOPRLow Operating RangeFLOATYes0YesYesNoNo
NAMERecord NameSTRING [29]Yes0YesNoNo 
DESCDescriptionSTRING [29]YesNullYesYesNoNo

6. Alarm Parameters


The possible alarm conditions for data fanouts are the SCAN, READ, INVALID, and limit alarms. The SCAN and READ alarms are called by the record routines. The limit alarms are configured by the user in the HIHI, LOLO, HIGH, and LOW fields using floating-point values. The limit alarms apply only to the VAL field. The severity for each of these limits is specified in the corresponding field (HHSV, LLSV, HSV, LSV) and can be either NO_ALARM, MINOR, or MAJOR. In the hysteresis field (HYST) can be entered a number which serves as the deadband on the limit alarms.

See Alarm Specification, Chapter 1, 4, for a complete explanation of alarms and these fields. Alarm Fields, Chapter 2, 3, lists other fields related to a alarms that are common to all record types. See Invalid Alarm Output Action, Chapter 3, 3.5 for more information about the IVOA and IVOV fields.
FieldSummaryTypeDCTInitialAccessModifyRec Proc MonitorPP
HIHIHihi Alarm LimitFLOATYes0YesYesNoYes
HIGHHigh Alarm LimitFLOATYes0YesYesNoYes
LOWLow Alarm LimitFLOATYes0YesYesNoYes
LOLOLolo Alarm LimitFLOATYes0YesYesNoYes
HHSVHihi Alarm SeverityGBLCHOICEYes0YesYesNoYes
HSVHigh Alarm SeverityGBLCHOICEYes0YesYesNoYes
LSVLow Alarm SeverityGBLCHOICEYes0YesYesNoYes
LLSVLolo Alarm SeverityGBLCHOICEYes0YesYesNoYes
HYSTAlarm DeadbandDOUBLEYes0YesYesNoNo
IVOAInvalid Alarm Output ActionGBLCHOICEYes0YesYesNoNo
IVOV Invalid Alarm Output ValueDOUBLEYes0YesYesNoNo

7. Monitor Parameters


These parameters are used to determine when to send monitors placed on the VAL field. The monitors are sent when the value field exceeds the last monitored field by the specified deadband, ADEL for archiver monitors and MDEL for all other types of monitors. If these fields have a value of zero, everytime the value changes, a monitor will be triggered; if they have a value of -1, everytime the record is scanned, monitors are triggered. See Monitor Specification, Chapter 1, 5, for a complete explanation of monitors.
FieldSummaryTypeDCTInitialAccessModifyRec Proc MonitorPP
ADELArchive DeadbandDOUBLEYes0YesYesNoNo
MDELMonitor, i.e. value change, DeadbandDOUBLEYes0YesYesNoNo

8. Run-Time Parameters and Simulation Mode Parameters


These parameters are used by the run-time code for processing the data fanout record. They are not configurable. They are used to implement the hysteresis factors for monitor callbacks.
FieldSummaryTypeDCTInitialAccessModifyRec Proc MonitorPP
LALMLast Alarm Monitor Trigger ValueDOUBLENo0YesNoNoNo
ALSTLast Archiver Monitor Trigger ValueDOUBLENo0YesNoNoNo
MLSTLast Value Change Monitor Trigger ValueDOUBLENo0YesNoNoNo

9. Record Support Routines


init_record()

This routine initializes all output links that are defined. Then it initializes DOL is DOL is a constant or PV_LINK. When initializing the output links and the DOL link, a non-zero value is returned if an error occurs.

process()

See next section.

get_value()

This routine fills in the members of struct valueDes{} with the VAL fields value and characteristics.

get_units()

The routine copies the string specified in the EGU field to the location specified by a pointer which is passed to the routine.

get_graphic_double()

If the referenced field is VAL, HIHI, HIGH, LOW, or LOLO, this routine sets the upper_disp_limit member of the dbr_grDouble{} structure to HOPR and the lower_disp_limit member to LOPR. If the referenced field is not one of the above fields, then the recGblGetControlDouble() routine is called.

get_control_double()

Same as the get_graphic_double routine except that it uses the dbr_ctrlDouble{} structure.

get_alarm_double()

This sets the members of the dbr_alDouble{} structure to the specified alarm limits if the referenced field is VAL:

upper_alarm_limit = HIHI
upper_warning_limit = HIGHT
lower_warning_limit = LOW
lower_alarm_limit = LOLO
If the referenced field is not VAL, the recGblGetAlarmDouble() routine is called.

10. Record Processing


1. The process() routine first retrieves a value for DOL and places it in VAL if OMSL is set to closed loop mode. If ann error occurs, then UDF is set to FALSE.

2. PACT is set TRUE.

3. VAL is then sent to all the records specified in the OUTA-OUTH fields by calling the recGblPutLinkValue() for each link.

4. Alarms are checked and monitors are called if conditions apply.

5. The data fanout's own forward link is then processed.

6. PACT is set FALSE, and the process() routine returns. A -1 is returned if there was an error writing values to one of the output links.

1. - Introduction
2. - Scan Parameters
3. - Desired Output Parameters
4. - Write Parameters
5. - Operator Display Parameters
6. - Alarm Parameters
7. - Monitor Parameters
8. - Run-Time Parameters and Simulation Mode Parameters
9. - Record Support Routines
init_record()
process()
get_value()
get_units()
get_graphic_double()
get_control_double()
get_alarm_double()
10. - Record Processing

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

Generated with Harlequin WebMaker