EPICS Record Reference Manual
The binary output's fields fall into the following categories:
scan parameters
convert and write parameters
operator display parameters
alarm parameters
run-time parameters
The first field that determines where the desired output originates is
the output mode select (OSML) field, which can have two possible
values--closed loop
or supervisory
. If supervisory
is specified, the value in the VAL field can be set externally via
dbPuts at run-time. If closed loop
is specified, the VAL
field's value is obtained from the address specified in the desired
output location (DOL) field which can be either a database link or a
channel access link. To achieve continuous control, a database link to a
control algorithm record should be entered in the DOL field. Address
Specification, Chapter 1, 2, presents more information on
database addresses and links. Scanning
Specification, Chapter 1, 1, explains the effect of database
linkage on scanning.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
DOL | Desired Output Location (Input Link) | INLINK | Yes | 0 | No | No | N/A | No |
OMSL | Output Mode Select | GBLCHOICE | Yes | 0 | Yes | Yes | No | No |
If the Soft Channel
device support routine is specified,
then the device support routine writes the VAL field's value to the
address specified in the OUT field. Otherwise, RVAL is the value finally
written by the device support routines after being converted.
If VAL is equal to 0, then the record processing routine sets RVAL equal to zero. When VAL is not equal to 0, then RVAL is set equal to the value contained in the MASK field. (MASK is set by the device support routines and is of no concern to the user.) Also when VAL is not 0 and after RVAL is set equal to MASK, the record processing routine checks to see if the HIGH field is greater than 0. If it is, then the routine will process the record again with VAL set to 0 after the number of seconds specified by HIGH. Thus, HIGH implements a momentary output which changes the state of the device back to 0 after N number of seconds.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
DTYP | Device Type | DEVCHOICE | Yes | 0 | Yes | No | No | |
OUT | Output Link | OUTLINK | Yes | 0 | No | No | N/A | No |
VAL | Value Field | ENUM | No | 0 | Yes | Yes | Yes | Yes |
RVAL | Raw Data Value | ULONG | No | 0 | Yes | Yes | Yes | Yes |
HIGH | Seconds to Hold High | FLOAT | Yes | 0 | Yes | Yes | No | No |
ZNAM | Zero Name | STRING [20] | Yes | Null | Yes | Yes | No | Yes |
ONAM | One Name | STRING [20] | Yes | Null | Yes | Yes | No | Yes |
After VAL is set, if VAL is equal to 0, then the record processing routine sets RVAL equal to zero. When VAL is not equal to 0, then RVAL is set equal to the value contained in the MASK field. (MASK is set by the device support routines and is of no concern to the user.) Also when VAL is equal to 1 and after RVAL is set equal to MASK, the record processing routine checks to see if the HIGH field is greater than 0. If it is, then the routine process the record again with VAL=0 after the number of seconds specified by HIGH. Thus, HIGH implements a latched output which changes the state of the device or link to 1, then changes it back to 0 after N number of seconds.
ZNAM | ASCII string defining state zero |
ONAM | ASCII string defining state one |
HIGH | If this value is greater than zero, then whenever VAL is set equal to 1, it is reset to zero after HIGH seconds. |
dbst
utility in R3.13.Otherwise, if the record is configured to use the soft device support modules, then it can be either a database link, a channel access link, or a constant. Be aware that nothing will be written when OUT is a constant. See Address Specification, Chapter 1, 2, for information on the format of database and channel access addresses. Also, see Section 10.3, Device Support For Soft Records, in this chapter for more on output to other records.
get_enum_str
record support routine can retrieve the
state string corresponding to the VAL's state. So if the value is 1, get_enum_str
will return the string in the ONAM field; and if 0, get_enum_str
will return the ZNAM string.See Chapter 2, Fields Common to All Record Types, for more on the record name (NAME) and description (DESC) fields.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
ZNAM | Zero Name | STRING [20] | Yes | Null | Yes | Yes | No | Yes |
ONAM | One Name | STRING [20] | Yes | Null | Yes | Yes | No | Yes |
NAME | Record Name | STRING [29] | Yes | 0 | Yes | No | No | No |
DESC | Description | STRING [29] | Yes | Null | Yes | Yes | No | No |
The possible values for these fields are NO_ALARM
, MINOR
,
and MAJOR
. The ZSV holds the severity for the zero state;
OSV for the one state. COSV is used to cause an alarm whenever the state
changes between the states (0-1, or 1-0) and its severity is configured
as MINOR or MAJOR.
See Invalid Alarm Output Action, Chapter 3, 3.5, for more information on the IVOA and IVOV fields. Alarm Fields, Chapter 2, 3, lists other fields related to a alarms that are common to all record types.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
ZSV | Zero Severity | GBLCHOICE | Yes | 0 | Yes | Yes | No | Yes |
OSV | One Severity | GBLCHOICE | Yes | 0 | Yes | Yes | No | Yes |
COSV | Change of State Severity | GBLCHOICE | Yes | 0 | Yes | Yes | No | Yes |
IVOA | Invalid Alarm | GBLCHOICE | Yes | 0 | Yes | Yes | No | No |
IVOV | Invalid Alarm Output Value | USHORT | Yes | 0 | Yes | Yes | No | No |
ORAW is used to determine if monitors should be triggered for RVAL at the same time they are triggered for VAL.
MASK is given a value by the device support routines and should not concern the user.
The RBV field is also set by device support. It is the actual read back value obtained from the hardware itself or from the associated device driver. The ORBV field is used to decide if monitors should be triggered for RBV at the same time monitors are triggered for changes in VAL.
The LALM field holds the value of the last occurrence of the change of state alarm. It is used to implement the change of state alarm, and thus only has meaning if COSV is MINOR or MAJOR.
The MLST is used by the process
record support routine to
determine if archive and value change monitors are invoked. They are if
MLST is not equal to VAL.
The WPDT field is a private field for honoring seconds to hold HIGH.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
ORAW | Old Raw Value | ULONG | No | 0 | Yes | No | No | No |
MASK | Hardware Mask | ULONG | No | compute | Yes | No | No | No |
RBV | Readback Value | ULONG | No | 0 | Yes | No | No | No |
ORBV | Old Readback Value | ULONG | No | 0 | Yes | No | No | No |
LALM | Last Alarmed Value | USHORT | No | 0 | Yes | No | No | No |
MLST | Last Monitored Value | USHORT | No | 0 | Yes | No | No | No |
RPVT | Record Private | NOACCESS | No | 0 | No | No | No | No |
WDPT | Watchdog Pointer | NOACCESS | No | 0 | No | No | No | No |
The following fields are used to operate the binary output in the simulation mode. See Chapter 3, Fields Common to Many Record Types, for more information on these fields.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
SIOL | Simulation Value Location | INLINK | Yes | 0 | No | No | N/A | No |
SVAL | Simulation Value | DOUBLE | No | 0 | Yes | Yes | No | No |
SIML | Simulation Mode Location | INLINK | Yes | 0 | No | No | N/A | No |
SIMM | Simulation Mode | GBLCHOICE | No | 0 | Yes | Yes | No | No |
SIMS | Simulation Mode Alarm Severity | GBLCHOICE | Yes | 0 | Yes | Yes | No | No |
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, Fields Common to All Record Types for an explanation of these fields. |
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:
Soft Channel
and Raw
Soft Channel
are provided for output records not related to
actual hardware devices. The OUT link type must be either a CONSTANT,
DB_LINK, or CA_LINK.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 Soft Output, Chapter 3, 3.2, for details.
Generated with Harlequin WebMaker