Работа конструкции IF-ELSIF-ELSE

Автор JIeKaPb, 21 декабря 2024, 14:18:04

« назад - далее »

JIeKaPb

Добрый день. В связи с поставкой новой модели контроллера М245-05 придётся переходить на новую версию среды. В данный момент использую 2.3.260-b1 (прошлая используемая версия 2.2.243-b1). Возник вопрос по работе конструкции IF-ELSIF-ELSE. Было обнаружено, что при отсутствии оператора ELSE, все функциональные блоки начинают работать как один.
Есть ли возможность более приоритетно решить эту проблему к следующему обновлению? Большинство функционала в проекте написано на ST, есть моменты, где не требуется или невозможно использовать ELSE.

Код блока оставлю под спойлером:
Код блока c ELSE (работает)
PROGRAM TestBlock

VAR_INPUT
Input1: BOOL;
Sbros: BOOL;
END_VAR

VAR_OUTPUT
Flag: BOOL;
END_VAR

VAR
TON_Tester: TON;
END_VAR

TON_Tester(IN:= Input1, PT:= 3000);

IF TON_Tester.Q THEN
Flag:= TRUE;
ELSIF Sbros THEN
Flag:= FALSE;
ELSE
Flag:= FALSE;
END_IF;

END_PROGRAM

Код блока без ELSE(не работает)
PROGRAM TestBlock

VAR_INPUT
Input1: BOOL;
Sbros: BOOL;
END_VAR

VAR_OUTPUT
Flag: BOOL;
END_VAR

VAR
TON_Tester: TON;
END_VAR

TON_Tester(IN:= Input1, PT:= 3000);

IF TON_Tester.Q THEN
Flag:= TRUE;
ELSIF Sbros THEN
Flag:= FALSE;
END_IF;

END_PROGRAM

Nikolai

Здравствуйте.
Повторить ошибку не получилось.
Прошу прислать проект полностью. Что бы увидеть, что не работает.

JIeKaPb

Цитата: Nikolai от 29 января 2025, 08:52:08Здравствуйте.
Повторить ошибку не получилось.
Прошу прислать проект полностью. Что бы увидеть, что не работает.

Nikolai

Ваш проект работает правильно. Повторяемость отсутствует. Мы еще подумаем. Но пока ошибки не наблюдается.

JIeKaPb

Цитата: Nikolai от 29 января 2025, 16:12:43Ваш проект работает правильно. Повторяемость отсутствует. Мы еще подумаем. Но пока ошибки не наблюдается.
Подскажите пожалуйста, на какой версии среды была проведена проверка?

Nikolai

Цитата: JIeKaPb от 29 января 2025, 16:48:21
Цитата: Nikolai от 29 января 2025, 16:12:43Ваш проект работает правильно. Повторяемость отсутствует. Мы еще подумаем. Но пока ошибки не наблюдается.
Подскажите пожалуйста, на какой версии среды была проведена проверка?
Версия 2.3.260-b1 :Qt 5.15.2 (MSVC 1929 64 bit):Сборка: f91d7f33Дата сборки: Dec 16 2024 at 15:02:57

Nikolai

Вы сделайте видео. Начиная с запуска ZWorkBench и до обнаружения ошибки. Возможно, повторив Ваши действия, мне то же ошибку удастся повторить.

JIeKaPb

Загрузил видео на Яндекс диск:

https://disk.yandex.ru/i/Qjjn-BFm08mnqA

Сюда продублировал тоже.