Описание
Функция в языке Structured Text (ST) — это программный блок, который принимает входные параметры,
выполняет вычисления и возвращает одно значение.
Функция в ST аналогична функциям в языках C/C++ и используется для реализации вычислительной логики без хранения состояния.
Основные свойства функции:
Функция в ST аналогична функциям в языках C/C++ и используется для реализации вычислительной логики без хранения состояния.
Основные свойства функции:
- Имеет входные параметры (VAR_INPUT)
- Возвращает значение через имя функции
- Не хранит состояние между вызовами
Примечание:
Функция должна обязательно присваивать значение своему имени, иначе результат будет неопределён.
Функция должна обязательно присваивать значение своему имени, иначе результат будет неопределён.
Важно!
Функции не предназначены для хранения состояния - для этого используются Function Block (FB).
Функции не предназначены для хранения состояния - для этого используются Function Block (FB).
Создание функции в Полигон 2
Последовательность действий для создания элемента типа «Функция (POU)» в среде разработки Полигон 2:
Видео-инструкция
- В библиотеке проекта или отдельной библиотеки в группе типов вызовите контекстное меню и выберите «Создать».
- В открывшемся окне задайте имя функции, выберите радио-кнопку «Функция (POU)» и задайте тип возвращаемого значения.
- Выберите созданный тип функции в дереве проекта.
- Вызовите контекстное меню и выберите «Создать» для добавления аргумента.
- В открывшемся окне задайте имя аргумента функции, его тип данных и нажмите «OK».
- Используйте окно редактора кода для добавления локальных переменных и реализации логики функции.
Видео-инструкция
Примечание:
Аргументы функции в Полигон 2 соответствуют входным параметрам VAR_INPUT в ST.
Аргументы функции в Полигон 2 соответствуют входным параметрам VAR_INPUT в ST.
Важно!
Тип возвращаемого значения функции задаётся на этапе создания и влияет на дальнейшее использование функции в проекте.
Тип возвращаемого значения функции задаётся на этапе создания и влияет на дальнейшее использование функции в проекте.
Пример реализации
Пример простой функции сложения:
Пример вызова функции:
FUNCTION Add : INT
VAR_INPUT
a : INT;
b : INT;
END_VAR
Add := a + b;
VAR_INPUT
a : INT;
b : INT;
END_VAR
Add := a + b;
Пример вызова функции:
result := Add(3, 5);
Сравнение с Function Block
| Характеристика | FUNCTION | FUNCTION_BLOCK |
| Возвращает значение | Да | Нет (через выходы) |
| Хранит состояние | Нет | Да |
| Назначение | Вычисления | Логика с памятью |
Рекомендации по использованию
Используйте FUNCTION, если требуется:
- Математические вычисления
- Преобразование данных
- Простая логика без состояния
Внимание!
Не используйте функцию для логики с памятью или таймерами — это приведёт к некорректной работе.
Не используйте функцию для логики с памятью или таймерами — это приведёт к некорректной работе.