6
Programabilni logički kontroleri (PLC) Programiranje 2 Uvod U CPU modulu PLC-a neprekidno se izvode dva programa: Operacijski sustav zadužen je za organizaciju rada CPU modula i raspoređivanje poslova, npr.: Restartanje sustava Osvježavanje memorijske slike ulaza i slanje slike izlaza na izlaze Izvršavanje korisničkog programa Detekcija zahtjeva za prekid i pozivanje prekidnih blokova Detekcija i obrada grešaka Upravljanje memorijom Komunikacija Promjena parametara operacijskog sustava omogućuje promjenu ponašanja PLC-a.

PLC Programiranje

Embed Size (px)

DESCRIPTION

PLC Programiranje

Citation preview

Programabilni logički kontroleri (PLC)

Programiranje

2

Uvod

U CPU modulu PLC-a neprekidno se izvode dva programa:� Operacijski sustav zadužen je za organizaciju rada CPU

modula i raspoređivanje poslova, npr.:� Restartanje sustava� Osvježavanje memorijske slike ulaza i slanje slike izlaza na

izlaze� Izvršavanje korisničkog programa� Detekcija zahtjeva za prekid i pozivanje prekidnih blokova� Detekcija i obrada grešaka� Upravljanje memorijom� Komunikacija

Promjena parametara operacijskog sustava omogućuje promjenu ponašanja PLC-a.

3

� Korisnički program sadrži module potrebne za realizaciju zadanih funkcija automatizacije. Zadaće korisničkog programa obuhvaćaju:� Zadavanje parametara restarta sustava (npr. inicijalno stanje

izlaznih linija)� Obrada procesnih informacija (učitavanje i obrada digitalnih i

analognih ulaznih signala, izvođenje regulacijskih algoritama, postavljanje izlaznih veličina)

� Definiranje odziva na prekid� Obrada odstupanja od normalnog izvođenja programa

� Korisnički program sastoji se od niza organizacijskih blokova (OB), koji se izvode na različiti način.

4

Organizacijski blokovi (Siemens)

OB 10...17(Time-of-day prekidi)

OB 80...87(Asinkrone greške)

OB 20...23(Time-delay prekidi)

Periodičkoizvođenjeprograma

OB 30...38(Ciklički prekidi)

Događajem-uvjetovanoizvođenjeprograma

OB 40...47(Sklopovski prekidi)

Startup

OB 102

OB 100

OB 101

Cikličkoizvođenjeprograma

OB 1

OB 121, 122(Sinkrone greške)

P r e k i d i Obrada grešaka

5

Prikazani blokovi obavljaju sljedeće funkcije:

Startup: Startup blok izvodi se poslije povratka napajanja ili promjene operativnog moda, a prije početka cikličkog izvođenja programa.

Cikličko izvođenje programa: Program koji izvršava program koji se ciklički izvodi nalazi se u bloku OB1, a izvodi se u sljedećim koracima:

6

1. Operacijski sustav počinje mjeriti vrijeme trajanja ciklusa.2. CPU postavlja memorijsku sliku izlaza na izlazne linije.3. CPU učitava stanja ulaznih linija i sprema ih u memorijsku sliku

ulaza.4. CPU izvodi naredbe korisničkog programa.5. Na kraju ciklusa operacijski sustav izvršava zadatke na čekanju, npr. učitavanje blokova, prijem i slanje globalnih podataka.

6. CPU se vraća na početak ciklusa i restarta mjerenje trajanja ciklusa.

Trajanje ciklusa, koje određuje i vrijeme odziva, je suma vremena izvođenja funkcija operacijskog sustava i korisničkog programa. Obzirom da uključuje i prekide, u svakom ciklusu neće biti jednako. Ako vrijeme ciklusa premašuje maksimalno dozvoljeno, izvršava se odgovarajući blok za obradu greške.

7

Periodičko izvođenje programa: Omogućuje prekid cikličkog izvođenja programa u fiksnim vremenskim intervalima, koji mogu biti definirani s razlučivošću od 1 ms. U ovim se blokovima mogu izvoditi algoritmi regulacijskih petlji u skladu s potrebnim vremenima uzorkovanja. U ovu skupinu pripadaju i prekidi u određeno vrijeme određeno datumom i vremenom.

8

Događajem uvjetovano izvođenje programa: Sklopovski prekid omogućuje brzu reakciju na određeni događaj u procesu (promjena stanja digitalnog ulaza, izlazak mjerene analogne vrijednosti iz zadanih granica i sl.). Time-delay prekid omogućuje odgođenu reakciju na zadani događaj u procesu (npr. aktiviranje određene izlazne linije 5 s nakon promjene na ulaznoj). Blokovi za obradu greške reagiraju na greške u komunikaciji, na određenom u-i modulu (asinhrone greške) ili na greške nastale pri izvođenju naredbi (sinhrone greške).

9

� Pokretanje organizacijskih blokova. Pokreće ih operacijski sustav na temelju određenih događaja, prema definiranom prioritetu. Prioritet se kreće u rasponu od 0 do 28, time da je prioritet 0 najniži. Događaj višeg prioriteta može prekinuti izvođenje bloka nižeg, a blokovi istog prioriteta izvode se sekvencijalno jedan iza drugog po redu kojim su pristigli odgovarajući događaji.

10

Postupak izrade programa

Lista naredbi (STL - statement list) -programski kod u instrukcijama danogPLC-a (slično assembleru)

Funkcijski blok dijagram (FBD) - funkcijski blokovi (AND, OR, PI regulator, množenje,sumiranje) povezuju se u blokovsku shemu

Ljestvičasti dijagram (LAD - Ladder Diagram) - dijagram sličan relejnim shemama

11

Grupe naredbi

� Logičke naredbe� Omogućuju uspoređivanje stanja pojedinih bitova. Niz logičkih

uvjeta zaključuje se nekom od naredbi =, R ili S.� Naredbe usporedbe

� Koriste relacijske operatore za usporedbu ACCU1 i ACCU2.� Naredbe za konverziju podataka

� Pretvaraju podatke između 16- i 32-bitnog cjelobrojnog zapisa, 16- i 32-bitnog BCD zapisa i zapisa u pomičnom zarezu (realni brojevi).

� Brojila i vremenski sklopovi� Omogućuju realizaciju brojanja i mjerenja vremena.

� Naredbe za rad sa blokovima podataka� Naredbe za kontrolu toka programa

� Omogućuju promjenu slijeda izvođenja naredbi, bezuvjetno ili ovisno o rezultatu zadnje logičke operacije (RLO).

12

� Cjelobrojne matematičke operacije� Omogućuju izvođenje osnovnih aritmetičkih operacija nad 16- i

32-bitnim cijelim brojevima.� Matematičke operacije u pomičnom zarezu

� Omogućuju izvođenje osnovnih aritmetičkih operacija nad realnim brojevima, kao i izračun uobičajenih matematičkih funkcija: trigonometrijske funkcije, eksponencijalne i logaritamske funkcije, potencije i sl.

� Funkcije za prijenos podataka (Load and Transfer)� Omogućuju razmjenu podataka između u-i modula i memorijskih

područja, te između registara.� Naredbe za kontrolu izvođenja programa

� U ovu grupu ubrajaju se naredbe za poziv potprograma (funkcijskih blokova).

� Naredbe za pomicanje i rotiranje bitova� Logičke funkcije nad riječima