man7/np_type

Table of Contents

Name

np_type - AccelNET NPtypes

General Information

Each NPtype operates is two possible ways.

If Label and RefName are NULL the rule works one way.

If Label and RefName point to a valid AccelNET parameter the rule works another way.

The descriptions below list the behavior for each case.

If the rule description is preceeded by "null:" then it describes the case where the Label and RefName are NULL.

If the rule description is preceeded by "parm:" then it describes the case where the Label and RefName point to a valid AccelNET parameter.

In the descriptions below V is the accumulator, Scale is the scale field from the NUMPOINT record and data_point is the value of the AccelNET parameter referenced by the Label and RefName.

valid NPtype values

accumulator keys

add - addition

null: V += Scale
parm: V += data_point * Scale
sub - subtraction

null: V -= Scale
parm: V -= data_point * Scale
mult - multiplication

null: V *= Scale
parm: V *= data_point * Scale
div - division

null: V /= Scale
parm: V /= data_point * Scale
if Scale == 0 then V = 0 (avoid an exception)
abs - absolute value

null: V = fabs(V * Scale)
parm: V = fabs(data_point * Scale)
pow - raise to a power

null: V = pow(V, Scale)
parm: V = pow(V, data_point * Scale)
pow2 - raise to a power

null: V = pow(Scale, V)
parm: V = pow(data_point * Scale, V)
ln - natural log

null: V = log(V * Scale)
parm: V = log(data_point * Scale)
log - common log

null: V = log10(V * Scale)
parm: V = log10(data_point * Scale)
mod_E - extract exponent

null: modf(V * Scale, E); V = E;
parm: modf(data_point * Scale, E); V = E;
mod_R - extract remainder

null: V = modf(V * Scale, E)
parm: V = modf(data_point * Scale, E)
sin - sine

null: V = sin(V * Scale)
parm: V = sin(data_point * Scale)
cos - cosine

null: V = cos(V * Scale)
parm: V = cos(data_point * Scale)
tan - tangent

null: V = tan(V * Scale)
parm: V = tan(data_point * Scale)
asin - arc sine

null: V = asin(V * Scale)
parm: V = asin(data_point * Scale)
acos - arc cosine

null: V = acos(V * Scale)
parm: V = acos(data_point * Scale)
atan - arc tangent

null: V = atan(V * Scale)
parm: V = atan(data_point * Scale)
load - load a value

null: V = Scale
parm: V = data_point * Scale
or - OR function

null: V = V
parm: V = (V | (data_point << Scale)
the 2nd rule is suspect and may be changed - rlk 8/23/2000
gate - gating function

if (V == Scale) then NLdatapoint = V

This allows one datapoint to be copied to another using a third datapoint as a switch.

One use is for copying a Faraday cup CR value to a CRsave datapoint using a nop/chg datapoint.

The numeric chain is traversed until a gate function is found. If the gate function is true i.e. V == Scale then the gate function is asserted i.e. the value of the accumulator is copied to the output datapoint and traversal of the chain ends.

This allows one of a set of datapoints to be switched into an output datapoint using a datapoint as a control to select which one to copy.

sub total 1 function keys

add_S1 - add to subtotal 1

See the add function above.
sub_S1 - sub to subtotal 1

See the sub function above.
mult_S1 - mult to subtotal 1

See the mult function above.
div_S1 - div to subtotal 1

See the div function above.
abs_S1 - absolute to subtotal 1

See the abs function above.
pow_S1 - raise to a power subtotal 1

See the pow function above.
pow2_S1 - raise to a power subtotal 1

See the pow2 function above.
ln_S1 - natural log

See the ln function above.
log_S1 - common log

See the log function above.
mod_E_S1 - exponent

See the mod_E function above.
mod_R_S1 - remainder

See the mod_R function above.
sin_S1 - sine

See the sin function above.
cos_S1 - cosine

See the cos function above.
tan_S1 - tangent

See the tan function above.
asin_S1 - arc sine

See the asin function above.
acos_S1 - arc cosine

See the acos function above.
atan_S1 - arc tangent

See the atan function above.
load_S1 - load value

See the load function above.
t_add_S1 - add subtotal to main total

total += subtotal 1, clr S1
t_sub_S1 - subtract subtotal from main total

total -= subtotal 1, clr S1
t_mul_S1 - multply main total by subtotal

total *= subtotal 1, clr S1
t_div_S1 - divide main total by subtotal

total /= subtotal 1, clr S1

sub total 2 function keys

These functions codes behave exactly the same as the _S1 counterparts except that they use subtotal 2.
add_S2
sub_S2
mult_S2
div_S2
abs_S2
pow_S2
pow2_S2
ln_S2
log_S2
mod_E_S2
mod_R_S2
sin_S2
cos_S2
tan_S2
asin_S2
acos_S2
atan_S2
load_S2
t_add_S2
t_sub_S2
t_mul_S2
t_div_S2

sub total 3 function keys

These functions codes behave exactly the same as the _S1 counterparts except that they use subtotal 3.
add_S3
sub_S3
mult_S3
div_S3
abs_S3
pow_S3
pow2_S3
ln_S3
log_S3
mod_E_S3
mod_R_S3
sin_S3
cos_S3
tan_S3
asin_S3
acos_S3
atan_S3
load_S3
t_add_S3
t_sub_S3
t_mul_S2
t_div_S3

sub total 4 function keys

These functions codes behave exactly the same as the _S1 counterparts except that they use subtotal 4.
add_S4
sub_S4
mult_S4
div_S4
abs_S4
pow_S4
pow2_S4
ln_S4
log_S4
mod_E_S4
mod_R_S4
sin_S4
cos_S4
tan_S4
asin_S4
acos_S4
atan_S4
load_S4
t_add_S4
t_sub_S4
t_mul_S4
t_div_S4

Manual page revision

$Id: np_type.7,v 1.4 2009/11/02 20:36:48 kitchen Exp $


Table of Contents