Формулы применяются для расчёта значений и статусов входных каналов, а также для расчёта значений команд управления. Обработка формул выполняется программой Сервер.
Формулы вводятся в базу конфигурации в таблицы Входные каналы и Каналы управления. Чтобы расчёт по формуле для какого-либо канала выполнялся, необходимо установить для него галочку в столбце Исп. формулу. Таблица Формулы базы конфигурации содержит дополнительные функции и структуры данных, которые могут быть использованы в формулах для входных каналов и каналов управления.
Общие правила использования формул:
Правила формул входных каналов:
Правила формул каналов управления:
Переменные, доступные в формулах:
Переменная | Тип значения | Описание |
---|---|---|
CnlVal, Cnl | double | Передаваемое Серверу значение входного канала до расчёта |
CnlStat | int | Передаваемый Серверу статус входного канала до расчёта |
CmdVal, Cmd | double | Передаваемое Серверу значение команды управления |
CmdData | byte[] | Передаваемые Серверу данные команды управления |
CnlNum | int | Номер канала, формула которого вычисляется |
E | double | Число e |
PI | double | Число π |
Функции, доступные в формулах:
Функция | Тип значения | Описание |
---|---|---|
N(n) | int | Возвращает номер заданного канала для обновления номеров при клонировании |
Val() | double | Текущее значение входного канала вычисляемой формулы |
Val(n) | double | Текущее значение входного канала n |
SetVal(n, val) | double | Установить текущее значение входного канала n |
Stat() | int | Текущий статус входного канала вычисляемой формулы |
Stat(n) | int | Текущий статус входного канала n |
SetStat(n, stat) | int | Установить текущий статус входного канала n |
SetData(n, val, stat) | double | Установить текущее значение и статус входного канала n |
Abs(x) | double | Модуль |
Sin(x) | double | Синус |
Cos(x) | double | Косинус |
Tan(x) | double | Тангенс |
Exp(x) | double | Экспонента |
Ln(x), Log(x) | double | Натуральный логарифм |
Sqr(x) | double | Квадрат числа |
Sqrt(x) | double | Квадратный корень |