Ülesanne: Taseme hoidmine ultrahelianduriga
Ülesande püstitus
Rakendus peab hoidma paagis 102 pidevalt 5l vett. Kasutajaliides puudub.
Pumba mootori jaoks kasutada diskreetset juhtimist (sisse – välja).
Ühe oleku (sees, väljas) minimaalne kestvus peab olema 1,5s.
| XMA1 (stend - digitaal) |
| I/O |
Funktsioon/kirjeldus |
| DI0 |
B102 Pumba läbivooluanduri pulssväljund |
| DI1 |
S111 Paak 101 ujuk |
| DI2 |
S112 Paak 102 ujuk |
| DI3 |
B113 Paak 101 min tase |
| DI4 |
B114 Paak 101 max tase |
| DI5 |
S115 Kuulventiil kinni |
| DI6 |
S116 Kuulventiil lahti |
| DI7 |
N/A |
| DO0 |
M102Kuulventiil lahti |
| DO1 |
E104 Küttekeha |
| DO2 |
K1 P101 juhtimisrežiim (D/A) |
| DO3 |
M101 Pump sisse |
| DO4 |
K106 Proportsionaalklapp sisse |
| DO5 |
N/A |
| DO6 |
N/A |
| DO7 |
N/A |
| XMG2 (paneel - digitaal) |
| I/O |
Funktsioon/kirjeldus |
| DI0 |
Start nupp |
| DI1 |
Stop nupp (inverteeritud) |
| DI2 |
Võti (Auto=0/Man=1) |
| DI3 |
Reset nupp |
| DI4 |
I4 |
| DI5 |
I5 |
| DI6 |
I6 |
| DI7 |
I7 |
| DO0 |
Start nupu indikaator-LED |
| DO1 |
Reset nupu indikaator-LED |
| DO2 |
Q1 indikaatortuli |
| DO3 |
Q2 indikaatortuli |
| DO4 |
Q4 |
| DO5 |
Q5 |
| DO6 |
Q6 |
| DO7 |
Q7 |
| X2 (stend - analoog) |
| I/O |
Funktsioon/kirjeldus |
| AIU1 |
B101 Paak 102 tasemeandur (ultraheli) |
| AIU2 |
B102 Pumba läbivooluandur |
| AIU3 |
B103 Paak 103 rõhuandur |
| AIU4 |
B104 Paak 101 temperatuuriandur |
| AOU1 |
M101 Pumba kiirus |
| AOU2 |
M106 Proportsionaalklapi reg |
| Ventil |
Olek |
| V101 |
Lahti |
| V102 |
- |
| V103 |
Kinni |
| V104 |
Kinni |
| V105 |
Kinni |
| V106 |
- |
| V107 |
Kinni |
| V108 |
Kinni |
| V109 |
Kinni |
| V110 |
50% avatud |
| V112 |
Lahti |
Programm
|
Nimi |
Andmetüüp |
Aadress |
Kommentaar |
| |
DI_flow |
BOOL |
%I0.0 |
B102 - Pumba läbivooluanduri pulssväljund |
| |
float_sw101 |
BOOL |
%I0.1 |
B111 - Paak 101 ujuk |
| |
float_sw102 |
BOOL |
%I0.2 |
S112 - Paak 102 ujuk |
| |
101_level_min |
BOOL |
%I0.3 |
S113 - Paak 101 min tase (mahtuvusandur) |
| |
101_level_max |
BOOL |
%I0.4 |
B114 - Paak 101 max tase (mahtuvusandur) |
| |
V102_closed |
BOOL |
%I0.5 |
S115 - Kuulventiil lahti |
| |
V102_open |
BOOL |
%I0.6 |
S116 - Kuulventiil kinni |
| |
DI_Res1 |
BOOL |
%I0.7 |
|
| |
V102 |
BOOL |
%Q0.0 |
M102 - Kuulventiil lahti |
| |
heater |
BOOL |
%Q0.1 |
E104 - Küttekeha |
| |
pump_mode |
BOOL |
%Q0.2 |
K1 - P101 juhtimisrežiim (D/A) |
| |
pump |
BOOL |
%Q0.3 |
M101 - Pump sisse |
| |
propvalve |
BOOL |
%Q0.4 |
K106 - Proportsionaalklapp sisse |
| |
DO_res1 |
BOOL |
%Q0.5 |
|
| |
DO_res2 |
BOOL |
%Q0.6 |
|
| |
DO_res3 |
BOOL |
%Q0.7 |
|
|
Nimi |
Andmetüüp |
Aadress |
Kommentaar |
| |
AI_level |
UInt |
%IW112 |
B101 - Paak 102 tasemeandur (ultraheli) |
| |
AI_flow |
UInt |
%IW114 |
B102 - Pumba läbivooluandur |
| |
AI_pressure |
UInt |
%IW116 |
B103 - Paak 103 rõhuandur |
| |
AI_temp |
UInt |
%IW118 |
B104 - Paak 101 temperatuuriandur |
| |
AQ_pump |
UInt |
%QW112 |
M101 - Pumba kiirus |
| |
AQ_propvalve |
UInt |
%QW114 |
M106 - Proportsionaalklapi avatuse reguleerimine |
|
Nimi |
Andmetüüp |
Aadress |
Kommentaar |
| |
ActualValue_Level |
Real |
%IMD0 |
Liitriteks teisendatud taseme väärtus |
Programm: Main [OB1]
| SCL |
"ActualValue_Level" := "AI_level" / real#3140;
IF "timer1".Q THEN
IF "ActualValue_Level" < real#5 THEN
"pump" := 1;
ELSE
"pump" := 0;
END_IF;
END_IF;
"timer1".TON(IN:= NOT "timer1".Q, PT:=T#1.5s);
|