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

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

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

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

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    зачем проблемы создавать на ровном месте, на СТ очень неудобно будет
    Необходимость переписать на ST появилась в связи с тем, что в других похожих задачах на объекте заложен СПК без ПР и хотелось бы заранее попробовать реализацию на ST(на ПР), т.к. её должно быть легко в будущем перенести на ПЛК/СПК.
    Помимо этого, я (возможно ошибочно) предполагал что реализация на ST позволит без больших усилий увеличить количество насосов с 8 до скажем 16, что тоже возможно пригодится.

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

    Читал множество обсуждений на форуме касательно того, что равномерное распределение наработки между всеми насосами не есть хорошо и приведет к ситуации что в один момент времени выйдут из строя сразу все насосы - я это понимаю и прошу воздержаться от обсуждения данного вопроса, поскольку необходим именно описываемый выше алгоритм.

  2. #2
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    8,337

    По умолчанию

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


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


    Читал множество обсуждений на форуме касательно того, что равномерное распределение наработки между всеми насосами не есть хорошо и приведет к ситуации что в один момент времени выйдут из строя сразу все насосы - я это понимаю и прошу воздержаться от обсуждения данного вопроса, поскольку необходим именно описываемый выше алгоритм.
    Вы понимаете, что такое наработка насосов? В смысле она не зависит от количества перезапусков ПР.
    И что при изменение готовых(разрешённых) к работе насосов надо их передёргивать(выключать-включать) - это мракобесие, в смысле мой вариант свободен от этих недостатков.
    Так что можно и мой вариант использовать, в смысле, большой разницы не будет.
    Да, чуть не забыл, мой вариант позволяет в случае аварии включать ему на замену другой без всяких передёргиваний насосов, хоть убей не могу понять зачем у вас это сделано, это же очень неудобно!
    И, легко расширяется до 32 насосов, я писал об этом в теме, что ссылку дал, не просто, а очень просто, думаю намного проще чем в СТ!
    Мой алгоритм выполняет равномерное использование готовых к работе насосов!
    Последний раз редактировалось Сергей0308; 27.12.2023 в 12:32.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  3. #3

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Вы понимаете, что такое наработка насосов? В смысле она не зависит от количества перезапусков ПР.
    И что при изменение готовых(разрешённых) к работе насосов надо их передёргивать(выключать-включать) - это мракобесие
    Что такое наработка я понимаю, что она никак не связана кол-вом перезапусков ПР я тоже понимаю. Я просто хотел обозначить что не нужно считать наработку "за все время", достаточно только с момента включения контроллера.
    Касательно "передёргивать" - возможно некорректно выразился, я под "включить/отключить" подразумевал не перезапуск всех насосов, а то, что если один из работающих насосов ушел в аварию - нужно насос с аварией отключить и включить ему на замену другой из разрешенных.

    Приведенную вами ссылку на ваше решения я изучаю в данный момент, возможно действительно получится применить в моём случае. Спасибо!
    Последний раз редактировалось 7in; 27.12.2023 в 12:43.

  4. #4

    По умолчанию

    Цитата Сообщение от 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.

  5. #5
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    8,337

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Редкий случай вменяемого описания.
    Мало того, данное описание самое естественное, что встречается регулярно и чуть ли не каждый день в жизни каждого.
    Согласен, описание хорошее, обычно такое напишут, что сомнения закрадываются в разумности написавшего!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Похожие темы

  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

Ваши права

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