Формулы применяются для расчёта значений и статусов входных каналов, а также для расчёта значений команд управления. Обработка формул выполняется программой Сервер.
Формулы вводятся в базу конфигурации в таблицы Входные каналы и Каналы управления. Чтобы расчёт по формуле для какого-либо канала выполнялся, необходимо установить для него галочку в столбце Исп. формулу. Таблица Формулы базы конфигурации содержит дополнительные функции и структуры данных, которые могут быть использованы в формулах для входных каналов и каналов управления.
Общие правила использования формул:
Правила формул входных каналов:
Правила формул каналов управления:
Переменные, доступные в формулах:
| Переменная | Тип значения | Описание |
|---|---|---|
| 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 | Квадратный корень |