SHARE
TWEET

Rozproszony_System_Kontrolno_Pomiarowy_Ze_Sterownikiem_SMC

pabloducato Dec 1st, 2018 35 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PROGRAM STEROWANIE
  2. VAR_EXTERNAL (*$AUTO*)
  3. END_VAR
  4. VAR
  5.     Stan : INT:=0;         (* Stan automatu             *)
  6.     Stan_: INT:=1;         (* Stan automatu (poprzedni) *)
  7. END_VAR
  8.  
  9. (*** Sterowanie poziomem cieczy ***)
  10. CASE Stan OF
  11.   0: (* Tryb MANUAL (AUTO=FALSE) *)
  12.      IF AUTO THEN Stan := Stan_; END_IF
  13.   1: (* Tryb AUTO (AUTO=TRUE): nape艂nianie *)
  14.      IF START THEN
  15.          Z1 := TRUE; Z2 := FALSE;     (* Nape艂nianie zbiornika    *)
  16.          IF H3 THEN Stan := 2; END_IF (* Przej艣cie do opr贸偶niania *)
  17.      ELSE
  18.          Z1 := FALSE; Z2 := FALSE;    (* Wstrzymanie nape艂niania  *)
  19.      END_IF                          
  20.      IF NOT AUTO THEN
  21.          Stan_ := Stan;               (* Zapami臋tanie stanu       *)    
  22.          Stan := 0;                   (* Przej艣cie do MANUAL      *)
  23.      END_IF
  24.   2: (* Tryb AUTO (AUTO=TRUE): opr贸偶nianie *)
  25.      IF START THEN
  26.          Z1 := FALSE; Z2 := TRUE;     (* Opr贸偶nianie zbiornika    *)
  27.          IF NOT H1 THEN Stan := 1; END_IF (* Przej艣cie do nape艂n. *)
  28.      ELSE
  29.          Z1 := FALSE; Z2 := FALSE;    (* Wstrzymanie opr贸偶niania  *)
  30.      END_IF
  31.      IF NOT AUTO THEN
  32.          Stan_ := Stan;               (* Zapami臋tanie stanu       *)
  33.          Stan := 0;                   (* Przej艣cie do MANUAL      *)
  34.      END_IF
  35. END_CASE
  36.  
  37. (*** Regulacja temperatury cieczy (p.6) ***)
  38. IF AUTO AND START THEN
  39.    IF (T2<T1) THEN
  40.       G1 := TRUE;
  41.    ELSE
  42.        G1 := FALSE;
  43.    END_IF
  44. END_IF
  45. (*** Sygnalizacja alarm贸w (p.5) ***)
  46. IF P1 OR (G1 AND NOT H1) OR (H3 AND NOT H2) OR (H2 AND NOT H1) THEN
  47.    ALM:=TRUE;
  48. END_IF
  49. (*** Obs艂uga alarm贸w ***)
  50. IF ALM AND START THEN          (* ALARM - np. uszkodzone czujniki *)
  51.     Z1 := FALSE; Z2 := FALSE;         (* Stan bezpieczny Z1, Z2   *)
  52.     G1 := FALSE;                      (* Grza艂ka G1 wy艂膮czona     *)
  53.     AUTO := FALSE;                    (* Tryb MANUAL              *)
  54.     START := FALSE;                   (* Zatrzymanie procesu      *)
  55.     Stan := 0;                        (* Tryb MANUAL              *)
  56. END_IF
  57. IF ALMACK THEN                        (* Je艣li potwierdzony alarm *)
  58.     ALM := FALSE;                     (* Kasowanie alarmu         *)
  59.     ALMACK := FALSE;                  (* Kasowanie potwierdzenia  *)
  60. END_IF
  61. END_PROGRAM
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top