CH_time:=T#10s;
IF workpomp=12 AND
status1.15=FALSE AND (*H1 - Remote*)
status2.15=FALSE (*H2 - Remote*)
(*AND bakurov>urovfiremin_ret*) (*ïðîâåðêà ; îñóù-ñÿ â äðóãîì áëîêå*)
THEN
CH_timer();
(*-------------------------- ïóñê èç ïîëíîãî îñòàíîâà ; ---------------------------------*)
IF narab1+narabotkaK<=narab2 AND
status1.1=FALSE AND (*àâàðèé Í1- íåò *)
status1.10=FALSE AND (* Í1- ñòîï *)
status2.10=FALSE (* Í2- ñòîï*)
THEN
START_INV(nomer_INV:=1 ); (*çàïóñòèì ; Ï×1*)
ELSIF narab1+narabotkaK>narab2 AND
status2.1=FALSE AND (*Í2- íåò àâàðèé*)
status2.10=FALSE AND (* Í2- STOP *)
status1.10=FALSE (*Í1- STOP *)
THEN
START_INV(nomer_INV:=2 ); (*çàïóñòèì ; Ï×2*)
(*-------------------------- ïóñê ñ õîäà (ïåðåêëþ÷& #229;íèå ----------------------------*)
ELSIF TRIG_CH12.Q1=TRUE OR (*óæå èä¸ò ïåðåêëþ÷&# 229;íèå
narab1>(narab2+24) AND *)
(narab1+narabotkaK)>(narab2+1) AND (*âðåìåííî ; ÍÀËÀÄÊÀ*)
status2.1=FALSE AND (*Í2- íåò àâàðèé*)
status2.10=FALSE AND (* Í2- STOP *)
status1.10=TRUE AND (*Í1- run *)
pomptimer.IN=FALSE (*íå âêëþ÷åí âòîðîé íàñîñ*)
THEN TRIG_CH12(SET:=TRUE , RESET1:=FALSE); (*ôëàã ïåðåêë-ÿ*)
(*POMP_CH12();
ïëàâíîå ïåðåêëþ÷&# 229;íèå íàñîñîâ ñ 1-ãî íà 2*)
(************************************************* ************************************************** ******)
(************************************************* ************************************************** ******)
(************************************************* ************************************************** ******)
(************************************************* ************************************************** ******)
UST_INV (invustavka:=invust , dk:= Pinv2k, Pinv:=Pinv2, ustavka=>invust2 );
(*Çàïóñòèì ; Ï×2 ñ çàäàííîé ; óñòàâêîé ; *)
CH_time:=T#10s;
IF status2.10=FALSE (* Í2- ñòîï *)
THEN CH_ch:=9;
END_IF
IF status2.1=FALSE AND (*àâàðèé Í2- íåò*)
status2.10=FALSE (* Í2- ñòîï *)
THEN CH_timer(IN:=FALSE);(**)
comword2.14:=TRUE;
comword2.15:=TRUE;
comword2.10:=TRUE; (*çàïóñòèì ; Ï×2*)
(*
CH_timer.IN:=FALSE;
CH_timer.PT:=CH_time; (*start timer*)
CH_timer.IN:=TRUE;*)
CH_timer(IN:=TRUE, PT:=CH_time); (* start timer*)
ELSE comword2.10:= comword2.10; (*ÑÎÎÁÙÈÒ îá ÀÂÀÐÈÈ*)
END_IF
(*Ñíèæàåì ïîýòàïíî ; óñòàâêó Ï×1 (êàæäûé ðàç íà 10%) *)
CHtimerPT:=CH_timer.ET;
IF
CH_ch >=8 AND CH_timer.Q=TRUE
OR
CH_ch >=2 AND
CH_ch <8 AND
CH_timer.Q=TRUE AND
( (invust2-200)<PIDfeedback2 AND PIDfeedback2<(invust2+100) )
THEN
CH_timer(IN:=FALSE); (*, pt:=CH_time)*)
CH_invust:=(invust-invust/100*(100-CH_ch*10));(*ust:= êîðî÷å (100-CH-ch*10)% :-) *)
CH_ch:=CH_ch-1;
UST_INV (invustavka:=CH_invust , dk:= Pinv1k, Pinv:=Pinv1, ustavka=>invust1 );
(* Pvalue:=invust-Pinv2k ; (*Ðçàäï÷*)
Pvalue:=Pvalue*50/Pinv2 ; (*óñòàâêà äëÿ Ï× 2*)
invust2:= REAL_TO_WORD (Pvalue*100);
*)
IF CH_ch<8
THEN CH_timer (PT:=CH_time);
ELSE CH_timer (PT:=CH_time*10);
END_IF
CH_timer (IN:=status2.10); (*TRUE start timer*)
CH_timer (IN:=TRUE); (* start timer*)
END_IF
(*
IF
CH_ch >=2 AND
CH_ch <8 AND
CH_timer.Q=TRUE AND
( (invust2-200)<PIDfeedback2 AND PIDfeedback2<(invust2+100) )
THEN
CH_timer(IN:=FALSE); (*, pt:=CH_time)*)
CH_invust:=(invust-invust/100*(100-CH_ch*10));(*ust:= êîðî÷å (100-CH-ch*10)% :-) *)
CH_ch:=CH_ch-1;
UST_INV (invustavka:=CH_invust , dk:= Pinv1k, Pinv:=Pinv1, ustavka=>invust1 );
CH_timer (IN:=TRUE, PT:=CH_time); (*start timer*)
END_IF
*)
IF (CH_ch <2 AND CH_timer.Q=TRUE)
THEN
(*CH_timer.IN:=FALSE;*)
comword1.14:=FALSE;
comword1.15:=FALSE;
comword1.10:=FALSE; (*STOP Ï×1*)
TRIG_CH12(SET:=FALSE , RESET1:=TRUE); (*ñáðîñèì ôëàã ïåðåêëþ÷&# 229;íèÿ*)
CH_timer(IN:=FALSE);
osnovpomp:=2; (*çàïîìíèì ; íîìåð íîâîãî îñíîâíîã&# 238; íàñîñà*)
END_IF
(************************************************* ************************************************** ******)
(************************************************* ************************************************** ******)
(************************************************* ************************************************** ******)
(************************************************* ************************************************** ******)
(*________________________________________________ ________________*)
ELSIF TRIG_CH21.Q1=TRUE OR
(*narab2> (narab1+24) AND*)
(narab1+narabotkaK)<(narab2) AND (*âðåìåííî ; ÍÀËÀÄÊÀ*)
status1.1=FALSE AND (*Í1- íåò àâàðèé*)
status1.10=FALSE AND (*Í1- STOP *)
status2.10=TRUE AND (* Í2- run*)
pomptimer.IN=FALSE (*íå âêëþ÷åí âòîðîé íàñîñ*)
THEN TRIG_CH21(SET:=TRUE , RESET1:=FALSE); (*ôëàã ïåðåêë-ÿ*)
(* POMP_CH21();
ïëàâíîå ïåðåêëþ÷&# 229;íèå íàñîñîâ ñî 2-ãî íà 1*)
(************************************************* ************************************************** ******)
(************************************************* ************************************************** ******)
(************************************************* ************************************************** ******)
(************************************************* ************************************************** ******)
UST_INV (invustavka:=invust , dk:= Pinv1k, Pinv:=Pinv1, ustavka=>invust1 );
(*Çàïóñòèì ; Ï×1 ñ çàäàííîé ; óñòàâêîé ; *)
CH_time:=t#10s;
IF status1.10=FALSE (*Í1- STOP *)
THEN CH_ch:=9;
END_IF
IF status1.1=FALSE AND (*àâàðèé Í1- íåò*)
status1.10=FALSE AND (*Í1- ñòîï*)
status1.15=FALSE (*Í1- â äèñò.ðåæè& #236;å*)
(**)
THEN CH_timer();
(*CH_timer(IN:=FALSE);*)
comword1.14:=TRUE;
comword1.15:=TRUE;
comword1.10:=TRUE; (*çàïóñòèì ; Ï×1*)
(* CH_timer.IN:=FALSE;*)
CH_timer(IN:=TRUE, PT:=CH_time); (*start timer*)
ELSE comword1.10:= comword1.10; (*ÑÎÎÁÙÈÒ îá ÀÂÀÐÈÈ*)
END_IF
(*Ñíèæàåì ïîýòàïíî ; óñòàâêó Ï×2 (êàæäûé ðàç íà 10%) *)
IF
(CH_ch >=8 AND CH_timer.Q=TRUE)
THEN CH_timer();
CH_timer(IN:=FALSE); (*, pt:=CH_time)*)
CH_invust:=(invust-invust/100*(100-CH_ch*10));(*ust:= êîðî÷å (100-CH-ch*10)% :-) *)
CH_ch:=CH_ch-1;
UST_INV (invustavka:=CH_invust , dk:= Pinv2k, Pinv:=Pinv2, ustavka=>invust2 );
(* Pvalue:=invust-Pinv2k ; (*Ðçàäï÷*)
Pvalue:=Pvalue*50/Pinv2 ; (*óñòàâêà äëÿ Ï× 2*)
invust2:= REAL_TO_WORD (Pvalue*100);
*)
CH_timer (IN:=TRUE, PT:=CH_time*10); (*start timer*)
END_IF
IF
CH_ch >=2 AND
CH_ch <8 AND
CH_timer.Q=TRUE AND
( (invust1-200)<PIDfeedback1 AND PIDfeedback1<(invust1+100) )
THEN CH_timer();
CH_timer(IN:=FALSE); (*, pt:=CH_time)*)
CH_invust:=(invust-invust/100*(100-CH_ch*10));(*ust:= êîðî÷å (100-CH-ch*10)% :-) *)
CH_ch:=CH_ch-1;
UST_INV (invustavka:=CH_invust , dk:= Pinv2k, Pinv:=Pinv2, ustavka=>invust2 );
CH_timer (IN:=TRUE, PT:=CH_time); (*start timer*)
END_IF
IF (CH_ch <2 AND CH_timer.Q=TRUE)
THEN CH_timer();
(*CH_timer(IN:=FALSE);*)
comword2.14:=FALSE;
comword2.15:=FALSE;
comword2.10:=FALSE; (*STOP Ï×2*)
TRIG_CH21(SET:=FALSE , RESET1:=TRUE); (*ñáðîñèì ôëàã ïåðåêëþ÷&# 229;íèÿ*)
CH_timer(IN:=FALSE);
osnovpomp:=1; (*çàïîìíèì ; íîìåð íîâîãî îñíîâíîã&# 238; íàñîñà*)
END_IF