The long string output record is used to write an arbitrary ASCII string with a maximum length of 65535 characters.
The record-specific fields are described below, grouped by functionality.
The long string output record has the standard fields for specifying under what circumstances it will be processed. These fields are listed in "Scan Fields". In addition, "Scanning Specification" explains how these fields are used.
The long string output record must specify from where it gets its desired output string. The first field that determines where the desired output originates is the output mode select (OMSL) field, which can have two possible value: closed_loop
or supervisory
. If supervisory
is specified, DOL is ignored, the current value of VAL is written, and VAL can be changed 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 field (DOL) which can be either a database link or a channel access link.
The maximum number of characters in VAL is given by SIZV, and cannot be larger than 65535.
DOL can also be a constant in addition to a link, in which case VAL is initialized to the constant value. Your string constant, however, may be interpreted as a CA link name. If you want to initialize your string output record, it is therefore best to use the VAL field. Note that if DOL is a constant, OMSL cannot be closed_loop
.
See "Address Specification" for information on specifying links.
Field Summary Type DCT Default Read Write CA PP VAL Current Value STRING[SIZV] No Yes Yes Yes SIZV Size of buffers USHORT Yes 41 Yes No No DOL Desired Output Link INLINK Yes Yes Yes No OMSL Output Mode Select MENU (menuOmsl) Yes Yes Yes No
The output link specified in the OUT field specifies where the long string output record is to write its string. The link can be a database or channel access link. If the OUT field is a constant, no output will be written.
See "Address Specification" for information on specifying links.
In addition, the appropriate device support module must be entered into the DTYP field.
Field Summary Type DCT Default Read Write CA PP OUT Output Specification OUTLINK Yes Yes Yes No DTYP Device Type DEVICE Yes Yes Yes No
These parameters are used to specify when the monitor post should be sent by the monitor()
routine. There are two possible choices:
APST is used for archiver monitors and MPST for all other type of monitors.
Field Summary Type DCT Default Read Write CA PP MPST Post Value Monitors MENU (menuPost) Yes Yes Yes No APST Post Archive Monitors MENU (menuPost) Yes Yes Yes No
See "Fields Common to All Record Types" for more on the record name (NAME) and description (DESC) fields.
Field Summary Type DCT Default Read Write CA PP NAME Record Name STRING [61] No Yes No No DESC Descriptor STRING [41] Yes Yes Yes No
The long string input record has the alarm parameters common to all record types. "Alarm Fields" lists other fields related to a alarms that are common to all record types.
The IVOA field specifies an action to take when the INVALID alarm is triggered. There are three possible actions:
Index Identifier Choice String 0 menuIvoaContinue_normally Continue normally 1 menuIvoaDon_t_drive_outputs Don't drive outputs 2 menuIvoaSet_output_to_IVOV Set output to IVOV
When Set output to IVOV
, the value contained in the IVOV field is written to the output link during an alarm condition. See "Invalid Alarm Output Action" for more information on the IVOA and IVOV fields. "Alarm Fields" lists other fields related to a alarms that are common to all record types.
Field Summary Type DCT Default Read Write CA PP IVOA INVALID Output Action MENU (menuIvoa) Yes Yes Yes No IVOV INVALID Output Value STRING [40] Yes Yes Yes No
The old value field (OVAL) of the long string input record is used to implement value change monitors for VAL. If VAL is not equal to OVAL, then monitors are triggered. LEN contains the length of the string in VAL, OLEN contains the length of the string in OVAL.
Field Summary Type DCT Default Read Write CA PP OVAL Previous Value STRING[SIZV] No Yes No No LEN Length of VAL ULONG No Yes No No OLEN Length of OVAL ULONG No Yes No No
The following fields are used to operate the string input in the simulation mode. See "Simulation Mode" for more information on simulation mode fields.
Field Summary Type DCT Default Read Write CA PP SIOL Sim Output Specifctn OUTLINK Yes Yes Yes No SIML Sim Mode link INLINK Yes Yes Yes No SIMM Simulation Mode MENU (menuYesNo) No Yes Yes No SIMS Sim mode Alarm Svrty MENU (menuAlarmSevr) Yes Yes Yes No
The record requires device support to provide an entry table (dset) which defines the following members:
typedef struct {
long number;
long (*report)(int level);
long (*init)(int after);
long (*init_record)(lsoRecord *prec);
long (*get_ioint_info)(int cmd, lsoRecord *prec, IOSCANPVT *piosl);
long (*write_string)(lsoRecord *prec);
} lsodset;
The module must set number
to at least 5, and provide a pointer to its write_string()
routine; the other function pointers may be NULL
if their associated functionality is not required for this support layer. Most device supports also provide an init_record()
routine to configure the record instance and connect it to the hardware or driver support layer.
Device support for DTYP Soft Channel
is provided for writing values to other records or other software components.
Device support for DTYP stdio
is provided for writing values to the stdout, stderr, or errlog streams. INST_IO
addressing @stdout
, @stderr
or @errlog
is used on the OUT link field to select the desired stream.