![]() |
![]() ![]() |
|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#1 |
Member
Регистрация: Apr 2021
Сообщения: 41
Благодарил(а): 11 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]()
Представляю на суд макрос ротация. Делал под свои задачи. Попеременное включение насосов КНС с выводом любого насоса из работы. К данному блоку можно прикрутить как кондуктометрические, так и при желании аналоговые датчики уровня стоков. Делаю первый раз, прошу сильно камнями не кидать )
Последний раз редактировалось Arsie, 27.01.2023 в 10:26 Причина: Удалил вложения за ненужностью |
![]() |
![]() |
Благодарность от: |
![]() |
#2 |
Member
Регистрация: Jan 2016
Сообщения: 88
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]()
При беглом осмотре нашел косяк (как мне кажется), насосы начинают запускаться при достижении уровня 1 - один насос, 2 - два насоса и 3 - три насоса, если поток в КНС меньше производительности одного насоса, то насосы начнут поочередно запускаться на пару секунд и отключаться; соответственно если будет больше одного насоса, но меньше производительности двух, то ротация будет уже между двумя насосами; а если будет производительность больше 2, но меньше 3-х насосов, то ротации уже не будет, будет просто один насос включаться и отключаться, причем если эта участь упадет на первый, то может это начать делать очень часто, а приводы такое обычно не любят и иногда отказываются работать. Это при условии, что датчиков не 4 и "за" блоком не реализован алгоритм включения типа "достигли верхнего уровня включили все 3 насоса и работаем пока не достигнем датчика расположенного ниже", но в этом случае временные задержки после "Уровня Х" излишни...
|
![]() |
![]() |
![]() |
#3 |
Member
Регистрация: Apr 2021
Сообщения: 41
Благодарил(а): 11 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]()
Выкладываю обновленный макрос, заменил реверсивный счетчик, сейчас работает как часики. Суть данного макроса- 1+1+1 при наборе уровня с ротацией насосов при каждом новом этапе откачки с выводом любого насоса из работы.
|
![]() |
![]() |
![]() |
#4 |
Member
Регистрация: Apr 2021
Сообщения: 41
Благодарил(а): 11 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Регистрация: Nov 2008
Адрес: Алтайский край
Сообщения: 111
Благодарил(а): 2 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
![]()
У вас в программе три одинаковых группы блоков для каждого насоса - объедините группу в макрос и сделайте две копии этого макроса - будет проще вносить изменения.
|
![]() |
![]() |
![]() |
#6 |
Member
Регистрация: Apr 2021
Сообщения: 41
Благодарил(а): 11 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 763
Благодарил(а): 3 раз(а)
Поблагодарили:
77 раз(а) в 60 сообщениях
|
![]()
Позволю себе немного критики.
1. Лишние обратные переключения при сбросе аварии. Вот включился "Уровень 1" - запустился Насос 1. Во время работы по какой-то причине пришел аварийный сигнал "Авария 1" - Насос 1 отключился, включился Насос 2. Пришел дежурный, аварию сбросил. По хорошему Насос 2 должен продолжить работу, а Насос 1 - ждать своей очереди. В обратном переключении нет смысла. Но ваш макрос обратно переключает на Насос 1. 2. Неравномерная ротация при аварии одного насоса. Если один из насосов находится в аварии, счетчик ротации не пропускает его номер, а дважды включает следующий за ним насос. Например: - Авария Насоса 1; - Включаем Уровень 1 - Запускается Насос 2 (т.к. счетчик ротации указывает на Насос 1, но тот в аварии); - Выключаем Уровень 1 - насосы останавливаются; - Включаем Уровень 1 - Повторно запускается Насос 2 (т.к. счетчик указывает на Насос 2); следующим будет Насос 3, затем два раза Насос 2 и т.д. Считаю, что если какой-либо насос находится в аварии, то остальные два должны ротироваться между собой также равномерно: Насос 2 - Насос 3 - Насос 2 - Насос 3 - ... 3. Включение насосов в ручном режиме. Данный вопрос дискуссионный. Однако, я считаю, что при ручном запуске какого-либо насоса, автоматический запуск должен отключаться. 4. Ротация по наработке часов, количеству запусков. Ну, собственно, её нет. Ротация по порядку не обеспечивает равномерной работы насосов. А исходя из пункта 2, может возникнуть дисбаланс в наработке между насосами. 5. Оформление макроса Название связей "Out (bool)2", "out2", "out_2" и в таком духе не способствует эффективному исследованию устройства макроса. |
![]() |
![]() |
![]() |
#8 |
Member
Регистрация: Apr 2021
Сообщения: 41
Благодарил(а): 11 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]()
1. Даже в оригинальной схеме simens logo так же, пока что никто этого не стал доделывать или переделывать.
2. Да есть погрешность, но эта ротация для насосов КНС. И то что насос включиться иногда второй раз на 2 мин, ни чего страшного нет. 3. Для чего вам вход авария? (можно обозвать как угодно) Блокируйте его при включении ручного режима. 4.Моточасы это второстепенно. Нужны-добавили блок. 5. Не критично для программы. Я не продаю свои поделки. Кому надо, пусть тот и наводит марафет. Для меня важна работа блока. Если он налажен, зачем в него лезть, и что-то отслеживать. |
![]() |
![]() |
![]() |
#9 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 763
Благодарил(а): 3 раз(а)
Поблагодарили:
77 раз(а) в 60 сообщениях
|
![]()
"Оригинальная схема сименс лого" - не авторитет. Возможно, в условиях программируемого реле, такой подход оправдан.
Так то можно сказать, что и наличие автоматической ротации не критично. Запускается каждый насос по своему уровню - и отлично. Работает же. |
![]() |
![]() |
![]() |
#10 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 343
Благодарил(а): 15 раз(а)
Поблагодарили:
606 раз(а) в 554 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#11 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 763
Благодарил(а): 3 раз(а)
Поблагодарили:
77 раз(а) в 60 сообщениях
|
![]()
ТС вроде как осваивает контроллеры сегнетикс. По мне так нормально в ходе изучения нового пытаться решить некую задачу самостоятельно или иным способом.
|
![]() |
![]() |
![]() |
#12 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 343
Благодарил(а): 15 раз(а)
Поблагодарили:
606 раз(а) в 554 сообщениях
|
![]() Лучше пока не получилось, но товарищ уже пытается предлагать свой вариант в старых темах на форуме. Зачем - не знаю. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#13 |
Member
Регистрация: Apr 2021
Сообщения: 41
Благодарил(а): 11 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]()
Спасибо! Конечно стараюсь. Потому что ни одна из представленных ротаций на данном форуме, мне не годится. У нас КНС стоков поселка. Ротация через промежутки времени не подходит, т.к. в камере стоков много песка, и если насос стоит без пусков продолжительное время (даже час), то всас заносит песком и насос забивается. Сейчас ротация ручная, недельная. Бригада слесарей готовит насос (чистит от песка и закрывает перед ним задвижку), через неделю его запускают, а работающий чистят и так постоянно. Нужна именно ротация на каждый новый пуск с подхватом последующих насосов при аварийном уровне стоков. Данный алгоритм работает на одной из КНС, стоит Logo. Программа слишком перегружена многими элементами. Такой же упрощенный алгоритм нашел на форуме siemen, но не без изъянов, что тот, что этот. Вчера проверил оба, работают совершенно одинаково и оба с изъяном на двойной пуск при аварии одного из насосов. Алгоритм разрабатываю на разные устройства, что есть в наличии (Овен, Logo, Segnetics, Rievtech). ЖКХ это целый зоопарк приборов, покупают, что выгодно на данный момент. Посмотрю сегодня алгоритм на Овен ПР, если работает хорошо, постараюсь перенести в SMLogix. Таблица истинности ротации https://forum.segnetics.com/attachme...6&d=1647658291
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 3 847
Благодарил(а): 224 раз(а)
Поблагодарили:
141 раз(а) в 133 сообщениях
|
![]()
Div15/31 с такой задачей легко справится.
у него есть входа разрешения работы, делаете по нему сброс по любому интересному событию и получаете ротацию по фремени, по аварии, по черту, дьволу и по блекджеку с гражданками низкой социальной ответственности. но конечно сперва надо изучить то как оно всё работает, а потом уже все остальное. |
![]() |
![]() |
![]() |
#15 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 343
Благодарил(а): 15 раз(а)
Поблагодарили:
606 раз(а) в 554 сообщениях
|
![]() Вот типовая КНС, логика состоит из одного блока PRCD и одного макроса. Это вариант с гистерезисом по времени, как у вас. Гистерезис по уровням добавляется с помощью триггеров - это более правильное решение для КНС, т.к. меньше изнашивает насосы. В этом случае с 3 поплавками третий насос нужно включать по времени. Хотя на трёхнасосных КНС обычно 5-6 поплавков. Я думаю, что в вашем случае 3 насос просто резервный, три поплавка обычно на 2 насоса ставится. Хотя и это странно, что четвёртого поплавка нет - сигнализатора затопления. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 31.01.2023 в 11:47 |
![]() |
![]() |
![]() |
#16 |
Member
Регистрация: Apr 2021
Сообщения: 41
Благодарил(а): 11 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]()
У вас обычная ротация по времени. У меня при каждом включении. Почему мне нужна при каждом включении, я уже описал выше.
|
![]() |
![]() |
![]() |
#17 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 343
Благодарил(а): 15 раз(а)
Поблагодарили:
606 раз(а) в 554 сообщениях
|
![]() Этот макрос не умеет ротировать по времени. И никогда не умел. И в описании макроса ничего про ротацию по времени нет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 10.03.2023 в 17:27 |
![]() |
![]() |
![]() |
#18 |
Member
Регистрация: Jan 2016
Сообщения: 88
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]() |
![]() |
![]() |
Благодарность от: |
![]() |
#19 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 763
Благодарил(а): 3 раз(а)
Поблагодарили:
77 раз(а) в 60 сообщениях
|
![]()
Да, давайте поговорим о критериях ротации.
Как вы определяете, что пора переключать насосы/вентиляторы: - на тепловых пунктах, где циркуляция должна обеспечиваться 24/7, - на системах, которые работают непрерывно 8-12 часов, - на станциях, где насосы включаются от одного до нескольких раз в день. я без иронии правда, интересно, кто как организует этот процесс |
![]() |
![]() |
![]() |
#20 |
Member
Регистрация: Jan 2016
Сообщения: 88
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
![]() если вопрос все же как это делаю я, то насосы 24/7 по наработке, подпитка скорее как КНС просто по очереди... |
![]() |
![]() |
![]() |
#21 |
Member
Регистрация: Apr 2021
Сообщения: 41
Благодарил(а): 11 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#22 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 343
Благодарил(а): 15 раз(а)
Поблагодарили:
606 раз(а) в 554 сообщениях
|
![]() ![]() Неужели вы за завтраком батон на кусочки не режете, так и пихаете в рот целиком? ![]() ![]() Принудительная ротация (так грамотно называется ротация по наработке или времени) применяется в насосах постоянной работы, типа циркуляционных или сетевых. Естественная же ротация происходит, когда очередной запуск выполняется не тем насосом, который был отключен последним. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 10.03.2023 в 17:29 |
![]() |
![]() |
![]() |
#23 |
Member
Регистрация: Apr 2021
Сообщения: 41
Благодарил(а): 11 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]() Последний раз редактировалось Arsie, 10.03.2023 в 17:29 |
![]() |
![]() |
![]() |
#24 |
Member
Регистрация: Apr 2021
Сообщения: 41
Благодарил(а): 11 раз(а)
Поблагодарили:
4 раз(а) в 2 сообщениях
|
![]()
Пообщался недавно с ребятами-слесарями по КНС, говорят не надо им ротацию насосов при каждом заполнении. Хотят сами выбирать, какой насос первый, какой второй и третий. Вот пойми их, то надо, то не надо. Для меня же лучше, каскадное управление с точки зрения логики, проще реализовывать. Только количество входов надо увеличивать за счет применения внешних переключателей. Любой каприз за ваши деньги )))
|
![]() |
![]() |
![]() |
#25 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 763
Благодарил(а): 3 раз(а)
Поблагодарили:
77 раз(а) в 60 сообщениях
|
![]()
Боятся, что с автоматикой они станут не нужны?
|
![]() |
![]() |
![]() |
#26 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 343
Благодарил(а): 15 раз(а)
Поблагодарили:
606 раз(а) в 554 сообщениях
|
![]() ![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм работы группы насосов | Dmitri | Вопросы о программировании | 49 | 10.06.2021 16:42 |
Как сделать КНС ? | Ruslan01 | Вопросы о программировании | 4 | 22.12.2020 13:27 |
Придумываем алгоритм ротации насосов (решено) | Shogun | Вопросы о программировании | 35 | 04.02.2020 01:16 |
Алгоритм работы приточной установки | sit2 | SMConstructor (вентиляция) | 3 | 09.10.2014 01:07 |
Алгоритм подключения Pixel к компу (решено) | belii_nindza | Вопросы о Pixel | 4 | 05.08.2014 13:05 |