Простые примеры

Пример: Базовая арифметика и присваивание

Этот пример демонстрирует использование арифметических операторов (+, -, *, /) и оператора присваивания (:=).

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
        

См. также