CA Server Example

Usage

excas [options]

This is an example CA server that is sometimes used for testing purposes. It can be created as a module with the makeBaseApp script, as described in the EPICS Application Developer's Guide.

This code is meant to provide some examples of how the CA server library can be used, but is not intended to be an example of code organization.

Option Description
-d <uuuu> Set verbosity level uuuu for debug messages, where uuuu is a positive integer.
-p <aaaa> Prefix all PV names below with aaaa (e.g. using "-p xyz:" the PV name "bill" becomes "xyz:bill").
-t <n.n> Set execution time where n.n is a positive real number.
-c <uuuu> Set the numbered alias count. The alias names are of the form "fred1", "fred2", etc. Defaults to no aliases.
-s <nnn> nnn=1 (default) sets periodic scanning of the PVs, adding small random noise. nnn=0 turns off periodic scanning.
-ss <nnn> nnn=1 (default) enables synchronous scanning, nnn=0 turns on asynchronous scanning.
-ad <n.n> Set the delay before asynchronous operations complete (defaults to 0.1 seconds).
-an <nnn> Set the maximum number of simultaneous asynchronous operations (defaults to 1000).

The example server has a compile time fixed set of example variables.

Process Variable Name Number of Elements IO Type Data Type High Limit Low Limit Scan Period
jane 1 Synchronous float point, 64 bits 10.0 0.0 0.1 Seconds, random noise changes
fred 1 Synchronous float point, 64 bits 10.0 -10.0 2.0 Seconds, random noise changes
janet 1 Asynchronous float point, 64 bits 10.0 0.0 0.1 Seconds, random noise changes
freddy 1 Asynchronous float point, 64 bits 10.0 -10.0 2.0 Seconds, random noise changes
alan 100 Synchronous float point, 64 bits 10.0 -10.0 2.0 Seconds, random noise changes
albert 1000 Synchronous float point, 64 bits 10.0 -10.0 20.0 Seconds, random noise changes
boot 1 Synchronous enumerated, 16 bits 10.0 -10.0 changed only by client
booty 1 Asynchronous enumerated, 16 bits 10.0 -10.0 1.0 Seconds, random noise changes
bill 1 Synchronous float point, 64 bits 10.0 -10.0 changed only by client
billy 1 Asynchronous float point, 64 bits 10.0 -10.0 changed only by client
bloaty 100000 Synchronous float point, 64 bits 10.0 -10.0 changed only by client

Bugs

Not all of the options listed above have been tested recently.