Standard Expressions

Each standard expression consists of a simple expression. The tables below show the grammar that you can use for creating standard expressions:

<expression> ::=

<simple-expression> [ ( "=" | "<>" | "<" | "<=" | ">" | ">=" ) <simple-expression> ]

<simple-expression> ::=

[ "+" | "-" ] <term> [ ( "+" | "-" | OR ) <term> ]

<term> ::=

<factor> [ ( "*" | "/" | MOD | AND | XOR ) <factor> ]

<factor> ::=

[ NOT | "+" | "-" ] ( <function> | "(" <expression> ")" | <boolean> | <integer> | <real> | <date-time> | <string> | <tag> | <cell> | <cell-block> | <field> | <field-block> |)

<function> ::=

<function-name> "(" [ <expression> { "," <expression> } ] ")"

<boolean> ::=

TRUE | FALSE

<integer> ::=

<digit> { <digit> }

<digit> ::=

"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

<real> ::=

[ <integer> ] "." <integer> [ <exponent> ] | <integer> <exponent>

<exponent> ::=

( "E" | "e" ) [ "+" | "-" ] <integer>

<date-time> ::=

"#" ( <date> | <time> | <date> " " <time> ) "#"

<date> ::=

<short-date> | <long-date>

<short-date> ::=

<day> "/" <month-number> "/" <year>

<long-date> ::=

<day> " " <month-name> " " <year>

<year> ::=

<digit> <digit> [ <digit> <digit> ]

<time> ::=

<hours> ":" <minutes> [ ":" <seconds> [ <fraction> ] ]

<fraction> ::=

"." <digit> [ <digit> [ <digit> ] ]

<string> ::=

"'" <text> "'"

In addition to the grammar shown above, you can use the following grammar in expressions other than Template expressions:

NOTE: Tags do not apply to Template expressions, instead you use Template Parameters.

<tag> ::=

""" ( <relative-tag> | [ <system-name> ":" ]
<absolute-tag> | Parameter: <parameter-name> ) """

<relative-tag> ::=

"." { "." } ( <data-tag> | <historic-tag> |
<historic-calc-tag> )

<absolute-tag> ::=

<data-tag> | <historic-tag> | <historic-calc-tag> | <server-status-tag> | <register-tag>

<data-tag> ::=

( <item> | <search-key> ) [ "." ( <property-name> | <method-name> "(" [ <expression> { "," <expression> } ] ")" ) ]

<historic-tag> ::=

( <item> | <search-key> ) [ "."
<historic-algorithm-name> ] ";" <opc-aggregate> ";" <relative-time> ";" <interval>

<historic-calc-tag> ::=

( <item> | <search-key> ) [ "."
<historic-algorithm-name> ] ":" <interval> ":" <interval> ":" <interval>

<item> ::=

( <group> | [ <group> "." ] <item-name> ) [ "."
<aggregate-name> ]

<group> ::=

<group-name> [ "." <group> ]

<server-status-tag> ::=

"#" <status-tab-name> "." <status-key> "."
<status-property-name>

Where:


Disclaimer

ClearSCADA 2017 R3