46
KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a ............................................................................................................................................. 3 2 VAT, Symbol table ........................................................................................................................................................... 7 3 LAD .................................................................................................................................................................................. 8 3.1.1 VHOD - kontakt NOC, NCC .............................................................................................................................. 8 3.1.2 IZHOD .............................................................................................................................................................. 9 3.2 Bit logic.................................................................................................................................................................. 10 3.2.1 Sestavljene funkcije....................................................................................................................................... 10 3.3 MEMORY – spomin ............................................................................................................................................... 13 3.3.1 Organizacija spomina, podatkovni tipi in njihove lastnosti .......................................................................... 13 3.3.2 RS celica......................................................................................................................................................... 16 3.3.3 SR celica......................................................................................................................................................... 16 3.3.4 SET ................................................................................................................................................................. 16 3.3.5 RESET ............................................................................................................................................................. 16 3.3.6 NEG................................................................................................................................................................ 16 3.3.7 POS ................................................................................................................................................................ 16 3.4 INT & FLOAT functions .......................................................................................................................................... 17 3.4.1 ADD, SUB, DIV, MUL ...................................................................................................................................... 17 3.5 Converters ............................................................................................................................................................. 18 3.5.1 I_DI ................................................................................................................................................................ 18 3.5.2 DI_R ............................................................................................................................................................... 18 3.5.3 ROUND .......................................................................................................................................................... 18 3.5.4 DI_I ................................................................................................................................................................ 19 3.6 Comparators ......................................................................................................................................................... 20 3.7 Counters ................................................................................................................................................................ 21 3.7.1 CU – Counter Up ........................................................................................................................................... 21 3.7.2 CD – Counter Down....................................................................................................................................... 21 3.7.3 CUD – Counter Up-Down .............................................................................................................................. 21 3.8 Timers.................................................................................................................................................................... 22 3.8.1 S_PULSE......................................................................................................................................................... 22 3.8.2 S_PEXT – se ugasne po S5 sekundah............................................................................................................. 22

KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

  • Upload
    lytu

  • View
    235

  • Download
    8

Embed Size (px)

Citation preview

Page 1: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

KIBERNETIKA vaje izvedba

Vsebina 1 Konfiguracija Hardweare-a ............................................................................................................................................. 3

2 VAT, Symbol table ........................................................................................................................................................... 7

3 LAD .................................................................................................................................................................................. 8

3.1.1 VHOD - kontakt NOC, NCC .............................................................................................................................. 8

3.1.2 IZHOD .............................................................................................................................................................. 9

3.2 Bit logic .................................................................................................................................................................. 10

3.2.1 Sestavljene funkcije ....................................................................................................................................... 10

3.3 MEMORY – spomin ............................................................................................................................................... 13

3.3.1 Organizacija spomina, podatkovni tipi in njihove lastnosti .......................................................................... 13

3.3.2 RS celica ......................................................................................................................................................... 16

3.3.3 SR celica ......................................................................................................................................................... 16

3.3.4 SET ................................................................................................................................................................. 16

3.3.5 RESET ............................................................................................................................................................. 16

3.3.6 NEG................................................................................................................................................................ 16

3.3.7 POS ................................................................................................................................................................ 16

3.4 INT & FLOAT functions .......................................................................................................................................... 17

3.4.1 ADD, SUB, DIV, MUL ...................................................................................................................................... 17

3.5 Converters ............................................................................................................................................................. 18

3.5.1 I_DI ................................................................................................................................................................ 18

3.5.2 DI_R ............................................................................................................................................................... 18

3.5.3 ROUND .......................................................................................................................................................... 18

3.5.4 DI_I ................................................................................................................................................................ 19

3.6 Comparators ......................................................................................................................................................... 20

3.7 Counters ................................................................................................................................................................ 21

3.7.1 CU – Counter Up ........................................................................................................................................... 21

3.7.2 CD – Counter Down ....................................................................................................................................... 21

3.7.3 CUD – Counter Up-Down .............................................................................................................................. 21

3.8 Timers .................................................................................................................................................................... 22

3.8.1 S_PULSE ......................................................................................................................................................... 22

3.8.2 S_PEXT – se ugasne po S5 sekundah ............................................................................................................. 22

Page 2: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

3.8.3 S_ODT – postane aktiven najprej po S5 sekundah ....................................................................................... 22

3.9 FC Function Call ..................................................................................................................................................... 23

3.10 FB – Function Block ............................................................................................................................................... 23

3.11 DB – Data Block ..................................................................................................................................................... 24

4 Koračna veriga:.............................................................................................................................................................. 30

5 GRAPH (Sekvencer) SFC – Sequential Flow Chart ......................................................................................................... 33

5.1 Step (Set, Reset, Set w Condition) ........................................................................................................................ 34

5.2 Tranzition (Bitlogic, Timer, Counter, Compared) .................................................................................................. 34

5.3 Jump (Loop) ........................................................................................................................................................... 36

5.4 Alternative Branch ................................................................................................................................................ 39

5.5 Simultaneous Branch ............................................................................................................................................ 40

5.6 Nekaj najpogostejših ukazov in akcij v praksi. ...................................................................................................... 40

Page 3: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

1 Konfiguracija Hardweare-a Najprej zaženemo program SIMATIC Manager. Ko se program zažene, nam le ta najprej ponudi čarovnika.

To možnost prekličemo. Nato vse že odprte projekte, zapremo, tako da imamo na zaslonu le odprt program s sivim ozadjem.

Ko imamo okno pripravljeno, pričnemo z izdelavo novega projekta: FILENEW

Vnesemo ime našega projekta (primer: SESTAVLJALNA POSTAJA) Pojavi se nam novo okno z našim projektom.

Page 4: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

V naš projekt je potrebno vnesti najprej strojno opremo. Desni klik na »ime projekta« Insert New Object SIMATIC 300 STATION. Naš krmilnik lahko poljubno poimenujemo (primer:EUP)

Kliknemo na EUP in dvokliknemo na Hardware

Smo v pogledu konfiguracije strojne opreme. V desnem oknu poiščemo letev: Siematic 300 rack 300 Rail in jo prenesemo na levo polje.

Dodamo CPU : Siematic 300 CPU 300 CPUXXXX-X XX (poglej na vrhu krmilnika levo) 314-xxxxx-xxxx (glej na krmilniku spodaj levo) V2.X (odpri vratca krmilnika in ugotovi verzijo) – PRIMEMO in ga prenesemo na zeleno obarvano polje na levi strani. Kliknemo OK.

Page 5: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Nastavitev I/O : D.K. na:

Nastavimo pod Addresses start: 0 (za inputs in outputs odkljukaj system default). Tako dobimo naslove od I 0.0 do I 2.7 ter O 0.0 do O 1.7 (grupe DI+0, DI+1, DI+2 in DO+0, DO+1), glej sliko:

Spremenimo analogne I/O (D.K. na AI5/AO2):

Še nastavitve analognih vhodov (od 0 ... 10 V)(če jih potrebujemo):

Page 6: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Shranjevanje nastavitev: Station consistency check (ne sme javiti napak!), Station save & compile, zapremo okno HW Config.

V Simatic Manager dobimo naslednj strukturo:

Izpraznitev krmilnika: Krmilnik je v stanju STOP , kliknemo (online), v novem oknu potem pobrišemo vse bloke, ki se NE začnejo z SF…, pomaga tudi 5 sekundno držanje tipke MRES.

Ko programiramo, delamo vedno OFFLINE (Vse se izvaja na PC-ju, program na krmilnik naložimo s tipko Download )

Page 7: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

2 VAT, Symbol table

in vnesemo npr. ime tabele »IO spremenljivke«, kliknemo OK. Dvojni klik na in smo v pogledu tabele spremenljivk (component view).

Vnašamo naslove spremenljivk : a) neposredno vpišemo npr. Q 0.0 (izhodi) oz. I 0.0 (vhodi) b) D.K. Insert Range Of Variables …

Določimo število vhodov (I X.X) in izhodov (Q X.X), odvisno od tega, koliko jih ima sam krmilnik. Vrednsoti so 8 bitne,

torej od I 0.0 do I 0.7, naprej od I 1.0 do I 1.7 itd …

Preizkušanje spremenljivk: Preklopimo krmilnik na RUN (ne sme biti rdečih sig. Lučk), kliknemo na očalca Monitor Variable ; na vhodih I X.X

spremljamo stanja (zelen pravokotnik =1), na izhodih Q X.X pa lahko krmilimo aktuatorje v stolpcu modify value

uporabimo kombinacijo tipk ctrl+1 za vklop in ctrl+0 za izklop.

Prenos programa na PLC:

*kadar vse prenašamo, sicer je lahko na RUN.

Page 8: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Ustvarjanje simbolne tabele:

Dvojni klik na Symbols

V pogledu Symbol editor vnesemo opombe pri spremenljivkah, določimo lahko tudi oznake. Najbolje da postavimo VAT in Symbol tabelo drugo ob drugi in določimo spremenljivke; vpišemo naslov spremenljivke (npr. I 1.3) in njeno ime (npr. Roka levo), da bomo kasneje lažje pisali program. Shranimo in spremenljivko nato lahko vidimo v VAT tabeli.

3 LAD

3.1.1 VHOD - kontakt NOC, NCC

NOC – normalno odprt kontakt: je sklenjen, kadar je bit na katerem je naslovljen v logični enici '1'. Za naslov lahko

uporabimo Vhod ali spomin. I0.2 ali M3.6,…

Page 9: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Izhod Q0.0 se postavi v stanje '1' ko sta vhod I3.2 in spomin marker M1.0 v logični '1' ali pa je vhod I3.1 v logični enici.

Q0.0 = I3.2 * M1.0 + I3.2

NCC – Normalno zaprt kontakt: je sklenjen, kadar je bit na katerem je naslovljen v logični nič. Za naslov lahko uporabimo

Vhod ali spomin. I0.2 ali M3.6,…

Izhod Q0.0 se postavi v stanje '1', ko je vhod I0.2 v logični '0', M1.0 pa v logični '1'.

3.1.2 IZHOD

3.1.2.1 Coil

Se vedno postavi na koncu networka, z njim pa lahko postavimo bit na določenem naslovu spomina M ali izhoda Q.

Coil v vsakem ciklu postavlja izhod glede na to, kakšno stanje pride do njega '0' ali '1'

3.1.2.2 Midline output

Igra isto vlogo kot Coil, le da Midline output postavimo v katerikoli del veje. Lahko jih postavimo več.

Primer Coil in Midline Output:

Izhod Q2.0 se postavi v '1', kadar je vhod I3.1 v logični '1'

Q2.0 = I3.1

Page 10: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Izhod Q2.1 se postavi v '1', kadar je I3.2 v '1' spomin M1.0 pa v '0' ali če je vhod I3.1 v '1'.

Q2.1 = I3.2 * M1.0 + I3.1

3.2 Bit logic OB1: predstavi NOC in NCC kontakte za AND in OR funkcijo.

Ustvari VAT tabelo, ter vanjo zapiši naslove vhodov in izhodov prvega byte-a

Ustvari simbolno tabelo, ter poimenuj vhode in izhode, kot je prikazano na spodnji tabeli

Stikalo Vhodni naslov luč Izhodni naslov

S0 I0.0 Rdeča1 Q0.0

S1 I0.1 Rumena1 Q0.1

S2 I0.2 Zelena1 Q0.2

S3 I0.3 Rdeča2 Q0.3

S4 I0.4 Rumena2 Q0.4

S5 I0.5 Zelena2 Q0.5

S6 I0.6 Q0.6

S7 I0.7 Q0.7

Zaženi datoteko semafor.exe, ter z VAT tabelo testiraj izhode, ter opazuj lučke ki se prižigajo

3.2.1 Sestavljene funkcije

Pri sestavljenih logičnih funkcijah ima obstajajo pravila, kateri člen ima prioriteto in sicer

1. Oklepaji: ( )

2. Logični NE: (NOT) '!'

3. Logični: IN (AND) '*'

4. Logični: ALI (OR) '+'

V LAD sprogramiraj funkcijo

Rdeča1 = s0 + (s1 * !s2)

Page 11: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Rumena1 = s0 * (s1 + !s2)

Zelena1 = s3 * (s2 * s1 + !s1 * s0)

Page 12: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Napiši program, ki prižge rdečo, rumeno in zeleno, ko je vključeno stikalo S0.

Z vzporedno vejitvijo izhodov

Ali z uporabo Midline output

Page 13: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

3.3 MEMORY – spomin Spomin uporabljamo, kadar si želimo shraniti kako vrednost, ter jo kasneje tudi uporabiti za kakšne izračune, ipd…

3.3.1 Organizacija spomina, podatkovni tipi in njihove lastnosti

3.3.1.1 BYTE (8 bit)

3.3.1.2 WORD (16 bit – 2 Byte)

Page 14: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

3.3.1.3 DOUBLE WORD (32bit – 2W – 4B)

Vendar pozor. Kadar shranjujemo število tipa DINT dolžine MD, se teža bytov ravno obrne. M0.7 je MSB, M3.0 pa LSB.

Ravno tako je pri številih tipa INT, dolžine MW.

============================================================================

============================================================================

Kako se pretvarja desetiško vrednost v dvojiško in obratno:

http://projekti.gimvic.org/2003/2b/sistemi/ostalo/dvojiski.htm

BIT 3 2 1 0 DEC HEX

0 0 0 0 0 0

0 0 0 1 1 1

0 0 1 0 2 2

0 0 1 1 3 3

0 1 0 0 4 4

0 1 0 1 5 5

0 1 1 0 6 6

0 1 1 1 7 7

1 0 0 0 8 8

1 0 0 1 9 9

1 0 1 0 10 A

1 0 1 1 11 B

1 1 0 0 12 C

Page 15: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

1 1 0 1 13 D

1 1 1 0 14 E

1 1 1 1 15 F

Vaje – vnos bitov in števil v spominski prostor M

Če ne pazimo kam shranjujemo vrednosti, lahko pride do prekrivanja vrednosti v spominu, posledica tega pa so

izgubljeni ali zavajajoči podatki.

M0.0 = true

M1.3 = true

M1.0 = true

M5.2 = true

MB1 = 78 B(0100 1110) (povozimo bit M1.0 in M1.3, katere smo prej zapisali v spomin, zato sta ta dva povožena)

MB7 = 10 B(0000 1010)

MW6 = 14557 B(0011 1000 1101 1100)

MD8 = 0 B(0000 0000 0000 0000 0000 0000 0000 0000)

M9.4= true (posledica tega je, da dobi MD8 vrednost 1048576)

Byte | bit 7 6 5 4 3 2 1 0

0 1

1 0 1 0 0 1 1 1 0

2

3

4

5 1

6 0 0 1 1 1 0 0 0

7 1 1 0 1 1 1 0 0

8 0 0 0 0 0 0 0 0

9 0 0 0 1 0 0 0 0

10 0 0 0 0 0 0 0 0

11 0 0 0 0 0 0 0 0

12

13

14

15

Predlog:

Prvih 10 bajtov uporabljajte samo za logične vrednosti

Od 10 – 50 za spremenljivke dolžine Word

Od 50 naprej spremenljivke dolžine DWord

Popolnoma enako logiko kot markerji (spomin) se organizirajo tudi vhodi in izhodi!!!

Page 16: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

3.3.2 RS celica

Kadar želimo neko stanje shraniti trajno, uporabimo SET – RESET funkcijo.

Set ima prednost pred Reset. To pomeni, da v primeru, ko sta na vhodu SET in RESET istočasno '1', prevladuje SET.

3.3.3 SR celica

Reset ima prednost pred Set. To pomeni, da v primeru, ko sta na vhodu SET in RESET istočasno '1', prevladuje RESET.

3.3.4 SET

Ko do set tuljave pride do prehoda iz '0' v '1', postavi naslov trajno v '1'

3.3.5 RESET

Ko do reset tuljave pride do prehoda iz '0' v '1' postavi naslov trajno v '0'.

3.3.6 NEG

Proži se na detekcijo prehoda signala iz '1' v '0'

3.3.7 POS

Proži se na detekcijo prehoda signala iz '0' v '1'

Page 17: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

3.4 INT & FLOAT functions

3.4.1 ADD, SUB, DIV, MUL

Tu morate paziti, da uporabite pravilen podatkovni tip. Če delate z INT, je dolžina števila 2 Byte-a oz. WORD, če pa delate

z DINT, pa je dolžina števila 4 byte oz DWORD.

Napiši program, ki preračuna vrednosti Y=2X + 3, pri čemer X bere na naslovu MW20, Y pa shrani v MW 30.

Napiši program, ki preračuna vrednosti Y= X / 2 - 3, pri čemer X bere na naslovu MD20, Y pa shrani v MD30.

Fixno vrednosti na vhod DINT vpišemo v formatu L#Vrednost. Primer: L#10, L#5,…

Napiši program, ki preračunava Y = 2 * X^2 / (X + 3) – 1 Pri čemer naj bo X vrednost na naslovu MW20, Y naj shrani na

MW30.

Page 18: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

3.5 Converters Kadar želimo pretvoriti vrednost iz enega v drug podatkovni tip.

3.5.1 I_DI

3.5.2 DI_R

3.5.3 ROUND

Kadar želimo Realno število zaokrožiti na celo število (Iz realnega v celo število)

Page 19: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

3.5.4 DI_I

Konverter DINT v INT pa žal ne obstaja, zato ga moramo sprogramirati sami.

Vrednost DINT imamo na naslovu MD20, kar pomeni da to število zasede 4 Byte in sicer MB20, MB21, MB22 in MB23,

oz. dva WORDA in sicer MW20 in MW22.

Ker pa ima simens pri številih vrednost zapisano v obratnem vrstnem redu – glede na Byte - se naša vrednost nahaja v

MB23 in MB22, tako se vrednost INT nahaja v drugem WORD-u od štartnega naslova in to je MW22, MW20 pa je prazen

oz. nepomemben.

Primer:Izračunaj hitrost telesa pri enakomerno pospešenem gibanju. Hitrost zapiši v MW30, Pospešek preberi iz MW20,

pot pa iz MW22. Enačba: v =Sqrt(2 * a * s).

Najprej izračunamo notranje oklepaje

Page 20: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Če želimo koreniti, moramo najprej število INT pretvoriti v REAL

Nato pretvorjeno vrednost korenimo

Nato pa še rezultat pretvorimo iz REAL v INT, ter ga shranimo na naslov MW30

3.6 Comparators Pomembno je, da izberemo komparator, glede na podatkovni tip, ki ga želimo primerjati. Izbiramo lahko med INT, DINT,

in Real. Možnost imamo izbirati med različnimi primerjalniki (>, <, =, <>, >=, <=, ).

Page 21: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Naloga: Napiši program, ki prižge Zeleno luč, če je vrednost na naslovu MW20 med 10 in 15. Če vrednost ni v teh limitah,

gori rdeča luč!

Dopolni program tako, da gori rumena luč če je vrednost na robu, se pravi 10 ali 15. Takrat ne gori ne zelena in ne rdeča!

3.7 Counters Za štetje uporabljamo števce. Na izbiro imamo več možnosti

3.7.1 CU – Counter Up

Šteje samo navzgor od 0 ali pred nastavljene vrednosti.

3.7.2 CD – Counter Down

Šteje samo navzdol do 0 od pred nastavljene vrednosti.

3.7.3 CUD – Counter Up-Down

Šteje navzgor in navzdol.

Napiši program za parkirno hišo. Parkirna hiša ima 10 prostih mest. Senzorja za prihod avtomobilov sta na naslovu I1.0 in

I1.1, senzorja za odhod avtomobilov pa sta na naslovu I1.2 in I1.3. Senzorja za prihod in odhod sta v razmaku 10cm. Če je

prosto vsaj eno mesto, naj gori zelena luč, če pa je parkirišče zasedeno, pa naj gori rdeča luč.

Page 22: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Izdelaj zaščito za primer, da se voznik med vstopom, ko prekine oba senzorja premisli, in zapelje vzvratno. Torej, tega

avta ne sme šteti.

3.8 Timers Pri Timerjih za čas v sekundah uporabljamo svoj format in sicer: »S5T#[število sekund]s«

Primer S5T2.5s = 2,5s ; S5T#100ms = 100ms ; …..

Poleg tega moramo blok označiti s številko timerja, ki ga želimo uporabljati npr T0, T1, T2,…

3.8.1 S_PULSE

Ostane aktiven največ S5 sekund če je S ves čas v '1'. Reset ima prioriteto.

3.8.2 S_PEXT – se ugasne po S5 sekundah

Se aktivira ob prehodu I1.0 iz '0' v '1' do izteka časa. I1.0 ni potrebno da je ves čas aktiven.

3.8.3 S_ODT – postane aktiven najprej po S5 sekundah

Tipična zakasnitev za S5 sekund. Ko je I1.0 v '1', se po S5 sekundah Timer aktivira. I1.0 mora bit ves čas odštevanja v '1'.

Napiši program, da ob pritisku tipke na vh I0.0 začne utripati zelena luč s frekvenco 1Hz.

Ob pritisku tipke na vh I0.1 naj se zelena luč ugasne.

Popravi program tako, da ob pritisku tipke na vh I0.0 zelena luč 5x utripne s frekvenco 1Hz. Vmes jo kadarkoli lahko

ugasnemo z I0.1

Dopolni program tako, da najprej 3x utripne zelena, potem 3x rumena, nato pa 3x rdeča.

Naloga:

Page 23: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

3.9 FC Function Call Kadar imamo kakšne formule preračunavanja, konverzije, ki jih potrebujemo večkrat, si zgradimo svojo funkcijo.

Funkcija ima na voljo vhode, izhode, vhodnoIzhodne vrednosti in začasne vrednosti. Priporočljivo je, da se v funkcijah ne

uporablja spomina Marker npr M1.1, ali MW3,.. ampak TEMP - začasne spremenljivke. Funkcija se izvede za čas enega

cikla.

Funkcijo dodamo v Simatic Manager-ju v mapo Blocks. Desni klik z miško\Insert New Object\Function

Primer: Ustvari funkcijo, ki preračuna °C v °F. Kot vhodna vrednost naj bodo stopinje Celzija, izhodna pa stopinja

Fahrenheit. Enačbo za izračun si poišči na spletu.

Primer 2: Ustvari funkcijo, ki na izhodu vrne vrednost Y tipa INT. (Y = k*x+n) Vrednosti k,x in n naj bodo vhodi tipa INT.

3.10 FB – Function Block Funkcijski bloki. Kadar želimo upravljati s kakšno napravo, kodo prenesemo v funkcijski blok. V FB lahko uporabimo

vhodne in izhodne vrednosti različnih tipov, uporabljamo pa lahko tudi lokalne spremenljivke. Za svoje delovanje FB

potrebuje tudi Data Block, da si lahko med svojim delovanjem vanj shrani svoje statične lokalne vrednosti.

Običajno ga uporabimo za krmiljenje naprave kot celota, npr: za upravljanje semaforja, delovnih postaj, ipd…

Primer: Zgradimo FB, ki ga bomo uporabili za števec. Ima definiran vhod in je tipa INT (korak), izhod INT (izh1), ter

statično spremenljivko stevec, v kateri bomo hranili vrednost števca.

Primer vsebine FB-ja

Page 24: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Ko zgradimo FB, ga uporabimo v OB1. Ko ga uporabimo, mu moramo določiti še Data block. V našem primeru smo

uporabili DB1.

3.11 DB – Data Block Data Block uporabljamo za branje in shranjevanje vrednosti med delovanjem CPU. V njem so običajno shranjeni

parametri za delovanje mašine npr: mejne vrednosti, hitrosti, časovne vrednsti, zakasnitve,…

Podatke beremo iz DB-ja zato, da nam ni potrebno ves čas pregledovati program, kje vse moramo te vrednosti

spremeniti, ampak jih najdemo v DB, kjer jih spremenimo na enem mestu in še to lahko med delovanjem CPU.

Datablock ustvarimo, kot vse druge objekte: V simatic Manager v mapi Blocks DK/Insert new Object/Data Block.

Page 25: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

V SM se pojavi objekt z imenom DB10. Odprimo objekt DB10.

Page 26: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Odpre se nam okno, v katerem določimo ime oz. številko bloka DB1, DB2,…, DBn. V našem primeru smo določili blok

številka 10. Poleg števila je zelo koristno tudi določiti simbolno ime, katerega potem tudi uporabljamo v programu,

vendar zaenkrat to polje pustimo prazno.

Odpre se vsebina bloka DB10, v katerem definiramo spremenljivke različnih tipov.

Ko se odpre okno, v koloni Name določimo imena spremenljivk, v stolpcu Type določimo ustrezen podatkovni tip, v

stolpcu Initial value določimo začetno vrednost te spremenljivke. Začetna vrednost se določi samo enkrat odkar blok živi.

V stolpcu Address je definiran naslov spremenljivke. Torej, vsaka naslednja spremenljivka se po naslovnem prostoru

premakne za toliko, kolikor zasede predhodna spremenljivka. Spremenljivka tipa INT na naslovu n zasede dolžino WORD

torej 2 Byta, zato je naslednja spremenljivka lahko na naslovu n+2.

Vrednosti spremenljivk v DB10 lahko uredimo tako, da se povežemo na krmilnik, ali vključimo simulator, ter vključimo

pogled (Monitor on/off) , vendar moramo prej blok DB10 prenesti (download) na simulator ali krmilnik. Ko

vključimo , se odpre nov pogled, v katerem so vrednosti v stolpcu Actual value enake Initial value.

Aktualne vrednosti lahko tudi ročno spremenimo, tako da vanj vnesemo novo vrednost.

Page 27: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Shranimi in prenesemo na krmilnik ali simulator, da preverimo uporabo teh spremenljivk.

Če želimo sedaj iz teh spremenljivk pridobiti vrednost ali v to spremenljivko zapisati vrednost, naslov določimo tako:

[ime bloka].DB[naslov spremenljivke v bloku]

Primer: Preskalirano hitrost (vrednsto iz analognega vhoda) preskaliramo v vrtljaje na sekundo shranimo na naslov

MW20. Radi bi naredili opozorilo, da se prižge rdeča luč na naslovu Q0.0, če vrtljaji padejo pod to hitrost. Najmanjšo

dovoljeno hitrost beremo iz databloka DB10.

Spremenljivka hitrost1 shranjena na naslovu 8, njeno lokacijo oz. vrednost dobimo tako, v da na način, kot je prikazan na

zgornji sliki. [ime bloka].DB[naslov spremenljivke v bloku]

Ker pa je ta način označevanja malo moteč, predvsem zaradi tega, ker moramo poznati naslov spremenljivke v kateri

hranimo vrednost, (ker ne moremo to storiti na način DB10.hitrost1), lahko databloku DB10 dodelimo simbolno ime npr:

param. V tem primeru pa lahko to isto vrednost dobimo na način param.hitrost1.

V SM na DB10 DK, ter izberemo Object Properties.

V Symbol name napišite param in kliknimo OK.

Page 28: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Sedaj smo blok DB10 preimenovali v param, tako da bomo lahko uporabljali simbolno ime spremenljivke.

[simbolno ime bloka].[simbolno ime spremenljivke]

Sedaj je iskanje pravih spremenljivk v datablokih lažje.

Če se z miško zapeljemo čez naslov »param«.hitrost1, se nam prikaže oblak, kjer je napisan fizični naslov DB10.DBW8 in

komentar spremenljivke na tem naslovu.

V primeru, da bi pa radi shranili vrednost na ta naslov, pa to storimo tako:

Še nekaj nastavitev, kaj se nam bo prikazalo ob določenem naslovu: View/Display with/…

Page 29: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a
Page 30: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

4 Koračna veriga: Vsaka naprava običajno deluje po točno določenem zaporedju. Korak1, korak2, korak3,…korakN. Kdaj se program

premakne iz enega koraka v drugega, je odvisno od vhodnih stanj in/ali časov oz. zakasnitev. Tem rečemo prehodni

pogoji. Poskrbeti moramo tudi, da je naenkrat aktiven smo en korak. Osnova za korak je bit spomina oz. Marker,

katerega potem upravljamo z SR celico.

Posamezni korak označimo S0, S1, S2, S3, pogoje za prehod pa označimo z T0, T1, T2, T3.

Bistvo vsega je, da se program začne s prvim korakom S0. Ko so v S0 izpolnjeni vsi pogoji za prehod, se aktivira drugi

korak S1, kateri pa mora izključi svoj predhodni korak, torej S0. Na ta način pridemo do zadnjega koraka. Če želimo, se

lahko zopet aktivira prvi korak, ki pa izključi zadnji korak.

Ko je aktiven določen korak S, le ta postavi izhode v določeno stanje, in jih drži toliko časa, dokler ne preidemo v drug

korak. Te izhode oz. stanja lahko držimo samo za čas koraka, ali pa s SET ali RESET postavimo trajno do naslednje

spremembe.

Prehod T je običajno vezava digitalnih vhodov, lahko pa vključuje tudi časovnike, komparatorje ipd,…

Shema delovanja:

Vezalna shema z SR celico.

Page 31: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

LAD:

Najboljša primerjava za to je semafor. Najprej definirajmo zahteve, ter povezave.

Luči bodo na naslovih: Rdeča(Q0.0), Rumena(Q0.1), Zelena(Q0.2)

Zaporedje, kako naj gorijo loči v vsakem koraku, ter koliko časa naj ostane v tem stanju:

S0: Rdeča: 5s

S1: Rdeča + Rumena: 1s

S2: Zelena: 5s

S3: Rumena: 1s

Sedaj nas od semaforja loči le še korak. V LAD je potrebno le še ob vsakem koraku vključiti posamezne luči, ter popraviti

čase Timerjev tako, da bo vsak korak aktiven toliko časa, kot je predvideno.

Page 32: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Ena od možnih rešitev:

Vzporedno vezana NOC in NCC nekega naslova vedno povzročita '1', nato pa naredimo logiko, v katerih korakih bomo

vključili vsako od luči. Rdeča gori v koraku S0 in S1, katera imamo stanje markerjev M1.0 in M1.1

Rumena gori v S1 in S3 – M1.1 in M1.3, zelena pa samo v S2, torej uporabimo M1.2

Page 33: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

5 GRAPH (Sekvencer) SFC – Sequential Flow Chart Sekvencer sestavlja niz korakov in prehodov, ki se aktivirajo glede na ustreznost pogojev. V eni veji je lahko aktiven samo

en korak. Koraki se izvajajo zaporedno po vrstnem redu. V praksi so to običajno točno določena zaporedja stanj stroja ali

procesa, glede na to koliko časa ostane v določenem stanju pa določamo s prehodi. Npr: semafor.

Ustvarimo nov funkcijski blok FB1. Jezik ne izberemo LAD ampak GRAPH, ter kliknimo OK.

Odprimo FB1.

Pojavi se začetni korak (initial step), katri se vedno izvede prvi, se se program začne. Koraku je ime Step1 S1. Zraven je

tudi pripadajoči prehod T1, kateri pogojuje aktivnost S1.

Nov korak in prehod programu dodamo tako:

Page 34: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Na ta način dodajmo še nekaj korakov, na koncu pa mora vedno biti Branch Stop, ali skok na začetek.

5.1 Step (Set, Reset, Set w Condition) Najmanjši element sekvencerja je korak oz. STEP. V eni veji je naenkrat lahko aktiven samo en korak.

Korak, ki je aktiven, pa postavi izhode ali markerje v določeno stanje, in jih drži, dokler je korak aktiven.

5.2 Tranzition (Bitlogic, Timer, Counter, Compared) Prehod določa pogoj, da korak ostane aktiven dokler... Sekvencer gre v naslednji korak samo, če je pogoj prehoda v '1'

oz. če so vsa stikala sklenjena. Ni nujno, da so v pogoju prehoda samo stikala, lahko so tudi Timerji, primerjalniki,…

Page 35: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Še en primer:

Ko so izpolnjeni pogoji za prehod sekvencerja v S2, se izvede akcija koraka. To so razne postavitve izhodov, markerjev,

counterjev,… Nato preveri pogoje za prehod. Če so pogoji za prehod izpolnjeni gre program takoj v S3, če pa niso,

program ves čas forsira Akcijo koraka, dokler niso pogoji za prehod izpolnjeni. Torej se Akcija koraka v posameznem

koraku izvede vsaj enkrat.

Pogoje za prehod dodamo takole:

Ali pa iz orodjarne na levi strani potegnemo določen element na mesto za prehod.

Podobno je tudi z dodajanjem akcij.

Page 36: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

V prvo okno vpišemo, kaj želimo storiti, v drugo pa naslov na katerem naj se to zgodi. Zaenkrat omenimo samo 2 akciji S-

SET in R-RESET. Prva trajno postavi stanje v '1', druga pa trajno postavi v '0'.

5.3 Jump (Loop) Se uporablja, da lahko skočimo na katerikoli korak v programu. Lahko se uporabi na koncu veje, da zopet skočimo na prvi

korak.

Izbrišimo Branch Stop, ter DK na T4, ter dodajmo JUMP, ter kliknimo na S1. Tako smo dosegli, da ko program pride na

JUMP, le ta potem skoči na S1.

Dobimo tako:

Tako dosežemo, da se program ciklično ponavlja.

Izbrišimo pogoje in akcije na S2, tako da imamo na koncu tako kot je na zgornji sliki.

Page 37: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Izdelajmo program za semafor. Semafor naj deluje tako kot v križišču. Torej se izvaja po točno določenem zaporedju,

torej si zamislimo korake, po katerih bomo prižigali luči.

Sekvenca luči, ki morajo goreti:

Korak 1: Rdeča

Korak 2: Rdeča + Rumena

Korak 3: Rumena

Korak 4: Zelena

Korak 5: Rumena

Skok: pojdi na začetek

Kot opazimo, nam v naši sekvenci manjka še en korak, zato ga dodamo za T4.

Definirajmo izhode: Rdeča1 – Q0.0 Rumena1 – Q0.1 Zelena1 – Q0.2.

Prehode med koraki bomo premikali s stikalom s0 – I0.0

Rešitev:

V prvem koraku moramo postaviti rdečo, in resetirati ostali dve, saj ne vemo, v kakšnem stanju sta trenutno.

Ker SET trajno postavi naslov v visoko stanje, nam v S2 ni potrebno ponovno prižigati rdeče, ravno tako v S3 ni potrebno

SETirati rumene, ampak samo ugasnemo rdečo,…

Problem!!! Ker je za prehode med koraki vedno uporabljen s0, mi ne opazimo prižiganja ali ugašanja luči med seboj, zato

ker se prehodi izvajajo tako hitro, da naše oko ne opazi premikanja, ko imamo vključeno stikalo s0.

Page 38: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Poiščimo eno od rešitev: prehodi med posameznimi stanju moramo ločiti še z nečim. To lahko storimo z zakasnitvami, ali

pa na kakšen drug način. Zakasnitev v prehodu naredimo tako, da v orodni vrstici kliknemo na Insert Supervisor Time T:

V prehodu sedaj dobimo stikalo in komparator, ki preverja čas koraka1. Čas, ki ga preverja komparator je privzeto

100ms. Če nam je toliko časa premalo, lahko to vrednost prilagodimo po lastnih željah. Paziti moramo le, da čas ostane v

ustreznem formatu: T#[vrednost]s

Te komparatorje dodajte na vseh prehodih, ter preizkusite delovanje.

Rešitev:

Page 39: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

5.4 Alternative Branch Uporabimo, kadar imamo na voljo več možnih potekov procesa.

Page 40: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Kadar imamo vzporednost 2 ali več alternativnih vej, se istočasno lahko izvaja samo 1. Torej, tista veja, kateri se prehod

najprej odpre, tista veja se bo izvedla, ostali dve pa ne. Pomembno je tudi, da se vzporedni prehodi med seboj

izključujejo, drugače lahko dobimo nepredvidljive situacije. V primeru, da sta T1 in T6 oba izpolnjena, bo program

naključno izbral eno od vej.

5.5 Simultaneous Branch Kadar želimo istočasno upravljati z več procesi naenkrat, le ti pa so običajno med seboj neodvisni.

Ko se izvajata procesa v veji 1 in 2 hkrati, se program nadaljuje v S4 šele, ko se procesa v obeh vejah zaključita. Če je

korak S3 že zaključen, T3 odprt, le ta čaka, da se proces odvije tudi v drugi veji. Torej dokler se Tm ne odpre, nato pa

izvede Sm.

Korak S5 se izvede šele, ko so izvedeni S4, Sy, Sz, ter prehodi T4, ter Tx odprti.

5.6 Nekaj najpogostejših ukazov in akcij v praksi. S1 – Akcija se izvede, ko se korak aktivira (na začetku)

S0 – Akcija se izvede, ko se korak deaktivira (na koncu)

SC – SET With Condition: se postavi samo, če je izpolnjen pogoj

N – samo za čas koraka

S - trajno

R - trajno

UKAZ AKCIJA Razlaga

S M0.1 En bit na nalsovu postavimo v '1'

R Q0.0 Izhod na naslovu Q0.0 postavimo v '0'

N Q0.0 Izhod Q0.0 postavimo v '1' dokler je aktiven korak, potem gre zopet v '0'.

Page 41: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

S1 N MW20 := 10 Spomin na naslovu 20 postavimo na vrednost 10

S1 N QW0 := 0 Bajta na izhodu 0 in 1 postavimo na vrednost 0

S1 N MW10 := MW10 + 1 Vrednost na naslovu MW10 povečamo za 1

S1 N MW3 := 5*(3+MW0) + 2 Primer izračuna enačbe

S1 CU C2 Counter št. 2 povečamo za 1

S1 CD C3 C3 zmanjšamo za 1

S1 CR C2 C2 se resitira na 0

S C Q0.0 V koraku se Q0.0 trajno postavi v '1' tako ko je interlock (pogoj) tudi v '1'

N C Q0.0 V koraku se Q0.0 postavi v '1' samo če je interlock (pogoj) tudi v '1'

Več na strani Graph 7, str:165

Page 42: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a

Vklop ali izklop izhoda, bita s pogoji (Conditions – C). Če je interlock v '1' se SET, RESET oz. N izvede, drugače ne.

Page 43: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a
Page 44: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a
Page 45: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a
Page 46: KIBERNETIKA vaje izvedba Vsebina - arh.tsckr.siarh.tsckr.si/VSS/Literatura/Kibernetika1.pdf · KIBERNETIKA vaje izvedba Vsebina 1 Konfiguracija Hardweare-a