PLK - kako začeti

Opisani problemi in rešitve v industriji. PLC-ji so prav gotovo tu.

PLK - kako začeti

OdgovorNapisal/-a Zeci » 12 Sep 2017, 13:16

1. UVOD

Kot vsak navdušen začetnik, sem si tudi jaz hotel takoj skočiti v vodo in kar takoj kupiti prvi krmilnik, ki bi bil cenovno ugoden. Vendar začetniki velikokrat ne vemo, na kaj moramo biti pozorni. Zato si je pred nakupom krmilnika dobro zastaviti nekaj vprašanj.

1. Kaj bomo s krmilnikom počeli? Ni namreč vsak krmilnik primeren za vsako aplikacijo. Če šele začenjamo, bo ta krmilnik namenjen predvsem učenju, torej ne pretiravamo s številom I/O priključkov.

2. Kakšna bo končna cena začetnega kompleta? Poleg samega krmilnika, potrebujemo še kable, vmesnike in programski paket za programiranje PLK, saj ni samoumevno da je ta zastonj. Zato se je potrebno pred nakupom pozanimati, kaj vse dobimo v paketu, oziroma kaj vse je potrebno dokupiti. Tu je potrebno biti pozoren še na ceno dodatnih razširitvenih I/O modulov in HMI zaslonov.

3. Kakšna je zahtevnost orodja za programiranje? Toliko kot je proizvajalcev PLK krmilnikov, toliko različnih orodij za programiranje obstaja. Nekateri programski paketi za programiranje so enostavni, nekateri pa bolj zakomplicirani, saj imajo večji nabor ukazov, več nastavitev in več nadzora. Pred nakupom lahko torej program že namestimo in ga testiramo, seveda če je ta brezplačen. Za plačljive programe pa lahko na youtubu pogledamo vsaj kako približno izgleda uporabniški vmesnik.

4. Ali PLK podpira funkcije, ki jih bomo v prihodnje morda potrebovali? Seveda ne moremo vedeti v naprej, kakšen projekt bomo delali čez pol leta ali leto kasneje, je pa prav, da pred nakupom vseeno podrobneje preberemo kaj vse PLK omogoča (kateri moduli so na voljo, načini komunikacije, programske funkcije, ...).

5. Ali imamo za izbrani PLK na voljo dovolj podpore (tako s strani proizvajalca, kot s strani boljše polovice) in virov za učenje? Nabolje je, da na sami spletni strani proizvajalca pogledamo kaj je na voljo za učenje oz. za lažji začetek. Na spletu lahko preverimo tudi, ali obstajajo kakšni viri za učenje (tutorials). Če poznamo koga, ki se s tem ukvarja, je izbor PLK krmilnika enostavnejši, saj nam lahko predlaga kaj izbrati, pa tudi lahko nam pomaga pri prvih korakih.

6. Kam ga bomo vgradili? Ali je namen PLK krmilnika za mini projekt doma, ali ga potrebujemo v industriji?

Mogoče za sam začetek ni potrebno predelati vseh vprašanj, je pa koristno vedeti na kaj moramo biti pozorni.
Sam sem izbral krmilnik podjetja INVT, model serije IVC1. Je idealen za začetnika, predvsem zato ker je cenovno ugoden, ponuja velik nabor ukazov in omogoča enostavno programiranje v brezplačnem okolju Auto Station, ki se ga lahko prenese z njihove spletne strani http://www.invt.com/en/server/dllist.aspx?PID=100000028992187
Uporabniški avatar
Zeci
 
Prispevkov: 100
Pridružen: 17 Jan 2015, 21:31
Kraj: Osrednjeslovenska regija
Zahvalil se je: 39 krat
Prejel zahvalo: 24 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 5

Re: PLK - kako začeti

OdgovorNapisal/-a Zeci » 12 Sep 2017, 13:24

2. Priklop PLK krmilnika in komunikacija z računalnikom

Krmilnik za komunikacijo z računalnikom uporablja serijski vmesnik. V kompletu je že USB kabel, ki ima vgrajen pretvornik z USB na serijski vmesnik. Kabel priključimo na PORT 0, ki je označen na krmilniku (Slika 2 2).
Programming manual of IVC series PLC V1.jpg
Slika 2 1: Priklop krmilnika na računalnik


Poglavje1-005.jpg
Slika 2 2: Struktura krmilnika INVT IVC1


Na računalnikih z nameščenim operacijskim sistemom Windows, moramo na seznamu nameščene strojne opreme (Device Manager) videti USB Serial Port (Slika 2 3).
Poglavje1-001.jpg
Slika 2 3: Na seznamu naprav mora biti navidezni serijski vmesnik


Ko zaženemo program Auto Station, izberemo Tool->PLC Comunication->Connect. Izberemo Program port protocol in nato Program port setting.
Poglavje1-002.jpg
Slika 2 4: Nastavitve serijskega vmesnika
Poglavje1-002.jpg (72.68 KiB) Videno 760 krat


Preverimo, da imamo za komunikacijo izbran isti serijski vmesnik, kot je na seznamu najdene strojne opreme (v našem primeru COM3). Nato kliknemo OK.

Da preverimo komunikacijo s PLK, kliknemo na PLC-> PLC info in prikaže se okno z informacijami o našem PLK. Na tem mestu je dobro, da preverimo če ima naš krmilnik pravilno nastavljen čas. To storimo tako, da izberemo PLC->PLC Clock… in nato Get current time.
Poglavje1-003.jpg
Slika 2 5: Komunikacijo s krmilnikom lahko preverimo tako, da pogledamo čas na krmilniku.
Poglavje1-003.jpg (61.26 KiB) Videno 760 krat



Če je čas napačno nastavljen, ga na tem mestu lahko popravimo.
Kadar uporabljamo fizične vhode oz. izhode, je potrebno krmilnik prej ustrezno priklopiti.
Poglavje1-006.jpg
Slika 2 6: Primer priključitve krmilnika “Sink mode”.


Obstajata dva načina priključitve, ki ju določa pin S/S (source/sink). Prvi način je, da vhode prožimo z maso (sink mode). Zato pin S/S povežemo na +24V. Če bomo vhode prožili s pozitivno napetostjo (source mode), potem ta pin povežemo na maso. Spodnja slika prikazuje primer take priključitve.
Poglavje1-007.jpg
Slika 2 7: Pin S/S vezan na maso (source mode). Za proženje lahko uporabimo notranje napajanje.


V praksi ni pomembno za kateri način se odločimo, važno je, da smo konsistentni in se vselej zavedamo, kateri način smo izbrali.
Uporabniški avatar
Zeci
 
Prispevkov: 100
Pridružen: 17 Jan 2015, 21:31
Kraj: Osrednjeslovenska regija
Zahvalil se je: 39 krat
Prejel zahvalo: 24 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 5

Re: PLK - kako začeti

OdgovorNapisal/-a Proteus » 14 Sep 2017, 12:28

Zeci je napisal/-a:Je idealen za začetnika, predvsem zato ker je cenovno ugoden,

Dajmo biti no malce bolj konkretni, koliko € za xy konfiguracijo?
Uporabniški avatar
Proteus
 
Prispevkov: 2271
Pridružen: 18 Jan 2015, 00:31
Kraj: Planet Zemlja
Zahvalil se je: 218 krat
Prejel zahvalo: 400 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 69

Re: PLK - kako začeti

OdgovorNapisal/-a eldi2011 » 14 Sep 2017, 12:58

So tudi cenejši.
Uporabniški avatar
eldi2011
 
Prispevkov: 1529
Pridružen: 05 Feb 2015, 00:50
Kraj: Domžale
Zahvalil se je: 616 krat
Prejel zahvalo: 228 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 99

Re: PLK - kako začeti

OdgovorNapisal/-a pablo » 14 Sep 2017, 13:46

Se da nanj priklopiti kak display?
Koliko stane, kajti v poplavi te robe se najdejo taki , ki imajo vse kar ima tale pa še display zraven za slabih 150€?.
pablo
 
