Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Detekcja zbocza narastającego
- IF ((#ramp_up = 1) AND ("Zmienne_globalne".cien_up = 0)) THEN
- #zbocze_up := 1;
- ELSE
- #zbocze_up := 0;
- END_IF;
- "Zmienne_globalne".cien_up := #ramp_up;
- // Detekcja zbocza opadającego
- IF ((#ramp_down = 0) AND ("Zmienne_globalne".cien_down = 1)) THEN
- #zbocze_down := 1;
- ELSE
- #zbocze_down := 0;
- END_IF;
- "Zmienne_globalne".cien_down := #ramp_down;
- //obsługa stanu silnika
- IF #zbocze_up = 1 THEN
- "Zmienne_globalne".motor_state := 1;
- ELSIF #zbocze_down = 1 THEN
- "Zmienne_globalne".motor_state := 0;
- //"Zmienne_globalne".PWM := 0;
- END_IF;
- //deklaracja timera
- "IEC_Timer_0_DB_1".TP(IN:=#timer_init_1,PT:=T#500ms,Q=>#timer_state_1);
- "IEC_Timer_0_DB".TP(IN:=#timer_init_2,PT:=T#500ms,Q=>#timer_state_2);
- //Wyzwalanie timera zwiększającego wartośc
- IF ("Zmienne_globalne".motor_state = 1) THEN
- IF ((#timer_state_1 = 0) AND ("Zmienne_globalne".PWM <> 27648)) THEN
- #timer_init_1 := 1;
- "Zmienne_globalne".PWM := LIMIT(IN := "Zmienne_globalne".PWM + #step, MN := 0, MX := 27648);
- ELSE
- #timer_init_1 := 0;
- END_IF;
- ELSIF ("Zmienne_globalne".motor_state = 0) THEN
- //Wyzwalanie timera zmniejszajcego wartośc
- IF ((#timer_state_2 = 0) AND ("Zmienne_globalne".PWM > 0)) THEN
- #timer_init_2 := 1;
- "Zmienne_globalne".PWM := LIMIT(IN := "Zmienne_globalne".PWM - #step, MN := 0, MX := 27648);
- ELSE
- #timer_init_2 := 0;
- END_IF;
- END_IF;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement