Programmeeritavad kontrollerid
Euroopa struktuurfondide logo
Siemens LOGO! viide Automatiseerimise viide Mehhatroonikaseadmete viide Pneumoautomaatika viide
Joonis
Joonis

Ülesanne: Massiivi liikmete valimine ja suurendamine * (näide)

Juhtpaneeli kirjeldus

Juhtpaneelil on 3 nuppu (S1 - Start, S2 - Stop, S4 - Reset), üks võtmega lüliti (S3 - Auto/Man) ja 4 indikaatortuld (H1, H2, H3, H4).

Ülesande püstitus

Koostada programm, kus start nupu vajutusega saab valida, mitmendat 4 liikmelise massiivi liiget suurendama hakatakse ning reset nupu vajutus suurendab valitud liiget 1 võrra.

Liikmete valimine peab olema korratav.

Ühe massiivi liikme väärtus ei tohi olla suurendatav üle kasutatava muutuja maksimaalse väärtuse.

Massiiv ei ole seotud ühegi füüsilise väljundiga. Ülesande korrektset täitmist kontrollitakse Online vaates massiivi liikmete väärtusi jälgides.

Programm

Sümbolite nimekiri

Nimi Andmetüüp Aadress Kommentaar
start_btn BOOL %I8.0 Surunupp S1
stop_btn BOOL %I8.1 Surunupp S2 (NC)
key_man BOOL %I8.2 Lüliti S3
reset_btn BOOL %I8.3 Surunupp S4
startled BOOL %Q8.0 Indikaatortuli H1
resetled BOOL %Q8.1 Indikaatortuli H2
Q1 BOOL %Q8.2 Indikaatortuli Q1
Q2 BOOL %Q8.3 Indikaatortuli Q2
start_btn_before BOOL %M0.0 Frondituvastuse mälu start nupu kohta
reset_btn_before BOOL %M0.1 Frondituvastuse mälu reset nupu kohta
index_nr USInt %MB1 Hetkel valitud massiivi liikme number

Andmeplokk: Andmed [DB1]

Nimi Andmetüüp Algne väärtus Kommentaar
array Array[0..3] of USInt

Programm: Main [OB1]

SCL (TIA V13)
IF "start_btn" AND NOT "start_btn_before" THEN
  "index_nr" := "index_nr" + 1;
  IF "index_nr" > 3 THEN
    "index_nr" := 0;
  END_IF;
ELSIF "reset_btn" AND NOT "reset_btn_before" AND "Andmed".massiiv["index_nr"] < 255 THEN
  "Andmed".massiiv["index_nr"] := "Andmed".massiiv["index_nr"] + 1;
END_IF;

"start_btn_before" := "start_btn";
"reset_btn_before" := "reset_btn";
Creative Commons Licence
"Programmeeritavad kontrollerid" is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License .