Prispevkov: 34
Pridružen: 14 Dec 2015, 15:36
Kraj: Ljubljana
Zahvalil se je: 2 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: PLK - kako začeti

OdgovorNapisal/-a Proteus » 14 Sep 2017, 14:12

Saj za kakšne ruralne zadeve obstaja tudi tole:
http://www.openplcproject.com/getting-started
toda, tole prodati kakšni stranki pa je povsem druga zadeva.
Uporabniški avatar
Proteus
 
Prispevkov: 2271
Pridružen: 18 Jan 2015, 00:31
Kraj: Planet Zemlja
Zahvalil se je: 218 krat
Prejel zahvalo: 400 krat
Uporabnika povabil: s54mtb
Število neizkoriščenih povabil: 69

Re: PLK - kako začeti

OdgovorNapisal/-a Zeci » 14 Sep 2017, 17:31

@ eldi2011 in pablo: Seveda so cenejši, sam sem upošteval še enostavnost, saj je programiranje v Auto Station res zelo enostavno. Poleg tega so to moji zapiski o mojih izkušnjah, ne trdim da nekje ne obstaja kaj boljšega za ta denar (PLK + HMI za okoli 200-250€, govorim na pamet, bom preveril pa popravim), dopuščam možnost da se seveda motim (in lepo bi bilo če bi se, saj potem lahko nekdo še ceneje dobi komplet). Ta tema je nemenjena začetnikom pri vstopu v svet PLK programiranja, za debato o ceni/zmogljivosti bi morali odpreti novo temo. Objavil bom še nekaj enostavnih nalog in rešitev, seveda so predlogi dobrodošli.

Proteus je napisal/-a:Saj za kakšne ruralne zadeve obstaja tudi tole:
http://www.openplcproject.com/getting-started
toda, tole prodati kakšni stranki pa je povsem druga zadeva.


Zelo zanimiva zadeva, vendar če uporabim npr. raspberry pi, ta še vedno ni začšiten proti električnim motnjam, prahu,...
Je pa zanimivo za začetnika, ker si lahko za zelo malo denarja (praktično lahko kupi tudi samo en navaden arduino) usposobi PLK krmilnik.
Uporabniški avatar
Zeci
 
Prispevkov: 100
Pridružen: 17 Jan 2015, 21:31
Kraj: Osrednjeslovenska regija
Zahvalil se je: 39 krat
Prejel zahvalo: 24 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 5

Re: PLK - kako začeti

OdgovorNapisal/-a Zeci » 17 Sep 2017, 16:06

3. Okolje za programiranje PLK - Auto Station

Auto Station je IDE okolje za programiranje krmilnikov podjetja INVT. Je zelo enostaven za uporabo in je brezplačen. Uporabniški vmesnik je razdeljen na 7 delov: menu, orodna vrstica (ang. toolbar), okno za urejanje projekta (angl. project management window), ukazno okno (angl. instructions tree window), okno za informacije (angl. information window), statusna vrstica (angl. status bar), in glavno okno (angl. operation area).
Poglavje1-004.jpg
Slika 3 1: Uporabniški vmesnik okolja Auto Station


Za pisanje programa v lestvičnem diagramu bomo uporabljali glavno okno in ukazno okno.

V ukaznem oknu so ukazi razdeljeni v podskupine. Tako najdemo npr. časovnike in števce v podskupini Program control instructions. Za pisanje prvega programa, bomo uporabili osnovne ukaze (angl. basic instructions). Opis in delovanje posameznega ukaza si lahko preberemo v priročniku za programiranje krmilnikov serije IVC (trenutna različica “Programming manual of IVC series PLC V1.2.pdf”).

V oknu za urejanje projekta lahko vidimo vse datoteke, ki so pomembne za naš projekt. Razdeljene so v več sklopov, naštejemo samo najpomembnejše.
- Programski blok (angl. program block): Ko pišemo obsežnejše projekte, je smiselno kodo razdeliti na več posameznih delov oz. datotek. Tako je koda bolj pregledna, bolj modularna in hitreje lahko najdemo posamezni del.
- Globalne spremenljivke (angl. global variable): Te so pomembne za lažje razumevanje kode, saj lahko spremenljivki damo svoje ime. Koda je tako lažje berljiva in bolj pregledna.
- Tabela spremenljivk, katere vrednosti lahko spremljamo med delovanjem (angl. Element monitoring table). Omogoča nam, da med samim delovanjem programa lahko vsako spremenljivko spremljamo v realnem času.
Uporabniški avatar
Zeci
 
Prispevkov: 100
Pridružen: 17 Jan 2015, 21:31
Kraj: Osrednjeslovenska regija
Zahvalil se je: 39 krat
Prejel zahvalo: 24 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 5

Re: PLK - kako začeti

OdgovorNapisal/-a jerjur » 18 Sep 2017, 07:25

:_clap :_clap
Bravo Zeci, Lep opisano in prikazano.
Avtomatika je zakon
jerjur
 
Prispevkov: 175
Pridružen: 19 Jan 2015, 07:38
Kraj: Žiri
Zahvalil se je: 22 krat
Prejel zahvalo: 107 krat
Uporabnika povabil: Zeci
Število neizkoriščenih povabil: 110

Re: PLK - kako začeti

OdgovorNapisal/-a EL84 » 24 Sep 2017, 20:03

Če se malo potrudiš se da za ugoden denar dobiti tudi Simatica. Jaz sem na primer na Bolhi.com kupil S7-200 CPU 224 s 14 vhodi in 10 izhodi za 50eur. Potem sem kupil še panel TD200 za 70 eur in je komplet 120eur. Kabel za povezavo na PC dobiš za 30 eur in SW za kakih 50 eur. Vse skupaj je 200 eur. S tem kompletom se lahko učiš, lahko pa narediš tudi resen projekt, ki bo delal od jutra do večera pri -10 ali +30 stopinjah celzija.
Lp
EL84
 
Prispevkov: 143
Pridružen: 17 Feb 2015, 16:52
Zahvalil se je: 21 krat
Prejel zahvalo: 21 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 2

Re: PLK - kako začeti

OdgovorNapisal/-a Zeci » 06 Okt 2017, 19:54

4. Osnove PLK

Preden začnemo s programiranjem, je potrebno vedeti nekaj osnov programirljivega logičnega krmilnika. S pisanjem programov bo kasneje vse lažje razumeti koncepte.
Krmilnik lahko programiramo v različnih programsmih jezikih po standardu IEC 61131-3.

- Lestvični diagram (LD)
- Funkcijski načrt (FBD)
- Diagrami poteka (SFC)
- Lista ukazov (IL)
- Strukturirami tekst (ST)

V tej zbirki nalog se bomo osredotočili predvsem na lestvični diagram.

4.1 Lestvični diagram
Daleč najbolj razširjen je način programiranja v lestvičnem diagramu, saj je zelo podoben električnim shemam.
Osnovo lestvičnega diagram tvorita dve navpični tirnici, ena na levi, druga na desni strani. Leva tirnica je priključena na pozitivno napetost (logična 1), desna pa na negativno napetost oz. maso (logična 0). Med tirnici vodoravno vstavljamo elemente, ki jih med seboj povežemo. Vsak element je lahko samo v enem stanju: logična ‘1’ - vklopljen (prepušča električni tok); ali logična ‘0’ – izklopljen (ne prepušča električnega toka). Če imajo vsi elementi v vodoravni vrsti vrednost logična ‘1’, potem ima tudi tuljava (izhod), ki je zadnji element v vrsti, logično vrednost ‘1’.
Pri tem je pomembno vedeti, da tok teče vedno od leve proti desni in da elementov ni mogoče vezati navpično.
Elemente in povezave med njimi v vrsti imenujemo kline (angl. network). Vsak klin ima lahko v vrsti več elementov, ki skupaj tvorijo pogoj za vklop ene ali več tuljav.

