Пример: Простая 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
        

Эта программа выполняет следующие действия:

  1. Объявляет внутреннюю переменную counter и инициализирует её нулём.

  2. Объявляет псевдо-константу max_value со значением 100.

  3. Объявляет вход reset (тип BOOL), который используется для сброса счетчика.

  4. Объявляет выходы result (значение счетчика) и is_max_reached (флаг достижения максимума).

  5. В теле программы: * Если вход reset активен (TRUE), счетчик counter сбрасывается в 0. * В противном случае, счетчик увеличивается на 1. * Значение counter присваивается выходу result. * Проверяется, достиг ли counter значения max_value. Если да, то is_max_reached устанавливается в TRUE, иначе — в FALSE.

См. также