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

Тема: ФБ на ST ротация насосов

Комбинированный просмотр

Сергей0308 Странно, если всё работает... 27.12.2023, 09:41
kondor3000 Для того, чтобы что то... 27.12.2023, 10:31
Сергей0308 Вы понимаете, что такое... 27.12.2023, 12:24
Urfin_Dzhyus kondor3000, не подскажите,... 26.03.2025, 14:04
Urfin_Dzhyus Спасибо, всё заработало. 26.03.2025, 14:39
kondor3000 Третий пример 4... 26.03.2025, 15:01
Urfin_Dzhyus kondor3000, подскажите почему... 31.03.2025, 09:54
Сергей0308 Согласен, описание хорошее,... 27.12.2023, 12:39
Василий Кашуба Вот упрощённая версия... 27.12.2023, 20:19
Сергей0308 Василий, здесь человек с... 27.12.2023, 20:51
Сергей0308 Мне кажется, ротацию лучше... 02.01.2024, 15:42
Сергей0308 Это же количество... 02.01.2024, 18:03
Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от 7in Посмотреть сообщение
    Необходимость переписать на ST появилась в связи с тем, что в других похожих задачах на объекте заложен СПК без ПР и хотелось бы заранее попробовать реализацию на ST(на ПР), т.к. её должно быть легко в будущем перенести на ПЛК/СПК.
    Помимо этого, я (возможно ошибочно) предполагал что реализация на ST позволит без больших усилий увеличить количество насосов с 8 до скажем 16, что тоже возможно пригодится.
    Действительно, стоило сразу расписать алгоритм:
    На вход ФБ подаются две целочисленные переменные
    1. Битовая маска разрешенных насосов
    2. Необходимое в данный момент количество включенных насосов
    На выходе ФБ соответственно битовая маска на включение насосов
    Сам алгоритм:
    В соответствии с количеством необходимых насосов (поступивших на вход 2) ФБ выдает битовую маску на их включение, при этом включая только разрешённые насосы, начиная с младшего бита в маске.
    Для каждого из насосов считается время наработки, в процессе работы при увеличении кол-ва необходимых насосов включается насос с наименьшей наработкой, в случае уменьшения - отключается насос с наибольшей наработкой. Наработка сбрасывается на 0 при перезапуске ПР.
    Если в процессе работы изменилась битовая маска разрешенных насосов - необходимо включить/отключить насосы, чтобы необходимое количество соответствовало числу активных бит в маске на выходе ФБ.

    Читал множество обсуждений на форуме касательно того, что равномерное распределение наработки между всеми насосами не есть хорошо и приведет к ситуации что в один момент времени выйдут из строя сразу все насосы - я это понимаю и прошу воздержаться от обсуждения данного вопроса, поскольку необходим именно описываемый выше алгоритм.
    Вот накидал для 4 насосов, на ST, при желании можно расширить до 16 и больше. Кроме маски аварий и кол-ва необходимых насосов, 1 Работа насосов.jpg
    вывел наработку по 4 насосам в секундах (можно сделать в минутах и часах). Наработка считается как Нараб=Часы*10000+Мин*100+Сек.
    Если наработка не нужна, можно её убрать на выходах. Переключаться будет всё равно.
    Ротация происходит через 10 часов ( можно изменить), по минимальной наработке. При аварии переключается на следующий исправный насос.
    При включении ПР наработка сохраняется, сброс сделать не проблема, например по таймеру ТР на 0,5 сек ( ручной сброс есть).
    Вложения Вложения
    Последний раз редактировалось kondor3000; 30.12.2023 в 23:08.

  2. #2

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Вот накидал для 4 насосов, на ST, при желании можно расширить до 16 и больше. Кроме маски аварий и кол-ва необходимых насосов, 1 Работа насосов.jpg
    вывел наработку по 4 насосам в секундах (можно сделать в минутах и часах). Наработка считается как Нараб=Часы*10000+Мин*100+Сек.
    Если наработка не нужна, можно её убрать на выходах. Переключаться будет всё равно.
    Ротация происходит через 10 часов ( можно изменить), по минимальной наработке. При аварии переключается на следующий исправный насос.
    При включении ПР наработка сохраняется, сброс сделать не проблема, например по таймеру ТР на 0,5 сек ( ручной сброс есть).
    kondor3000, не подскажите, как переменную РТ1 сделать входящей, хотелось бы из меню задавать время ротации?
    Последний раз редактировалось Urfin_Dzhyus; 26.03.2025 в 14:07.

  3. #3

    По умолчанию

    Цитата Сообщение от Urfin_Dzhyus Посмотреть сообщение
    kondor3000, не подскажите, как переменную РТ1 сделать входящей, хотелось бы из меню задавать время ротации?
    Только берите последний пример с запоминанием наработки. https://owen.ru/forum/showthread.php...l=1#post426052
    Достаточно задачу PT1 перенести из VAR в VAR_INPUT, потом обновить ФБ по ПКМ и все дела)
    Последний раз редактировалось kondor3000; 26.03.2025 в 14:40.

  4. #4

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Только берите последний пример с запоминанием наработки.
    Достаточно задачу PT1 перенести из VAR в VAR_INPUT, потом обновить ФБ по ПКМ и все дела)
    Спасибо, всё заработало.

  5. #5

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Только берите последний пример с запоминанием наработки. https://owen.ru/forum/showthread.php...l=1#post426052
    Достаточно задачу PT1 перенести из VAR в VAR_INPUT, потом обновить ФБ по ПКМ и все дела)
    Э...заработало, на третьем примере, он открытым был, а я поспешил. Возможны последствия, просто интересно?

  6. #6

    По умолчанию

    Цитата Сообщение от Urfin_Dzhyus Посмотреть сообщение
    Э...заработало, на третьем примере, он открытым был, а я поспешил. Возможны последствия, просто интересно?
    Третий пример 4 насоса_Нараб_Ротация по времени_4 Уровня_7 не запоминает наработку при выключении питания ПР.
    Если вам не надо запоминать наработку, то можно использовать.

  7. #7

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Третий пример 4 насоса_Нараб_Ротация по времени_4 Уровня_7 не запоминает наработку при выключении питания ПР.
    Если вам не надо запоминать наработку, то можно использовать.
    Ещё раз спасибо. Я понимаю, что таким образом можно практически любую переменную сделать входной или выходной. Магия, блин.

  8. #8

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Третий пример.
    kondor3000, подскажите почему не работает блочёк, вроде без ошибок.
    Вложения Вложения

  9. #9

    По умолчанию

    Цитата Сообщение от Urfin_Dzhyus Посмотреть сообщение
    kondor3000, подскажите почему не работает блочёк, вроде без ошибок.
    Выходные переменные сделайте энергонезависимыми или подключите куда нибудь, например на выход ПР через преобразование.

Похожие темы

  1. Ротация насосов 3+1
    от K.K. в разделе Среда программирования OWEN Logic
    Ответов: 47
    Последнее сообщение: 29.10.2023, 16:37
  2. Ротация двух насосов
    от Вова13 в разделе ПЛК63/73
    Ответов: 19
    Последнее сообщение: 25.12.2022, 00:13
  3. Чередование насосов (случай для 3-х насосов)
    от 07Fobos в разделе Программируемые реле
    Ответов: 14
    Последнее сообщение: 30.10.2022, 22:04
  4. Ротация пр200
    от GothWind в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 30.06.2018, 22:31

Ваши права

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