Advertisement
bartek27210

rss2

Dec 19th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. PROGRAM STEROWANIE
  2. VAR_EXTERNAL (*$AUTO*) END_VAR
  3.  
  4. VAR
  5. CZAS_PRACY_SILNIKA:TON;
  6. OPOZN_ZAM:TON;
  7. stan:INT:=1;
  8. STOP:BOOL;
  9. END_VAR
  10.  
  11. CZAS_PRACY_SILNIKA(IN:=SILNIK, PT:=T#3s);
  12. OPOZN_ZAM(IN:=stan=3, PT:=T#10s);
  13.  
  14. (*sterowani autmatyczne*)
  15. IF AUTO THEN
  16. STOP:=TRUE;
  17. CASE stan OF
  18. 1: SILNIK:=FALSE; KIERUNEK:=TRUE;
  19. IF F THEN stan:=2;
  20. END_IF
  21. 2: SILNIK:=TRUE; KIERUNEK:=TRUE;
  22. IF CZAS_PRACY_SILNIKA.Q THEN WK_DZ:=FALSE; WK_DO:=TRUE;
  23. END_IF
  24. IF WK_DO THEN stan:=3;
  25. END_IF
  26. 3: SILNIK:=FALSE; KIERUNEK:=FALSE;
  27. IF OPOZN_ZAM.Q AND NOT F THEN stan:=4;
  28. ELSIF F AND NOT WK_DO THEN stan:=2;
  29. ELSIF F THEN stan:=3;
  30. END_IF
  31. 4: SILNIK:=TRUE; KIERUNEK:=FALSE;
  32. IF F THEN stan:=2;
  33. END_IF
  34. IF CZAS_PRACY_SILNIKA.Q THEN WK_DO:=FALSE; WK_DZ:=TRUE;
  35. END_IF
  36. IF WK_DZ THEN stan:=1;
  37. END_IF
  38. END_CASE
  39.  
  40. ELSE (*Sterowanie reczne*)
  41. IF STOP THEN SILNIK:=FALSE;
  42. END_IF
  43. IF OTWORZ AND ZAMKNIJ THEN STOP:=TRUE;
  44. ELSIF OTWORZ AND NOT WK_DO THEN SILNIK:=TRUE; KIERUNEK:=TRUE;
  45. IF CZAS_PRACY_SILNIKA.Q THEN WK_DZ:=FALSE; WK_DO:=TRUE; OTWORZ:=FALSE;
  46. END_IF
  47. ELSIF ZAMKNIJ AND NOT WK_DZ THEN SILNIK:=TRUE; KIERUNEK:=FALSE;
  48. IF CZAS_PRACY_SILNIKA.Q THEN WK_DO:=FALSE; WK_DZ:=TRUE; ZAMKNIJ:=FALSE;
  49. END_IF
  50. ELSE STOP:=TRUE; OTWORZ:=FALSE; ZAMKNIJ:=FALSE;
  51. END_IF
  52. END_IF
  53.  
  54.  
  55.  
  56. END_PROGRAM
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement