4.4.2.3.4.1. Задание формул
Формулу следует использовать, если значение сигнала является результатом обработки одного или нескольких сигналов и должно пересчитываться при каждом изменении любого из них.
Формулу можно использовать только для следующих типов сигналов:
переменная;
выходной параметр: параметр, у которого в свойстве Направление указано значение Выход.
|
Основные правила:
формула должна быть написана на языке Astra.Om.
формула должна описывать выражение, результат вычисления которого будет присвоен сигналу в качестве значения.
результат вычисления должен быть того же типа, что и тип значения сигнала, или неявно к нему приводиться.
формула должна содержать хотя бы один сигнал без оператора read. Если в формуле указать read перед именем сигнала, она не будет пересчитываться при изменениях значений этого сигнала. В противном случае формула не будет запущена никогда.
в формуле можно использовать значение самого сигнала, значение которого вычисляется: формула не будет пересчитываться при изменении значения этого сигнала.
Рассмотрим пример задания формулы для пересчета параметра выходного значения OUT.VALUE на уровне сервера ввода/вывода.
Чтобы добавить параметр для пересчета значения, выполните следующие действия:
1. Добавьте из панели элементов параметр того же типа, что и параметр, который будет использован для пересчета.
2. Выделите добавленный параметр и в окне "Свойства" укажите имя "CORRECT_VALUE" и направление "выход".
3. Выделите параметр "CORRECT_VALUE" и в нижней части интерфейса Astra.AStudio перейдите во вкладку "Формулы".
4. В окне редактора формул укажите следующую формулу:
OUT.VALUE*1000
|
После задания формулы, около параметра появится иконка расчёта значения.
|
Таким образом можно задавать формулы для параметров представления сервера ввода/вывода. Данное преобразование будет выполняться постоянно.
Чтобы пересчет выполнялся по определенному событию или изменению сигнала необходимо воспользоваться обработчиком событий.