programabilno napojno okruženje za razvoj...

15
Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011 1 Naslov: Naručilac: Period realizacije: Verifikovano od: U upotrebi od: Korisnik TR: Način korišćenja TR: Tip tehničkog rešenja: Autori: Programabilno napojno okruženje za razvoj elektromedicinskih sistema Elektronski fakultet u Nišu 2011 Elektronski fakultet u Nišu Novembar 2011. Elektronski fakultet u Nišu Eksperimentalna platforma za dalji razvoj M85 Laboratorijski prototip Miljan Milanović 1 , Goran Đorđević 1 , 1 Elektronski fakultet Univerziteta u Nišu Programabilno napojno okruženje za razvoj elektromedicinskih sistema Osnovni podaci o tehničkom rešenju Predloženo rešenje se koristi na sledeći način: Biće ugrađeno u razvojnu verziju kontrolera radiografskog navigacionog sistema kao sekundarni bezbednosni sistem. Oblast na koju se tehničko rešenje odnosi je: Mehatronika, rengden aparati. Problem koji se tehničkim rešenjem rešava: Najvažniji element PVP intervencije je navigacioni system na bazi X-zraka koji će se koristiti kao primarni za navođenje hirurške igle tokom penetracije kože, mišića i kosti pršljena. Kompletan sistem praćenja igle biće podržan sistemima za magnetno i optičko praćenje. Ostali sistemi obuhvataju sto za pacijenta, pozicioner robota, robot, kao i upravljačku palicu sa povratnom informacijom po sili. Pored dela sistema koji se odnosi na mehanizme i njihove pogone, celokupan sistem obuhvata i radiografsku opremu: flat panel, jonizacionu komoru, grid, generator, cev i kolimator. Takvi raznorodni sistemi upravljaju se direktno ili posredno prvenstveno uz poštovanje bezbednosnih kriterijuma pa tek potom izvršavaju svoju osnovnu funkciju. U procesu razvoja algoritma regularnog rada u svim slučajevima korišćenja, nije moguće predvideti sve efekte interakcije ovako složenog sistema. Pri tome je verovatnoća otkaza, naročito softvera, jako velika uz posledice koje mogu biti katastrofalne po skupu opremu ili po saradnike na razvoju. Ovakvim rešenjem mi omogućujemo kontrolu napajanja svih kritičnih komponenti u saglasnosti

Upload: trankhanh

Post on 06-Feb-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

1

Naslov:

Naručilac:

Period realizacije:

Verifikovano od:

U upotrebi od:

Korisnik TR:

Način korišćenja TR:

Tip tehničkog rešenja:

Autori:

Programabilno napojno okruženje za razvoj elektromedicinskih

sistema

Elektronski fakultet u Nišu

2011

Elektronski fakultet u Nišu

Novembar 2011.

Elektronski fakultet u Nišu

Eksperimentalna platforma za dalji razvoj

M85 Laboratorijski prototip

Miljan Milanović1, Goran Đorđević1, 1 Elektronski fakultet Univerziteta u Nišu

Programabilno napojno okruženje za

razvoj elektromedicinskih sistema

Osnovni podaci o tehničkom rešenju

Predloženo rešenje se koristi na sledeći način:

Biće ugrađeno u razvojnu verziju kontrolera radiografskog navigacionog sistema kao sekundarni bezbednosni sistem.

Oblast na koju se tehničko rešenje odnosi je:

Mehatronika, rengden aparati.

Problem koji se tehničkim rešenjem rešava:

Najvažniji element PVP intervencije je navigacioni system na bazi X-zraka koji će se koristiti kao primarni za navođenje hirurške igle tokom penetracije kože, mišića i kosti pršljena. Kompletan sistem praćenja igle biće podržan sistemima za magnetno i optičko praćenje. Ostali sistemi obuhvataju sto za pacijenta, pozicioner robota, robot, kao i upravljačku palicu sa povratnom informacijom po sili. Pored dela sistema koji se odnosi na mehanizme i njihove pogone, celokupan sistem obuhvata i radiografsku opremu: flat panel, jonizacionu komoru, grid, generator, cev i kolimator. Takvi raznorodni sistemi upravljaju se direktno ili posredno prvenstveno uz poštovanje bezbednosnih kriterijuma pa tek potom izvršavaju svoju osnovnu funkciju. U procesu razvoja algoritma regularnog rada u svim slučajevima korišćenja, nije moguće predvideti sve efekte interakcije ovako složenog sistema. Pri tome je verovatnoća otkaza, naročito softvera, jako velika uz posledice koje mogu biti katastrofalne po skupu opremu ili po saradnike na razvoju. Ovakvim rešenjem mi omogućujemo kontrolu napajanja svih kritičnih komponenti u saglasnosti

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

