Пример: Простая ST-программа
В этом разделе представлен простой пример ST-программы, которая выполняет базовую арифметическую операцию и демонстрирует работу с переменными.
PROGRAM HelloWorld_ST
VAR
counter : INT := 0; // Внутренняя переменная-счетчик, инициализированная значением 0
max_value : INT := 100; // Константа (псевдо-константа через инициализацию)
END_VAR
VAR_INPUT
reset : BOOL; // Входной сигнал сброса
END_VAR
VAR_OUTPUT
result : INT; // Выходное значение счетчика
is_max_reached : BOOL; // Сигнал достижения максимального значения
END_VAR
// Тело программы
IF reset THEN
counter := 0; // Сброс счетчика
ELSE
counter := counter + 1; // Увеличение счетчика
END_IF;
result := counter; // Присваивание результата
IF counter >= max_value THEN
is_max_reached := TRUE; // Установка сигнала достижения максимума
ELSE
is_max_reached := FALSE;
END_IF;
END_PROGRAM
|
Эта программа выполняет следующие действия:
Объявляет внутреннюю переменную
counterи инициализирует её нулём.Объявляет псевдо-константу
max_valueсо значением 100.Объявляет вход
reset(типBOOL), который используется для сброса счетчика.Объявляет выходы
result(значение счетчика) иis_max_reached(флаг достижения максимума).В теле программы: * Если вход
resetактивен (TRUE), счетчикcounterсбрасывается в 0. * В противном случае, счетчик увеличивается на 1. * Значениеcounterприсваивается выходуresult. * Проверяется, достиг лиcounterзначенияmax_value. Если да, тоis_max_reachedустанавливается вTRUE, иначе — вFALSE.
См. также
Структура ST-программы - для более подробного изучения структуры программ.
Операторы языка ST - для изучения условных операторов (IF, ELSIF, ELSE, END_IF).