limit

Purpose:

Use the ‘limit’ process to examine limit specifications and take required actions. Limit specifications consist of limiting values which may be placed on any REAL, INTEGER, or STATISTICAL variable along with various actions that can be invoked when a limit is violated.

Enter:

limit <name> <priority> <interval> [+c] &

Where:

name Specify a unique registered name that corresponds to the name in the specification file.
priority Specify a number between 11 and 19. Higher numbers are higher priority.
interval Specify SLO, the standard process interval designation.
+c Specify this flag to kill the system watchdog if the application abnormally terminates.

Example:

Launching the default instance:

limit Limit 12 SLO +c &
limit_specs

Launching a special instance:

limit XYZ 12 SLO &
limit_specs /specs/limit_specs.XYZ file must contain the XYZ name

Notes:

The “limit” task is normally launched from the “cell/go.scp” script.

There may be more than one limit task but each mush have a unique registered name.

Each instance of a task that is launched must have a corresponding specification file that contains the associated registered name.

The task need only be spawned with the “SLO” process interval. If other intervals are present in the spec file, it will automatically attach to the required events.

Limit values may be upper or lower limits.

Limit values may be expressed as constants, variable labels, or as computed expressions.

A LOGICAL variable can be specified to enable or disable a limit.

Violation information is written to a file (/data/errors/Reg_name.yymmdd) in time order. Entries are included for each time a limit is violated and also when the value becomes within limits.

Actions include the following options:

  • Set a state flag (LOGICAL variable) which is TRUE while the limit is in violation.
  • Set a latch flag (LOGICAL variable) which gets set to TRUE when the limit is first violated and remains in that state until reset by the “reset_ltch”, “nt”, or “limit_specs” commands.
  • Set an event when the limit is first violated.
  • Set an event when the variable returns to a non-violation value.

See Also:

Limits Monitoring Applications