Показано с 1 по 10 из 34

Тема: Странная работа скрипта

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #12

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Khedron так and это и есть И оно и должно проверяться до конца независимо. Вот ИЛИ (or) может дальше не проверяться, если первое условие исполняется.
    С чего вдруг И должно проверяться до конца независимо? Если у вас в условии "false AND var1", то уже по первому false ясно, что условие выполнено не будет и нет нужды проверять var1. Однако же оно проверяется.

    А теперь к вопросу топикстартера.
    Поставьте скобки по-другому:
    Код:
    if ((in_c == true && in_p) == false) then или нагляднее if (in_c == (true && in_p) == false)
    Что у нас тут? Если и in_c и in_p ложно, то в итоге получим сравнение "false == false", а вот это утверждение уже истинно, так как ложь действительно равна лжи. Понятно о чём речь? Можете проверить сами. Codesys на такое условие даже предупреждение не выдал.
    Поэтому и предложил вместо сравнения переменных вариант с инверсией "(in_c && ~in_p)", где нет проверки на true/false, а есть только инверсия (с наивысшим после скобок, присвоения и разыменования приоритетом) и логическая И. Всё предельно ясно, никакой путаницы.

    Если же скобки расставить так,
    Код:
    if ((in_c == true) && in_p == false)
    то:
    если in_c ложно, условие будет истинным вне зависимости от значения in_p, что и происходит у Newcomer,
    если in_c истина, а in_p ложь, то результат истина (который совпадает с ожидаемым),
    если обе переменных true, то результат ложь, что так же совпадает с ожидаемым.
    Тут же Вам и ответ, почему вторая часть с отжатием работает нормально.
    Последний раз редактировалось Khedron; 02.10.2023 в 23:43. Причина: Добавлено

Похожие темы

  1. Странная зависимость
    от Ollema в разделе Эксплуатация
    Ответов: 23
    Последнее сообщение: 09.01.2022, 23:35
  2. Странная работа ПИД регулятора
    от Newcomer в разделе ПЛК1хх [М02]
    Ответов: 8
    Последнее сообщение: 02.12.2021, 20:42
  3. странная логика в ФБ COM_SERVICE
    от Ian в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 24.06.2021, 06:38
  4. Странная работа PID
    от skinnbatter в разделе ПЛК1хх
    Ответов: 28
    Последнее сообщение: 14.11.2018, 12:59
  5. странная работа буста
    от Andrupel в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 12.09.2012, 09:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •