diff --git a/motor/build/generated_plc.st b/motor/build/generated_plc.st index 2c32d01..bd2160a 100644 --- a/motor/build/generated_plc.st +++ b/motor/build/generated_plc.st @@ -65,6 +65,7 @@ END_PROGRAM PROGRAM automate_controle_commande_ld VAR P1_enc : BOOL; + WAIT2 : TIME; P1_run : BOOL; P2_enc : BOOL; P2_run : BOOL; @@ -79,9 +80,20 @@ PROGRAM automate_controle_commande_ld TON1 : TON; secours_c_ok : BOOL; CTU0 : CTU; + TON2 : TON; + CTU1 : CTU; + CTU2 : CTU; + req_enc_ok : BOOL; + WAIT15 : TIME; + TON3 : TON; R_TRIG1 : R_TRIG; - _TMP_GT33_ENO : BOOL; - _TMP_GT33_OUT : BOOL; + _TMP_GT42_ENO : BOOL; + _TMP_GT42_OUT : BOOL; + R_TRIG2 : R_TRIG; + _TMP_EQ54_OUT : BOOL; + _TMP_EQ53_OUT : BOOL; + _TMP_AND45_ENO : BOOL; + _TMP_AND45_OUT : BOOL; END_VAR Pump_def := NOT(P1_run) AND P1_enc OR NOT(P2_run) AND P2_enc OR NOT(P3_run) AND P3_enc; @@ -90,11 +102,23 @@ PROGRAM automate_controle_commande_ld secours := TON0.Q; only_one_run := NOT(P3_run) AND NOT(P2_run) AND P1_run OR NOT(P3_run) AND P2_run AND NOT(P1_run) OR P3_run AND NOT(P2_enc) AND NOT(P1_run); Pump_def := TRUE; - TON1(IN := TRUE, PT := WAIT13); + TON2(IN := TRUE, PT := WAIT13); R_TRIG1(CLK := ); - CTU0(CU := R_TRIG1.Q, R := true); - _TMP_GT33_OUT := GT(EN := TON1.Q, IN1 := CTU0.Q, IN2 := 1, ENO => _TMP_GT33_ENO); - secours_c_ok := _TMP_GT33_OUT; + CTU1(CU := R_TRIG1.Q, R := true); + _TMP_GT42_OUT := GT(EN := TON2.Q, IN1 := CTU1.CV, IN2 := 1, ENO => _TMP_GT42_ENO); + secours_c_ok := _TMP_GT42_OUT; + secours := TRUE; + TON1(IN := TRUE, PT := WAIT2); + R_TRIG2(CLK := P1_enc OR P2_enc OR P3_enc); + CTU0(CU := R_TRIG2.Q, R := true); + _TMP_EQ54_OUT := EQ(CTU0.CV, 1); + CTU2(R := NOT(P1_enc) OR NOT(P2_enc) OR NOT(P3_enc), PV := 1); + _TMP_EQ53_OUT := EQ(CTU2.CV, 1); + _TMP_AND45_OUT := AND(EN := TON1.Q, IN1 := _TMP_EQ54_OUT, IN2 := _TMP_EQ53_OUT, ENO => _TMP_AND45_ENO); + req_enc_ok := _TMP_AND45_OUT; + only_one_run := TRUE; + TON3(IN := TRUE, PT := WAIT15); + only_one_run := NOT(TON3.Q); END_PROGRAM diff --git a/motor/build/plc.st b/motor/build/plc.st index 58e2df4..8ec3954 100644 --- a/motor/build/plc.st +++ b/motor/build/plc.st @@ -88,6 +88,7 @@ END_PROGRAM PROGRAM automate_controle_commande_ld VAR P1_enc : BOOL; + WAIT2 : TIME; P1_run : BOOL; P2_enc : BOOL; P2_run : BOOL; @@ -102,9 +103,20 @@ PROGRAM automate_controle_commande_ld TON1 : TON; secours_c_ok : BOOL; CTU0 : CTU; + TON2 : TON; + CTU1 : CTU; + CTU2 : CTU; + req_enc_ok : BOOL; + WAIT15 : TIME; + TON3 : TON; R_TRIG1 : R_TRIG; - _TMP_GT33_ENO : BOOL; - _TMP_GT33_OUT : BOOL; + _TMP_GT42_ENO : BOOL; + _TMP_GT42_OUT : BOOL; + R_TRIG2 : R_TRIG; + _TMP_EQ54_OUT : BOOL; + _TMP_EQ53_OUT : BOOL; + _TMP_AND45_ENO : BOOL; + _TMP_AND45_OUT : BOOL; END_VAR Pump_def := NOT(P1_run) AND P1_enc OR NOT(P2_run) AND P2_enc OR NOT(P3_run) AND P3_enc; @@ -113,11 +125,23 @@ PROGRAM automate_controle_commande_ld secours := TON0.Q; only_one_run := NOT(P3_run) AND NOT(P2_run) AND P1_run OR NOT(P3_run) AND P2_run AND NOT(P1_run) OR P3_run AND NOT(P2_enc) AND NOT(P1_run); Pump_def := TRUE; - TON1(IN := TRUE, PT := WAIT13); + TON2(IN := TRUE, PT := WAIT13); R_TRIG1(CLK := ); - CTU0(CU := R_TRIG1.Q, R := true); - _TMP_GT33_OUT := GT(EN := TON1.Q, IN1 := CTU0.Q, IN2 := 1, ENO => _TMP_GT33_ENO); - secours_c_ok := _TMP_GT33_OUT; + CTU1(CU := R_TRIG1.Q, R := true); + _TMP_GT42_OUT := GT(EN := TON2.Q, IN1 := CTU1.CV, IN2 := 1, ENO => _TMP_GT42_ENO); + secours_c_ok := _TMP_GT42_OUT; + secours := TRUE; + TON1(IN := TRUE, PT := WAIT2); + R_TRIG2(CLK := P1_enc OR P2_enc OR P3_enc); + CTU0(CU := R_TRIG2.Q, R := true); + _TMP_EQ54_OUT := EQ(CTU0.CV, 1); + CTU2(R := NOT(P1_enc) OR NOT(P2_enc) OR NOT(P3_enc), PV := 1); + _TMP_EQ53_OUT := EQ(CTU2.CV, 1); + _TMP_AND45_OUT := AND(EN := TON1.Q, IN1 := _TMP_EQ54_OUT, IN2 := _TMP_EQ53_OUT, ENO => _TMP_AND45_ENO); + req_enc_ok := _TMP_AND45_OUT; + only_one_run := TRUE; + TON3(IN := TRUE, PT := WAIT15); + only_one_run := NOT(TON3.Q); END_PROGRAM diff --git a/motor/plc.xml b/motor/plc.xml index ca960ad..7533dd1 100644 --- a/motor/plc.xml +++ b/motor/plc.xml @@ -1,7 +1,7 @@ - + @@ -678,7 +678,7 @@ - + @@ -708,6 +708,16 @@ + + + + + + + + + @@ -837,25 +847,25 @@ Pump_def - + - + WAIT7 - + - - + + @@ -864,14 +874,14 @@ Pump_def - + - - + + @@ -879,10 +889,10 @@ - - - - + + + + @@ -902,12 +912,12 @@ - + - - + + @@ -1395,7 +1405,7 @@ - secours_c_ok + req_secours_ok @@ -1744,6 +1754,109 @@ req_enc_ok + + + + + + + + + + + + WAIT15 + + + + + + + + + + + + + + only_one_run + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + only_one_run + + + + + + + + + + + + + + + + + + + + + + + + +