Custom expression for alarms

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:

Arithmetic functions

        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)

Relational operators (used in alarms for comparing values)

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

Boolean operators

    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

Statistical functions

    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

Trigonometric functions

    sin(x) : sine of x

    cos(x) : cosine of x

    tan(x) : tangent of x

Special functions

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)

Scientific notation

1.4e3 = 1400

22e-3 = 0.022