Contents:
The sequence record can fetch 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 or links to other EPICS PVs. If a Desired Output Link is a constant, the corresponding value field for that link is initialized to the constant value. Otherwise, if the Desired Output Link is a link, a value is fetched from the link each time the record is processed. See the EPICS Record Reference Manual for information on how to specify database links.
The values fetched from the Desired Output Links are stored in the corresponding Desired Output fields (DO1-DOA and STR1-STRA). These fields can also be initialized to a constant value, and they can be changed at run time. But note that the value of DOn and STRn will be overwritten if DOLn is a valid link (i.e., if DOLn contains the name of a PV to which the sseq record is able to make a channel-access connection).
Many EPICS records that have a DOL link field also have an OMSL (Output Mode Select) field, which determines whether or not the DOL field is used. Like the seq record, the sseq record has no such field. Its DOLn links are used if they contain text that could be a PV name, and value fields are overwritten if that use succeeds.
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
DOL1...DOLA | Desired Output Links 1-10 | INLINK | Yes | 0 | Yes | Yes | N/A | No |
DO1...D0A | Desired Output Values 1-10 | DOUBLE | No | 0 | Yes | Yes | No | No |
STR1...STRA | Desired Output Strings 1-10 | STRING | No | 0 | Yes | Yes | No | No |
EPICS links can cause processing of the linked-to (i.e., target) record to occur. Whether or not processing actually does occur depends on both the specification of the link, and the properties of the target record. This is well documented in the EPICS Application Developer's Guide, but since some details of link behavior are essential prerequisites for an understanding of the sseq record's WAITn fields, the (EPICS 3.14) behavior of the output links, LNKn, is summarized here:
There are three possibilities:
targetRecord.field PP
NMS
"), then the link will attempt to cause targetRecord
to
process. The attempt will succeed, however, only if the target record is
"Passive" (e.g., targetRecord.SCAN
has the value
Passive
). In other words, "PP" means "process if passive".
targetRecord.field
CA NMS
"), then targetRecord
will process only if
field
has been designated by targetRecord
's
record-support code as a "Process Passive" field. You can tell if a field is
"Process Passive" either by looking at the record's .dbd file, or by writing to
it from any Channel Access client; if the record processes when the field is
question is written to via Channel Access, then the field is Process Passive,
and a CA link to that field from the sseq record will also cause the record to
process.
targetRecord
will not process as a result of LNKn.
The sseq record is permitted to demand a completion callback from EPICS only if the LNK field it's processing has the attribute "CA". A "PP" link is not permitted to make this demand. If LNKn does have the "CA" attribute, and WAITn has the value "Wait", then the sseq record will demand a completion callback. In this case, it will wait after firing LNKn for the callback, before moving on to the next group of DLY/DOL/LNK fields. If LNKn has any other attribute, WAITn is irrelevant and its value will be ignored.
If LNKn has the attribute "CA", and WAITn has the value "Wait",
but targetRecord.field
is not a Process-Passive field, then
targetRecord
will not process as a result of LNKn, but the
sseq record will immediately receive a completion callback anyway, and will
therefore not wait for targetRecord
to process.
Finally, if the sseq record successfully waits for targetRecord
to finish processing, it is still possible for other records to process as an
indirect result of LNKn, and the sseq record cannot wait for this
indirectly caused processing to finish unless the database developer has
arranged for the indirectly caused processing to be traceable by EPICS. For
example, a channel access client may have a monitor on the field the sseq record
writes to, and may do something when that field's value changes. EPICS cannot
trace this processing without special help from a database developer. This
issue is covered in depth in the documentation of the sscan record, which also
relies on EPICS execution tracing to determine when processing it has caused
finishes. (See "Completion Reporting" in the Powerpoint presentation
"Scans.ppt" in the synApps sscan module's documentation directory.)
Field | Summary | Type | DCT | Initial | Access | Modify | Rec Proc Monitor | PP |
---|---|---|---|---|---|---|---|---|
LNK1...LNKA | Output links 1-10 | OUTLINK | Yes | blank | Yes | Yes | N/A | No |
WAIT1...WAITA | Waits 1-10 | MENU ("NoWait"/"Wait") | Yes | "NoWait" | Yes | Yes | N/A | No |
These fields determine whether the sseq record waits for completion of any processing started by a LNK field before processing the next set of DLY/DOL/LNK fields. If WAITn has the value "Wait", then the record will attempt to execute LNKn in such a way that it will be able to wait for all processing started by the link to finish. |
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 |
Delays are implemented with a time granularity of the system clock, which typically has a frequency of 60 Hz. When a delay value is specified, the record rounds it to the nearest multiple of the system clock period, and writes it back to the DLYn field.
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 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
DLYA | Delay time | DOUBLE | Yes | 0 | Yes | Yes | No | No |
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 |