Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ
Арифметические операторы производят основные математические операции со значениями тегов.
Обозначение Оператор Пример
+ сложение tag1 + tag2
- вычитание tag1 - tag2
* умножение tag1 * tag2
/ деление tag1 / tag2
% модуль (остаток) tag1 % tag2
! возведение в степень tag1 ! 2
Примечание: Оператор "модуль" представляет собой остаток от деления одного числа на другое. Например, остаток от деления 13 на 5 равен 3; поэтому: 13 % 5 = 3.
Примеры: Арифметические операторы
В данных примерах tag1 равен 5, а tag2 равен 7.
tag1 + tag2 возвращает значение, равное 12
tag1 * tag2 возвращает значение, равное 35
tag1 - tag2 возвращает значение, равное -2
tag1 / tag2 возвращает значение, равное 0.71
tag1 % tag2 возвращает значение, равное 5
tag1 ! tag2 возвращает значение, равное 78125
Примечание: последовательность операторов является важной и объясняется далее.
ВСТРОЕННЫЕ ФУНКЦИИ
Встроенные функции возвращают значения с плавающей запятой.
Функция Возвращаемое значение
SIN(tag) синус выражения
COS(tag) косинус выражения
LOG(tag) десятичный логарифм выражения
LN(tag) натуральный логарифм выражения
EXP(tag) выражение в степени Е
TAN(tag) тангенс выражения
SQR(tag) квадратный корень выражения
ABS(tag) абсолютное значение выражения
NOT(tag) выражение = - выражение
ON(tag) возвращает 1.0 если выражение!=0 ,иначе 0.0
OFF(tag) возвращает 1.0 если выражение ==0.0 ,иначе 1.0
ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ ОПЕРАТОРОВ
Существует три правила, определяющие последовательность проведения операций при вычислении значения выражения, в котором содержатся более одного оператора.
1. Когда два оператора имеют неодинаковый приоритет, оператор с более высоким приоритетом будет выполнен первым.
2. Когда у двух операторов одинаковый приоритет, они будут выполнены слева направо.
3. Для изменения обычного порядка вычислений операторы могут быть заключены в скобки.
Приоритеты операторов:
Приоритет Название Обозначение
1(Высший) Скобки ()
2 Степень!
3 Умножение *
Деление /
Модуль %
4 Сложение +
Вычитание -
Равенство =
Неравенство N
Mеньше <
Больше >
Меньше или равно L
Больше или равно G
И &
ИЛИ |
ПРИМЕРЫ: Последовательность выполнения операторов
В данных примерах выражение tag1 равно 5,tag2 равно 7 и tag3 равно 10.
Выражение (tag1>tag2)&(tag1<tag3) вычисляется в такой последовательности
1. tag1>tag2 = 0
2. tag1<tag3 = 1
3. 0 & 1 = 0
Выражение равно 0
Выражение tag1>tag2&tag3 вычисляется в такой последовательности
1. tag1 > tag2 = 0
2. 0&tag3 = 0
Выражение равно 0
Выражение NOT(tag1) & tag2>tag3!2 вычисляется в такой последовательности
1. tag3 ! 2 = 100.0
2. NOT(tag1)= 0.0
& tag2 = 0.0
> 100.0 = 0.0
Выражение равно 0
Стандартные алгоблоки: AVE
Синтаксис события аналогичен синтаксису формулы (FRM). Отличие состоит в том, что выход события является дискретной величиной. На выходе блока формируется 1.0 (истина) ,если значение вычисленного выражения не ноль, и 0.0 в обратном случае.
Дополнительно используются:
СРАВНЕНИЯ
Эти операторы сравнивают два значения, чтобы проверить истинность утверждения. Если оно верно, возвращается величина, равная 1, если нет,- возвращается 0. Операторов сравнения - шесть, каждый может быть записан двумя способами.
Обозначения Оператор Пример
= равенство tag1 = tag2
N неравенство tag1 N tag2
< меньше, чем tag1 < tag2
> больше tag1 > tag2
L менее или равно tag1 L tag2
G больше или равно tag1 G 2
Примеры: Операторы сравнения
В данных примерах tag1 равен 5, а tag2 равен 7.
tag1 > tag2 утверждение неверно, поэтому возвращается 0
tag1 L tag2 верно, поэтому выражение возвращает 1
tag1 = 5 верно, поэтому выражение возвращает 1
ОПЕРАЦИИ С БИТАМИ
Любое выражение, дающее значение, не равное нулю, признается верным. Например, выражение tag1 будет ложным, если значение tag1 есть 0, и истинным, если tag1 имеет любое другое значение.
Битово - логические операторы определяют истинность одного или нескольких утверждений, а также наличие определенных битов в опеpанде. Операторы возвращают не 0, если в утверждении есть биты, и 0 - если их нет. Битовых операторов два: & (И), |(Или)
* & (И) возвращает не 0, если хотя бы один бит утверждений, находящихся и справа и слева от оператора cовпадает
* | (Или) выдает не 0, если в утверждении или слева, или справа от оператора имеются биты, отличные от 0.
Важно: Когда утверждение верно, редактор выражений возвращает значение, равное единице, в противном случае он признает значения, не равными нулю, - верными.
Таблица 3.3
Битовые опеpатоpы
Обозначения Оператор Пример
& и (tag1 & tag2)
| или (tag1 = 5) | (tag1 = 10)
Примеры: Битовые операторы
В данных примерах выражение tag1 равно 5, а выражение tag2 равно 7.
(tag1 < tag2) & (tag1 = 5)
возвращает 1, так как оба утверждения возвращают 1
(tag1 N 0.0) & (tag2 N 0.0)
возвращает 1, потому что ни tag1, ни tag2 не равны нулю
(tag1 > tag2) | (tag1 = 5)
возвращает 1, так как утверждение tag1 = 5 - истинно
tag1 & tag2
возвращает 5, так как (tag1=0101,tag2=0111)
tag1 | tag2
возвращает 7, так как (tag1=0101,tag2=0111)
Важно: в приведенных выражениях скобки крайне важны.
Стандартные алгоблоки: AVR
Скользящее среднее расчитывается на основе значений, поступающих на вход СПБ. При накоплении количества значений большего, чем "Ширина окна" , при поступлении каждого нового значения из буфера удаляется самое старое (FIFO).
In(I)+In(I-1)+...+In(I-Count-1)
Cure=-------
Соunt
При поступлении на вход Reset 1 происходит обнуление буфера.
При поступлении на вход Еnable 0 СПБ останавливает свою работу до получения 1 на этом входе.
Стандартные алгоблоки: IVR
Модуль предназначен для усреднения измеренных значений на заданном интервале, пришедших на вход In за это время.
По достижении счетчиком количества значений уставки Max или поступлении 1 на вход Reset происходит сброс СПБ:
на выход до прихода новых значений на вход In подается последнее полученное значение,
счетчик количества значений обнуляется и расчет ведется на основе значений, полученных после сброса.
При значении Мах =0 самосброс не происходит.
Сброс осуществляется только по входу Reset.
Усреднение значений производится по формуле:
In(i)=In(i-1)+1/i*(Cure(i)-In(i-1)) ,
где Cure(i) - текущее значение параметра;
Х(i-1) - среднее значение параметра, вычисленное на предыдущем шаге.
СПБ включается в работу, когда вход Enable = 1.
Стандартные алгоблоки: SUM
Модуль предназначен для суммирования определенной аналоговой величины.
При достижении максимального значения Max выдается сообщение о переполнении счетчика. Для включения и сброса счетчика в исходное состояние используются поля Enable и Reset.
Суммирование производится по формуле :
Y(N)=Y(N-1)+ К * X(N),
где X(N) - текущее значение параметра;
Y(N-1) - сумма вычисленное на предыдущем шаге.
K - коэффициент
Стандартные алгоблоки: LBR
Программный блок предназначен для ввода различных аналоговых значений, необходимых для работы системы (лабораторные анализы, коэффициенты и т. п.).
Вводимое значение ограничивается значениями полей Low и High.
Стандартные алгоблоки: MAT
Программный блок предназначен для выполнения арифметических операций над двумя входами In1 и In2 . Результат операции формируется на выходе Cure.
Блок выполняется всегда, если находится в фокусе выполнения программы.
Операции:
ADD - сложение
Значение выхода Cure равно сумме входов In1 и In2.
Cure = In1+In2;
SUB - вычитание
Значение выхода Cure равно разности входов In1 и In2.
Cure = In1-In2;
MUL - умножение
Значение выхода Cure равно произведению входов In1 и In2.
Cure = In1*In2;
DIV - деление
Значение выхода Cure равно частному от деления входа In1на In2.
Cure = In1/In2; Если In2 равно 0-Сure также равно 0;
Стандартные алгоблоки: LOG
Программный блок предназначен для выполнения логических операций над двумя входами In1 и In2 . Результат операции формируется на выходе Cure.
Блок выполняется всегда, если находится в фокусе выполнения программы.
Операции:
AND - логическое и
если значение входа In1 отлично от нуля и
значение входа In2 отлично от нуля, то значение выхода Cure равно 1.
В остальных случаях значение выхода Сure равно 0.
OR - логическое или
если значение входа In1 равно нулю и
значение входа In2 равно нулю
, то значение выхода Cure равно 0.
В остальных случаях значение выхода Сure равно 1.
XOR - логическое исключающее или
если значение входа In1 равно нулю и
значение входа In2 равно нулю
, то значение выхода Cure равно 0.
если значение входа In1 и
значение входа In2 отличны от нуля
, то значение выхода Cure равно 0.
В остальных случаях значение выхода Сure равно 1.
EQ(=) - равенство
если значение входа In1 равно значению входа In2
, то значение выхода Cure равно 1.
В остальных случаях значение выхода Сure равно 0.
NE(/=) - неравенство
если значение входа In1 не равно значению входа In2
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 |


