Редактор формул служит для математической обработки данных физического канала. Формула, заданная в окне редактора, автоматически применяется к каждому считанному значению канала. Вычисленное значение отображается в модуле "Монитор", модуле "Просмотр графиков" и может быть сохранено в базе данных проекта. Единственный тип канала, который поддерживает задание и вычисление формул — это физический канал аналогового типа.
Редактор формул вызывается из свойств канала "Формула (чтение)" и "Формула (запись)" в разделе свойств "Модификаторы".
Обработка в Модификаторе заключается в производстве арифметических действий над значениями текущего канала. |
Общую схему модификации значений в свойстве "Формула (чтение)" можно представить в виде следующей схемы:
значение | -> | формула | -> | модифицированное значение (для отражения в мнемосхеме, для архивирования в базе данных) |
Общую схему модификации значений в свойстве "Формула (запись)" можно представить в виде следующей схемы:
значение | -> | формула | -> | модифицированное значение для записи в регистр конечного устройства |
Для того чтобы запустить Редактор формул текущего физического канала, нажмите соответствующую кнопку в группе "Модификаторы" в поле "Формула (чтение)" или в поле "Формула (запись)" в панели свойств канала:
После этого откроется диалоговое окно Редактора формул:
Формула для расчета значения канала вводится в поле ввода. Переменная Val содержит исходное (считанное из ОРС-сервера) значение канала. Вычисленное в формуле значение будет использоваться для контроля значений канала, а также сохраняться в базе данных системы SIMP Light.
Кнопка "Тест" позволяет проверить корректность введенной формулы.
Кнопка "Ok" позволяет зафиксировать изменения в формуле.
Кнопка "Отмена" не фиксирует изменения в формуле.
В модификаторах допустимо использование условных операторов, пример: IF(VAL>10, VAL*100, 100). |
+ | сложение |
- | вычитание |
* | умножение |
/ | деление |
x ^ y | возведение x в степень y |
x ! | факториал x |
[ x ] | целая часть x |
| x | | модуль x |
( ... ) { ... } | скобки в выражениях |
sin | синус |
cos | косинус |
tan, tg | тангенс |
cotan, ctg | котангенс |
arcsin | арксинус |
arccos | арккосинус |
arctan, arctg | арктангенс |
arccotan, arctg | арккотангенс |
sinh, sh | синус гиперболический |
cosh, ch | косинус гиперболический |
tanh, th | тангенс гиперболический |
cotanh, cth | котангенс гиперболический |
arcsinh, arcsh | арксинус гиперболический |
arccosh, arcch | арккосинус гиперболический |
arctanh, arcth | арктангенс гиперболический |
arccotanh, arccth | арккотангенс гиперболический |
sqr (x) | возведение x в квадрат |
sqrt (x) | вычисление квадратного корня x |
ln (x) | логарифм x по основанию e |
exp (x) | экспонента x |
abs (x) | модуль x |
trunc (x) | целая часть x |
lg (x), log10 (x) | десятичный логарифм x |
lg2 (x), log2 (x) | двоичный логарифм x |
fact (x) | факториал x |
Всё вышеизложенное относится к каналам, которым посчастливилось иметь переменную числового типа. Но семейство каналов не ограничивается только такими счастливцами. Есть еще логические каналы, которые тоже могут быть причислены к когорте числовых каналов, они ведь тоже могут работать с числами. Да этих чисел мало, всего-то "0" и "1", но не следует обижать этих малышей, наследников двоичной системы счисления, благодаря которой появились и компьютеры, и scada-системы и наша с вами сфера деятельности.
Итак, логические каналы тоже могут использовать модификаторы. Поскольку природа булевых переменных не балует разнообразием, то для логического канала применяется только единственный модификатор под названием «Инверсия». В случае активизации этого модификатора, логический канал будет транслировать в scada-систему инверсное значение сигнала, получаемого от прибора или контроллера.