Простые примеры
Пример: Базовая арифметика и присваивание
Этот пример демонстрирует использование арифметических операторов (+, -, *, /) и оператора присваивания (:=).
PROGRAM SimpleArithmetic
VAR
a : INT := 10;
b : INT := 5;
result_add : INT;
result_sub : INT;
result_mul : INT;
result_div : REAL;
END_VAR
result_add := a + b; // Сложение: 10 + 5 = 15
result_sub := a - b; // Вычитание: 10 - 5 = 5
result_mul := a * b; // Умножение: 10 * 5 = 50
result_div := a / b; // Деление: 10 / 5 = 2.0
END_PROGRAM
|
Пример: Логические операции
Этот пример показывает использование логических операторов (AND, OR, XOR, NOT).
PROGRAM SimpleLogic
VAR
input1 : BOOL := TRUE;
input2 : BOOL := FALSE;
result_and : BOOL;
result_or : BOOL;
result_xor : BOOL;
result_not : BOOL;
END_VAR
result_and := input1 AND input2; // TRUE AND FALSE = FALSE
result_or := input1 OR input2; // TRUE OR FALSE = TRUE
result_xor := input1 XOR input2; // TRUE XOR FALSE = TRUE
result_not := NOT input1; // NOT TRUE = FALSE
END_PROGRAM
|
Пример: Операции сравнения
Этот пример иллюстрирует использование операторов сравнения (=, <>, <, >, <=, >=).
PROGRAM SimpleComparison
VAR
x : INT := 10;
y : INT := 20;
is_equal : BOOL;
is_less : BOOL;
is_greater_or_equal : BOOL;
END_VAR
is_equal := (x = y); // 10 = 20 -> FALSE
is_less := (x < y); // 10 < 20 -> TRUE
is_greater_or_equal := (x >= y); // 10 >= 20 -> FALSE
END_PROGRAM
|
Пример: Условный оператор IF
Этот пример показывает использование условного оператора IF.
PROGRAM SimpleIf
VAR
value : INT := 50;
output : BOOL;
END_VAR
IF value > 25 THEN
output := TRUE;
ELSE
output := FALSE;
END_IF;
END_PROGRAM
|
Пример: Цикл FOR
Этот пример демонстрирует использование цикла FOR.
PROGRAM SimpleFor
VAR
i : INT;
sum : INT := 0;
END_VAR
FOR i := 1 TO 10 BY 1 DO
sum := sum + i;
END_FOR;
// sum = 55 (сумма чисел от 1 до 10)
END_PROGRAM
|
Пример: Преобразование типов
Этот пример показывает использование функций преобразования типов.
PROGRAM SimpleConversion
VAR
int_val : INT := 42;
real_val : REAL;
bool_val : BOOL := TRUE;
time_val : TIME := T#5s;
dint_from_time : DINT;
END_VAR
// Преобразование INT в REAL
real_val := INT_TO_REAL(int_val); // real_val = 42.0
// Преобразование BOOL в INT
int_val := BOOL_TO_INT(bool_val); // int_val = 1
// Преобразование TIME в DINT
dint_from_time := TIME_TO_DINT(time_val); // dint_from_time = 5000
END_PROGRAM
|
Пример: Использование функции
Этот пример показывает создание и использование собственной функции.
PROGRAM UseFunction
VAR
a : REAL := 10.0;
b : REAL := 20.0;
c : REAL := 30.0;
result : REAL;
END_VAR
result := CalculateAverage(a, b, c);
END_PROGRAM
FUNCTION CalculateAverage : REAL
VAR_INPUT
value1 : REAL;
value2 : REAL;
value3 : REAL;
END_VAR
VAR_TEMP
sum : REAL;
END_VAR
sum := value1 + value2 + value3;
CalculateAverage := sum / 3.0;
END_FUNCTION
|
См. также
Операторы языка ST - для изучения операторов.
Математические функции - для изучения математических функций.
Функции преобразования типов - для изучения функций преобразования.