Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 41

Тема: Ротация насосов

  1. #21

    По умолчанию

    Цитата Сообщение от witalexxx Посмотреть сообщение
    Здравствуйте, можно уточнить момент, в программе ротации на 3 насоса при замене времени ротации в макросе через редактирование макроса (версия ПО 2.10.367.0) бывают случаиВложение 86152, когда после записи программы в ПР200 и подачи команды enable при разрешении работы в ротации 1 насоса ротация насосов не происходит, запускается первый насос и он не переключается через заданное время, а постоянно находится в работе, только сбросом времени ротации командой Res можно добиться чередования, как обойти такую ситуацию, бывает при пропадании питания на ПР200 и восстановлении ротация насосов не происходит.
    В 9 примере, можно руками включить любой из 3 насосов, переменной Main, она выведена на вход.
    Либо выведете на вход переменную PT, и задавайте время прямо с экрана, для сброса таймера введите PT= 0.
    Это только примеры проектов, каждый делает как ему надо.

    Ещё как вариант, можно закоментировать строку с функцией Min3 // Выбор насоса по мин. наработке через 5 час,
    тогда насосы будут переключаться не по мин. наработке, а по кругу.

    Кроме того, в этих проектах не сохраняется наработка, лучше переделать под 3 насоса восьмой проект отсюда
    https://owen.ru/forum/showthread.php?t=38920&page=2#13
    Последний раз редактировалось kondor3000; 13.10.2025 в 16:01.

  2. #22

    По умолчанию

    OL_2.11.369.0
    А куда всё исчезло?
    Или этого уже давно ничего нет?
    изображение_2025-10-13_220704669.png

  3. #23

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    OL_2.11.369.0
    А куда всё исчезло?
    Или этого уже давно ничего нет?
    изображение_2025-10-13_220704669.png
    Это уже второй раз пропало, недавно работало.

  4. #24

    По умолчанию

    Добрый день. Периодически приходится возвращаться к ротации насосов на ST. Используя программы ротации на функциональных блоках ST глубокоуважаемого пользователя kondor3000 опять столкнулся с проблемами. В симуляторе все замечательно работает, при заливке в ПР200-24.4, да и в ПР200-24.8 программы ротации, ротация через раз, как работать с этим? Версию использую старую, версия 2.10.367.0. Как победить, уж слишком хороши программы ротации на ST, но почему тогда в симуляторах все работает, а в железе кругом баги? Можно, конечно, сделать ротацию на простых блоках, но очень много места программа занимает.Запасной 3 редактируемый .owle

  5. #25
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,574

    По умолчанию

    Цитата Сообщение от witalexxx Посмотреть сообщение
    Добрый день. Периодически приходится возвращаться к ротации насосов на ST. Используя программы ротации на функциональных блоках ST глубокоуважаемого пользователя kondor3000 опять столкнулся с проблемами. В симуляторе все замечательно работает, при заливке в ПР200-24.4, да и в ПР200-24.8 программы ротации, ротация через раз, как работать с этим? Версию использую старую, версия 2.10.367.0. Как победить, уж слишком хороши программы ротации на ST, но почему тогда в симуляторах все работает, а в железе кругом баги? Можно, конечно, сделать ротацию на простых блоках, но очень много места программа занимает.Запасной 3 редактируемый .owle
    вот что ИИ-ассистент говорит:
    1) Критично: Вы используете массивы размером [0..3] (4 элемента), но насосы нумеруются от 1 до 3. Индекс 0 не используется, но может быть ошибочно задействован, особенно при арифметике с индексами (j := Sel_1(i>num, i, i-num)).
    При этом закомментированы 4–5 насосы, но логика частично все равно поддерживает 5, что создаёт путаницу


    2) Ошибки в логике выбора основного насоса. Если все насосы в аварии, то nonorm = num, и цикл не выполнится → main останется в аварийном состоянии.
    Позже используется boiler[j] := TRUE только если NOT alarm[j], но если нет исправных насосов, то run = 0, и ничего не запускается — это ОК.
    НО: затем есть блок:
    Код:
    if main=0 and ET<=PT1 and not Q then 
        Main:=Min3_1(T1_,T2_,T3_);
    end_if
    main=0 — некорректное состояние, так как насосы нумеруются с 1 до 3.
    Min3_1(...) возвращает номер насоса? Но если main=0, это ошибка логики


    3) Проблемы с таймером и управлением PT1, ET, Q
    ❌ Нарушена логика управления таймером TON
    TON(In:=In or ET=PT1, PT:=PT1, Pause:=Pauz, ET=>ET, Q=>Q);

    Условие In or ET=PT1 приведёт к зацикливанию: как только ET = PT1, In снова становится TRUE, и таймер запускается снова мгновенно.
    Это приведёт к непредсказуемому поведению: Q может быть TRUE один скан, потом снова FALSE, и т.д.
    Поведение не соответствует стандартному TON (обычно In — внешнее условие, а не зависящее от внутреннего состояния таймера).


    4) Проблемы с обработкой Res (сброс)
    Res устанавливается в true внутри FB, но также является входной переменной.
    Это нарушение контракта: входные переменные не должны изменяться внутри FB.
    Поведение будет непредсказуемым, если Res используется вне FB.

    6) Неявная инициализация и побочные эффекты
    amount := amount; // бессмысленная строка
    if run>3 then run:=0; end_if // странная защита
    if run>3 then run:=0 — если насосов 3, run не может быть >3. Это лишняя проверка или признак ошибки логики выше.


    КРИТИЧЕСКАЯ ОШИБКА:
    Вы интерпретируете PT как часы, но преобразуете в миллисекунды как будто это минуты.
    PT = 5 → PT1 = 5 * 60000 = 300 000 мс = 5 минут, а не 5 часов!


    не знаю насколько прав искусственный интеллект, но выглядит убедительно
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  6. #26

    По умолчанию

    Цитата Сообщение от witalexxx Посмотреть сообщение
    Добрый день. Периодически приходится возвращаться к ротации насосов на ST. Используя программы ротации на функциональных блоках ST глубокоуважаемого пользователя kondor3000 опять столкнулся с проблемами. В симуляторе все замечательно работает, при заливке в ПР200-24.4, да и в ПР200-24.8 программы ротации, ротация через раз, как работать с этим? Версию использую старую, версия 2.10.367.0. Как победить, уж слишком хороши программы ротации на ST, но почему тогда в симуляторах все работает, а в железе кругом баги? Можно, конечно, сделать ротацию на простых блоках, но очень много места программа занимает.Запасной 3 редактируемый .owle
    А Вы не думали о том, чтобы всю программу переписать на ST и раз в 10 упростить?

  7. #27

    По умолчанию

    Цитата Сообщение от witalexxx Посмотреть сообщение
    Добрый день. Периодически приходится возвращаться к ротации насосов на ST. Используя программы ротации на функциональных блоках ST глубокоуважаемого пользователя kondor3000 опять столкнулся с проблемами. В симуляторе все замечательно работает, при заливке в ПР200-24.4, да и в ПР200-24.8 программы ротации, ротация через раз, как работать с этим? Версию использую старую, версия 2.10.367.0. Как победить, уж слишком хороши программы ротации на ST, но почему тогда в симуляторах все работает, а в железе кругом баги? Можно, конечно, сделать ротацию на простых блоках, но очень много места программа занимает.Запасной 3 редактируемый .owle
    Вы можете сделать скрин в онлайн отладке, когда не работает блок?
    Проблема скорее всего в переменной Main, если она слетит, блок не будет работать.
    С экрана она не задаётся, то есть пока не досчитает таймер, переключения не будет. А слетать может, если нет защиты от помех при переключении насосов.

  8. #28

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    А Вы не думали о том, чтобы всю программу переписать на ST и раз в 10 упростить?
    Я в ST ничего не делал и не смогу сделать, не изучал. К сожалению, все что связано с ST, приходится использовать чужие разработки и необходимый функционал доделывать на фб. Проекты kondora3000 по ротации очень удобны, но там есть нюансы, я не понимаю, почему чистый проект по той же ротации работает, но как только начинаешь не изменяя функцию (функциональный блок ST) вносить дополнительные блоки, то все ломается? Тут человек целый ИИ для анализа ошибок в программе использовал, но я программу не трогал, только к скаченной добавил функциональные блоки и тут такой букет ошибок, откуда?

  9. #29

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Вы можете сделать скрин в онлайн отладке, когда не работает блок?
    Проблема скорее всего в переменной Main, если она слетит, блок не будет работать.
    С экрана она не задаётся, то есть пока не досчитает таймер, переключения не будет. А слетать может, если нет защиты от помех при переключении насосов.
    У меня нет помех для переменной main, ПР200 стоит на стенде и у него идеальные условия работы, нет силовых цепей рядом. По вопросу скрина в онлайн отладке - нужен скрин, когда виснет 1-й насос и блок Up_3nas1 не изменяет свое состояние, в том смысле, что М_Nas постоянно при зависании равно 1, и main не меняется, тоже равен 1, ведь именно так все и происходит при отсутствии ротации, выходит время цикла ротации и нет переключения на следующий насос.

  10. #30
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,574

    По умолчанию

    Цитата Сообщение от witalexxx Посмотреть сообщение
    Тут человек целый ИИ для анализа ошибок в программе использовал
    может быть целую
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Похожие темы

  1. ФБ на ST ротация насосов
    от 7in в разделе Среда программирования OWEN Logic
    Ответов: 67
    Последнее сообщение: 09.09.2025, 18:56
  2. Ротация 4ёх насосов
    от high_roll в разделе Среда программирования OWEN Logic
    Ответов: 3
    Последнее сообщение: 11.10.2024, 19:55
  3. Ротация двух насосов в системе ИТП
    от K.K. в разделе ПЛК1хх [М02]
    Ответов: 3
    Последнее сообщение: 16.01.2024, 09:02
  4. Ротация насосов 3+1
    от K.K. в разделе Среда программирования OWEN Logic
    Ответов: 47
    Последнее сообщение: 29.10.2023, 16:37
  5. Ротация двух насосов
    от Вова13 в разделе ПЛК63/73
    Ответов: 19
    Последнее сообщение: 25.12.2022, 00:13

Метки этой темы

Ваши права

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