Просмотр полной версии : Чередование насосов по наработке во времени
Как организовать чередование насосов (основной-резервный-дополнительный) по наработке во времени. В CoDeSys для каждого насоса создан свой счетчик моточасов. А как запрограммировать их чередование (24 часа отработал основным - стал дополнительным, резервный - основным, дополнительный - резервным и так по кругу)
murdemon
21.09.2015, 17:31
Это можно сделать с помощью логических функций и, или, не .. :)
Сделать-то не трудно, вопрос в том зачем? Чтобы все насосы вышли из строя одновременно?
Для двух насосов. При EN идет сравнение по времени наработки.
FUNCTION_BLOCK kaskad_nasos
VAR_INPUT
EN: BOOL; //Разрешение работы
_dt: BOOL; //Датчик перепада насосной группы
n1_auto: BOOL; //Насос 1 в автомате
n2_auto: BOOL; //Насос 2 в автомате
END_VAR
VAR_OUTPUT
n1: BOOL; //Насос 1
n2: BOOL; //Насос 2
alarm_n1: BOOL; //Авария насоса 1
alarm_n2: BOOL; //Авария насоса 2
END_VAR
VAR
p: BYTE;
n: BYTE;
ton1: TON;
ton2: TON;
blink1: BLINK;
t11: TON;
t12: TON;
rt: R_TRIG;
END_VAR
VAR_IN_OUT
t1: DWORD; //Время наработки насоса 1 в часах
t2: DWORD; //Время наработки насоса 2 в часах
END_VAR
***********************Программа****************** ***********
rt(clk := en);
IF rt.Q THEN
IF t1 <= t2 THEN n := 1; ELSE n := 2; END_IF;
END_IF;
IF en THEN
p := 0;
p.0 := n1_auto;
p.1 := n2_auto;
CASE p OF
1: ton1(in := TRUE, PT := T#10S);
n1 := (_dt OR NOT ton1.Q) AND NOT alarm_n1;
alarm_n1 := NOT _dt AND ton1.Q;
2: ton2(in := TRUE, PT := T#10S);
n2 := (_dt OR NOT ton2.Q) AND NOT alarm_n2;
alarm_n2 := NOT _dt AND ton2.Q;
3: blink1(ENABLE := TRUE, TIMELOW := T#24H, TIMEHIGH := T#24H);
IF n = 1 THEN
IF blink1.OUT THEN
ton1(in := TRUE, PT := T#10S);
n1 := (_dt OR NOT ton1.Q) AND NOT alarm_n1;
alarm_n1 := NOT _dt AND ton1.Q;
n2 := FALSE;
ton2(IN := FALSE, PT := T#10S);
ELSE
ton2(in := TRUE, PT := T#10S);
n2 := (_dt OR NOT ton2.Q) AND NOT alarm_n2;
alarm_n2 := NOT _dt AND ton2.Q;
n1 := FALSE;
ton1(IN := FALSE, PT := T#10S);
END_IF;
ELSE
IF blink1.OUT THEN
ton2(in := TRUE, PT := T#10S);
n2 := (_dt OR NOT ton2.Q) AND NOT alarm_n2;
alarm_n2 := NOT _dt AND ton2.Q;
n1 := FALSE;
ton1(IN := FALSE, PT := T#10S);
ELSE
ton1(in := TRUE, PT := T#10S);
n1 := (_dt OR NOT ton1.Q) AND NOT alarm_n1;
alarm_n1 := NOT _dt AND ton1.Q;
n2 := FALSE;
ton2(IN := FALSE, PT := T#10S);
END_IF;
END_IF;
ELSE
n1 := FALSE;
n2 := FALSE;
END_CASE;
ELSE
n1 := FALSE;
n2 := FALSE;
ton1(in := FALSE, PT := T#10S);
ton2(in := FALSE, PT := T#10S);
END_IF;
IF n1 THEN
t11(IN := NOT t11.Q, PT := T#1H);
IF t11.Q THEN
t1 := t1 + 1;
END_IF;
END_IF;
IF n2 THEN
t12(IN := NOT t12.Q, PT := T#1H);
IF t12.Q THEN
t2 := t2 + 1;
END_IF;
END_IF;
bmc938 а вы предлагаете чтобы один рабочий насос совсем рассыпался ?
Один рассыпался - осталось несколько резервных, которые работают, в то время как эксплуатационщики неспешно ищут замену. А так у вас все насосы жили долго и счастливо и умерли в один день. И снабженец обзванивает всех поставщиков, умоляя продать ему срочно хоть один насос за любые деньги, в то время как аварийная бригада откачивает или накачивает то, что должны были откачивать или накачивать эти насосы.
Eugene.A
22.09.2015, 14:09
Один рассыпался - осталось несколько резервных
...которые уже через месяц не провернёшь - закисли.
"После длительного простоя необходимо проверить состояние насоса и лишь после этого производить пуск его в эксплуатацию. Свободный ход вала насоса проверяется вручную прокручиванием рабочего колеса. Особого внимания при проверке требует состояние уплотнений вала и кабельный ввод."
А ещё насосы имеют свойство завоздушиваться при простое.
Сергей0308
22.09.2015, 14:45
Тоже интересует этот вопрос, не в плане как это сделать, а стоит ли это делать(переключение по времени наработки)? Сейчас три глубинных насоса переключаются ежемесячно в такой последовательности: основной - дополнительный(включается если основной не справляется и уровень падает) - резервный(включается при аварии или выключении основного или дополнительного насосов)! Имеются счётчики времени наработки по насосам, но пока только для информации, стоит ли сделать переключение по времени наработки(при подаче команды на запуск насоса, выбирался насос с наименьшей наработкой)???
Сергей0308
22.09.2015, 15:00
Извиняюсь, поспешил, последовательность: основной - резервный - дополнительный!
Если насосы всегда трудятся, то они живее всех живых, а ТО им необходимо проводить планово, а не когда рассыпались совсем.
А если они будут стоять, то они не трудясь помрут, как тут выше писали.
Тоже интересует этот вопрос, не в плане как это сделать, а стоит ли это делать(переключение по времени наработки)? Сейчас три глубинных насоса переключаются ежемесячно в такой последовательности: основной - дополнительный(включается если основной не справляется и уровень падает - резервный(включается при аварии или выключении основного или дополнительного насосов)!Имеются счётчики времени наработки по насосам, но пока только для информации, стоит ли сделать переключение по времени наработки(при подаче команды на запуск насоса, выбирался насос с наименьшей наработкой)???
У глубинных насосов, точнее у скважин есть одна проблема. При длительном простое происходит запесочивание или заиливание скважин. Так что ротация насосов крайне желательна.
Спасибо за предложенный вариант, постараюсь вникнуть
Т.е. можно просто раз в сутки чередовать, не парясь временем наработки. Чередование раз в сутки делал на реле, без всяких контролеров.
Василий Кашуба
22.09.2015, 18:44
Т.е. можно просто раз в сутки чередовать, не парясь временем наработки. Чередование раз в сутки делал на реле, без всяких контролеров.
А как на реле вы решаете такие вопросы как выход из строя насоса, который в данный момент должен качать воду?
А как на реле вы решаете такие вопросы как выход из строя насоса, который в данный момент должен качать воду?
Добавлю. Или один насос в ремонте.
Сергей0308
23.09.2015, 08:17
У глубинных насосов, точнее у скважин есть одна проблема. При длительном простое происходит запесочивание или заиливание скважин. Так что ротация насосов крайне желательна.
Спасибо!!!
Включается в работу резервный. Для двух насосов схема выглядит так:
20103
20106
20105
KL - реле уровня
Василий Кашуба
23.09.2015, 12:22
Включается в работу резервный. Для двух насосов схема выглядит так: ...
KL - реле уровня
А как резервный насос понимает, что основной насос поломался и он должен включится вместо основного?
Из ваших схем этого не видно.
А как резервный насос понимает, что основной насос поломался и он должен включится вместо основного?
Из ваших схем этого не видно.
На последнем листе доп. контакты автоматов защиты двигателей. Ну и в любом случае, при достижении верхнего уровня включатся все доступные насосы.
На последнем листе доп. контакты автоматов защиты двигателей. Ну и в любом случае, при достижении верхнего уровня включатся все доступные насосы.
а кто считает наработку часов? или ТО вобще не проводится
а кто считает наработку часов? или ТО вобще не проводится
В данном проекте на это разумно решили забить. А так присобачить счётчик моточасов - дело пяти минут.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot