PDA

Просмотр полной версии : Чередование насосов по наработке во времени



ENH
21.09.2015, 15:33
Как организовать чередование насосов (основной-резервный-дополнительный) по наработке во времени. В CoDeSys для каждого насоса создан свой счетчик моточасов. А как запрограммировать их чередование (24 часа отработал основным - стал дополнительным, резервный - основным, дополнительный - резервным и так по кругу)

murdemon
21.09.2015, 17:31
Это можно сделать с помощью логических функций и, или, не .. :)

bmc938
22.09.2015, 12:48
Сделать-то не трудно, вопрос в том зачем? Чтобы все насосы вышли из строя одновременно?

Игорюня
22.09.2015, 13:18
Для двух насосов. При 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;

melky
22.09.2015, 13:24
bmc938 а вы предлагаете чтобы один рабочий насос совсем рассыпался ?

bmc938
22.09.2015, 13:41
Один рассыпался - осталось несколько резервных, которые работают, в то время как эксплуатационщики неспешно ищут замену. А так у вас все насосы жили долго и счастливо и умерли в один день. И снабженец обзванивает всех поставщиков, умоляя продать ему срочно хоть один насос за любые деньги, в то время как аварийная бригада откачивает или накачивает то, что должны были откачивать или накачивать эти насосы.

Eugene.A
22.09.2015, 14:09
Один рассыпался - осталось несколько резервных
...которые уже через месяц не провернёшь - закисли.
"После длительного простоя необходимо проверить состояние насоса и лишь после этого производить пуск его в эксплуатацию. Свободный ход вала насоса проверяется вручную прокручиванием рабочего колеса. Особого внимания при проверке требует состояние уплотнений вала и кабельный ввод."
А ещё насосы имеют свойство завоздушиваться при простое.

Сергей0308
22.09.2015, 14:45
Тоже интересует этот вопрос, не в плане как это сделать, а стоит ли это делать(переключение по времени наработки)? Сейчас три глубинных насоса переключаются ежемесячно в такой последовательности: основной - дополнительный(включается если основной не справляется и уровень падает) - резервный(включается при аварии или выключении основного или дополнительного насосов)! Имеются счётчики времени наработки по насосам, но пока только для информации, стоит ли сделать переключение по времени наработки(при подаче команды на запуск насоса, выбирался насос с наименьшей наработкой)???

Сергей0308
22.09.2015, 15:00
Извиняюсь, поспешил, последовательность: основной - резервный - дополнительный!

melky
22.09.2015, 15:30
Если насосы всегда трудятся, то они живее всех живых, а ТО им необходимо проводить планово, а не когда рассыпались совсем.
А если они будут стоять, то они не трудясь помрут, как тут выше писали.

smk1635
22.09.2015, 15:58
Тоже интересует этот вопрос, не в плане как это сделать, а стоит ли это делать(переключение по времени наработки)? Сейчас три глубинных насоса переключаются ежемесячно в такой последовательности: основной - дополнительный(включается если основной не справляется и уровень падает - резервный(включается при аварии или выключении основного или дополнительного насосов)!Имеются счётчики времени наработки по насосам, но пока только для информации, стоит ли сделать переключение по времени наработки(при подаче команды на запуск насоса, выбирался насос с наименьшей наработкой)???

У глубинных насосов, точнее у скважин есть одна проблема. При длительном простое происходит запесочивание или заиливание скважин. Так что ротация насосов крайне желательна.

ENH
22.09.2015, 16:45
Спасибо за предложенный вариант, постараюсь вникнуть

bmc938
22.09.2015, 16:51
Т.е. можно просто раз в сутки чередовать, не парясь временем наработки. Чередование раз в сутки делал на реле, без всяких контролеров.

Василий Кашуба
22.09.2015, 18:44
Т.е. можно просто раз в сутки чередовать, не парясь временем наработки. Чередование раз в сутки делал на реле, без всяких контролеров.
А как на реле вы решаете такие вопросы как выход из строя насоса, который в данный момент должен качать воду?

Игорюня
22.09.2015, 19:42
А как на реле вы решаете такие вопросы как выход из строя насоса, который в данный момент должен качать воду?

Добавлю. Или один насос в ремонте.

Сергей0308
23.09.2015, 08:17
У глубинных насосов, точнее у скважин есть одна проблема. При длительном простое происходит запесочивание или заиливание скважин. Так что ротация насосов крайне желательна.

Спасибо!!!

bmc938
23.09.2015, 08:51
Включается в работу резервный. Для двух насосов схема выглядит так:
20103
20106
20105
KL - реле уровня

Василий Кашуба
23.09.2015, 12:22
Включается в работу резервный. Для двух насосов схема выглядит так: ...
KL - реле уровня
А как резервный насос понимает, что основной насос поломался и он должен включится вместо основного?
Из ваших схем этого не видно.

bmc938
23.09.2015, 13:14
А как резервный насос понимает, что основной насос поломался и он должен включится вместо основного?
Из ваших схем этого не видно.
На последнем листе доп. контакты автоматов защиты двигателей. Ну и в любом случае, при достижении верхнего уровня включатся все доступные насосы.

capzap
23.09.2015, 16:22
На последнем листе доп. контакты автоматов защиты двигателей. Ну и в любом случае, при достижении верхнего уровня включатся все доступные насосы.
а кто считает наработку часов? или ТО вобще не проводится

bmc938
23.09.2015, 16:55
а кто считает наработку часов? или ТО вобще не проводится
В данном проекте на это разумно решили забить. А так присобачить счётчик моточасов - дело пяти минут.