Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 33

Тема: Задача в ПР200 (из СУНА - чередование трёх насосов)

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для elefantkip
    Регистрация
    22.01.2010
    Адрес
    Санкт-Петербург
    Сообщений
    21

    Red face Задача в ПР200 (из СУНА - чередование трёх насосов)

    Обращаюсь за советом к форумчанам и поддержке ОВЕН.

    Решается известная в ОВЕН задача в ПР200 (из СУНА - чередование трёх насосов).
    Прошу совет реализации записи трёх вариантов (= между =) трёх целочисленных переменных,
    отвечающих за три насоса, с целью их чередования каждые 12 часов (по основному насосу).

    «1» = +2 = «3» = -1 = «2» = -1 = «1»
    «2» = -1 = «1» = +2 = «3» = -1 = «2»
    «3» = -1 = «2» = -1 = «1» = +2 = «3»

    Цикличная запись «+2» к первому, и «-1» ко 2-му и 3-му.

    Команду MOV (я не нашёл в OwenLogic).

    И не нашёл готового макроса с задачей чередования.
    Не поможете с советом или направлением для реализации программы?

    WhatsApp Image 2022-07-14 at 15.18.52.jpeg
    ---
    С уважением,
    инженер по оборудованию
    Лесковец Юрий Анатольевич
    ООО «Элефант», ООО «ОВЕН-КИП»
    Моб. тел.: +7-911-195-94-01 (МТС, Whatsapp)
    Доп. моб. тел.: +7-911-920-37-15 (+7-812-920-37-15)
    Тел.: +7 (812)528-65-00, 528-96-78 (СПб)
    Доп. тел. +7 (499)344-65-00 (Москва)
    195196 Санкт-Петербург, ул. Таллинская, дом 5, офис 202
    www.elefantkip.ru, mail@elefantkip.ru

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

    По умолчанию

    Цитата Сообщение от elefantkip Посмотреть сообщение
    Обращаюсь за советом к форумчанам и поддержке ОВЕН.

    Решается известная в ОВЕН задача в ПР200 (из СУНА - чередование трёх насосов).
    Прошу совет реализации записи трёх вариантов (= между =) трёх целочисленных переменных,
    отвечающих за три насоса, с целью их чередования каждые 12 часов (по основному насосу).

    «1» = +2 = «3» = -1 = «2» = -1 = «1»
    «2» = -1 = «1» = +2 = «3» = -1 = «2»
    «3» = -1 = «2» = -1 = «1» = +2 = «3»

    Цикличная запись «+2» к первому, и «-1» ко 2-му и 3-му.

    Команду MOV (я не нашёл в OwenLogic).

    И не нашёл готового макроса с задачей чередования.
    Не поможете с советом или направлением для реализации программы?

    WhatsApp Image 2022-07-14 at 15.18.52.jpeg
    А если работающий насос выпадет в аварию, ему надо на замену другой насос включать из числа резервных?

    Короче, здесь обсуждали:

    https://owen.ru/forum/showthread.php?t=29067

    Сейчас по другому бы сделал.
    Последний раз редактировалось Сергей0308; 14.07.2022 в 18:23.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  3. #3
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,552

    По умолчанию

    Цитата Сообщение от elefantkip Посмотреть сообщение
    Обращаюсь за советом к форумчанам и поддержке ОВЕН.

    Решается известная в ОВЕН задача в ПР200 (из СУНА - чередование трёх насосов).
    Прошу совет реализации записи трёх вариантов (= между =) трёх целочисленных переменных,
    отвечающих за три насоса, с целью их чередования каждые 12 часов (по основному насосу).

    «1» = +2 = «3» = -1 = «2» = -1 = «1»
    «2» = -1 = «1» = +2 = «3» = -1 = «2»
    «3» = -1 = «2» = -1 = «1» = +2 = «3»

    Цикличная запись «+2» к первому, и «-1» ко 2-му и 3-му.

    Команду MOV (я не нашёл в OwenLogic).

    И не нашёл готового макроса с задачей чередования.
    Не поможете с советом или направлением для реализации программы?

    WhatsApp Image 2022-07-14 at 15.18.52.jpeg
    Вот делал несколько лет назад.
    Вложения Вложения

  4. #4

    По умолчанию

    Ну очень простое чередование
    OneRun.jpg

    А вот еще один вариант
    OneRun.jpg

    А это то, похоже, что Вам надо
    OneRun.jpg
    Pump1, Pump2, Pump3 - энергонезависимые целочисленные, значения по-умолчанию 1, 2, 3 соответственно.
    Последний раз редактировалось EFrol; 14.07.2022 в 19:08.

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

    По умолчанию

    Вот здесь делали подобное для включённых входов(аварий), но ничего не помешает сделать это и для насосов:
    https://owen.ru/forum/showthread.php?t=31076&page=2
    Если одновременно работает более одного насоса, для дополнительного ставим такую же хренотень, за исключением основного(работающего) насоса из числа резервных(готовых к работе) насосов, всё!

    Вот нарисовал хренотень в двух экземплярах, чтобы одновременно могли два насоса работать, основной и дополнительный. Для основного и дополнительного насосов сделал отдельные входа разрешения работы, короче, можно сделать чтобы одновременно работало один или два насоса, как пожелаете.
    Также в программе отображаются номера включённых насосов как основного, так и дополнительного и т.д.

    Ротация 8 насосов с 2-я включёнными.PNG

    Короче, задачка простая и много обсуждалась на форуме, в смысле, непонятно, как могли возникнуть трудности?!
    Забыл сказать самое главное, алгоритм универсальный, в смысле легко расширяется хоть до 30 насосов!

    Ротация 8 насосов с 2-я включёнными.owl

    И ещё, в случае аварии работающих насосов, когда пропадает сигнал готовности(исправности) насосов(входа 1-8) - на замену включится другой насос, готовый к работе, это относится как к основному насосу, так и к дополнительному!

    Или так, в виде макросов:

    Ротация 8 насосов с 2-я включёнными_2.PNG

    Ротация 8 насосов с 2-я включёнными_2.owl

    И так, с тремя одновременно включёнными насосами:

    Ротация 8 насосов с 3-я включёнными.PNG

    Ротация 8 насосов с 3-я включёнными.owl

    Можно и дальше увеличивать количество одновременно включённых насосов, это может пригодится например при каскадном регулировании!

    Или так:

    Ротация 8 насосов с 3-я включёнными_2.PNG

    Ротация 8 насосов с 3-я включёнными_2.owl

    Вот, ещё один вариант придумал, не то, что бы он лучше или хуже преведущего, просто немного иной, мало ли кому как надо сделать, в смысле вывел из макроса наружу вход задания времени периода ротации(в мс) и ещё добавил дискретный вход для внешнего сигнала ротации, ротация по фронту сигнала, короче, теперь можно оперативно менять период ротации и производить ротацию по внешнему сигналу, мало ли кому чего захочется:

    Ротация 8 насосов с 3-я включёнными_3.PNG

    Короче проверяйте:

    Ротация 8 насосов с 3-я включёнными_3.owl

    Вот ещё увеличил максимальное количество одновременно включённых насосов до четырёх и немного усовершенствовал макрос в целях удобства масштабирования(обвязку внутрь загнал):

    Ротация 8 насосов с 4-я включёнными_1.PNG

    Ротация 8 насосов с 4-я включёнными_1.owle

    Вот, добавил сигналы аварий насосов, точнее разделил общий сигнал готовности, на сигнал включения в работу и сигнал аварии каждого из насосов:

    Аварии.png

    Я то некоторые новички не знают как это сделать!

    Ротация 8 насосов с 4-я включёнными_2.owle
    Последний раз редактировалось Сергей0308; 21.12.2023 в 22:34.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  6. #6

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Вот здесь делали подобное для включённых входов(аварий), но ничего не помешает сделать это и для насосов:

    ...

    Вот, добавил сигналы аварий насосов, точнее разделил общий сигнал готовности, на сигнал включения в работу и сигнал аварии каждого из насосов:

    Аварии.png

    Я то некоторые новички не знают как это сделать!

    Ротация 8 насосов с 4-я включёнными_2.owle
    Приветствую всех.
    Реализую похожую задачу, но только один затык у меня - две независимые группы насосов. Не могу разобраться как реализовать последний из вариантов (7-ой) под мои задачи.

    1-я группа насосов - 2 насоса - один основной, второй резервный (если основной встанет по тепловому реле (булевая переменная идет на пр200) или физически будет отдан на ремонт/замену (целочисленная переменная через комбобокс экран ПР200))
    2-я группа насосов - 3 насоса - два основных (включаются/отключаются одновременно), третий насос резервный (подключается по аналогии с первой группой)

    1. Каждая группа отдельно читает свое давление (минимальное - включается, максимальное - выключается).
    2. Каждая группа отдельно читает свой "сухой ход" (минимальный уровень воды в емкостях 1-й и 2-й групп насосов, контакт NO).
    3. Внешняя авария (грибок). Контакт NC.
    4. На ПР200 через экран вводится уставка через комбобокс готовность каждого насоса (целочисленная переменная: 0-насос не готов (в ремонте или отключен), 1-готов)
    5. Макросы на каждый насос считают наработку (со сбросом наработки по каждому насосу отдельно на случай когда насос отдавали в ремонт и он долго не участвовал в работе (может есть смысл поставить сброс на всю группу целиком)
    6. Булевая переменная на дискретные входы "Авария насоса №... (по тепловому реле)
    7. Если в 1-ой группе основной насос уходит в аварию (или уставку делают "не готов"), то вместо него должен выполнять алгоритмы резервный насос 1-ой группы, вплоть до возобновления работоспособности основного насоса.
    8. Если во 2-ой группе любой из основных насосов (или оба основных) уходит в аварию (или делают уставку "не готов" на любом из основных насосов 2-й группы), то вместо основного/основных должен выполнять алгоритмы резервный насос 2-ой группы, до возобновления работоспособности обоих основных насосов.
    9. Должна быть ротация в 1-ой группе, чтобы резервный насос не "закисал от безделья" (уставка должна вводиться через экран ПР200) - через Х часов наработки основной насос 1-ой группы должен подменяться резервным на Y часов, после чего все переключается в первоначальное состояние и наработка обнуляется. И так по кругу. Если единственный основной насос 1-ой группы не успеет наработать X часов до ротации и крякнет, то его ротация с резервным 1-ой группы уже как бы и не нужна - резервный должен сам подключиться и без ротации.
    10. Должна быть ротация в 2-ой группе, чтобы резервный насос не "закисал от безделья" (уставка должна вводиться через экран ПР200) - через Х часов наработки 1-ый основной насос 2-ой группы должен подменяться резервным на Y часов, после чего все переключается в первоначальное состояние и наработка обнуляется. И так по кругу. Если 1-ый основной насос 2-ой группы не успеет наработать X часов до ротации и крякнет, то его ротация с резервным 2-ой группы уже как бы и не нужна - резервный должен сам подключиться и без ротации.

    Пункты 1,2,3,4,5,6 смог изобразить, на остальных застрял. Решение под номером 8 вроде как подходит под мои задачи, но все карты путает наличие у меня двух независимых групп насосов (в макросах одни и те же переменные, но подозреваю что должны быть разные на разные группы насосов, а какие из них за что отвечают не разобрался)

    Помогите разобраться...
    Вложения Вложения
    Последний раз редактировалось Aleks Che; 09.06.2025 в 19:57.

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

    По умолчанию

    Цитата Сообщение от Aleks Che Посмотреть сообщение
    Приветствую всех.
    Реализую похожую задачу, но только один затык у меня - две независимые группы насосов. Не могу разобраться как реализовать последний из вариантов (7-ой) под мои задачи.

    1-я группа насосов - 2 насоса - один основной, второй резервный (если основной встанет по тепловому реле (булевая переменная идет на пр200) или физически будет отдан на ремонт/замену (целочисленная переменная через комбобокс экран ПР200))
    2-я группа насосов - 3 насоса - два основных (включаются/отключаются одновременно), третий насос резервный (подключается по аналогии с первой группой)

    1. Каждая группа отдельно читает свое давление (минимальное - включается, максимальное - выключается).
    2. Каждая группа отдельно читает свой "сухой ход" (минимальный уровень воды в емкостях 1-й и 2-й групп насосов, контакт NO).
    3. Внешняя авария (грибок). Контакт NC.
    4. На ПР200 через экран вводится уставка через комбобокс готовность каждого насоса (целочисленная переменная: 0-насос не готов (в ремонте или отключен), 1-готов)
    5. Макросы на каждый насос считают наработку (со сбросом наработки по каждому насосу отдельно на случай когда насос отдавали в ремонт и он долго не участвовал в работе (может есть смысл поставить сброс на всю группу целиком)
    6. Булевая переменная на дискретные входы "Авария насоса №... (по тепловому реле)
    7. Если в 1-ой группе основной насос уходит в аварию (или уставку делают "не готов"), то вместо него должен выполнять алгоритмы резервный насос 1-ой группы, вплоть до возобновления работоспособности основного насоса.
    8. Если во 2-ой группе любой из основных насосов (или оба основных) уходит в аварию (или делают уставку "не готов" на любом из основных насосов 2-й группы), то вместо основного/основных должен выполнять алгоритмы резервный насос 2-ой группы, до возобновления работоспособности обоих основных насосов.
    9. Должна быть ротация в 1-ой группе, чтобы резервный насос не "закисал от безделья" (уставка должна вводиться через экран ПР200) - через Х часов наработки основной насос 1-ой группы должен подменяться резервным на Y часов, после чего все переключается в первоначальное состояние и наработка обнуляется. И так по кругу. Если единственный основной насос 1-ой группы не успеет наработать X часов до ротации и крякнет, то его ротация с резервным 1-ой группы уже как бы и не нужна - резервный должен сам подключиться и без ротации.
    10. Должна быть ротация в 2-ой группе, чтобы резервный насос не "закисал от безделья" (уставка должна вводиться через экран ПР200) - через Х часов наработки 1-ый основной насос 2-ой группы должен подменяться резервным на Y часов, после чего все переключается в первоначальное состояние и наработка обнуляется. И так по кругу. Если 1-ый основной насос 2-ой группы не успеет наработать X часов до ротации и крякнет, то его ротация с резервным 2-ой группы уже как бы и не нужна - резервный должен сам подключиться и без ротации.

    Пункты 1,2,3,4,5,6 смог изобразить, на остальных застрял. Решение под номером 8 вроде как подходит под мои задачи, но все карты путает наличие у меня двух независимых групп насосов (в макросах одни и те же переменные, но подозреваю что должны быть разные на разные группы насосов, а какие из них за что отвечают не разобрался)

    Помогите разобраться...
    Если у вас насосы выключаются то по сухому ходу, то по максимальному давлению, то ротация по времени наработки, я так понимаю, вам как собаке пятая нога, в смысле, не нужна, мне кажется логичнее просто запускать насос(ы) с наименьшей наработкой, таким образом и наработка насосов будет выравниваться и лишний раз насосы не будут переключаться, в смысле, будут всегда дорабатывать до выключения либо по сухому ходу, либо по давлению(я так понимаю наполнению ёмкости). Я так понимаю макрос времени наработки до ротации Вы уже нашли, в смысле, если что, можно и моим таймером воспользоваться он с паузой и энергонезависимый, здесь выкладывал: https://owen.ru/forum/showthread.php...l=1#post353353

    Остальное вроде всё присутствует с моём проекте, в смысле, можно выбирать(назначать) количество одновременно работающих насосов и в случае аварии работающего насоса ему на замену автоматически запустится резервный насос, если такой будет в наличии, всё!

    Кстати, чуть не забыл, я там и другой макрос выкладывал, где ротация происходит по внешнему сигналу, для вас этим сигналом может быть достижение насосом времени наработки для ротации, Вы так хотели?
    Последний раз редактировалось Сергей0308; 09.06.2025 в 21:34.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  8. #8

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Если у вас насосы выключаются то по сухому ходу, то по максимальному давлению, то ротация по времени наработки, я так понимаю, вам как собаке пятая нога, в смысле, не нужна, мне кажется логичнее просто запускать насос(ы) с наименьшей наработкой, таким образом и наработка насосов будет выравниваться.
    К выравниванию наработки между основным и резервным насосом не стремлюсь. Главный смысл - иногда "подергивать" резервный, что бы "не закисал" без дела.

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Остальное вроде всё присутствует с моём проекте, в смысле, можно выбирать(назначать) количество одновременно работающих насосов и в случае аварии работающего насоса ему на замену автоматически запустится резервный насос, если такой будет в наличии, всё!
    Вот тут то я немного заблудился. Там в макросах есть переменные (A, Q, N, B,...) Какая и за что они отвечают не пойму. И если я просто скопирую этот ваш вариант реализации отдельно для каждой группы насосов (группы у меня абсолютно независимы друг от друга) будут ли эти переменные независимы между 1-й и 2-й группой насосов?

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Кстати, чуть не забыл, я там и другой макрос выкладывал, где ротация происходит по внешнему сигналу, для вас этим сигналом может быть достижение насосом времени наработки для ротации, Вы так хотели?
    Вот это решение по ротации самое то для моей задачи. Если там еще есть устанавливаемая обратная ротация, то было бы совсем хорошо.

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

    По умолчанию

    Цитата Сообщение от Aleks Che Посмотреть сообщение
    К выравниванию наработки между основным и резервным насосом не стремлюсь. Главный смысл - иногда "подергивать" резервный, что бы "не закисал" без дела.



    Вот тут то я немного заблудился. Там в макросах есть переменные (A, Q, N, B,...) Какая и за что они отвечают не пойму. И если я просто скопирую этот ваш вариант реализации отдельно для каждой группы насосов (группы у меня абсолютно независимы друг от друга) будут ли эти переменные независимы между 1-й и 2-й группой насосов?



    Вот это решение по ротации самое то для моей задачи. Если там еще есть устанавливаемая обратная ротация, то было бы совсем хорошо.
    Так зачем разбираться, проще взять макрос с ротацией по внешнему сигналу, в смысле, внешним сигналом сделать мой таймер в режиме генератора(я ссылку давал на таймер) по достижению уставки он выдаёт импульс, сигнал окончания отсчёта(выход "Отсчёт"), который мы используем для ротации и сбрасывается, для каждого насоса можно иметь свой таймер или уставку времени и он может показывать прямой и обратный отсчёт времени до ротации!
    Если надо подсчитывать и время наработки насосов, придётся дополнительный таймер поставить для каждого насоса с возможностью сброса, на случай установки нового насоса, эти таймеры на работу насосов влиять не будут, просто будут показывать суммарную наработку каждого насоса.

    И, ещё, что бросилось в глаза, у Вас очень странная логика управления насосами(на мой взгляд), в смысле, я обычно ставлю на каждый насос селекторный переключатель на три положения, с режимами: "Включён", "Выключен" и "Автоматический". Аналогично можно сделать управление с экрана ПР с помощью комбобокса, вероятно Вы в первый раз делаете и чужие советы Вам не интересны, в смысле, подобное 1000 раз обсуждалось!
    В режиме "Включён" можно толкнуть насос для проверки, например после ремонта, набивки сальников. В режиме "Выключен" насос исключается из работы, например на время ремонта. В режиме "Автоматический" включается в автоматическую работу.
    Последний раз редактировалось Сергей0308; 10.06.2025 в 18:23.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

    Я не понял последнего
    Я то некоторые новички не знают как это сделать!
    Вот не копая код.
    1. на входе блока Extract81 число 5, почему включен только выход Q2 ?
    2. Блоки Ротация2, 3, 4 то, что вижу на входах и на выходах не соответствуют друг другу. на входе In_Q блоков 3, 4 стоит 5 и на выходе Q тоже 5. На входе же блока два стоит 4 а на выходе 5. Типа +1, почему на других таких же блоках при одинаково выставленных входах у всех вдруг выход = входу, а на блоке 2 идет + 1

    Просто даже глядя на режим эмуляции возникают сразу вопросы.

    Судя по блоку Putbit8 там тоже не все чисто - 8 бит это число 256 - почему у вас 510 ?

    Если у вас там своя логика, еще какие фишки - не надо называть блоки Putbit и Extractbit просто из правил хорошего тона. Не стоит вводить в заблуждение.
    Последний раз редактировалось melky; 20.04.2025 в 19:24.

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. Чередование насосов (случай для 3-х насосов)
    от 07Fobos в разделе Программируемые реле
    Ответов: 14
    Последнее сообщение: 30.10.2022, 22:04
  2. Чередование насосов при каждом пуске
    от shvitaliy в разделе Программируемые реле
    Ответов: 2
    Последнее сообщение: 27.03.2022, 16:56
  3. Управление включения насосов с экрана ПР200
    от Stakris в разделе Программируемые реле
    Ответов: 19
    Последнее сообщение: 16.04.2018, 18:16
  4. Включение насосов с экрана ПР200?
    от Stakris в разделе Среда программирования OWEN Logic
    Ответов: 5
    Последнее сообщение: 11.04.2018, 13:53
  5. Ответов: 20
    Последнее сообщение: 23.09.2015, 16:55

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

Ваши права

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