4.2 Programski cikel
Programski cikel (angl. Scan time ali Scan cycle) je zaporedje opravil, ki jih PLK ciklično ponavlja. V primeru krmilnika serije ICV1, mora ta v enem ciklu izvesti vso uporabniško programsko kodo, obdelati komunikacije med programsko opremo za programiranje PLK in samim PLK, izvesti sistemske operacije in osvežiti vhode/izhode (V/I).
Tipičen čas enega cikla je približno 10ms.
Uporabniški avatar
Zeci
 
Prispevkov: 100
Pridružen: 17 Jan 2015, 21:31
Kraj: Osrednjeslovenska regija
Zahvalil se je: 39 krat
Prejel zahvalo: 24 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 5

Re: PLK - kako začeti

OdgovorNapisal/-a Zeci » 06 Okt 2017, 20:02

5. Primeri programov

V nadaljevanju bomo predstavili nekaj primerov programiranja v lestvičnem diagram na krmilniku INVT IVC1.

5.1 Prvi program
Najprej zaženemo program Auto Station. Nato izberemo File->New project. Izberemo kam želimo shraniti project. Za PLC type izberemo IVC1. Ker programiramo v lestvičnem diagram za Default editor izberemo Ladder chart.
Prvi program bo zelo enostaven. Ko na vhodu krmilnika dobimo signal, vkopimo nek izhod na krmilniku. Za tako funkcionalnost sploh ne potrebujemo krmilnika, ampak bi zadostovalo samo stikalo, vendar je to vseeno dober primer za prvo vajo.
Imamo torej en vhod in en izhod. Vhodi na krmilniku so označeni s črko ‘X’, izhodi pa s črko ‘Y’.

Na desni strani v ukaznem oknu poiščemo ukaz “LD (Normally open contact power-flow loading)” in ga potegemo v lestvični diagram na levo stran. Odpre se okence, kjer vpišemo za kateri vhod želimo izvršiti ta ukaz. Lahko pustimo št. 0 in kliknemo “OK”. Nato najdemo ukaz “Out (power-flow output)” in ga povlečemo takoj zraven prejšnjega.

Poglavje1-009.jpg
Programska koda 5.1-1: Primer prvega programa


Pri tem velja omeniti, da bo tuljava Y0 vklopljena le toliko časa, dokler bo X0 na logični ‘1’ oz. dokler bo napetost na kontaktu X0. Program torej trenutno deluje kot vezje, kjer izhod prožimo s tipko.
Da vidimo, če smo program napisali brez napak, ga prevedemo. Kliknemo na PLC->Compile All in v oknu za informacije bi morali videti rezultat prevajanja, ki javi da smo program prevedli brez napak.
Nato program naložimo na krmilnik; kliknemo PLC->Download. Odpre se okence, kjer nas Auto Station vpraša, ali želimo projekt še enkrat prevesti. Nato kliknemo Download in po nalaganju na PLK, nas program vpraša če želimo PLK tudi pognati (angl. RUN). Kliknemo Yes.
Na tem mestu velja omeniti, da krmilnik prek računalnika lahko poženemo samo, če je izbirno stikalo (angl. mode selection switch) krmilnika na položaju ON ali TM. Da program na krmilniku lahko poženemo in ustavimo brez računalnika, stikalo postavimo v položaj ON oz. OFF. Če pa hočemo nadzor samo z računalnikom, pa ga postavimo na položaj TM.
Sedaj, ko program teče, na vhod X0 pripeljemo +24V, bo tuljava Y0 postala aktivna (rele bo sklenil kontakt med Y0 in com0).

Poglavje1-010.jpg
Programska koda 5.1-2: Stanje vhodov in izhodov med delovanjem programa
Poglavje1-010.jpg (29.28 KiB) Videno 276 krat


Aktivnost vhodov, izhodov in spremenljivk lahko spremljamo v program Auto Station tako, da kliknemo na Debug->Monitor.
Naš prvi program je torej čisto enostaven, pa vendar ga je potrebno napisati, da vidimo na kaj vse je potrebno biti pozoren.
Uporabniški avatar
Zeci
 
Prispevkov: 100
Pridružen: 17 Jan 2015, 21:31
Kraj: Osrednjeslovenska regija
Zahvalil se je: 39 krat
Prejel zahvalo: 24 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 5

Re: PLK - kako začeti

OdgovorNapisal/-a Zeci » 28 Okt 2017, 10:06

5.2 Časovniki

V prejšnji nalogi smo prožili izhod, ko je bila pritisnjena tipka na vhodu. Kaj pa če želimo izhod sprožiti šele po določenem času? Tu pridejo prav časovniki. Časovniki se nahajajo pod naborom ukazov “Program control instructions”. Na voljo imamo 4 različne tipe časovnikov: TON, TOF, TMON in TONR. Mi bomo za to vajo uporabili ukaz TON. Vsak časovnik pa ima lahko tudi različno časovno bazo in sicer so te lahko reda 1ms, 10ms ali 100ms.

Časovna baza 100ms: T0~T209
Časovna baza 10ms: T210~T251
Časovna baza 1ms: T252~T255

Npr. če uporabimo časovnik T252, bo ta štel v milisekundah, če pa uporabimo T0, pa se bodo vrednosti povečevale za desetinko sekunde.
Recimo da bi radi postavili vhod Y0 natanko 10s po tem, ko smo pritisnili tipko, ki je vezana na vhod X0. X0 bo torej prožil naš časovnik, ta pa tuljavo Y0.
V lestvični diagram najprej vnesemo X0 (LD normally open), nato pa z ukaznega okna potegnemo zraven še TON.

Poglavje1-011.jpg
Slika 5.2-1: Konfiguracija časovnika T0.


Odpre se okno, kjer pod razdelkom Timer izberemo 'T' (druge možnosti tu tako ali tako ni).
TValue je št. časovnika. To je tudi spremenljivka, s katero bomo delali. Če želimo šteti v časovni bazi
100ms, lahko pustimo to vrednost na 0. Če želimo da naš časovnik izhod proži po 10s, je potrebno v razdelek Constant Value napisati št. 100. Zakaj 100? Zato ker časovnik šteje po 100ms. 100x100ms = 10s. Timing Value nastavimo na Decimal number, lahko pa bi tudi nastavili npr. na Hexadecimal number (vrednost v šestnajstiškem sistemu), vendar bi morali v tem primeru popraviti vrednost Constant Value na 64 (0x64).

Sedaj samo še Y0 povežemo s časovnikom. V novo vrsto oz. novo klino programa vstavimo nov ukaz LD, sedaj za element izberemo T in za številko napišemo 0.

Poglavje1-012.jpg
Programska koda 5.2-1: Končni program
Poglavje1-012.jpg (36 KiB) Videno 165 krat


Vsak izhod lahko uporabimo kot pogoj ali vhodno vrednost za računanje stanja novega izhoda. V tem primeru smo to storili s T0.
Program naložimo na PLK (PLC->Download) in spremljamo vrednosti vseh spremenljivk (Debug->Monitor).

Poglavje1-013.jpg
Programska koda 5.2 2: Časovnik T0 šteje, če je vhod X0 aktiven.
Poglavje1-013.jpg (35.57 KiB) Videno 165 krat


Ko pritisnemo tipko, ki na vhod X0 pripelje pozitivno napetost, se časovnik T0 zažene. Če doseže prednastavljeno vrednost (100), se T0 postavi in Y0 je aktiven. Kljub temu, da je časovnik dosegel vrednost, šteje naprej.

Poglavje1-014.jpg
Programska koda 5.2 3: Ko časovnik T0 doseže vrednost, vklopi izhod.
Poglavje1-014.jpg (38.13 KiB) Videno 165 krat


V trenutku ko spustimo X0, se T0 in Y0 ponastavita. Če ponovno postavimo X0 in ga spustimo preden T0 doseže prednastavljeno vrednost, se ne zgodi nič, edino trenutna vrednost časovnika (št. pretečenih milisekund) se ponastavi.
Uporabniški avatar
Zeci
 
Prispevkov: 100
Pridružen: 17 Jan 2015, 21:31
Kraj: Osrednjeslovenska regija
Zahvalil se je: 39 krat
Prejel zahvalo: 24 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 5


Vrni se na Avtomatizacija v industriji

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost