Ü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);
|