Patrotest Wiki

## Formula Editing Rules/Requirements

In many applications it is necessary to provide users with the ability to change the calculation formulas without compiling the software. We use the functionality of National Instruments LabVIEW.

When editing formulas, you can use the following functions:

Function Corresponding LabVIEW Function Description
abs(x) Absolute Value Returns the absolute value of x.
acos(x) Inverse Cosine Computes the inverse cosine of x in radians.
acosh(x) Inverse Hyperbolic Cosine Computes the inverse hyperbolic cosine of x.
asin(x) Inverse Sine Computes the inverse sine of x in radians.
asinh(x) Inverse Hyperbolic Sine Computes the inverse hyperbolic sine of x.
atan(x) Inverse Tangent Computes the inverse tangent of x in radians.
atan2(y,x) Inverse Tangent (2 Input) Computes the arctangent of y/x in radians.
atanh(x) Inverse Hyperbolic Tangent Computes the inverse hyperbolic tangent of x.
ceil(x) Round Toward +Infinity Rounds x to the next higher integer (smallest integer x).
cos(x) Cosine Computes the cosine of x, where x is in radians.
cosh(x) Hyperbolic Cosine Computes the hyperbolic cosine of x.
cot(x) Cotangent Computes the cotangent of x (1/tan(x)), where x is in radians.
csc(x) Cosecant Computes the cosecant of x (1/sin(x)), where x is in radians.
exp(x) Exponential Computes the value of e raised to the x power.
expm1(x) Exponential (Arg) – 1 Computes one less than the value of e raised to the
`x power ((e^x) – 1).`
floor(x) Round To –Infinity Truncates x to the next lower integer (largest integer x).
getexp(x) Mantissa & Exponent Returns the exponent of x.
getman(x) Mantissa & Exponent Returns the mantissa of x.
int(x) Round To Nearest Rounds x to the nearest integer.
intrz(x) Rounds x to the nearest integer between x and zero.
ln(x) Natural Logarithm Computes the natural logarithm of x (to the base of e).
lnp1(x) Natural Logarithm (Arg +1) Computes the natural logarithm of (x + 1).
log(x) Logarithm Base 10 Computes the logarithm of x (to the base of 10).
log2(x) Logarithm Base 2 Computes the logarithm of x (to the base of 2).
max(x,y) Max & Min Compares x and y and returns the larger value.
min(x,y) Max & Min Compares x and y and returns the smaller value.
mod(x,y) Quotient & Remainder Computes the remainder of x/y, when the quotient is rounded toward –Infinity.
pow(x,y) Power of X Computes x raised to the y power.
rand( ) Random Number (0 – 1) Produces a floating-point number between 0 and 1 exclusively.
rem(x,y) Quotient & Remainder Computes the remainder of x/y, when the quotient is rounded to the nearest integer.
sec(x) Secant Computes the secant of x, where x is in radians (1/cos(x)).
sign(x) Sign Returns 1 if x is greater than 0, returns 0 if x is equal to 0, and returns –1 if x is less than 0.
sin(x) Sine Computes the sine of x, where x is in radians.
sinc(x) Sinc Computes the sine of x divided by x (sin(x)/x), where x is in radians.
sinh(x) Hyperbolic Sine Computes the hyperbolic sine of x.
sizeOfDim(ary,di) Returns the size of the dimension di specified for the array ary.
sqrt(x) Square Root Computes the square root of x.
tan(x) Tangent Computes the tangent of x, where x is in radians.
tanh(x) Hyperbolic Tangent Computes the hyperbolic tangent of x.

You can use multiple expressions and define internal variables (i.e., a1..a9, b1..b9, etc.).

Example:

```a1 = abs(Mean) - abs(Min) + rand(1);
a2 = abs(Peak) - abs(Mean)+ rand(1);
Result =a2 - a1```

An example of using the formula editor: