Просмотр полной версии : Чередование трех насосов
Shum_off
13.03.2025, 12:43
День добрый, пишу программу, для работы трех насосов по датчику 4-20 мА, с авариями
Написал код для аварий, для датчика 4-20 мА
А вот с чередованием возникла трудность
Необходимо, чтобы они чередовались, допустим каждые 12 часов по наработке.
Закину сюда проект, кому не сложно подтолкните мысленно хотя бы как реализовать)
Поиск на форуме работает.
Забив название вашего топика выдало целый список тем.
https://owen.ru/forum/showthread.php?t=29067&p=282264&viewfull=1#post282264
одна из них, с 2018 года ждёт вас...
День добрый, пишу программу, для работы трех насосов по датчику 4-20 мА, с авариями
Написал код для аварий, для датчика 4-20 мА
А вот с чередованием возникла трудность
Необходимо, чтобы они чередовались, допустим каждые 12 часов по наработке.
Закину сюда проект, кому не сложно подтолкните мысленно хотя бы как реализовать)
Не вы первый не вы последний - вбейте в поиске на форуме "ротация"
kondor3000
13.03.2025, 13:06
День добрый, пишу программу, для работы трех насосов по датчику 4-20 мА, с авариями
Написал код для аварий, для датчика 4-20 мА
А вот с чередованием возникла трудность
Необходимо, чтобы они чередовались, допустим каждые 12 часов по наработке.
Закину сюда проект, кому не сложно подтолкните мысленно хотя бы как реализовать)
Вот готовые примеры на 4 насоса, можно сделать и 3, с авариями, наработкой и ротацией через 10 часов (можно изменить) https://owen.ru/forum/showthread.php?t=38920&p=426052&viewfull=1#post426052
Сергей0308
13.03.2025, 13:52
День добрый, пишу программу, для работы трех насосов по датчику 4-20 мА, с авариями
Написал код для аварий, для датчика 4-20 мА
А вот с чередованием возникла трудность
Необходимо, чтобы они чередовались, допустим каждые 12 часов по наработке.
Закину сюда проект, кому не сложно подтолкните мысленно хотя бы как реализовать)
Вот посмотрите мой вариант, в смысле, может что пригодится: https://owen.ru/forum/showthread.php?t=36564&p=385145&viewfull=1#post385145
Насколько понимаю вам должно подойди, даже более того, с большими перспективами развития!
День добрый. Могу ли я ворваться в обсуждение данной темы? Точнее обратиться за советом или помощью.
Есть задача сделать Ротацию трех насосов каждые 24 часа в определенное время, и если рабочий выпадает в ошибку, то включается следующий рабочий, и так пока не выпадут все или их не починят/заменят. Плюс в случае аварии работающего насоса, если аварию устранили, то снова должен он запуститься. В основном, как я думаю, всё сделал, кроме смены насоса по аварии. Никак не могу придумать как это сделать в данном алгоритме. Можете помочь?
82633
I1 - Команда включения
I2-4 - Аварии насосов 1-3
O1-3 - Включение насосов 1-3
Сергей0308
24.03.2025, 01:13
День добрый. Могу ли я ворваться в обсуждение данной темы? Точнее обратиться за советом или помощью.
Есть задача сделать Ротацию трех насосов каждые 24 часа в определенное время, и если рабочий выпадает в ошибку, то включается следующий рабочий, и так пока не выпадут все или их не починят/заменят. Плюс в случае аварии работающего насоса, если аварию устранили, то снова должен он запуститься. В основном, как я думаю, всё сделал, кроме смены насоса по аварии. Никак не могу придумать как это сделать в данном алгоритме. Можете помочь?
82633
I1 - Команда включения
I2-4 - Аварии насосов 1-3
O1-3 - Включение насосов 1-3
Чем мой вариант не устроил? В смысле, у меня есть вариант с ротацией по внешнему сигналу или Вы пока не посмотрели?
Видел Ваши работы. Но для меня они кажутся сложными. Думал сделать что то проще. Пока не понимаю блоки Extract, Putbit, DC32 и им подобных. Как никак новичок.
День добрый. Могу ли я ворваться в обсуждение данной темы? Точнее обратиться за советом или помощью.
Есть задача сделать Ротацию трех насосов каждые 24 часа в определенное время, и если рабочий выпадает в ошибку, то включается следующий рабочий, и так пока не выпадут все или их не починят/заменят. Плюс в случае аварии работающего насоса, если аварию устранили, то снова должен он запуститься. В основном, как я думаю, всё сделал, кроме смены насоса по аварии. Никак не могу придумать как это сделать в данном алгоритме. Можете помочь?
82633
I1 - Команда включения
I2-4 - Аварии насосов 1-3
O1-3 - Включение насосов 1-3
А Вы проверяли? Ваша схема по времени проводит ротацию?
Да, проверял в симуляции. Каждый день в 12 часов счетчик увеличивается на 1. Доходя до 3 сбрасывает в ноль и по кругу. Не знаю как сделать вариант с авариями.
.. . Не знаю как сделать вариант с авариями.
Видимо делать (или смотреть) что то более сложное, чем "проще"
kondor3000
24.03.2025, 08:49
Не знаю как сделать вариант с авариями.
Есть же готовые варианты, мой тут, количество насосов, аварий и время ротации меняется.
https://owen.ru/forum/showthread.php?t=38920&p=426052&viewfull=1#post426052
Сергей0308
24.03.2025, 08:52
Видел Ваши работы. Но для меня они кажутся сложными. Думал сделать что то проще. Пока не понимаю блоки Extract, Putbit, DC32 и им подобных. Как никак новичок.
Я конечно понимаю, что хочется во всём разбираться, но если пока не разобрались, это же не помешает этим пользоваться, я же практически готовый для вас проект выложил:
82653
вход ротации есть, подаёте на него сигнал логической единицы в нужное вам время и дело с концом!
Так и вариант формирования этого сигнала можно посмотреть в другом моём проекте:
82636
Вам ничего думать не надо!
Готовые работы дело одно. Надо еще в них разобраться или каждый раз писать в теме по всем вопросам работы. А хотелось бы создать свое, конкретно под ту или иную задачу.
А как у Вас сделан алгоритм работы аварий?
kondor3000
24.03.2025, 09:03
Готовые работы дело одно. Надо еще в них разобраться или каждый раз писать в теме по всем вопросам работы. А хотелось бы создать свое, конкретно под ту или иную задачу.
А как у Вас сделан алгоритм работы аварий?
Скачать пример и посмотреть в эмуляции для начала, что вам пример подходит. Если будут вопросы, спрашивайте.
Extract, Putbit нужны для распаковки и упаковки бит в Маску бит, до 16 штук в 1 регистр, на ST ещё проще, через точку.
Готовые работы дело одно. Надо еще в них разобраться или каждый раз писать в теме по всем вопросам работы. А хотелось бы создать свое, конкретно под ту или иную задачу.
А как у Вас сделан алгоритм работы аварий?
Так же как и у Вас! Вы же каким-то образом связали событие наступления нужного времени с необходимость произвести переключение.
Что Вам мешает выделить событие "наступление аварии" в действие "произвести переключение".
Вы хотите сказать, что не можете связать выбор селектора и неработающего двигателя с аварийным признаком?
Если селектор произвел выбор двигателя для запуска, а запуск не произошел - это можно считать аварией?
82637
Как вариант. Мне больше интересно как сделать переход от насоса который работал и ушел в аварию на следующий? И если вдруг заменят или устранят причину аварии, снова включился тот который работал. Добавлением +1 к счетчику думаю не вариант.
In_Da_Cher_A
24.03.2025, 09:26
Надо еще в них разобратьсяоказывается, списать чужой труд мало, оказывается самому надо думать :D
а вы и есть за меня будете? - Ага?
Как вариант. Мне больше интересно как сделать переход от насоса который работал и ушел в аварию на следующий? И если вдруг заменят или устранят причину аварии, снова включился тот который работал. Добавлением +1 к счетчику думаю не вариант.
Т.е. взять все аварии и на следующем цикле преобразовать их в переключение для Вас сложно?
82638
Вот я как раз так и думал(даже делал), но не туда поставил поэтому не получилось.
Не много не туда ставил, и исход уже не тот. Вечером попробую. Спасибо
В итоге получилось сделать, то что было задумано(я так думаю)
82656
Спасибо за помощь всем кто откликнулся. Выложу тут, может кому понадобится.
Сергей0308
24.03.2025, 23:02
Видел Ваши работы. Но для меня они кажутся сложными. Думал сделать что то проще. Пока не понимаю блоки Extract, Putbit, DC32 и им подобных. Как никак новичок.
Это называется упростили?
Ещё надо учитывать что у меня для 8 насосов в составе насосной станции и могу не просто, а очень просто расширить до 32 насосов, а у Вас на три насоса и уже выглядит намного сложней моего варианта, короче, нет слов!
И это мы ещё косяки ваши не смотрели и не исправляли, например что будет если в назначенный час ротации свет моргнёт?
Для новичка пойдет. С годами придёт опыт. Это всё упростится раз в 100. Ну, и красиво оформится.
Пытался видимо избавиться от циклических связей?!
Кучу И, ИЛИ, НЕ с И(ИЛИ) можно заменить макросами Boolean, если найдете (выкладывал не раз) и уже сократится простыня программы. правда понимания с первого взгляда не будет :)
Немного неправильный алгоритм - если один насос в аварии, то из двух оставшихся один будет в два раза больше по ротации работать
Непонятно зачем на часы вообще смотреть. Подменили аварийный за 1 минуты до часа X и опять?
---
Может автор про ST не в курсе?
Сергей0308
25.03.2025, 18:06
Непонятно зачем на часы вообще смотреть. Подменили аварийный за 1 минуты до часа X и опять?
---
Может автор про ST не в курсе?
Явно не в курсе про ST, в смысле, не знает что это такое!
Явно не в курсе про ST, в смысле, не знает что это такое!
Ну ничего. Когда нибудь сделает шаг вперед
По самые по...
25.03.2025, 19:54
Это называется упростили?
... короче, нет слов!
И это мы ещё косяки ваши не смотрели и не исправляли, например что будет если в назначенный час ротации свет моргнёт?
О!!! Наконец-то задан правильный технологический вопрос!!! А то 8...13...25-ть.. Сразу видно, хлебнул горя.. :)
Сергей0308 - Навыков пока нет, как смог - так сделал. Каковы шансы такого момента? Даже если просто моргнёт, то чаще всего питание через блок питания 24В, и вряд ли вырубился бы контроллер. Посмотрите, комментарии были бы кстати.
EFrol - До чего додумал. Циклическая связь была с самого начала только на сброс счетчика. Она и осталась.
melky - Возможно и можно было бы, был бы опыт.
Dimensy - Задача работников быстро решить проблему аварий. Ну и такое было ТЗ по созданию алгоритма.
Валенок - Всё верно. Про ST знаю, но не умею. Не изучал. Вот дальше буду изучать.
Сергей0308 - Узнал, но надо изучать данный вопрос, да и по FBD есть вопросы.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot