|
|
|
|






"Contor" := "Contor" + 1;
IF "Contor" > 100 THEN
"Contor" := 0;
;
END_IF;
|







"Cyclic_cnt" := "Cyclic_cnt" + 1;
IF "Cyclic_cnt" > 100 THEN
"Cyclic_cnt" := 0;
;
END_IF;
|

"Alfa" := "Alfa" + 0.1;
IF "Alfa" > 100 THEN
"Alfa" := 0;
END_IF;
"Val_sin" := 50 * (1 - SIN("Alfa"));
|



Sub Incr_param() Altitud=Altitud+1 Poz_v=Poz_v-1 Poz_h=Poz_h+2 If Altitud>250 Then Altitud=0 Poz_h=0 Poz_v=0 End If End Sub |




"k" := "k" + 1;
IF "k" > 10 THEN
"k" := 0;
END_IF;
CASE "k" OF
0:
"C17" := FALSE;
1:
"C17" := FALSE;
"C00" := TRUE;
2:
"C00" := FALSE;
"C01" := TRUE;
3:
"C01" := FALSE;
"C02" := TRUE;
4:
"C02" := FALSE;
"C03" := TRUE;
5:
"C03" := FALSE;
"C04" := TRUE;
6:
"C04" := FALSE;
"C05" := TRUE;
7:
"C05" := FALSE;
"C06" := TRUE;
8:
"C06" := FALSE;
"C07" := TRUE;
9:
"C07" := FALSE;
"C16" := TRUE;
10:
"C16" := FALSE;
"C17" := TRUE;
ELSE
"C00" := FALSE;
"C17" := FALSE;
END_CASE;
|


"k" := REAL_TO_INT("Alfa" * 10);
FOR #j := 0 TO 9 DO
IF ("k" MOD 2) = 0 THEN
#b := FALSE;
ELSE
#b :=TRUE ;
END_IF;
"k" :=REAL_TO_INT("k" / 2) ;
CASE #j OF
0:
"C17" := #b;
1:
"C16" := #b;
2:
"C07" := #b;
3:
"C06" := #b;
4:
"C05" := #b;
5:
"C04" := #b;
6:
"C03" := #b;
7:
"C02" := #b;
8:
"C01" := #b;
9:
"C00" := #b;
ELSE
;
END_CASE;
;
END_FOR;
|

"k" := "k" + 1;
IF "k" > 1000 THEN
"k" := 0;
END_IF;
#j := 0;
WHILE #j<10 DO
IF ("k" MOD 2) = 0 THEN
#b := FALSE;
ELSE
#b :=TRUE ;
END_IF;
"k" :=REAL_TO_INT("k" / 2) ;
CASE #j OF
0:
"C17" := #b;
1:
"C16" := #b;
2:
"C07" := #b;
3:
"C06" := #b;
4:
"C05" := #b;
5:
"C04" := #b;
6:
"C03" := #b;
7:
"C02" := #b;
8:
"C01" := #b;
9:
"C00" := #b;
ELSE
;
END_CASE;
;
END_WHILE;
|

"k" :="k"+ 1;
IF"k" > 10 THEN
"k" := 1;
END_IF;
#j := 0;
WHILE #j<10 DO
IF "k" > #j THEN
#Matr_l[#j] := TRUE;
ELSE
#Matr_l[#j] := FALSE;
END_IF;
#j := #j + 1;
END_WHILE;
"C17" := #Matr_l[0];
"C16" := #Matr_l[1];
"C07" := #Matr_l[2];
"C06" := #Matr_l[3];
"C05" := #Matr_l[4];
"C04" := #Matr_l[5];
"C03" := #Matr_l[6];
"C02" := #Matr_l[7];
"C01" := #Matr_l[8];
"C00" := #Matr_l[9];
|

|
|











"AI0_scalat" := REAL_TO_INT("AI0" / 100);
"AI1_scalat" := REAL_TO_INT("AI1" / 100);
"AI2_scalat" := REAL_TO_INT("AI2" / 100);
"AI3_scalat" := REAL_TO_INT("AI3" / 100);
|


"AI0_gen_s" := REAL_TO_INT("AI0" / 250 + 230);
"AI1_gen_s" := REAL_TO_INT("AI1" / 250 + 160);
"AI2_gen_s" := REAL_TO_INT("AI2" / 250 + 90);
"AI3_gen_s" := REAL_TO_INT("AI3" / 250 + 20);
|



"Cnt_gen_s" := "Cnt_gen_s" + 1;
IF "Cnt_gen_s" > 1001 THEN
"Cnt_gen_s" := 0;
END_IF;
IF "Cnt_gen_s" MOD 2 = 0 THEN
"AO0" := 10;
//"AO1" := 10;
ELSE
"AO0" := 32500;
//"AO1" := 32500;
END_IF;
|
|
|
| Termen | Descriere |
| SCADA | Supervisory Control And Data Aquisition |
| Tag | Nume generic pentru elementele din procesul monitorizat codificate prin intermediul variabilelor |
| HMI | Human Machine Interface -Interfata dintre aplicatie si utilizator |
| SCL (Structured Control Language) | Limbaj pentru programarea PLC-urilor de tipul SIMATIC S7-1200/1500 |
| Instructiuni decizionale | Instructiuni care permit alegerea setului de instructiuni care urmeaza a fi executate in functie de o expresie relationala |
| Instructiuni repetitive | Instructiuni care permit rularea repetitiva functie de o expresie relationala, a unui setului de instructiuni |
| Expresie relationala | Expresie a carui rezultat este o valoare logica |
|
|