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
 
 
После задания формулы, около параметра появится иконка расчёта значения.
 
Таким образом можно задавать формулы для параметров представления сервера ввода/вывода. Данное преобразование будет выполняться постоянно.
Чтобы пересчет выполнялся по определенному событию или изменению сигнала необходимо воспользоваться обработчиком событий.