2

sa algoritmima razvijenim na mikrokontroleru. Time se praktično može proveriti svrsishodnost kriterijuma za prekid rada pojedinih podsistema bez opasnosti da i jedan deo sistema ostane bez kontrole prilikom neželjenih karakterističnih događaja kao što je full stop, prelazak krajnjih graničnih položaja sa izvršnim dejstvom, kolizija sa okolinom ili među podsistemima, nelogičan sled događaja u regularnom radu, i slično. Konačno, tako razvijeni algoritmi biće implementirani u FPGA kontroleru, što je predmet narednog ciklusa razvoja.

Stanje rešenosti tog problema u svetu:

Ne postoje slična rešenja za laboratorijsku upotrebu, verovatno zato što se ne mogu komercijalizovati. Naime, postoje programski dostupna napajanja koja se kontrolišu digitalnim signalima ali se ne mogu jednostavno integrisati u upravljački sistem koji će vršiti nadzor napajanja celokupnog sistema koji se odlikuje velikom raznovrsnošću podsistema, pogotovo ako se tokom razvoja mora razvijati i bezbednosna funkcija.

Suština tehničkog rešenja:

Realizovana je višestruka napojna letva sa brzim relejnim upravljanjem svake od monofaznih priključnica sa zaštitnim provodnikom. Svaki rele je upravljan digitalno, izlazima sa mikrokontrolerske ploče. Dozvola rada se projektuje logičkim funkcijama iz realizovanog softverskog paketa.

Karakteristike predloženog tehničkog rešenja su sledeće:

Softver razvijen na korisničkom nivou omogućuje fleksibilnost u instalaciji i korišćenju. Moguće je postaviti proizvoljan format, upamtiti ga, inicirati adekvatno pozicioniranje, uraditi rekalibraciju blende prema servnisnim korekcijama. Komunikacija sa nadređenim kontrolerom rengdenskog stativa je putem standardnih digitalnih TTL signala.

Opis tehničkog rešenja

Zadatak projekta HUMANISM je razvoj i integracija tehnologija projektovanja inteligentnog mehatroničkog interfejsa za primenu u medicini za potrebe perkutane vertebro plastike.

Projektom su obuhvaćene i podceline koje se tiču bezbednosti elektromedicinskih sistema:

• Funkcionalna bezbednost - podrazumeva režime otkaza i analizu posledica otkaza, fault-tree analizu, projektovanje protokola sigurnosti, pouzdanost i pristup sistemu bezbednosti postojeće medicinske opreme

• Električna bezbednost - podrazumeva kontrolu elektromagnetne kompatibilnosti i interferencije prema propisanim normama, uzemljenje, struje curenja i sigurnosni prekidač (sigurnosni stop)

Na slikama 2. i 3. prikazani su dijagrami funkcionalne i električne bezbednosti.

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

3

Slika 2. Funkcionalna bezbednost

Slika 3. Električna bezbednost

Prilikom projektovanja i realizacije elektromedicinskih sistema poseban akcenat stavlja se na planiranje i realizaciju sistema bezbednosti.

Problem bezbednosti prilikom projektovanja elektromedicinskih uređaja i sistema

Svaki elektromedicinski sistem mora zadovoljiti uslove propisane normama i standardima. Odabir napajanja i električnih komponenti mora biti u saglasnosti sa normama za bezbednost električnih medicinskih uređaja EN60601-1. Pored propisanih normi, bočnim standardima su detaljnije definisani zahtevi bezbednosti elektromedicinskih sistema, elektromagnetna kompatibilnost, proces po kome su programabilni elektromedicinski sistemi dizajnirani, itd.

Elektromedicinski sistemi i uređaji

Osnovna namena univerzalnog rendgenskog stativa je prostorno pozicioniranje aparature za rendgensko snimanje. Na osnovu podele na podsisteme, kod ovog sistema uređaja takođe razlikujemo dva osnovna podsistema: pokretni mehanički podsistem i upravljačku elektroniku sa kontrolnom i senzorskom logikom. Kretanje mehaničkog podsistema odvija se po četiri ose. Pogon svake ose realizovan je trofaznim električnim motorom sa reduktorom. Električnim motorom upravlja se odgovarajućom drajverskom jedinicom. Način rada drajverske jedinice definisan je upravljačkim signalima koje generiše kontrolna logika na osnovu algoritma kontrole i stanja senzorske logike. Senzorska logika prevashodno služi za generisanje informacije o trenutnom stanju sistema, kao što je trenutna pozicija mehaničkog podsistema prilikom kretanja po svakoj osi, ali ima i izuzetno bitnu ulogu u detektovanju neregularnosti i nastalih kolizija. Na slici 4. data je blok šema funkcionalnog elektro podsistema.

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

4

Slika 4. Blok šema elektro podsistema

Pre integracije svih komponenata u podsisteme, a zatim i u celokupni sistem, potrebno je izvršiti neophodna podešavanja koja su propisana od strane proizvođača komponente. Tačnije, da bi drajver efikasno pogonio elektro motor, na blok šemi označen blokom aktuator, potrebno je podesiti sve parametre motora u konfiguracionim menijima drajvera. Osnovni parametri motora su: tip motora, maksimalni broj obrtaja, maksimalna struja, vreme magnetizacije, itd. Na osnovu podešavanja ovih osnovnih parametara moguće je izvršiti primarnu integraciju raznorodnih komponenata. Posmatrano sa strane gotovog uređaja, efikasno upravljanje motora drajverom iziskuje više od podešavanja osnovnih parametara motora. Neophodno je podesiti prihvatljive brzine kretanja, vremena ubrzanja i usporenja, odnosno definisati profile kretanja. Navedena podešavanja moguće je realizovati isključivo nakon integracije svih komponenata u celinu, odnosno realizacije closed-loop kontrole.

Nezaobilazna faza u procesu projektovanja i realizacije medicinskih uređaja predstavlja testiranje. Testiranje se obavlja između dve faze razvoja, odnosno integracije komponenata, ili na funkcionalnom modelu radi verifikacije funkcionalnosti i bezbednosti realizovanog uređaja. Cilj faze testiranja je otklanjanje propusta i grešaka projektovanja. Prilikom testiranja celokupnog uređaja ili integrisanih komponenti u podsisteme, rezultati propusta projektovanja su najčešće nepredvidivi i mogu biti opasni. Prilikom testiranja neophodno je sistem obezbediti pouzdanim sistemom bezbednosti.

Predloženo rešenje

Na osnovu opisanog problema, kao rešenje se nameće realizovanje pomoćne, lako podesive, programabilne elektronike koja će prilikom integracije osnovnih komponenata projektovanog elektromedicinskog uređaja zameniti nedovoljno razvijenu kontrolnu i senzorsku logiku i obezbediti osnovne nivoe zaštite.

Princip rada programabilnog naponskog okruženja

Programabilno naponsko okruženje (Programmable Power Environment - PPE) ima mogućnost direktnog kontrolisanja napajanja uređaja ili podsistema projektovanog uređaja, mogućnost sublimiranja kontrolne logike prostog nivoa odluke i podržavanje ili simulaciju senzorske logike.

Na osnovu podešavanja PPE za pružanje podrške razvoju elektromedicinskog uređaja i logovanja svakog događaja, moguđe je višestruko olakšati i unaprediti razvoj algoritma funkcije zaštite.

Osnovne karakteristike programabilno naponskog okruženja su:

• skalabilnost • modularnost

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

5

• fleksibilnost • ponovna iskoristivost

Osnovni elementi programabilnog naponskog okruženja su:

• glavna upravljačka jedinica (Master Control Unit - MCU) • podređena izvršna jedinica (Slave Executive Unit - SEU)

