Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan

Podobni dokumenti
Microsoft Word - vaje2_ora.doc

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

Microsoft Word - avd_vaje_ars1_1.doc

Microsoft PowerPoint - IPPU-V2.ppt

Uvod v programiranje mikrokrmilnikov, zbrano gradivo za predavanja

Delavnica Načrtovanje digitalnih vezij

Diapozitiv 1

Delavnica Načrtovanje digitalnih vezij

ARS1

Diapozitiv 1

Delavnica Načrtovanje digitalnih vezij

Microsoft Word - UP_Lekcija04_2014.docx

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl

Microsoft Word - ELEKTROTEHNIKA2_11. junij 2104

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

Slide 1

_ _BDA_CapitalSports_CS-Timer.indd

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila

Navodila:

Microsoft Word doc

Področje uporabe

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

DES11_realno

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Logični modul LOGO!

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Teorija kodiranja in kriptografija 2013/ AES

DKMPT

5 Programirljiva vezja 5.1 Kompleksna programirljiva vezja - CPLD Sodobna programirljiva vezja delimo v dve veliki skupini: CPLD in FPGA. Vezja CPLD (

glava.dvi

COBISS3/Medknjižnična izposoja

Installation manuals

NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugi

BeoLab 12 BeoLab 12 2 BeoLab 12 3

LABORATORIJSKE VAJE IZ FIZIKE

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1,

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1

innbox_f60_navodila.indd

Navodila za uporabo Mini prenosna HD kamera s snemalnikom

seminarska_naloga_za_ev

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Microsoft Word - CNS-SW3 Quick Guide_SI

Diapozitiv 1

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

Vaja04_Ver02

Microsoft Word doc

Adaptive Sound Technology Dodatek

Na podlagi 24. in 25. člena Zakona o varstvu osebnih podatkov (Ur. list RS, št. 94/07), sprejema ravnatelj javnega zavoda Dijaški dom Nova Gorica nasl

Kartica DeviceNet

Kazalne naprave in tipkovnica Vodnik za uporabnike

Strojna oprema

Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadalj

Microsoft Word - M docx

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

KRMILNA OMARICA KO-0

Base NET.cdr

CelotniPraktikum_2011_verZaTisk.pdf

(Microsoft Word - MSDN AA Navodila za \232tudente FS.doc)

Microsoft Word - M docx

REPUBLIKA SLOVENIJA SLUŽBA VLADE REPUBLIKE SLOVENIJE ZA RAZVOJ IN EVROPSKO KOHEZIJSKO POLITIKO NAVODILA ZA PRIJAVO LISTIN NA ZZI V PRIMERU PRO RATA V

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

Microsoft Word - SI_vaja1.doc

Microsoft Word - CN-BTU4 Quick Guide_SI

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - CelotniPraktikum_2011_verZaTisk.doc

Navodila za uporabo Mini snemalnik

Space Invaders Opis igre: Originalna igra: Space Invaders je arkadna igra, ki so jo ustvarili leta Bila je ena izmed prvih streljaških iger, v k

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Utripalnik z nastavljivim zaporedjem utripa Kemo M114N Kataloš

Uvodno predavanje

Univerza v Ljubljani

Hiter začetek Razširjevalnik dosega WiFi N300 Model EX2700

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

Člen 11(1): Frekvenčna območja Frekvenčna območja Časovna perioda obratovanja 47,0 Hz-47,5 Hz Najmanj 60 sekund 47,5 Hz-48,5 Hz Neomejeno 48,5 Hz-49,0

Kratka navodila za uporabo razširjevalnika dosega WiFi AC750 model EX3800

Microsoft PowerPoint - CIGER - SK 3-15 Izkusnje nadzora distribucijskih transformatorjev s pomo... [Read-Only]

10. Meritev šumnega števila ojačevalnika Vsako radijsko zvezo načrtujemo za zahtevano razmerje signal/šum. Šum ima vsaj dva izvora: naravni šum T A, k

NAVODILA ZA UPORABO SPLETNE APLIKACIJE

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

FOTO

Microsoft Word doc

Svet elektronika 198.indd

IJS EDS IJS Elektronski Dokumentni Sistem Osnovna uporaba sistema uporabniška navodila Institut "Jožef Stefan" Ljubljana

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

Microsoft Word - Telefonska pomoc v dvigalih na navadnem PSTN-GSM telefonskem omrezju 4.2 sloveno.doc

Vacon 100 FLOW Application Manual

DES

PodroĊje uporabe

REPUBLIKA SLOVENIJA MINISTRSTVO ZA OKOLJE IN PROSTOR Predlog zakonske ureditve proizvajalčeve razširjene odgovornosti (PRO) Okoljski dan gospodarstva,

Microsoft Word - NAVODILA ZA UPORABO.docx

_ _BDA_Eisbereiter_Klarstein.indd

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

Poskusi s kondenzatorji

Poročilo o opravljenem delu pri praktičnem pouku fizike: MERJENJE S KLJUNASTIM MERILOM Ime in priimek: Mitja Kočevar Razred: 1. f Učitelj: Otmar Uranj

Microsoft Word doc

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Microsoft PowerPoint - DPN_II__05__Zanesljivost.ppt [Compatibility Mode]

NAVODILA AVTORJEM PRISPEVKOV

Transkripcija:

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajanje prekinitvene rutine Dogodek GLAVNI PROGRAM (MAIN-OB1) Dogodek CIKLIČNO IZVAJANJE

Prekinitvena rutina je podprogram, ki se izvrši, ko se zgodi prekinitev in se v njej običajno izvede obdelava prekinitve, ki jo je sprožila PLK S7-200 lahko obdeluje maksimalno 128 prekinitvenih rutin Opis delovanja PLK S7-200 s prekinitvenimi rutinami Prekinitvena rutina se izvršuje odvisno od prirejenih ji notranjih ali zunanjih dogodkov Ko se izvrši zadnji ukaz v prekinitveni rutini, se kontrola izvajanja programa vrača glavnemu programu Iz rutine se lahko pride tudi s pomočjo ukaza za pogojno vrnitev iz prekinitve Prekinitvene rutine morajo biti optimizirane za izvršitev posebnih opravil, ki se hitro izvršijo, nakar se kontrola izvajanja ponovno vrne glavnemu programu

Tipi prekinitev pri PLK S7-200 S7-200 podpira naslednje tipove prekinitev: Prekinitve komunikacijskega porta: S7-200 generira dogodke, ki omogočajo uporabniškemu programu upravljanje s komunikacijskim portom V/I prekinitve: S7-200 generira dogodke za različne spremembe stanja posameznih V/I (ti dogodki omogočajo uporabniškemu programu reakcijo na hitre števce, impulzne izhode ter rastoči ali padajoči rob signala na vhodu) Časovno bazirane prekinitve: S7-200 generira dogodke, ki omogočajo uporabniškemu programu, da deluje v določenih časovnih intervalih

Tabela tipov prekinitev pri PLK S7-200: Številka dogodka prekinitve 8 9 23 24 25 26 19 20 Opis prekinitve Port 0: Sprejem znaka Port 0: Prenos končan Port 0: Sprejem sporočila končan Port 1: Sprejem sporočila končan Port 1: Sprejem znaka Port 1: Prenos končan PTO 0 končal prekinitev PTO 1 končal prekinitev Prioriteta skupine Komunikacijske (najvišja) Prioriteta v skupini 0 0 0 1 1 1 0 1

Številka dogodka prekinitve 0 2 4 6 1 3 5 7 12 27 28 13 14 15 16 17 18 32 29 30 31 33 Opis prekinitve Rastoči rob I0.0 Rastoči rob I0.1 Rastoči rob I0.2 Rastoči rob I0.3 Padajoči rob I0.0 Padajoči rob I0.1 Padajoči rob I0.2 Padajoči rob I0.3 HSC0 CV = PV HSC0 Sprememba smeri HCS0 Zunanji reset HSC1 CV = PV HSC1 Sprememba smeri HSC1 Zunanji reset HSC2 CV = PV HSC2 Sprememba smeri HSC2 Zunanji reset HSC3 CV = PV HSC4 CV = PV HSC4 Sprememba smeri HSC4 Zunanji reset HSC5 CV = PV Prioriteta skupine Diskretne (srednja) Prioriteta v skupini 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Številka dogodka prekinitve 10 11 21 22 Opis prekinitve Časovna prekinitev 0 Časovna prekinitev 1 Timer T32 CT = PT prekinitev Timer T96 CT = PT prekinitev Prioriteta skupine Časovne (najnižja) Prioriteta v skupini 0 1 2 3 Ukaz za delo s prekinitvami pri PLK S7-200: Omogočanje in onemogočanje prekinitev Ukaz za omogočanje prekinitev (ENI) globalno omogoča obdelavo vseh pridruženih prekinitvenih dogodkov Ukaz za onemogočanje prekinitev (DISI) globalno onemogoča obdelavo vseh prekinitvenih dogodkov Pri prehodu v RUN način so prekinitve inicialno onemogočene

V RUN načinu se lahko prekinitve omogočijo z uporabo ENI ukaza Izvršitev DISI ukaza ustavi obdelavo prekinitve; aktivni prekinitveni dogodki bodo postavljeni v čakalno vrsto Pogojna vrnitev iz prekinitve Ukaz za pogojno vrnitev iz prekinitve (CRETI) se lahko uporabi za vrnitev iz prekinitve glede na stanje pogoja v programski logiki Prirejanje prekinitev Ukaz za prirejanje prekinitev (ATCH) poveže prekinitveni dogodek EVNT s številko prekinitvene rutine INT in omogoči prekinitveni dogodek

Razdruževanje prekinitev Ukaz za razdruževanje prekinitev (DTCH) razdruži prekinitveni dogodek EVNT od vseh prekinitvenih rutin in onemogoči prekinitveni dogodek Brisanje prekinitvenega dogodka Ukaz za brisanje prekinitvenega dogodka pobriše prekinitvene dogodke tipa EVNT iz čakalne vrste prekinitev Ta ukaz se uporablja za brisanje neželenih prekinitvenih dogodkov iz čakalne vrste prekinitev

Delo z ukazi za prireditev in razdružitev prekinitev Preden lahko neko prekinitveno rutino pokličemo moramo izvršiti prireditev prekinitvenega dogodka programskemu izseku, ki se bo izvršil, ko se bo zgodil ta izbrani dogodek Za ta namen uporabimo ukaz za prireditev prekinitve, ki ji pripada izbrani prekinitveni dogodek (določen s številko prekinitvenega dogodka) in programski izsek (določen s številko prekinitvene rutine) Možno je prirediti več prekinitvenih dogodkov eni prekinitveni rutini, enega dogodka pa ni možno istočasno prirediti večjemu številu prekinitvenih rutin Ko priredimo prekinitveni dogodek prekinitveni rutini, je ta prekinitev tudi avtomatsko omogočena Če so vse prekinitve onemogočene z ukazom za globalno onemogočitev prekinitev, se vsak pojav prekinitvenega dogodka postavi v čakalno vrsto prekinitev, vse dokler ne bodo prekinitve ponovno omogočene, z uporabo ukaza za globalno omogočitev prekinitev, ali dokler ne pride do preliva v čakalni vrsti prekinitev

Možno je tudi posamično onemogočiti prekinitveni dogodek, s prekinitvijo povezave med prekinitvenim dogodkom in prekinitveno rutino z ukazom za razdružitev prekinitve, ki prekinitev vrača v neaktivno stanje Prioritete prekinitev in čakalna vrsta prekinitev Prekinitve se obdelujejo v S7-200 po principu "prva, ki se zgodi - se prva tudi obdela" znotraj posamezne prioritetne skupine V enem trenutku se lahko izvaja samo ena uporabniška prekinitvena rutina Ko se enkrat začne izvajanje neke prekinitvene rutine, se ta rutina izvede do konca. Le-te se ne da prekiniti z nobeno drugo prekinitveno rutino, tudi ne z rutino višje prioritete Prekinitve, ki se zgodijo v trenutku izvajanja neke prekinitvene rutine, bodo postavljene v čakalno vrsto prekinitev in bodo izvedene kasneje

Postopek izvajanja prekinitev v S7-200 Postopek izvajanja prekinitev pri PLK S7-200 je sestavljen iz naslednjih korakov: 1. Pre-Int 1 strojna oprema da zahtevo za izvajanje prekinitev s postavitvijo podatkov na sklad 2. Pre-Int 2 - sistemski program označi prekinitveni dogodek in ga da v čakalno vrsto prekinitev 3. Pre-Int 3 - sistemski program s signalnimi zastavicami da znak, da se lahko začne z izvajanjem prekinitev 4. Pre-Int 4 - sistemski program izvede zamenjavo vlog 5. Pre-Int 5 - sistemski program odstrani prekinitveni dogodek iz čakalne vrste prekinitev 6. Pre-Int 6 - sistemski program pripravi sklad prekinitvenih bitov in registre akumulatorja

7. Pre-Int 7 sistemski program postavi zahtevo za vrnitev in pokliče uporabniško prekinitveno rutino 8. Post-Int 1 - sistemski program preveri preliv čakalne vrste prekinitev 9. Post-Int 2 - sistemski program preveri signalne zastavice, preko katerih vidi, ali je potrebno izvršiti neko drugo prekinitev 10. Post-Int 3 - sistemski program izvede zamenjavo vlog in vrne kontrolo glavnemu programu

Diagram sekvence splošnega izvajanja uporabniške prekinitvene rutine Glavni program Glavni program Prekinitveni dogodek (Kontrolo prevzame sistem) Vrnitev v MAIN 120 mikrosekund 50 mikrosekund Pre- Int 1 Pre- Int 2 Pre- Int 3 Pre- Int 4 Pre- Int 5 Pre- Int 6 Pre- Int 7 Post- Int 1 Post- Int 2 Post- Int 3 Prenos kontrole na uporabniško prekinitev Vrnitev iz prekinitve (Kontrolo prevzame sistem) Uporabniški ukazi

Diagram sekvence izvajanja uporabniške prekinitvene rutine v primeru, ko se nova prekinitev pojavi v trenutku izvajanja tekoče prekinitvene rutine Glavni program Prekinitveni dogodek (Kontrolo prevzame sistem) 120 mikrosekund 30 mikrosekund 50 mikrosekund Pre- Int 1, 2 i 3 Pre- Int 4 Pre- Int 5, 6 i 7 Post- Int 1 i 2 Pre- Int 5, 6 i 7 Prenos kontrole na uporabniško prekinitev Vrnitev iz prekinitve (Kontrolo prevzame sistem) Prenos kontrole na uporabniško prekinitev Uporabniški ukazi Uporabukazi Prekinitveni dogodek (Kontrolo prevzame sistem) Vrnitev v uporabniško prekinitev 50 mikrosekund Pre- Int 1, 2 i 3

I N T _ 0 V / I p r e M k i A I N nitev

I N T _ 0 S B R _ 0 Časovna p r e k i nitev M A I N

Primer 1: V/I prekinitve V tem primeru se izvaja štetje od 0 do 255, odvisno od vhoda I0.0 Če je vhod I0.0 postavljen, šteje program navzdol, če ni, pa šteje navzgor Tako kot se vhod postavlja na 1 in 0, poklicani V/I prekinitveni rutini postavljata na 1 in 0 pomnilniški bit M0.0 "števec navzdol" Diagram poteka programa je prikazan na naslednji sliki

ZAČETEK GLAVNEGA PROGRAMA Reset števca v prvem ciklu Izklop I0.0 zaradi zagona INT_6; Bit "števca navzdol" postavi na 0 (M0.0) Vklop I0.0 zaradi zagona INT_5; Bit "števca navzdol" postavi na 1 (M0.0) NE Bit "števca navzdol" postavljen DA Povečevanje vrednosti števca za 1 do vrednosti 255 Zmanjševanje vrednosti števca za 1 do vrednosti 0 KONEC GLAVNEGA PROGRAMA

Implementacija programa v PLK je podana na naslednjih slikah

Primer 2: Časovna prekinitev Časovne prekinitve so uporabljene za izvedbo utripanja Vklop vhoda I0.1 zmanjša frekvenco utripanja za polovico, medtem ko vklop vhoda I0.0 vrne originalno frekvenco utripanja Diagram poteka programa je prikazan na naslednji sliki

ZAČETEK GLAVNEGA PROGRAMA Definiranje hitrega časovnega intervala ZAČETEK PREKINITVENE RUTINE INT_27 Omogočitev časovnih prekinitev Postavitev izhoda Q0.0 Vhod I0.1 je postavljen? NE KONEC PREKINITVENE RUTINE INT_27 DA Brisanje časovnih prekinitev iz programske sekvence Definiranje počasnega časovnega intervala ZAČETEK PREKINITVENE RUTINE INT_28 Brisanje izhoda Q0.0 Omogočitev časovnih prekinitev 1 KONEC PREKINITVENE RUTINE INT_28

1 Vhod I0.0 je postavljen NE DA Brisanje časovnih prekinitev iz programske sekvence Definiranje časovnega intervala Omogočitev časovnih prekinitev KONEC GLAVNEGA PROGRAMA

Implementacija programa v PLK je podana na naslednjih slikah

Priprava za laboratorijsko vajo: Izdelaj sistem za naslednjo nalogo: V merilnem ciklu se vsebina rezervoarja meri vsakih 10 sekund in se shranjuje v tabelo dokler se ne izmeri 10 merilnih vrednosti Analogna vrednost za vsebino rezervoarja se simulira s potenciometrom 0 10 vrednosti v tabeli je enako prelivu. Ko se opravijo meritve, se izračuna srednja vrednost teh 10 analognih vrednosti iz tabele. Nato se ponavlja enak merilni cikel Potrebno je: V prekinitveni rutini 0 vsakih 10 sekund odčitati analogno vrednost in jo shraniti v tabelo Timer T32 aktivirati v podprogramu "Rezervoar". Ta timer mora generirati prekinitveni dogodek 21 vsakih 10 sekund ter ponastaviti in omogočiti prekinitvene dogodke V podprogramu "Srednja vrednost", ko se pojavi preliv tabele, se izračuna srednja vrednost 10 analognih vrednosti. Ta vrednost se potem shrani v spremenljivko VW300

Dogodek 21 Tabela z ukazi SM0.0 SMB28 SM1.4 0 AAV0 1 120 SM0.0 500 +1 SM1.4 Ta bit se postavi, ko "Add to Table" ukaz poskuša povzročiti preliv tabele z elementi (>10). Struktura tabele je naslednja: 1. vrednost 2. vrednost 3. do n-te vrednosti število elementov v tabeli številka zapisa podatki

Prekinitev cikličnega programa T32 10000 IN PT T32 Dogodek 21 TON Dogodek Opis ---------------------------------- 21 CT = PT CT Glavni program se izvaja ciklično (OB1)...... INT 0 Analogna vrednost v tabelo RETI dokler ni prekinjen s prekinitvenim dogodkom 10000 T32 0 10 20 30 40 Sekunde

Ukazi za prekinitve SM0.0 IN TANK 10000 zeit Vsakih 10000 ms = 10 s bo generiran prekinitveni dogodek 21. 21 Ukaz za prireditev prekinitve (ATCH) poveže prekinitveni dogodek (21) s prekinitveno rutino INT_0 (T32_Interrupt).

FOR NEXT zanka FOR ukaz povzroča ponavljajoče se izvajanje ukazov med FOR in NEXT Potrebno je specificirati začetne vrednosti naslednjih spremenljivk: Tekočo vrednost števca "INDEX" Začetno vrednost "INITIAL" Končno vrednost "FINAL" Če ima INITIAL vrednost 1 in FINAL vrednost 10, kot v primeru, se ukazi med FOR in NEXT izvršijo 10-krat. Vrednost števca "INDEX" se samodejno povečuje za 1 po vsaki ponovitvi zanke NEXT ukaz označuje konec telesa programske zanke

FOR / NEXT zanka SM0.0 MTab_Over Average_Value EN &VB500 Laddr Laverage VAV & VB500 posreduje naslov VB500 podprogramu # Laddr vsebuje naslov VB500 * Laddr vzame vsebino z naslova VB500

Rešitev: