Символ |
Описание |
Пример |
Результат |
< |
Меньше чем |
~~var1~~ < ~~var2~~ |
9<3 = 0 |
> |
Больше чем |
~~var1~~ > ~~var2~~ |
9>3 = 1 |
<= |
Меньше или равно |
~~var1~~ <= ~~var2~~ |
9<=3 = 0 |
>= |
Больше или равно |
~~var1~~ >= ~~var2~~ |
9>=3 = 1 |
== |
Равно |
~~var1~~ == ~~var2~~ |
9==4 = 0 |
!= |
Не равно |
~~var1~~ != ~~var2~~ |
8!=2 = 1 |
Логические операции
Меню логических операций показано на рис. 43.
Рис. 43. Меню логических операций
Для вызова меню символов логических операций следует нажать кнопку Логические диалоговой панели Редактор выражений.
Используются следующие форматы для символов логических операций:
Выражение :: Операнд1 Символ Операнд2, где Символ – символ операции: && , ||
Для операции НЕ используется следующий формат: Выражение :: Символ Операнд1,
где Символ – символ операции: !.
Результатом выражения является булево значение (0 или 1).
Таблица истинности логических операций:
~~var1~~ |
|
0 |
|
1 |
~~var2~~ |
0 |
1 |
0 |
1 |
~~var1~~ && ~~var2~~ |
0 |
0 |
0 |
1 |
~~var1~~ || ~~var2~~ |
0 |
1 |
1 |
1 |
! ~~var1~~ |
1 |
0 |
1 |
0 |
Примеры:
Символ |
Описание |
Пример |
Результат |
&& |
Логическое И |
~~var1~~ && ~~var2~~ |
9&&3 = 1 |
|| |
Логическое ИЛИ |
~~var1~~ || ~~var2~~ |
9||3 = 1 |
! |
Логическое НЕ |
! ~~var1~~ |
!9 = 0 |
106
Битовые операции
Меню битовых операций показано на рис. 44.
Рис. 44. Меню битовых операций
Для вызова меню символов битовых операций следует нажать кнопку Битовые диалоговой панели Редактор выражений.
Используются следующие форматы для символов битовых опера-
ций:
Выражение :: Операнд1 Символ Операнд2, где Символ – символ операции: & , | , ^.
Для операции НЕ используется следующий формат: Выражение :: Символ Операнд1,
где Символ – символ операции: ~.
Для операции сдвига влево и вправо используется следующий формат: Выражение :: Символ (Операнд1, Сдвиг),
где Символ – символ операции: shl, shr; Сдвиг – количество бит, на которое требуется выполнить сдвиг.
Результатом выражения является целое значение.
107
Таблица примеров использования битовых операций
~~var1~~ |
0000 0000 0000 1000 (8) |
0000 0000 0110 0000 (96) |
|
|
|
~~var2~~ |
0000 0000 0000 1010 (10) |
0000 0000 0000 1000 (8) |
|
|
|
~~var1~~ & ~~var2~~ |
0000 0000 0000 1000 (8) |
0000 0000 0000 0000 (0) |
|
|
|
~~var1~~ | ~~var2~~ |
0000 0000 0000 1010 (10) |
0000 0000 0110 1000 (104) |
|
|
|
~~var1~~ ^ ~~var2~~ |
0000 0000 0000 0010 (2) |
0000 0000 0110 1000 (104) |
|
|
|
~ (~~var2~~) |
1111 1111 1111 0101 (-11) |
1111 1111 1111 0111 (-9) |
|
|
|
Shr(~~var1~~,3) |
0000 0000 0000 0001 (1) |
0000 0000 0000 1100 (12) |
|
|
|
Shl(~~var1~~,3) |
0000 0000 0100 0000 (64) |
0000 0011 0000 0000 (768) |
|
|
|
Примеры:
Символ |
Описание |
Пример |
Результат |
& |
Поразрядное И |
~~var1~~ & ~~var2~~ |
8&3 = 0 |
| |
Поразрядное ИЛИ |
~~var1~~ | ~~var2~~ |
8|3 = 11 |
^ |
Исключающее ИЛИ |
~~var1~~ ^ ~~var2~~ |
8^3 = 11 |
shl |
Поразрядный сдвиг влево |
Shl(~~var1~~, 3) |
Shl(8,3) = 64 |
shr |
Поразрядный сдвиг вправо |
Shr(~~var1~~, 3) |
Shr(8,3) = 1 |
~ |
Поразрядное НЕ |
~(~~var1~~) |
~ 8 = 9 |
Функциональные операции
Рис. 45. Меню функциональных операций
108
Меню функциональных операций показано на рис. 45. Операторы функциональных операций sin, asin, cos, acos, tan, atan,
log, ln, exp, sqrt, abs, ceil, floor используются в выражениях следующим образом:
Выражение :: Оператор (Аргумент),
где Аргумент – локальная переменная, псевдоним, тег OPC, константа или другие выражения.
Операторы функциональных операций pow, min, max используются в выражениях следующим образом:
где Выражение :: Оператор (Аргумент1, Аргумент2),
где Аргумент1, 2 – локальная переменная, псевдоним, тег OPC, константа или другие выражения.
Оператор if используется следующим образом: Выражение :: Оператор (Аргумент1, Аргумент2, Аргумент3),
где Аргумент 1, 2, 3 – локальная переменная, псевдоним, константа или другие выражения.
Результатом вычисления описанных выше выражений является числовое значение.
Оператор like используется следующим образом: Выражение: like (Аргумент1, Шаблон, Регистр),
где Аргумент1 – строка, тег OPC (типа String) или псевдоним, состав которой анализируется на наличие строки, задаваемой шаблоном; Шаблон – строка, тег OPC (типа String) или псевдоним, поиск которого выполняется в анализируемой строке. Могут быть использованы следующие символы ввода шаблона поиска: « », «?». Символ « » применяется вместо группы символов в анализируемой строке. Символ «?» используется вместо одного символа; Регистр – ненулевое значение.
В результате при обнаружении совпадений возвращается 1 (true) и 0 (false) – в противном случае.
Примеры:
Символ |
Описание |
Пример |
Результат |
|
|
|
|
Sin |
Синус угла в радианах |
Sin(~~var1~~) |
Sin(0.785)=0.71 |
|
|
|
|
Cos |
Косинус угла в радианах |
Cos(~~var1~~) |
Cos(0.785)=0.71 |
|
|
|
|
Tan |
Тангенс угла в радианах |
tan(~~var1~~) |
tan(0.785)=1.00 |
|
|
|
|
109
|
|
|
|
|
|
Продолжение |
|
|
|
|
|
|
|||
Символ |
Описание |
|
Пример |
Результат |
|||
Asin |
Арксинус |
величины |
с |
asin(~~var1~~) |
asin(0.5)=0.52 |
||
возвратом |
результата |
в |
|||||
|
радианах |
|
|
|
|
|
|
|
Арккосинус |
величины |
с |
|
|
||
Acos |
возвратом |
результата |
в |
acos(~~var1~~) |
acos(0.5)=1.05 |
||
|
радианах |
|
|
|
|
|
|
|
Арктангенс |
величины |
с |
|
|
||
atan |
возвратом результата в |
|
atan(~~var1~~) |
atan(1)=0.785 |
|||
|
радианах |
|
|
|
|
|
|
Sqrt |
Квадратный корень |
|
sqrt(~~var1~~) |
Sqrt(100)=10 |
|||
|
Возведение |
первого ар- |
pow(~~var1~~, |
|
|||
Pow |
гумента в степень, значе- |
Pow(100,1.5)=1000 |
|||||
ние которой, равно вто- |
~~var2~~) |
||||||
|
|
||||||
|
рому аргументу |
|
|
|
|
||
Log |
Десятичный |
логарифм |
log(~~var1~~) |
Log(100)=2 |
|||
аргумента |
|
|
|
||||
|
|
|
|
|
|
||
Ln |
Натуральный |
логарифм |
ln(~~var1~~) |
Ln(7.389)=2 |
|||
аргумента |
|
|
|
||||
|
|
|
|
|
|
||
|
Экспонента |
с |
показате- |
|
|
||
Exp |
лем, значение |
которого |
exp(~~var1~~) |
Exp(2)=7.389 |
|||
равно |
|
|
|
||||
|
|
|
|
|
|
||
|
аргументу |
|
|
|
|
|
|
Abs |
Абсолютное значение ар- |
abs(~~var1~~) |
Abs( 1)=1 |
||||
гумента |
|
|
|
||||
|
|
|
|
|
|
||
Ceil |
Округление до большего |
ceil(~~var1~~) |
Ceil(7.39)=8 |
||||
целого |
|
|
|
||||
|
|
|
|
|
|
||
Floor |
Округление до меньшего |
floor(~~var1~~) |
Floor(7.39)=7 |
||||
целого |
|
|
|
||||
min |
Минимальное |
значение |
min(~~var1~~, |
Min(10,5)=5 |
|||
из двух аргументов |
|
~~var2~~) |
|||||
|
|
|
|||||
max |
Максимальное |
значение |
max(~~var1~~, |
Max(10,5)=10 |
|||
из двух аргументов |
|
~~var2~~) |
|||||
|
|
|
|||||
|
|
|
|
|
If(~~var1~~ < |
|
|
if |
Условное выражение |
|
~~var2~~, |
If(5<8,5,8)=5 |
|||
|
~~var1~~, |
||||||
|
|
|
|
|
|
||
|
|
|
|
|
~~var2~~) |
|
|
110