Advertisement
tanfy88

Untitled

Mar 11th, 2018
2,364
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SCL 2.12 KB | None | 0 0
  1. #tempo_att := S_PEXT(T_NO := "timer_emergenza", S := "start_timer_emergenza",
  2.                      TV := #tempo_preimpostato, Q => "stato_timer_emergenza",
  3.                      R := "reset_timer_emergenza");
  4.  
  5. "sequenza" := 10;
  6.  
  7. // set pulsante di emergenza se c'è richiesta
  8. IF "richiesta_emergenza" THEN
  9.     IF (NOT "pulsante_emergenza") THEN
  10.         "pulsante_emergenza" := 1;
  11.     END_IF;
  12. END_IF;
  13.  
  14. // attesa per il disinserimento del pulsante emergenza
  15. IF ("pulsante_emergenza" AND "stato_emergenza") THEN
  16.     #apertura := 0;
  17.     "richiesta_emergenza" := 0;
  18.     RETURN;
  19. END_IF;
  20.  
  21. // gestione primo accesso all'apertura
  22. IF ((("pulsante_emergenza" AND (NOT "stato_emergenza")) AND
  23.     (NOT "stato_timer_emergenza")) AND (("errore" <> 'A') AND
  24.     ("errore" <> 'E'))) THEN
  25.     #apertura := 1;
  26.     "reset_timer_emergenza" := 0;
  27.     "start_timer_emergenza" := 1;
  28.     "Apertura"(richiesta := "pulsante_emergenza",
  29.                uscita_ciclo := #apertura);
  30.     RETURN;
  31. END_IF;
  32.  
  33. // gestione dei successivi accessi per l'apertura
  34. IF (#apertura OR "stato_timer_emerg_ganasce" OR
  35.     "stato_timer_emerg_piatto") THEN
  36.     "Apertura"(richiesta := "pulsante_emergenza",
  37.                uscita_ciclo := #apertura);
  38.     RETURN;
  39. END_IF;
  40.  
  41. // gestione ritorno dal ciclo apertura per reset finale dei timer
  42. IF (("reset_timer_emerg_ganasce" AND "reset_timer_emerg_piatto") AND
  43.     ((NOT "start_timer_emerg_ganasce") AND
  44.     (NOT "start_timer_emerg_piatto"))) THEN
  45.     "Apertura"(richiesta := "pulsante_emergenza",
  46.                uscita_ciclo := #apertura);
  47.     IF "sequenza" = 11 THEN
  48.         "stato_emergenza" := 1;
  49.     END_IF;
  50. END_IF;
  51.  
  52. // arresto del timer
  53. IF (("pulsante_emergenza" AND "stato_timer_emergenza")
  54.     AND "stato_emergenza") THEN
  55.     "start_timer_emergenza" := 0;
  56.     "reset_timer_emergenza" := 1;
  57.     #apertura := 0;
  58.     RETURN;
  59. END_IF;
  60.  
  61. // test per avvenuto errore
  62. IF (("pulsante_emergenza" AND (NOT "stato_timer_emergenza"))
  63.     AND (NOT "stato_emergenza")) THEN
  64.     "start_timer_emergenza" := 0;
  65.     "reset_timer_emergenza" := 0;
  66.     "errore" := 'E';        //errore in Emergenza
  67.     RETURN;
  68. END_IF;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement