The sseq (string sequence) record

1. Introduction


The String Sequence record is similar to the Sequence record, and has all of its capabilities, but it also can link from either string or double fields to either string or double fields. The record is used to trigger the processing of up to ten other records and send values to those records. It is similar to the fanout record, except that it will fetch an input value and write an output value instead of simply processing a collection of forward links. It can also specify one of several selection algorithms that determine which values to write. It has no associated device support. Its fields fall into the following categories:

 scan parameters

 desired output parameters

 output parameters

 selection algorithm parameters

 delay parameters

 operator display parameters

 run-time parameters

2. Scan Parameters


The sequence record has the standard fields for specifying under what circumstances it will be processed. See the EPICS Record Reference Manual for more information.

3. Desired Output Parameters


These fields determine where the record retrieves the values it is to write to other records. All of these values are not necessarily used, depending on the selection algorithm.

 The sequence record can retrieve up to 10 values from 10 locations. The user specifies the locations in the Desired Output Link fields (DOL1-DOLA), which can be either constants, database links, or channel access links. If a Desired Output Link is a constant, the corresponding value field for that link is initialized to the constant value and cannot be changed via dbputs. Otherwise, if the Desired Output Link is a database or channel access link, a value is fetched from the link each time the record is processed (provided that the output link is part of the record's selection algorithm). See the EPICS Record Reference Manual for information on how to specify database links.

 The value fetched from the Desired Output Links are stored in the corresponding Desired Output Value fields (DO1-DOA). These fields can be initialized to a constant value, but they cannot be changed via dbPuts.
Field Summary Type DCT Initial Access Modify Rec Proc Monitor PP
DOL1 Desired Output Link 1 INLINK Yes 0 Yes Yes N/A No
DOL2 Desired Output Link 2 INLINK Yes 0 Yes Yes N/A No
DOL3 Desired Output Link 3 INLINK Yes 0 Yes Yes N/A No
DOL4 Desired Output Link 4 INLINK Yes 0 Yes Yes N/A No
DOL5 Desired Output Link 5 INLINK Yes 0 Yes Yes N/A No
DOL6 Desired Output Link 6 INLINK Yes 0 Yes Yes N/A No
DOL7 Desired Output Link 71 INLINK Yes 0 Yes Yes N/A No
DOL8 Desired Output Link 8 INLINK Yes 0 Yes Yes N/A No
DOL9 Desired Output Link 9 INLINK Yes 0 Yes Yes N/A No
DOLA Desired Output Link 10 INLINK Yes 0 Yes Yes N/A No
DO1 Desired Output Value, Link 1 DOUBLE No 0 Yes Yes No No
DO2 Desired Output Value, Link 2 DOUBLE No 0 Yes Yes No No
DO3 Desired Output Value, Link 3 DOUBLE No 0 Yes Yes No No
DO4 Desired Output Value, Link 4 DOUBLE No 0 Yes Yes No No
DO5 Desired Output Value, Link 5 DOUBLE No 0 Yes Yes No No
DO6 Desired Output Value, Link 6 DOUBLE No 0 Yes Yes No No
DO7 Desired Output Value, Link 7 DOUBLE No 0 Yes Yes No No
DO8 Desired Output Value, Link 8 DOUBLE No 0 Yes Yes No No
DO9 Desired Output Value, Link 9 DOUBLE No 0 Yes Yes No No
DOA Desired Output Value, Link 10  DOUBLE No 0 Yes Yes No No
STR1 Desired Output String, Link 1 STRING No 0 Yes Yes No No
STR2 Desired Output String, Link 2 STRING No 0 Yes Yes No No
STR3 Desired Output String, Link 3 STRING No 0 Yes Yes No No
STR4 Desired Output String, Link 4 STRING No 0 Yes Yes No No
STR5 Desired Output String, Link 5 STRING No 0 Yes Yes No No
STR6 Desired Output String, Link 6 STRING No 0 Yes Yes No No
STR7 Desired Output String, Link 7 STRING No 0 Yes Yes No No
STR8 Desired Output String, Link 8 STRING No 0 Yes Yes No No
STR9 Desired Output String, Link 9 STRING No 0 Yes Yes No No
STRA Desired Output String, Link 10  STRING No 0 Yes Yes No No

4. Output Parameters


When the record is processed, the desired output values are retrieved for the links in the record's selection algorithm and are written to the corresponding output link (LNK1-LNKA). These output links can be database links or channel access links; they cannot be device addresses. There are ten output links, one for each desired output link. Only those that are defined are used.
Field Summary Type DCT Initial Access Modify Rec Proc Monitor PP
LNK1 Output link 1 OUTLINK Yes 0 No No N/A No
LNK2 Output link 2 OUTLINK Yes 0 No No N/A No
LNK3 Output link 3 OUTLINK Yes 0 No No N/A No
LNK4 Output link 4 OUTLINK Yes 0 No No N/A No
LNK5 Output link 5 OUTLINK Yes 0 No No N/A No
LNK6 Output link 6 OUTLINK Yes 0 No No N/A No
LNK7 Output link 7 OUTLINK Yes 0 No No N/A No
LNK8 Output link 8 OUTLINK Yes 0 No No N/A No
LNK9 Output link 9 OUTLINK Yes 0 No No N/A No
LNKA Output link 1 OUTLINK Yes 0 No No N/A No

5. Selection Algorithm Parameters


When the sequence record is processed, it uses a selection algorithm similar to that of the selection record to decide which links to process.The select mechanism field (SELM) has four algorithms to choose from: All, Specified or Mask.

 The All algorithm causes the record to process each input and output link each time the record is processed, in order from 1 to 10. So when SELM is All, the desired output value from DOL1 will fetched and sent to LNK1, then the desired output value from DOL2 will be fetched and sent to the location in LNK2, and so on until the last input and output link DOA and LNKA. (Note that undefined links are not used.) If DOLx is a constant, the current value field is simply used and the desired output link is ignored. The SELN field is not used when All is the algorithm.

 When the Specified algorithm is chosen, each time the record is processed it gets the integer value in the Link Selection (SELN) field and uses that as the index of the link to process. For instance, if SELN is 4, the desired output value from DO4 will be retrieved and sent to LNK4. If DOLx is a constant, DOx is simply used without the value being fetched from the input link.

 When Mask is chosen, each time the record is processed, the record uses the integer value from the SELN field as a mask to determine the links to process. For instance, if SELN is 1, then the value from DO1 will be written to the location in LNK1. If SELN is 3, the record will retrieve the values from DO1 and DO2 and write them to the locations in LNK1 and LNK2, respectively. If SELN is 63, DO1...DO6 will be written to LNK1...LNK6.

 LNK2. If SELN is 63, DO1...DO6 will be written to LNK1...LNK6.
Field Summary Type DCT Initial Access Modify Rec Proc Monitor PP
SELM Select Mechanism RECCHOICE Yes 0 Yes Yes No No
SELN  Link Selection  USHORT No 1 Yes Yes No No
SELL Link Selection Location  INLINK Yes 0 No No N/A No

6. Delay Parameters


The delay parameters consist of 10 fields, one for each I/O link discussed above. These fields can be configured to cause the record to delay processing the link. For instance, if the user gives the DLY1 field a value of 3.0, each time the record is processed at run-time, the record will delay processing the DOL1, DOV1, and LNK1 fields for three seconds. That is, the desired output value will not be fetched and written to the output link until three seconds have lapsed.
Field Summary Type DCT Initial Access Modify Rec Proc Monitor PP
DLY1 Delay time DOUBLE Yes 0 Yes Yes No No
DLY2 Delay time DOUBLE Yes 0 Yes Yes No No
DLY3 Delay time DOUBLE Yes 0 Yes Yes No No
DLY4 Delay time DOUBLE Yes 0 Yes Yes No No
DLY5 Delay time DOUBLE Yes 0 Yes Yes No No
DLY6 Delay time DOUBLE Yes 0 Yes Yes No No
DLY7 Delay time DOUBLE Yes 0 Yes Yes No No
DLY8 Delay time DOUBLE Yes 0 Yes Yes No No
DLY9 Delay time DOUBLE Yes 0 Yes Yes No No
DLYA Delay time DOUBLE Yes 0 Yes Yes No No

7. Operator Display Parameters


These parameters are used to present meaningful data to the operator. The Precision field (PREC) determines the decimal precision for the VAL field when it is displayed. It is used when the get_precision record routine is called.

See the EPICS Record Reference Manual for more on the record name (NAME) and description (DESC) fields.
Field Summary Type DCT Initial Access Modify Rec Proc Monitor PP
PREC  Display Precision  SHORT Yes 0 Yes Yes No No
NAME Record Name STRING [29] Yes 0 Yes No No No
DESC Description STRING [29] Yes Null Yes Yes No No

8. Alarm Parameters


The sequence record has the alarm parameters common to all record types. See the EPICS Record Reference Manual for details.

9. Record Support Routines


The only record support routine is process.
 
 
1. First, PACT is set to TRUE, and the link selection is fetched. Depending on the selection mechanism, the link selection output links are processed in order from LNK1 to LNKA. When LNKn is processed, the corresponding DLYn value is used to generate a delay via watchdog timer.
2. After DLYn seconds have expired, the input value is fetched from DOn (if DOLn is constant) or DOLn (if DOLn is a database link or channel access link) and written to LNKn.
3. When all links are completed, an asynchronous completion call back to dbProcess is made (see the Application Developer's Guide for more information on asynchronous processing.)
4. Then UDF is set to FALSE.
5. Monitors are checked.

 

 

6. The forward link is scanned, PACT is set FALSE, and the process routine returns.

 

 

For the delay mechanism to operate properly, the record is processed asynchronously. The only time the record will not be processed asynchronously is when there are no non-NULL output links selected (i.e. when it has nothing to do.) The processing of the links is done via callback tasks at the priority set in the PRIO field in dbCommon (see the Application Developer's Guide for more information on call

1. - Introduction
2. - Scan Parameters
3. - Desired Output Parameters
4. - Output Parameters
5. - Selection Algorithm Parameters
6. - Delay Parameters
7. - Operator Display Parameters
8. - Alarm Parameters
9. - Record Support Routines