When adding an alarm in PicoLog 6, you can choose between three methods of defining an alarm condition: threshold, channel disconnection and custom expression editor.

A custom expression for alarms in PicoLog 6 requires a Boolean output (true or false), which you can define using any combination of a wide range of arithmetic, Boolean, relational, statistical and trigonometric operators and constants as listed below:

Brackets for defining operator precedence

standard arithmetic functions

`x ^ y`

: x raised to the power of y

`e ^ x`

: exponential function of x

`x % y`

: modulus (remainder of an integer division) of x divided by y

n`!`

: factorial of integer n

`log(x [,base])`

: logarithm of x to base 10 (or other base if specified). Alternatively use `log10(x)`

: base-10 logarithm of x

`log(x, e)`

: natural logarithm of x

`sqrt(x)`

: square root of x

`abs(x)`

: absolute value of x

`ceil(x)`

: x rounded towards positive infinity

`floor(x)`

: x rounded towards negative infinity

`round(x[, n])`

: x rounded towards nearest integer (or to `n `

decimal places if specified)

`x == y`

: test whether two values are equal

`x != y`

: test whether two values are unequal

`x < y`

: if x is less than y

`x > y `

: if x is greater than y

`x <= y `

: if x is less than or equal to y

`x >= y `

: if x is greater than or equal to y

`x and y`

: Boolean AND of x and y

`x or y`

: Boolean OR of x and y

`not x`

: Boolean inverse of x

`x xor y`

: Boolean exclusive-OR of x and y

`max(a, b, c...)`

: maximum of all values in the list

`min(a, b, c...)`

: minimum of all values in the list

`mean(a, b, c...)`

: mean of all values in the list

`median(a, b, c...)`

: median of all values in the list

`sin(x)`

: sine of x

`cos(x)`

: cosine of x

`tan(x)`

: tangent of x

`operand1 ? operand2 : operand3`

The conditional operator (? :), also called the ternary operator. Example: `x > 0 ? x*4 : x*3`

The conditional operator works as follows:

- If
`operand1`

evaluates to true,`operand2`

is evaluated - If
`operand1`

evaluates to false,`operand3`

is evaluated

`x == disconnected`

True if the data from channel x belongs to a disconnected device

pi: the ratio of a circle's circumference to its diameter (3.141592653589793)

`1.4e3`

= 1400

`22e-3`

= 0.022