Операции
Программа Формула
На рисунке ниже представлено меню «Операции» программы Формула.
«Сложение (+)» – сложение каналов, констант, результатов вычисления выражений.
«Вычитание (–)» – разность каналов, констант, результатов вычисления выражений.
«Умножение (*)» – произведение каналов, констант, результатов вычисления выражений.
«Деление (/)» – частное каналов, констант, результатов вычисления выражений.
«Остаток от деления (%)» – остаток от деления каналов, констант, результатов вычисления выражений.
«Возведение в степень (^)» – возведение в степень каналов, констант, результатов вычисления выражений.
«Инверсия (!)», «Модуль (|)», «Сравнение (Greater)», «Сравнение (Equal)», «Сравнение (Equal3)», «Младший бит (FirstBit)» — описаны ниже в примерах.
На рисунках ниже показана работа основных математических операций «+», «-», «*», «/», «%» и «^». Для наглядности работа производится с числами (константами), однако данные операции могут применяться к каналам (используются мгновенные значения сигналов) и результатам вычисления выражений. Значения по каналам программы Формула измеряются вольтметрами постоянного тока, т.к. в данном примере результатом вычисления математического выражения является константа.
«Инверсия (!)» – унарный постфиксный оператор инверсии, равносилен умножению на (-1).
«Модуль (|)» – унарный постфиксный оператор модуля: устанавливает положительный знак для всех значений.
В примере на рисунке ниже продемонстрирована работа операторов инверсии и модуля. В качестве основы взята функция TriGen (пилообразный сигнал). На осциллографе отображены исходный сигнал (Formula 1), инверсный сигнал (Formula 2) и сигнал, взятый по модулю (Formula 3).
Greater (а1, а2) – операция сравнения, возвращает единицу, если значение первого операнда больше значения второго, иначе возвращает ноль.
Equal (а1, а2, const) – операция сравнения на равенство, если разница между значениями первого и второго операндов по модулю меньше значения const, возвращается единица, иначе — ноль.
Equal3 (а1, а2, const) – операция сравнения на равенство, если разница между значениями первого и второго операндов больше значения const, возвращается единица, меньше -const — минус единица, иначе – ноль.
Операции Greter, Equal, Equal3 удобны для написания функций порогового обнаружения и создания различных регуляторов. В качестве операндов могут использоваться каналы (операции производятся с мгновенными значениями сигналов), константы и выражения (операции производятся с результатами вычисления).
В примере на рисунке ниже продемонстрирована работа функции Greater. Значения сигнала «Канал 1» равны 1,5 В, если показания датчика «Термопара1» меньше 90. Можно организовать систему поддержания постоянной температуры, если к выходу ЦАП подключить реле, управляющее током на нагревательном элементе, и запустить программу Генератор сигналов, настроенную на генерацию сигнала «Канал 1».
На рисунке ниже показан пример программы Формула, демонстрирующий работу операций Equal и Equal3. Для удобства демонстрации создано 3 канала. Первый канал «Разность» — рассчитывает разность между мгновенными значениями по измерительным каналам «Контрольный датчик» и «Датчик». Второй канал — результат операции Equal, третий канал – результат операции Equal3.