Main Menu

PA0052 General Purpose Parameter Program


Expressions (2)

Program: PA0052
<< Bunch Length Monitors Topic Notify Channel modes >>
The parameter page also supports algebraic expressions of ACNET devices.
To enter an expression, the first character typed in should be a pound
sign (#).  Then type in your expression.  Either the reading or setting
property can be specified for a device.  If the second character in the
name is a colon (:), the reading property will be used.  If the second
character is an underscore (_), the setting property will be used.

The operators supported are:

+ -> addition
- -> subtraction
* -> multiplication
/ -> division
^ -> exponentiation
% -> integer modulus


EXAMPLE:

#A:IBEAM/L:D7TOR   <--- note USE of COLON, not semicolon.

The use of parentheses in expressions is fully supported.

The following math functions are also supported:

sqrt	-> square root
ln	-> natural log
log	-> base 10 log
sin	-> sine
cos	-> cosine
tan	-> tangent

ACL Expressions:

In addition to simple algebraic expressions, the parameter page also
supports Accelerator Command Language (ACL) expressions.  ACL expressions
involve the periodic execution of small ACL scripts to read, compute,
and display values.  These expressions can involve either numeric or
string values.

An ACL expression line must begin with "ACL>#".  An existing ACL script
can be specified by an '@' character.  Scripts contained in the ACL script
database as well as scripts in the MECCA project, utility_acl, can be used.
For database file names, you have to enclose the file name in quotes if
it contains spaces.  You do not have to include the ".acl" suffix for
utility_acl files.

Database scripts must be created and modified using the application program
D136.  If you have never used this program before, you must contact Brian
Hendricks (hendricks@fnal.gov) to be authorized to edit scripts.
utility_acl files can be created and modified using normal MECCA commands.

Arguments can be passed to scripts allowing a single script to be used
in a variety of situations.

For utility_acl scripts, you can run test versions out of your own area
by utilizing the "Set ACL Dir" command under the Pgm_Tools menu.  Scripts
running out of a test directory will have their prompts displayed in
magenta rather than the normal yellow.

A minimum requirement for an ACL script that will be used in ACL
expressions is that it must set the symbol "$paramPageValue".  This
symbol will return the value to be displayed by the parameter page.
The symbol value can either be numeric or a string.

There are three other symbols that the parameter page will look for
from an ACL expression script.

$paramPageColor  - This symbol can be used to specify the display color.
$paramPageLength - This symbol can be used to specify the display length.
$paramPageUnits  - This symbol can be used to specify the units text.

Level 2 Topics:
Overview Cryogenics stuff
New Features MNTN RANGE/Frame Grabbers
*---->Collider Memo Pad<----* pbar clock events/ P60/DTOA/6
Commands Bunch Spreaders (MR)
SBD - Sampled Bunch Display Switchyard stuff
mults and bumps Tevatron Bunch Spreader
Display Options Pseudo-fixed target inj.
Plot Package Interfaces Transfers between machines
CATV channels ACL Commands
8 GeV Kickers MR RF OFF control
Mountain Ranges Bunch Length Monitors
Notes Expressions
Bob's list of dropped encl's Notify Channel modes
Schottkies, Roman pots, etc. Bugs
Collimators and lambertsons Suggestions


Page(s):
B(Booster) 2 , 3 , 5 , 6 , 7 , 8 , 9 , 11 , 12 , 18 , 19 , 27 , 28 , 43 , 56 , 69 , 71 , 99 , 109 , 111
C(Collider) 9 , 14 , 16 , 18 , 30 , 34 , 57 , 64 , 65 , 72 , 73 , 82 , 94
D(Diagnostic/Utility) 24 , 26 , 96 , 97 , 106
E(Experimental) 3 , 4 , 5 , 6 , 7 , 15 , 22 , 23 , 25 , 30 , 35 , 38 , 52 , 53 , 54 , 58 , 61 , 62 , 87 , 88 , 99 , 107 , 128 , 129
F(Refrigerator) 4 , 9 , 14 , 37 , 49 , 50 , 51 , 52 , 53 , 58 , 60 , 61 , 71 , 72 , 73 , 81
H(Hardware Diagnostic) 34 , 53 , 55
I(Main Injector) 4 , 5 , 8 , 10 , 18 , 19 , 21 , 26 , 27 , 34 , 58 , 59 , 63 , 64 , 65 , 66 , 81 , 133
L(Linac/Preacc) 2 , 3 , 4 , 5 , 6 , 7 , 8 , 12 , 14 , 19 , 20 , 26 , 30 , 38 , 41 , 44 , 46 , 48 , 49 , 66 , 68
M(Main Ring) 2 , 3 , 4 , 22 , 65 , 69
N(New Muon Lab) 9 , 10 , 11 , 25 , 26 , 31 , 49 , 50 , 51 , 52 , 53 , 67 , 68 , 118 , 119 , 120 , 121 , 122
P(P-Bar) 8 , 12 , 36 , 38 , 57 , 60 , 66 , 71 , 75 , 79 , 100 , 122 , 123 , 200 , 202
R(Recycler) 4 , 5 , 8 , 26 , 27 , 34 , 35 , 59 , 63 , 64 , 65 , 66 , 117 , 118 , 119 , 154 , 160 , 192
S(Switchyard) 3 , 4 , 15 , 16 , 17 , 18 , 21 , 41
T(Tevatron) 4 , 5 , 9 , 13 , 15 , 23 , 30 , 37 , 43 , 55 , 56 , 68 , 72 , 73 , 74 , 75 , 81 , 88 , 90 , 111 , 118 , 119 , 120
W(Work in Progress) 70 , 95 , 97 , 99 , 100

Callee(s): Data Pool Manager Peek SA (SA0020) , TO PLOT TOROID CURRENT ON STORAGE SCOPE (SA0021) , Electron Cooling losses plot (SA1022) , Linac Toroid and Losses Plot (SA1046) , This is an interpretive graphical display (Lex SA). (SA1082) , Switchyard SWIC Display (SA1086)