Osnovni zadatak MCU-a je prikupljanje informacija o stanju svih perifernih jedinica SEU i iniciranje akcija koje periferna jedinica mora da izvrši na osnovu unapred definisanog algoritma. U memoriji MCU pamte se svi konfiguracioni podaci o sistemu. MCU je zadužena za signalizaciju i dojavu nadređenom licu o novonastaloj alarmantnoj situaciji. Povezana je sa HMI uređajem (u najvećem broju slučajeva sa računarom) preko koga se odvija dojava o vrsti i uzroku alarma. Nadređenom licu je omogućeno da na indirektan način, zadavanjem dozvoljenih seta komandi, utiče na promenu stanja perifernih jedinica.

Na slici 5. dat je šematski prikaz principa rada sistema. Svaka od perifernih jedinica SEU je u posrednoj interakciji sa objektom nadzora i kontrole. Objekat nadzora može biti medicinski uređaj (univerzalni rendgenski stativ, operacioni sto, uređaj za ekstrakciju krvi) ili naponska mreža. SEU poseduje 8 relejnih izlaza, 8 digitalnih izlaza i 8 digitalnih ulaza. Relejnim izlazima moguće je prekinuti dovod napajanja nekom uređaju, ako je to potrebno u slučaju nastale nepravilnosti u radu. Digitalni izlazi mogu se koristiti za generisanje komandnih signala, signala dozvole ili upozorenja na nastale nepravilnosti. Digitalni ulazi su predviđeni za realizaciju povratne veze sa objektom nadzora i kontrole. Pored objekata moguće je izvesti i povezivanje sa različitim tipovima senzora realizovanih sa digitalnim izlazom.

Slika 5. Princip rada sistema

Prednost digitalnih ulaza i izlaza SEU periferne jedinice je univerzalnost po pitanju naponskih nivoa korišćene logike. Naime, moguće je povezati, kako uređaje tako i senzore koji podržavaju 24V industrijski standard i one koji podržavaju TTL naponske nivoe.

U sistem je moguće priključiti i adresirati 20 perifernih jedinica SEU. Prilikom instalacije sistema mora se voditi računa o pravilnom priključivanju SEU. Svaka periferna jedinica SEU prilikom priključenja na sistem prolazi kroz proces inicijalizacije. To podrazumeva dodelu prve slobodne adrese i postavljanje svih izlaza u inicijalno stanje. Inicijalno stanje svake SEU definiše korisnik (serviser). Ne sme se

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

6

priključiti istovremeno više novih SEU u sistem zbog moguće greške u dodeli adrese. Sistem, tačnije MCU, sam prepoznaje novoprključenu jedinicu i inicira komunikaciju. Korisnik (operater) biće obavešten preko korisničkog interfejsa o promeni u konfiguraciji sistema. U slučaju nastale greške u komunikaciji MCU i neke od SEU, ili isključivanjem SEU iz sistema, MCU prepoznaje promenu u konfiguraciji sistema i blagovremeno obaveštava korisnika.

Automatske aktivnosti, odnosno promene stanja izlaza perifernih jedinica rezultat su aktivnih izvršenih algoritama kontrole na osnovu ulaznih parametara (najčešće stanja digitalnih ulaza).

Algoritmi kontrole

Svi korišćeni algoritmi kontrole moraju se jasno definisati prilikom instalacije sistema. Razlikujemo dva nivoa algoritama kontrole:

• algoritmi visokog nivoa • algoritmi niskog nivoa

Algoritmi visokog nivoa izvršavaju se u glavnoj upravljačkoj jedinici (MCU). Moguće je definisati maksimalno 10 algoritama visokog nivoa. Njima se genrišu potrebne akcije perifernih jedinica bitnih za novonastalu situaciju usled prepoznavanja unapred definisanog stanja periferne jedinice koja je detektovala novonastalu situaciju. Algoritmom kontrole visokog nivoa ostvaruje se uzajamna povezanost i zavisnost svih izlaza od ulaza na nivou celokupnog sistema, a ne samo jedne periferne jedinice.

Algoritmi niskog nivoa izvršavaju se u podređenoj izvršnoj jedinici (SEU). Njima se generiše direktna promena stanja izlaza u zavisnosti od prepoznatog unapred definisanog stanja ulaza. Primer algoritma niskog nivoa opisan je matricom na slici 6.

Slika 6. Matrica algoritma niskog nivoa

Matrica algoritma niskog nivoa opisuje logičko stanje koje očekujemo na nekom od digitalnih ili relejnih izlaza periferne jedinice na osnovu logičkog stanja na ulazima. Iz datog primera sa slike vidimo da se za stanje logičke jedinice na digitalnom ulazu DI5, digitalni izlaz DO4 postavlja na stanje logičke jedinice, a relejni izlaz RO2 otvara kontakte. Oznaka none označava da odgovarajući ulaz nema direktnog uticaja na odgovarajući izlaz.

Algoritam kontrole niskog nivoa se koristi kada želimo da definišemo brzu i bezuslovnu akciju SEU, a tek onda o tome obavestiti MCU.

Svi algoritmi kontrole mogu biti omogućeni ili onemogućeni po potrebi. To je neophodno uraditi prilikom instalacije sistema na osnovu globalnog plana nadzora i zaštite po kom se sistem primenjuje.

SEU menja stanja na izlazima prema algoritmu kontrole niskog nivoa, komandi od strane MCU-a generisanoj na osnovu algoritma kontrole visokog nivoa i komandi generisanoj na osnovu trenutnog zahteva korisnika. Prilikom izvršenja zadatih komandi SEU se vodi definisanim prioritetima. Najvišeg

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

7

prioriteta je komanda generisana na zahtev korisnika, a najnižeg komanda generisana na osnovu algoritma niskog nivoa.

Komunikacioni protokol između MCU i HMI

MCU je u sistemu direktno vezan za HMI uređaj (računar). Veza sa računarom se može ostvariti serijskom RS232 komunikacijom direktno na serijski port računara ili preko serial2USB konvertora.

Sve poruke koje se razmenjuju između MCU i HMI mogu se predstaviti univerzalnim

formatom veličine 14B. Poruka može biti generisana od strane MCU ili od strane HMI. Na slici 9.

prikazan je univerzalan format poruke.

Slika 7. Univerzalan format poruke

• START - startni bajt ( označava početak poruke) • ID - kod tipa poruke • CRC - bajt za proveru ispravnosti poruke (checksum) • STOP - završni bajt (označava kraj poruke)

U zavisnosti od tipa poruke koji se definiše bajtom sa oznakom ID, narednih 10 bajtova

univerzalnog formata poruke predstavljaju:

• ID = 1 (REQUEST_FOR_CONNECTION) zahtev za konekciju između MCU i HMI • vrednost bajtova se ne uzima u razmatranje

• ID = 2 (HIGH_LEVEL_ALGORITHM) konfiguracija algoritma kontrole visokog nivoa

• BYTE1 - aktivacioni bajt algoritma kontrole visokog nivoa (ENABLE=255, DISABLE=0)

• BYTE2 - identifikacioni bajt algoritma kontrole visokog nivoa (može imati vrednost od 1 do 10)

• BYTE3 - adresa periferne jedinice čije stanje na digitalnim ulazima predstavlja ulazni parametar algoritma kontrole visokog nivoa

• BYTE4 - stanje digitalnih ulaza koji predstavljaju ulazni parametar algoritma kontrole visokog nivoa

• BYTE5 - adresa periferne jedinice čija se promena izlaza vrši na osnovu algoritma visokog nivoa

• BYTE6 - novo stanje digitalnih izlaza na osnovu algoritma visokog nivoa • BYTE7 - novo stanje relejnih izlaza na osnovu algoritma visokog nivoa • vrednost ostalih bajtova se ne uzima u razmatranje

• ID = 3 (LOW_LEVEL_ALGORITHM) konfiguracija algoritma kontrole niskog nivoa • BYTE1 - aktivacioni bajt algoritma kontrole niskog nivoa (ENABLE=255,

DISABLE=0) • BYTE2 - adresa periferne jedinice gde se konfiguriše algoritam kontrole

niskog nivoa • BYTE3 - predstavlja relativno stanje relejnih izlaza pre izvršenja algoritma

kontrole niskog nivoa za nivo logičke jedinice na digitalnim ulazima

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

8

• BYTE4 - predstavlja relativno stanje relejnih izlaza nakon izvršenja algoritma kontrole niskog nivoa za nivo logičke jedinice na digitalnim ulazima

• BYTE5 - predstavlja relativno stanje digitalnih izlaza pre izvršenja algoritma kontrole niskog nivoa za nivo logičke jedinice na digitalnim ulazima

• BYTE6 - predstavlja relativno stanje digitalnih izlaza nakon izvršenja algoritma kontrole niskog nivoa za nivo logičke jedinice na digitalnim ulazima

• BYTE7 - predstavlja relativno stanje relejnih izlaza pre izvršenja algoritma kontrole niskog nivoa za nivo logičke nule na digitalnim ulazima

• BYTE8 - predstavlja relativno stanje relejnih izlaza nakon izvršenja algoritma kontrole niskog nivoa za nivo logičke nule na digitalnim ulazima

• BYTE9 - predstavlja relativno stanje digitalnih izlaza pre izvršenja algoritma kontrole niskog nivoa za nivo logičke nule na digitalnim ulazima

• BYTE10 predstavlja relativno stanje digitalnih izlaza nakon izvršenja algoritma kontrole niskog nivoa za nivo logičke nule na digitalnim ulazima

• ID = 4 (SET_IN_OUT) manuelno postavljanje izlaza adresirane periferne jedinice na željenu vrednost ukoliko je poruka upućena od strane HMI, ili trenutno stanje ulaza adresirane periferne jedinice ukoliko je poruka upućena od strane MCU

• BYTE1 - adresa periferne jedinice • BYTE2 - trenutno stanje digitalnih ulaza • BYTE3 - željeno stanje na relejnim izlazima • BYTE4 - željeno stanje na digitalnim izlazima • vrednost ostalih bajtova se ne uzima u razmatranje

• ID = 5 (ACK) potvrdna poruka • vrednost bajtova se ne uzima u razmatranje

Ukoliko primljena poruka nije predviđenog formata, takva poruka se ignoriše.

Komunikacioni protokol između MCU i SEU

Sve poruke koje se razmenjuju između MCU i SEU mogu se predstaviti univerzalnim

formatom veličine 10B. Poruka može biti generisana od strane MCU ili od strane SEU.

Na slici 16. prikazan je univerzalan format poruke.

Slika 8. Univerzalni format poruke

Zavisno od tipa poruke, bajtovi univerzalnog formata poruke označavaju:

• START - startni bajt ( označava početak poruke) • ADD - adresa SEU koja generiše poruku (ukoliko je vrednost ovog bajta 0 u

pitanju je neadresirana SEU, a ukoliko je vrednost ovog bajta 255 u pitanju je broadcast adresa)

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

9

• DI - trenutno stanje digitalnih ulaza (ukoliko je poruka odgovor o načinu konfiguracije algoritma kontrole niskog nivoa, ovaj bajt predstavlja stanje digitalnih ulaza u odnosu na koje definišemo izlaze)

• RLO_old - trenutno stanje relejnih izlaza (ukoliko je poruka o načinu konfiguracije algoritma kontrole niskog nivoa, ovaj bajt predstavlja relativno stanje relejnih izlaza pre izvršenja algoritma kontrole niskog nivoa)

• RLO_new - željeno stanje na relejnim izlazima (ukoliko je poruka o načinu konfiguracije algoritma kontrole niskog nivoa, ovaj bajt predstavlja relativno stanje relejnih izlaza nakon izvršenja algoritma kontrole niskog nivoa)

• DO_old - trenutno stanje digitalnih izlaza (ukoliko je poruka odgovor o načinu konfiguracije algoritma kontrole niskog nivoa, ovaj bajt predstavlja relativno stanje digitalnih izlaza pre izvršenja algoritma kontrole niskog nivoa)

• DO_new - željeno stanje na digitalnim izlazima (prilikom konfiguracije algoritma kontrole niskog nivoa, ovaj bajt predstavlja relativno stanje digitalnih izlaza nakon izvršenja algoritma kontrole niskog nivoa)

• COM - predstavlja kod komande koju je potrebno izvršiti na strani adresirane SEU

• CRC - bajt za proveru ispravnosti poruke (checksum) • STOP - završni bajt (označava kraj poruke)

Ukoliko primljena poruka nije predviđenog formata, takva poruka se ignoriše. U slučaju

da MCU, kao jedinica sistema koja je inicirala komunikaciju nije primila odgovarajuću ACK

poruku, ponoviće transmisiju prethodne poruke.

Poruka generisana od strane MCU

MCU upućuje poruku adresiranoj SEU, ili svim perifernim jedinicama sistema ukoliko je u

pitanju broadcast poruka, u slučajevima:

• inicijalizacije sistema (dodela adrese, konfiguracija algoritma kontrole niskog nivoa)

• provere stanja svih jedinica sistema • na osnovu zahteva usled izvršenja nekog od definisanih algoritama visokog nivoa • usled zahteva za promenom stanja neke periferne jedinice od strane korisnika

Zavisno od bajta COM, poruka upućena SEU može biti konfiguraciona ili izvršna.

Poruka generisana od strane SEU

SEU generiše poruku isključivo kao odgovor na primljenu poruku od strane MCU.

Generisana poruka može biti:

• informacija o stanjima ulaza i izlaza • potvrda o prijemu (ACK) • informacija o načinu konfigurisanja primenjenog algoritma kontrole

Na svaku primljenu poruku od strane MCU, SEU odgovara statusnom porukom.

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

10

Komunikacija HMI-MCU-SEU

Projektovani komunikacioni protokol podrazumeva i sinhronizaciju komunikacije na nivou

celokupnog sistema. Na slici 23. je prikazan primer sinhronizacije u slučaju zahteva korisnika za

promenom stanja izlaza adresirane periferne jedinice, i u slučaju prikaza nastale promene na

ulazu adresirane periferne jedinice.

Korisnički interfejs

Konfigurisanje PPE okruženja, upravljanje perifernim jedinicama, logovanje svih

događaja u nadziranom sistemu, prikaz trenutnog stanja i dojava o novonastalim konfigurisanim

alarmnim stanjima obavlja se aplikacijom PPEdevelop.

Osnovni ekran predstavlja grafički prikaz trenutnog stanja nadziranog sistema. Prikazan

je broj svih priključenih perifernih jednica SEU i stanja svih ulaza i izlaza. Iz osnovnog ekrana

jednostavnim klikom na simboličku oznaku željenog izlaza moguće je promeniti stanje na tom

izlazu. Na slici 9. je prikazan osnovni ekran sa svim funkcijama. Iz osnovnog ekrana prelazi se

na ekrane za konfiguraciju konekcije MCU-HMI i algoritme kontrole koji se izvršavaju u MCU i

SEU.

Slika 9. Glavni ekran

Ekran MCU settings služi za podešavanje algoritama kontrole visokog nivoa koji se

izvršava u MCU. Odabirom logičkih nivoa ulaza adresirane periferne jedinice SEU i željenih

stanja na izlazu druge adresirane periferne jedinice, krajnje jednostavno se konfiguriše algoritam

kontrole koji daje uzročno-posledičnu vezu stanja ulaza jedne SEU i stanja izlaza druge

periferne jedinice SEU. Ovde je moguće i omogućiti izvršenje setovanog algoritma i stanje u koje

se dovodi sistem nakon njegovog izvršavanja proglasiti alarmnim. Na slici 10. je dat ekran

MCUsettings.

Ekran SEUsettings služi za podešavanje algoritama kontrole niskog nivoa koji se

izvršava u SEU. U ovom ekranu je moguće izvršiti konfigurisanje ranije opisane matrice

algoritma niskog nivoa, omogućiti ili onemogućiti izvršavanje algoritma niskog nivoa i stanje u

koje se dovodi adresirana periferna jedinica nakon njegovog izvršavanja, proglasiti alarmnim.

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

11

Slika 10. Podešavanje high level algoritma

Slika 11. Podešavanje low level algoritma

Realizacija sistema

Uvod

U ovom poglavlju opisana je praktična realizacija osnovnih jedinica sistema. Dati su

delovi električnih šema koji opisuju način povezivanja nekih osnovnih komponenti i state

dijagrami kojima je opisano funkcionisanje firmvera (firmware) realizovanih osnovnih jedinica

sistema.

Realizacija glavne upravljačke jedinice (MCU)

MCU je realizovan na PIC18F26J50 mikrokontrolerskoj platformi, firme Microchip. MCU

poseduje 3 komunikacione periferije (USB konektor, DB9 RS232 konektor i RS485 konektor).

Napaja se preko spoljašnjeg izvora napona od 8V do 24V, ili direktno preko USB-a. Na slici 12.

prikazan je izgled realizovane MCU sa označenim konektorima.

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

12

Slika 12. MCU

State dijagram firmvera MCU

Na slici 13. prikazan je state dijagram koji opisuje rad glavne upravljačke jedinice. Definisana su 6 osnovna stanja MCU:

• main loop - stanje praznog hoda u kome uređaj čeka poruku od HMI ili početak novog ciklusa za prikupljanje informacija o stanju svih SEU u sistemu

• check SEU - prikupljanje informacija o stanju svih SEU u sistemu i provera da li postoji novopriključena jedinica u sistemu

• new device setup - dodela adrese novopriključenoj jedinici • algorithm of control - izvršavanje algoritma kontrole visokog nivoa • command to SEU - promena stanja SEU na osnovu izvršenog algoritma kontrole

visokog nivoa • HMI send - komunikacija sa HMI

MCU se nalazi u stanju main loop sve do novog ciklusa provere perifernih jedinica ili do

trenutka promene stanja usled primljenog zahteva sa strane HMI. Ciklus provere stanja SEU

izvršava se svake 2s. Ukoliko je došlo do promene na ulazima neke periferne jedinice, MCU

prelazi u stanje izvršavanja algoritma kontrole, u suprotnom MCU se vraća u stanje main loop.

Na osnovu algoritma kontrole potrebno je izvršiti neku propisanu akciju. Kao posledica toga

MCU generiše komandu koja se zatim upućuje predviđenoj perifernoj jedinici. Ako rezultat

algoritma kontrole ne iziskuje izvršenje bilo kakve akcije, MCU se vraća u stanje main loop.

Ukoliko je MCU u stanju provere perifernih jedinica detektovao novopriključenu SEU, prelazi u

stanje dodele adrese novopriključenoj jedinici i integraciji u sistem. Nastale promene na ulazima

perifernih jedinica koje aktiviraju izvršenje algoritma kontrole visokog nivoa, uvek su višeg

prioriteta od integracije novopriključene jedinice.

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

13

Slika 13. MCU state dijagram

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

14

Realizacija podređene izvršne jedinice (SEU)

SEU je realizovan na na PIC18F4520 mikrokontrolerskoj platformi, firme Microchip. SEU

poseduje komunikacionu periferiju (RS485 konektor) za integraciju u sistem, odnosno

povezivanje sa MCU. Poseduje 8 konektora digitalnih ulaza, 8 konektora digitalnih izlaza i 16

konektora relejnih izlaza. Napaja se preko naizmeničnog napona 220V, 50Hz. Poseduje i

konektore za napajanje priključenih senzora. Na slici 35. prikazan je izgled realizovane MCU sa

označenim konektorima.

Slika 14. SEU

State dijagram firmvera SEU

Na slici 15. prikazan je state dijagram koji opisuje rad podređene periferne jedinice.

Definisana su 5 osnovna stanja MCU:

• main loop - stanje praznog hoda u kome uređaj čeka poruku od MCU ili promenu na digitalnim ulazima

• command exe - izvršava komandu primljenu od MCU ili od algoritma kontrole niskog nivoa (menja stanja izlaza, setuje novu adresu, itd.)

• send status - šalje poruku trenutnog statusa • algorithm of control - izvršavanje algoritma kontrole niskog nivoa • command analyze - analizira pristiglu poruku

Digital input Digital

output

Laboratorija za robotiku, EF Niš 21.11.2011 TR_Safety/2011

15

Slika 15. SEU state dijagram

Maketa programabilnog napojnog okruženja

Za potrebe testiranja funkcionalnosti PPE realizovana je maketa sa like 16. koja

predstavlja minimalnu funkcionalnu kombinaciju osnovnih elemenata programabilnog napojnog

okruženja.

Slika 16. PPE maketa

Rešenje prijavio