102
Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006 1 Naslov: Naručilac: Period realizacije: Verifikovano od: U upotrebi od: Korisnik TR: Način korišćenja TR: Tip tehničkog rešenja: Autori: Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital X-ray d.o.o. Niš 2006-2007. Jugorendgen AD Niš, direktor 2006. Visaris AD Beograd Redovna upotreba na Institutu za radiologiju i onkologiju u Beogradu M81 Novi Proizvod... Goran S. Đorđević 1 , Milan Rašić 1 , Saša Anđelković 1 , Ivan Velićković 1 , Nenad Vukić 1 , Nebojša Mitrović 1 , Milutin Petronijević 1 , Svemir Popić 2 1 Elektronski Fakultet U Nišu 2 Institut Mihajlo Pupin, Beograd Univerzalni Robotizovani Rendgenski Sistem Digraf-C Osnovni podaci o tehničkom rešenju Predloženo rešenje se koristi na sledeći način: Digraf-C je najsavremeniji integrisani radiografski sistem danas. Prvi proizvedeni primerak instaliran je na Institutu za onkologiju i radiologiju u Beogradu, posredstvom firme (sistem-integrator) Visaris AD. Sistem je i dalje u upotrebi, od jeseni 2005. godine. Drugi instalirani primerak je na Institutu za reumatologiju u Beogradu. http://www.visaris.com/index.asp?j=en&item=117 Oblast na koju se tehničko rešenje odnosi je: Automatsko upravljanje, robotika, proizvodnja rengden aparata. Problem koji se tehničkim rešenjem rešava: Sistem Digraf-C poseduje dve ruke-pozicionera sa po 5 stepeni slobode i pacijent sto sa tri ose kretanja. Sve zajedno, integrisano je u cilju pozicioniranja izvora i prijemnika zračenja oko pacijenta postavljenog na stolu. Praktično, moguće je obaviti sve tehnike snimanja u savremenoj radiologiji. U trenutku projektovanja sistema Digraf-C jedini proizvođač koji je koristio jedan prijemnik, kao i kod Digraf-C, bio je Siemens, na sistemu Aristo. Naša verzija sličnog sistema imala je funkcionalne sličnosti u kretanju i načinu upotrebe ali bitno drugačiji sistem upravljanja i planiranja kretanja uz izbegavanje kolizija. Stanje rešenosti tog problema u svetu: U trenutku gradnje Digraf-C, samo je Siemens imao sličan sistem, Aristo. Cena Siemens-ovog sistema bila je petostruko viša, oko 1.000.000 EUR. Ubrzo potom, 2007. Godine, pojavilo se još nekoliko proizvođača sa sistemima sličnih performansi, ali i dalje sa znatno višom cenom od Digraf-C. Danas su to sistemi koji se ubrzano instaliraju u bolnicama širom sveta upravo zbog svoje

Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Embed Size (px)

Citation preview

Page 1: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

1

Naslov: Naručilac:

Period realizacije: Verifikovano od:

U upotrebi od: Korisnik TR:

Način korišćenja TR:

Tip tehničkog rešenja: Autori:

Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital X-ray d.o.o. Niš 2006-2007. Jugorendgen AD Niš, direktor 2006. Visaris AD Beograd Redovna upotreba na Institutu za radiologiju i onkologiju u Beogradu M81 Novi Proizvod... Goran S. Đorđević1, Milan Rašić1, Saša Anđelković1, Ivan Velićković1, Nenad Vukić1, Nebojša Mitrović1, Milutin Petronijević1, Svemir Popić2 1 Elektronski Fakultet U Nišu 2 Institut Mihajlo Pupin, Beograd

Univerzalni Robotizovani Rendgenski Sistem Digraf-C

Osnovni podaci o tehničkom rešenju

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

Digraf-C je najsavremeniji integrisani radiografski sistem danas. Prvi proizvedeni primerak

instaliran je na Institutu za onkologiju i radiologiju u Beogradu, posredstvom firme (sistem-integrator)

Visaris AD. Sistem je i dalje u upotrebi, od jeseni 2005. godine. Drugi instalirani primerak je na

Institutu za reumatologiju u Beogradu. http://www.visaris.com/index.asp?j=en&item=117

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

Automatsko upravljanje, robotika, proizvodnja rengden aparata.

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

Sistem Digraf-C poseduje dve ruke-pozicionera sa po 5 stepeni slobode i pacijent sto sa tri ose

kretanja. Sve zajedno, integrisano je u cilju pozicioniranja izvora i prijemnika zračenja oko pacijenta

postavljenog na stolu. Praktično, moguće je obaviti sve tehnike snimanja u savremenoj radiologiji. U

trenutku projektovanja sistema Digraf-C jedini proizvođač koji je koristio jedan prijemnik, kao i kod

Digraf-C, bio je Siemens, na sistemu Aristo. Naša verzija sličnog sistema imala je funkcionalne

sličnosti u kretanju i načinu upotrebe ali bitno drugačiji sistem upravljanja i planiranja kretanja uz

izbegavanje kolizija.

Stanje rešenosti tog problema u svetu:

U trenutku gradnje Digraf-C, samo je Siemens imao sličan sistem, Aristo. Cena Siemens-ovog

sistema bila je petostruko viša, oko 1.000.000 EUR. Ubrzo potom, 2007. Godine, pojavilo se još

nekoliko proizvođača sa sistemima sličnih performansi, ali i dalje sa znatno višom cenom od Digraf-C.

Danas su to sistemi koji se ubrzano instaliraju u bolnicama širom sveta upravo zbog svoje

Page 2: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

2

fleksibilnosti i univerzalnosti. U ovom trenutku, daljim usavršavanjem, Visaris AD Beograd preuzeo

je proizvodnju Digraf-C od firme Jugorendgen AD Niš.

Suština tehničkog rešenja:

Projektovan je kompletno nov, robotizovani rendgenski stativ. Projektovana je upravljačka

jedinica na bazi PC kontrolera i procesora kretanja firme Galil MC. Razvijen je softver na niskom i

visokom nivou. Razvijen je univerzalni planer kretanja sa ugrađenim algoritmom izbegavanja kolizije.

Sistem je praktično realizovan, instaliran u Institutu za radiologiju u Beogradu i dalje je u upotrebi,

već više od 4 godine.

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

Digraf-C je robotizovani radiografski sistem. Preciznost pozicioniranja u prostoru je 0.5cm.

Može se koristiti u automatskom radu, uz pozicioniranja i sinhronizovana kretanja svih osa kretanja,

ali i u poluatomatskom i manuelnom radu. Kretanje stola ograničava na koliziju kretanja dve robotske

ruke. Sistem bezbednosti projektovan je tako da vrši nadzor nad svim komponentama sistema, od

izvora za napajanje do svih senzora. Prestanak rada i oporavak od havarije posebno je programiran i

odvija se u skladu sa svim standardima funkcionalne bezbednosti u medicini.

Opis tehničkog rešenja

Kratak opis

Digraf-C je najsavremeniji integrisani radiografski sistem danas. Prvi proizvedeni primerak

instaliran je na Institutu za onkologiju i radiologiju u Beogradu. Projektovan je kompletno nov,

robotizovani rendgenski stativ. Projektovana je upravljačka jedinica na bazi PC kontrolera i procesora

kretanja firme Galil MC. Razvijen je softver na niskom i visokom nivou. Razvijen je univerzalni

planer kretanja sa ugrađenim algoritmom izbegavanja kolizije.

Namena Digraf-C

Digraf-C je savremeni univerzalni uređaj za digitalnu radiografiju koja obuhvata praktično sve

potrebne radiografske tehnike sa jednim digitalnim detektorom zračenja. Predmet ovog tehničkog

rešenja je robotizacija u sveobuhvatnom smislu ove reči (projektovanje, pogon, izrada upravljačkog

softvera, algoritmi planiranja, izbegavanje kolizije i izrada prototipa i proizvodne dokumentacije).

Digraf-C je potpuno programabilni automatski robotski pozicioner flet panela i izvora zračenja.

Upravljački sistem dozvoljava proizvoljno korišćenje motorizovanog, plivajućeg, stola za pacijenta pri

čemu se zahtevane komande pozicioniranja radiografske opreme oko pacijenta samostalno

prilagođavaju zatečenoj poziciji pacijenta, bez opasnosti od sudara sa pacijentom ili drugom opremom.

Neke osnovne karakteristike su:

- Sve rutinske tehnike snimanja omogućene su automatski, polu-automatski ili ručno.

- Moguća je instalacija čak i u relativno malim prostorijama.

- Veliki broj prethodno uprogramiranih tehnika snimanja moguće je kombinovati sa novim

zahtevima kao i kasnije memorisanje novih tehnika i pozicija.

- Automatski planer kretanja, potrebno je zadati samo novu poziciju.

Page 3: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

3

Tehničke karakteristike uređaja.

Digraf-C se sastoji od dve robotske ruke svaka sa po 5 s.s, pacijent stola sa motorizovanim

liftom i plivajućom tablom, kontrolera, sistemskog softvera, upravljačkog softvera i korisničkog

interfejsa.

Pogonski-senzorski sistem sastoji se od DC motora Maxon RE40, inkrementalnih enkodera,

senzora pozicije i graničnih prekidača, elektromagnetnih spojnica i elektromagnetnih kočnica na

pogonskim osovinama.

Upravljački sistem sagrađen je oko Galil procesora kretanja i odgovarajućih drajverskih sistema.

Programiranje kretanja sistema je ostvareno sistemskim komandama u okruženju Galil

kontrolera kombinovano sa C naredbama razvijenim u standardnom C kompajleru. Time su

obezbeđene osnovne funkcije kretanja:

- inicijalizacija sistema,

- pozicioniranje u tačku,

- praćenje pravolinijske trajektorije u 3D prostoru,

- praćenje trajektorije sa via tačkom,

- prelazak iz tehnike u tehniku snimanja,

- izbegavanje prepreka na podu, zidovima i usled pozicioniranja pacijent-stola.

Uređaj na osnovu zadatog anatonskog preseka automaski pozicionira rengensku aparaturu u

poziciju za snimanje. Izbor anatomskog preseka kao i odgovarajuće vrednosti parametara rentgenskog

snimaka treba da budu ponuđena kao podrazumevana opcija korisniku. Korisnik može, ali ne mora, da

prihvati ova podrazumevana – preporučena podeševanja.

Slika. Digraf-C instaliran na Institutu za Radiologiju i Onkologiju KC Srbije u Beograd

u saradnji sa JR-Digital X-Ray, Niš, i Visaris AD, Beograd

Page 4: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

4

Detalji tehničkog rešenja izloženi u ovom izveštaju

Neke najvažnije celine sistema prikazane su u narednim delovima tehničkog rešenja:

- Rastavna kutija

- Dozvola kretanja

- Veza sa mikroprekidačima

- Napajanje

Rastavna kutija.

Slika _. Električna šema rastavne kutije.

Page 5: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

5

Page 6: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

6

Dozvola kretanja

Relejna pločica preklapanja dozvole kretanja i premošćenja graničnih prekidača sa indikacijom

Slika_. Glavno kolo za dozvolu i prekid kretanja

Napajanje

Slika_. Principska šema napajanja

Page 7: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

7

Slika_. Šema veze BREAK BOX-ova za plafostat IRZ, ver. 1.4s

Page 8: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

8

Slika_. Šema veze BREAK BOX-ova za plafostat DRZ, ver. 1.4

Page 9: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

9

Slika_. Povzivanje štampanog kola kontrole blende

Page 10: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

10

Slika _. Povezivanje komponenata pacijent-stola

Page 11: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

11

Page 12: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

12

Arhitektura softvera visokog nivoa

Uvod Sledede razmatranje pruža uvid u namenu i opseg Dokumenata “Arhitektura softvera visokog nivoa”.

Cilj dokumenta

Ovaj dokument pruža detaljni arhitekturni pregled upravljačkog softvera visokog nivoa robotizovanog

rentgenskog uređaja <DIGRAF C – JRDigital, Niš> kroz prezentaciju različitih aspekata sistema. Uređaj

je namenjen Institutu za onkologiju Kliničkog centra u Beogradu. Namera je da se sprovede prikaz

značajnih arhitekturnih odluka koje su donete u toku projektovanja i izrade sistema.

Opseg dokumenta

U dokumentu je predstavljena arhitektura Upravljačkog softvera visokog nivoa. Osnova namena

predstavljene softverske komponente je da na osnovu matematičkog modela ponašanja mehaničkog

podsistema, izvrši konverziju korisničkog zahteva u sinhronizovano, motorima aktuisano, kreatanje

mehaničkog podsistema i da pri tom spreči pojavu potencijalno hazardnih situacija.

“Reliability Critical” upravljačke rutine realizovane su kao softver niskog nivoa i nisu predmet ovog

dokumenta.

User Interface (UI) aplikacija je zadužena za prihvatanje korisničkih zahteva i prosleđivanje istih

upravljačkoj aplikaciji. Diskusija o ovoj komponenti sistema je van opsega ovog dokumenta.

Definicije korišćenih termina

Definicije termina korišdemih pri izradi ovog dokumenta dostupne su u dokumentu “Definicije

korišdenih termina, Verzija 1.3”

Zahtevi U fazi projektovanja i izrade upravljačkog softvera za robotizovani rentgenski uređaj DIGRAF C

poštovani su slededi zahtevi:

1. Bezbednost – uređaj mora da ima implementirane mehanizme koji obebeđuju bezbedan rad i u situaciji kada se u radnom prostoru uređaja nalaze ljudi. Svako potencijno hazardno ponašanje sistema, bilo da je posledica neisparvnosti neke komponenti sistema ili da posledica buga u softveru mora biti razrešeno na način koji ne ugrožava život i zdravlje ljudi i integritet sistema. Upravljački softver mora da podržava ove mehanizme.

2. Nezavisnost od aplikacija koje implementiraju korisnički interface – ovo podrazumeva da upravljački softver mora da bude implementiran tako da se dalja softverska nadogradnja sistema učini nezavisom od platforme. Druga interpretacija ovog zahteva svodi se na zaštitu upravljačkog softvera od nestabilnog ponašanja aplikacija koje implementiraju korisnički interface.

3. Dijagnostika – upravljački softver mora da beleži svoj rad tako da je moguda detaljna rekonstrukcija ponašanja sistema. Upravljački softver mora da implementira procedure samotestiranja i da sama donosi odluke o nastavku rada za slučajeve kada procedura samotestiranja prijavljuje neku neregularnost.

Page 13: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

13

Realizacija Zahtevi predstavljeni u prethodnoj sekciji ovog dokumenta doveli su do slededih odluka vezanih za

arhitekturu upravljačkog softvera.

Upravljačka aplikacija implemnetirana kroz nekoliko sukcesivnih nivoa. Svaki nivo ima za zadatak da

prihvati zahtev prethodnog nivoa, da proveri konzistenciju zahteva i sopstvenog stanja i da, u koliko

je ovaj test pozitivan izvrši prosleđivanje zahteva dublje u hijerarhiju, ili u koliko nije, da zaustavi

zahtev i prijavi grešku. Takođe, svaki sloj je zadužen za kreiranje susednog sloja koji je dublje u

hijerarhiji. Osnovna arhitektura prikazana je na Slici1.

User Interface

DM

C A

PI

Con

trol A

pplicatio

nC

lient A

pplicatio

n

Process Boundary

DMC Routine Calls

Controller Interrupts

CO

MClient DLL

DMC Command

Language

Routines

Windows Service Framework

CommunicationLayer

System State

Manager

Motion

Planer

Erro

r Ha

nd

ling

an

d L

og

gin

g

Slika1. Šematski prikaz izabrane arhitekure aplikacije

Upravljački softver je podeljen u 3 komponente:

1. Upravljački softver niskog nivoa – Ova komponenta dostupna je u obliku DMC rutina koja se učitavaju direktno u lokalnu memoriju kontrolerskih kartica u fazi inicijalizacije sistema. Mehanički podsistem je dostupan višim nivoima upravljačkog softvera kroz abstrakciju osnovnih funkcionalnosti koje su implementirane na ovom nivou. Ove rutine su pisane na komndnom jeziku kontrolerske kartice i implementiraju za bezbednost najkritičnije funkcionalnosti sistema.

2. Upravljački softver visokog nivoa – Ova komponenta je implementirana kao Windows Service Application. Kroz COM(Component Object Model) interface koji pruža dostupne mogude je povezivanje ove aplikacije sa aplikacijam koje implementiraju korisnički interface. Ova apliakcija impenentira sledede slojeve:

a. Service Framework i COM interface

Implementira - mehaizme za komunikaciju sa Service Manager-om (Start,

Pause Resume, Stop i ShutDown).

- COM interface za povezivanje sa UI aplikacijama

Izuzeci Obrađuje izuzetke vezanje za COM RPC komunikaciju

Page 14: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

14

b. Komunikacionioni sloj

Implementira - mehaizme za komunikaciju DMC kontolerskim karticama (

prosleđivanje komandi karticama i hvatanje kontrolerskih

interapta).

- Inicijalizuje kontrolere na osnovu podataka koje čita iz

konfiguracione datoteke.

- vrši konverziju iz enkoderskih impulsa u metre/radiane i

obrnuto.

Izuzeci Obrađuje izuzetke koji se mogu pojaviti u fazi komunikacije

sa DMC kontrolerom.

c. Menadžer stanja

Implementira - Izbor moda rada (Automatsko ili Poluautomatsko vođenje)

- Sekvenciranje korisničkih zahteva i obrada DMC interapta.

Izuzeci Obrađuje izuzetke vezane za neregularne korisničke zahteve

(npr. Operater izdaje novu komandu pre završetka

prethodne)

d. Planer kretanja

Implementira - konverziju komande u sigurnu (bez kolizija) putanju

mehainčkog podsistema na osnovu poznavanja tenutne

pozicije sistema i željenog krajnjeg položaja. Poseduje

informaciju o fizičkoj konfiguraciji sistema.

Izuzeci Obrađuje izuzetke vezane za neregularne parametre kretanja

(npr. prevelika – nemoguda vrednost za SID)

3. Klijentski DLL – Kako bi se olakšala impementacija komunikacije između upravljačke aplikacije i aplikacija koje implemantiraju funkcionalnosti korisničkog interfejsa detalji COM komunikacije implementirani su u okviru klijentskog DLLa.

Use-Case View Detaljni pregled slučajeva korišdenja nalazi se u slededeim dokumentima:

1. Specifikacija slučajeva korišdenja:Aktivnosti Operatera, Verzija 1.3

2. Specifikacija slučajeva korišdenja: Aktivnosti Instalatera i Servisera, Verzija 1.3

Dijagrami za opis scenarija bide prezentovani

Logical View U sekciji 3 ovig dokumenta data je globalna perspektiva na željenu topologiju softvera. Shodno tom

razmatranju dizajn je podeljen u četiri logičke celine. Slika 2 pokazuje koje su celine u pitanju i kako

su međusobno povezane.

Page 15: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

15

ConsoleDummy DigrafDIGRAFClient DIGRAFServer

Slika2. Logička raspodela dizajna

Digraf package impementira dubelje slojeve u hijerarhji, DIGRAFServer implemnetira Windows

service framework i COM RPC komunikaciju, DIGRAFClient implementira kijentski DLL koji se

ugrađuje u UI aplikaciju, u ovom slučaju test aplikaciju ConsoleDummy.

Predstavljena logička organizacija dizajna je u procesu kodiranja preslikana na organizaciju VC6.0

workspacea. Svaki od paketa na prethodnoj slici predstavljen je nezavisnim Project-om. U cilju

jasnijeg izlaganja termin “Package” na ovom nivou organizacije bide u daljem tekstu zamenjen sa

“Project”. Predpostavljen prevod engleskog termina “Project” koji de biti korišden u daljem tekstu je

“projekat”.

DIGRAF projekat

Dijagram na slici 3 predstavlja organzaciju DIGRAF projekta. Ova logička podela preslikana je u fazi

realizacije na Logičke Foldere u okviru projekta. Prokekat je kreiran pomodu VC6.0 Wizarda kao DLL

projekat sa MFC podrškom. Prikazana organizacija je u skladu sa željenom organizacijom koja je

predstavljena u sekciji 3 ovog dokumenta.

Tech generatorsState managers

Framework and

interfaces

Linear algebraMotion planer

CFG file reader

global

Error handling

and logging

global

Comunication

layer

Slika 3. Logička raspodela dizajna za DIGRAF.dll

Page 16: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

16

Naziv Packagea Obajšnjenje

Framework and

interfaces

Ovaj package sadrži klase koje implementiraju DLL framework i DLL

interface

Communication

Layer

Ovaj package sadrži klase koje implementiraju komunikacioni sloj i klase

za komunikaciju sa DMC (Digital Motion Controller).

State Managers Ovaj package sadrži klase koje impementiraju ponašanje sistema za

različite modove rada.

Motion planer Sadrži klase koje modeluju ponašanje mehaničkog podsistema kao i

implementaciju algoritma za planiranje kretanja.

Tech Genarators Ovaj package sadrži klase koje, na osnovu korisničkog zahteva i prametara

radnog prostora, generišu ulazne podatke za planer kretanja.

Linear Algebra Sadrži klase za Matrice, vektore i algebru Axis Aligned Bounding Boxova

CFG File Reader Klase za porveru konzistencije, čitanje i interpertaciju konfiguracionih

parametara.

Error Handling

and Logging

Klase za prihvatanje, obradu i zapisivanje greašaka.

Page 17: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

17

CTechREADY(from Tech generat...

CTechTableTop(from Tech generat...

CTechTableSide(from Tech generat... CTechTableSlope

(from Tech generat...CTechStand

(from Tech generat...

CTechBeside(from Tech generat...

eLinkType(from Linear algebra)

<<enum>>

eMode(from State managers)

<<enum>>

CErrorChain(from Error handling and logging)

eQ(from State managers)

<<enum>>

CSemiAuto(from State manag...

sTechAttributes(from Tech generators)

<<struct>>

sDH(from Linear algebra)

<<struct>>

CMotionRecord(from Motion planer)

CPlanerArgs(from Motion planer)

CTable(from Motion pla...

eAxis(from Linear algebra)

<<enum>>

CTechnic(from Tech generat...

CMatrix4(from Linear algebra)

CPlafostat(from Motion pla...

CManual(from State manag...

CStringTokenizerDirect(from CFG file reader)

CIniReader(from CFG file reader)

CEventLogger(from Error handling and logging)

<<singleton>>

eEntityType(from Motion planer)

<<enum>>CDMCException

(from CDMCWin)

CDMCWinRegistry(from Comunication layer)

MOTIONTHREAD(from Comunication layer)

<<typedef>>

CWinApp(from Application Architecture)

CDMCWin(from Comunication layer)

CSSManager(from State manag...

CCommLayer(from Comunication la...

CDigrafApp(from Framework and interfa...

CAutomatic(from State manag...

CVector4(from Linear algebra)

CEntity(from Motion pla...

CAABBox(from Linear algebra)

CMotionPlaner(from Motion pla...

Slika 4. Pregled svih klasa projekta DIGRAF

Motion Planer

Dijagrami klasa sa Slike 5. prikazuju statičke aspekte realizacije Motion Planer sloja.

Page 18: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

18

Slika 5. Klase packagea Motion Planer i njihove međusoble veze.

Sledi kratko objašnjenje funkcije klasa u dizajnu.

Klasa Objašnjenje

CEntity Bazna klasa iz koje su izvedene klase koje opisuju osnovne elemente

mehaničkog podsistema – plafostat i plivajudi sto. Klasa sadrži niz AABBa

koji se koriste u fazi detekcije kolizije – m_arrAABBs i podršku za

Page 19: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

19

klasterizaciju AABBa za ubrzanje algoritma za detekciju kolizije. Klasa

poseduje dva čisto virtuelna metoda:

1. void Move(const float* arrQ) – ovaj metod prihvata

vektor unutrašnih koordinata (za plafostat ovaj vektor je dužine 5, za

plivajudi sto dužina vektora je 3) i na osnovu ovog vektora izračunavaju

veličine i pozicije AABBova koji se dalje koriste u postupku detekcije

kolizije.

2. void Fkine(CVector4& vCross, CVector4&

vFocus, const float* arrQ) – ovaj metod prihvata vektor

unutršnjih koordinata i izračunava poziciju kritičnih tačaka elementa u

spoljašnjim koordinatama. Kritične tačke koriste se u procesu

izračunavanja SIDa.

CPlafostat Ova klasa implementira programski model plafostata.

CTable Ova klasa implementira programski model plivajudeg stola.

CMotionRecord Ova klasa implemantira osnovnu strukturu kojom se opisuje stanje

mehaničkog podsistema. U osnovi ovo je stack čiji su elementi vektori

prolaznih tačaka plafostata izraženi u unutrašnjim koordinatama. U daljem

tekstu MR.

CPlanerArgs Memanto klasa koja čuva stanje klase CMotionPlaner. Sadrži tri instance

klase CMotionRecord:

m_recStart – sadrži sigurni put od trenutne pozicije palfostata do

READY pozicije

m_recDest – sadrži siguran put od READY pozicije do željene odredišne

pozicije. Ovaj MR se puni pre početka planiranja kretanja pozivom

odgovarajudih metoda Generatora Tehnika.

m_recPath – sadrži optimalnu sekvencu prolaznih tačaka koja se dobija

kao proizvod procesa palniranja kretanja

CMotionPlaner Glavna klasa planera kreatanja. Klasa implemantira inteface ka višem sloju

(menadžeru stanja) i modeluje ponašanje mehaničkog podsistema. Na

osnovu ovog modela i MRa iz klase CPlanerArgs metodi ove klase generišu

sekvence pokreta koje omogudavaju prelazak mehaničkog podsistema iz

trenutne u željenju poziciju bez kolizije.

Page 20: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

20

Generatori Tehnika Slika 6 prikazuje organizaciju klasa koje implemantiraju generatore tehnika. Upotrebljena je Strategy

topologija kako bi se olakšalo dodavanje novih klasa tehnika.

Page 21: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

21

Slika 6. Generatori tehnika

Sledi objašnjenje uloge klasa u dizajnu.

Naziv Objašnjenje

CTechnic Ovo je bazna klasa za sve klase za generisanje tehnika. Njena uloga je dvostruka.

Najpre, ova klasa definiše interface generatora tehnika. Njznačajniji metodi

ovog interfacea su.

BOOL GetIRZDest(), BOOL GetDRZDest() – ovi metodi pune

DESTINATION MR prolaznim tačkam za određenju tehniku.

void GetTechAttributes() – vrada atribute tehnike (dodatne

informacije o ponašanju mehaničkog podsistema u slučaju da se ovaj nalazi

datoj tehnici).

void GetIRZLimits(), void GetDRZLimits() – daje granice

inkrementalnog kretanja plafostata za izabranu tehniku.

Druga funkcija ove klase je da kreira i čuva kreirane instance svake od tehnika

instaliranih na sistemu. Statički atrubut sm_TechPool je niz pokazivača na

instance klasa tehnika. Metod CTechnic* GetTechFromID(UINT nTechID) na

osnovu identifikatora tehnike vrada pokazivač na instancu klase koja predstavlja

željenu tehniku.

Page 22: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

22

Ova klase je deklarisana kao prijateljska za sve klase izvedene iz nje. Razlog je to

što klase tehnika imaju protected ctor.

CTech* Klase tehnika

Menadžer Stanja Slika 7 predstavlja organizaciju menadžera stanja. State pattern je korišćen pri realizaciji.

-$sm_ssPool[NUM_MODES]

CAutomatic

<<control>>

CManual

<<control>>

CSemiAuto

<<control>>

CSSManager

<<control>>

-$sm_pCurrMode

State pattern

Slika 7. System State manager implementiran kao GOF Pattern State

Korisnik zahteva

promenu moda rada

Da li tenutni mod rada

dozvoljava promenu?

[ ne ]

Trenutni handler moda prirprema

stanje sistema za tranziciju

[ da ]

Menja se

handler moda

Novi Handler priprema

svoje stanje

CSSManger::SetMode(

NewModeID)

sm_pCurrMode->

IsModeChangable()

sm_pCurrMode->

LeaveCurrentSession()

sm_pCurrMode =

sm_ssPool[NewModeID]

sm_pCurrMode->

PrepareForNewSession()

Slika 8. Aktivnosti pri tranziciji moda

Sledi objašnjenje uloge klasa u dizajnu.

Page 23: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

23

Klasa Objašnjenje

CSSManager Bazna klasa za sve klase koje opisuju ponašanje sistema u odrđenom modu

rada.

Klasa defiiniše interface za komunikaciju sa komunikacionim slojem.

Deklarisane su tri kategorije metoda:

1. Metodi koji prihvataju zahteve korisnika,

2. Metodi koji obrađuju DMC User Interrupte i

3. Metodi za tanziciju moda rada

Klasa impemetira mehanizme za instanciranjei kreiranje objekata Handlera

moda i zamenu moda rada. Sekvenca aktivnosti vezane za zamenu moda

rada prikazane su na slici 8.

Klase Handlera moda koje su izvedene iz ove klase imaju deklarisanu ovu

klasu kao prijateljsku.

CAutomatic Handler za Automatski režima rada

CSemiAuto Handler za Poluautomatski režima rada

CManual Handler za ručni mod rada (nije impementiran za ovu verziju uređaja)

Error Logging and Handling Slika 9 ilustruje koncept primene patterna Chain-Of-Responsibility u svrhu dobijanja informavije o

grešci koja se pojavila u sistemu sa slojevitom strukturom. Slika 10. prikauje scenario dobijanja

informacije o grešci u koliko je do pojave greške došlo u najdubljem sloju strukture.

CErrorChain

#m_pFollower

Chain of

responsibility

pattern

CDigrafApp(from Framework and interfaces)

<<boundary>>

CCommLayer(from Comunication layer)

<<boundary>>

+m_pCommLayer

CSSManager(from State managers)

<<control>>

#$sm_pComm

CMotionPlaner(from Motion planer)

<<entity>>

#$sm_pPlaner

CEventLogger

<<singleton>>

#$m_pInstance

Used during event

and error logging

Slika 9. Error Handling and Logging kao GOF Chain-Of-Responsibility

Page 24: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

24

int CErrorChain::GetLastError()

{

if(m_nErrorCode != ERR_NONE)

return m_nErrorCode;

if(m_pFollower == NULL)

return ERR_NONE;

return m_pFollower->GetLastError();

}

: Operater : CDigrafApp : CCommLayer : CSSManager : CMotionPlaner

GetLastError()

GetLastError()

GetLastError()

GetLastError()

Slika 10. Propagacija zahteva za dobijanje informacije o grešci

Sledi objašnjenje uloge klasa.

Naziv Objašnjenje

CErrorChain Bazna klasa iz koje su izvedene klase svih slojeva. Lanac se formira u fazi kreiranja,

inicijalizacijom atributa m_pFollower.

Neregularan rad je svrstan u dve kategorije:

1.Error – kod greške se upisuje u m_nErrorCode i upisuje u event log.

2.Warning –kod greške se upisuje u m_nErrorCode ali se ne upisuje u event log.

Kod koji opisuje tip neregularnosti mogude je dobiti pozivom metoda UINT

GetLastError().

CEventLogger Klasa inplementirana kao singleton kako bi bila dostupna kroz ceo dizajn.

Enkapsulira Win32 API pozive za upis greške u Event Log i u privatnu log datoteku.

Ini Reader Slika 11 prikazuje organizaciju klasa za proveru konzistencije, čitanje i interpretiranje konfiguracionih

datoteka.

Page 25: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

25

Slika 11. Ini Reader

Sledi opis namene klasa

Naziv Namena

CStringTokenizerDirect Ova klasa impeentira funkcionalnosti za tokenizaciju stringa

CIniReader Sistem čuva konfiguracione parametre u datoteci DIGRAFConfig.cfg.

Ovo je ASCII datoteka koja ima strukturu Windows INI datoteke.

Pored osnovnog filea čuvaju se još dve backup kopije iste daoteke.

Pri inicijalizaciji sistema kreira se instanca ove klase koja najpre vrši

proveru konzistencije, a potom čita zahtevane parametre.

Komunikacioni sloj

Neke karakteristične veze između klasa koje implementiraju komunikacioni sloj prikazane su

na slici 12.

Encapsulates

DMC API

CDMCWinCCommLayer

<<boundary>>

#m_IRZController

#m_DRZController

Slika 12. Komunikacioni sloj i klasa koja enkapsulira DMC API

Sledi objašnjenje namene klasa.

Naziv Namena

CDMCWin Klasa koja enkapsulira DMC API. U slučaju neregularnog rada baca

CDMCWinException.

CCommLayer Klasa koja implementira komunikacioni sloj sa Slike 1. Metodi ove klase

Page 26: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

26

mogu se svrstati u dve grupe:

1.Metodi za prihvatanje korisničkih zahteva

2.Metodi za komunikaciju sa DMC kontrolerima.

Sva konverzija enkoderskih impulsa u jedinice SI sistema obavlja se skopu

metoda za komunikaciju sa DMC kontrolerima.

Projekat DIGRAFServer i DIGRAFClient

U okviru ovih projekata impemetiran je osnovni framework za COM RPC cross-process komunikaciju

kao i neophodne funkcionalnosti za instalaciju i menadžmet Windows service aplikacije. Kako

impementacija ovih funkcionalnosti ne sadrži neke specifičnosti koje treba objasniti, neće niti dalje

diskusije na ovu temu.

Implementation View Slededi dijagram prikazuje komponente sistema i njihove međusobne zavisnosti.

DigrafMessages

<<Resource DLL>>

Digraf

<<DLL>>

DIGRAFC

lient

<<DLL>>

DIGRAFS

erver

<<EXE>>

DIGRAFSer

ver.idl

<<MIDL>>

IDIGRAF

ConsoleD

ummy

<<EXE>>

DIGRAFConfig

.cfg

DMC_IRZ.

dmcDMC_DRZ

.dmc Collimator

<<DLL>>

Slika 13. Moduli i njihove zavisnosti

Pregled modula

Naziv komponente Namena

DIGRAFServer.exe Telo upravljačke service aplikacije. Impementira Windows Service

Framework i COM interface IDIGRF.

Digraf.dll Implementira komunikacioni sloj, menadžer stanja i planer kreatanja.

U cilju lakšeg debagiranja, ove funkcionalnosti su odvojene od

DIGRAFServer servis aplikacije.

Collimator.dll Impelmentira RS232 komunikaciju sa upravljačkim hardverom blende.

Page 27: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

27

DIGRAFClient.dll Klijentski dll koji impemntira COM komunikaciju sa strane UI

aplikacije.

DMC_DRZ.dmc

DMC_IRZ.dmc

Datoteke sa DMC rutinama (upravljački softver niskog nivoa).

DIGRAFConfig.cfg

DIGRAFConfig.cf2*

DIGRAFConfig.cf1*

Kofiguraciona datoteka i njene back-up kopije(*). Ovo je ASCII

dataoteka organizovana kao Windows INI file i sadrži paramatre

sistema koji se učitavaju pri inicijalizaciji.

DIGRAFMessages.dll Resource DLL koji sadrži poruke koje se upisuju u event log.

Page 28: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

28

DETALJAN ARHITEKTURNI PLAN

SOFTVERA NA NISKOM NIVOU

Organizacija softvera na donjem nivou

Sofver na donjem nivou organizovan je kao multitreding aplikacija, pri čemu se neki tredovi izvršavaju

neprekidno, dok se neki startuju prema potrebi, i automatski zaustavljaju kada njihovo izvršavanje

više nije potrebno.

Aplikacije za IRZ i DRZ se razlikuju po vrednostima parametara, i po tome sto neke procedure ne

postoje u kontroleru za IRZ, dok prostoje u kontroleru za DRZ (upravljanje stola, zabravljivanje i

odbravljivanje, hardverski inkrementalni tasteri).

Broj treda 0. 1. 2. 3. 4. 5. 6. 7.

Kontroler IRZ,DRZ IRZ,DRZ IRZ,DRZ DRZ DRZ DRZ IRZ,DRZ

Naziv

labele

#SWINIT

#SETLIM

#SETGAIN

#HOMING

#MOVE

#TBLCTRL

#LOCK

#UNLOCK

(#WENMOV)

(#ININT)

(#PARINIT)

#TIMERS #INC #HWTAST #LIFT #TBLPOS

(#TBLCTRL) #ABORT

Tredovi koji se stalno izvšavaju

Tredovi koji se izvšavaju po potrebi

#SWINIT Inicijalizacija softwera i hardvera iz gornjeg softvera

Page 29: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

29

#SETLIM Postavljanje softverskih granica kretanja na maksimalne fizičke vrednosti

#SETGAIN Postavljanje parametara PID regulatora

#HOMING Procedura mehaničke inicijalizacije

#MOVE Kretanje plafostata

#TBLCTRL Pomeranje lifta pacijent stola na zadatu visinu

#TIMERS Tajmeri za merenje vremena za različite tajm-aute

#INC Inkrementalno kretanje plafostata

#HWTAST Očitavanje hardverskih tastera za inkrementalno kretanja

#LIFT Stejt mašina za kontrolu kretanja pacijent stola preko papučica

#TBLPOS Očitavanje visine i položaja pacijent stola

#ABORT Prekidanje započete operacije pre njenog normalnog završetka

#WENMOV Čekanje na taster dozvole kretanja

#ININIT Reakcija na otpuštanje tastera dozvole kretanja

#PARINIT Inicijalizacija parametara sistema

Interapt tabela

Ova tabela sadrži interapt kodove pomodu kojih softver na donjem nivou javlja PC aplikaciji da je neki

posao završen ili se neki događaj desio.

R.br. UI Code Naziv Opis

1. 0 0xF0 Pedal Pressed pritisnuta pedala pacijent stola

2. 1 0xF1 Pedal Released time-out u operacijama sa pacijent-stolom

3. 2 0xF2 Motion Complete završeno kretanje

4. 3 0xF3 Homing Complete završena mehanička inicijalizacija

5. 4 0xF4 Abort Complete završena procedura prekida kretanja

6. 5 0xF5 HW Button Down pritisnut taster za inkrementalno kretanje na dole na detektoru

7. 6 0xF6 HW Button Up pritisnut taster za inkrementalno kretanje na gore na detektoru

Page 30: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

30

8. 7 0xF7 HW Button Released otpušteni tasteri za inkrementalno kretanje na detektoru

9. 8 0xF8 Table Removed Završeno pozicioniranje stola na zadatu visinu

10. 9 0xF9 Unlock Complete Završeno odbravljivanje detektora

Osenčene vrednosti se trenutno ne koriste.

Parametri sistema

Parametri sistema su promeljive čije vrednosti utiču na način ponašanja sistema. S obzirom da se

ocekuje da za konkretne plafostate postoje konkretne brojke, koje mogu da odstupaju od teorijski

predviđenih vrednosti, vrednosti promeljivih su zapravo parametri koje de PC softver pročitati iz

konfiguracionog fajla i proslediti softveru na niskom nivou.

Ovi parametri su definisani i postoje i u kodu koji se izvršava na DMC-1850 kontroleru, da bi

izvršavanje programa moglo da bude nezavisno od gornjeg nivoa softvera. Kada se donji softver

pokrede bez PC aplikacije, parametri se definišu pozivom #PARINIT labele.

R.br. Naziv Vrednost Opis

1.

1. HOFFA Home OFFset

Ofset nulte pozicije date ose u odnosu na položaj home prekidača mereno na osovini enkodera motora

2. HOFFB

3. HOFFC

4. HOFFD

5. HOFFE

2.

1. AOFFA Auxilary OFFset

Ofset nulte pozicije date ose u odnosu na položaj home prekidača mereno na osovini pomodnog enkodera

2. AOFFB

3. AOFFC

4. AOFFD

5. AOFFE

3.

1. FLIMA ForwardLIMit

Softverska granica kretanja za osu pri kretanju u pozitivnu stranu. Softverska granica definiše se neposredno ispred limit prekidača.

2. FLIMB

3. FLIMC

4. FLIMD

5. FLIME

Page 31: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

31

4.

1. RLIMA ReverseLIMit

Softverska granica kretanja za osu pri kretanju u negativnu stranu. Softverska granica definiše se neposredno ispred limit prekidača.

2. RLIMB

3. RLIMC

4. RLIMD

5. RLIME

5.

1. READYA READY position

Pozicija u koju plafostat treba da dodje nakon završene mehaničke inicijalizacije

2. READYB

3. READYC

4. READYD

5. READYE

6.

1. VLA Velocity during Limit search

Brzina kojom se osa krede ka negativnom limit prekidaču u toku procedure mehaničke inicijalizacije

2. VLB

3. VLC

4. VLD

5. VLE

7.

1. VHA Velocity during Home search

Brzina kojom se osa krede od negativnog limit prekidača ka home prekidaču u toku procedure mehaničke inicijalizacije

2. VHB

3. VHC

4. VHD

5. VHE

Page 32: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

32

R.br. Naziv Vrednost Opis

8.

1. VIA Velocity during Index search

Brzina kojom se osa krede tražedi indeksni impuls na enkoderu u toku procedure mehaničke inicijalizacije

2. VIB

3. VIC

4. VID

5. VIE

9.

1. ACMA ACceleration during Mechanical initialisation

Ubrzanje kojim se osa ubrzava u toku procedure mehaničke inicijalizacije.

2. ACMB

3. ACMC

4. ACMD

5. ACME

10.

1. DCMA DeCceleration during Mechanical initialisation

Usporenje kojim se osa zaustavlja u toku procedure mehaničke inicijalizacije. Velika vrednost treba da izazive "trenutno" zaustavljanje

2. DCMB

3. DCMC

4. DCMD

5. DCME

11.

1. VCA Velocity during inCremental motion

Brzine kojima se kredu ose u inkrementalnom režimu rada. 2. VCB

3. VCC

4. VCD

5. VCE

12.

1. ACIA ACceleration during Incremental motion

2. ACIB

3. ACIC

4. ACID

5. ACIE

13. 1. DCIA DeCceleration during Incremental motion

2. DCIB

Page 33: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

33

3. DCIC

4. DCID

5. DCIE

14.

1. PTO_LFT

Time-out vrednost za kretanje lifta.

Vrednost se zadaje kao n*100ms. Ako nakon istega ovog vremena nema daljih pritisaka na pedale pacijent stola, plafostati automatski zauzimaju odgovarajudi položaj.

2. PTO_INC

Time-out vrednost za inkrementalno kretanje.

Vrednost se zadaje kao n*100ms. Ako nakon istega ovog vremena ne dođe do potvrde da je inkrementalni taster i dalje pritisnut, kretanje se zaustavlja.

3. PTO_BRK

Time-out za kočenje kod inkrementalnog kretanje. Vrednost se zadaje kao n*100ms. Ako nakon istega ovog vremena nema ponovnog pritiska tastera za kretanje iste ose, kočnice te ose se blokiraju

15.

1. VRFA Veloctity ReFerence

Nominalna brzina kretanja po osama 2. VRFB

3. VRFC

4. VRFD

5. VRFE

Page 34: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

34

R.br. Naziv Vrednost Opis

16.

1. ARFA Acceleration ReFerence

Nomialna ubrzanja i usporenja po osama 2. ARFB

3. ARFC

4. ARFD

5. ARFE

17.

1. PGAINA Pojačanje proporcionalnog dejstva PID regulatora

2. PGAINB

3. PGAINC

4. PGAIND

5. PGAINE

18.

1. DGAINA Pojačanje diferencijalnog dejstva PID regulatora

2. DGAINB

3. DGAINC

4. DGAIND

5. DGAINE

19.

1. IGAINA Pojačanje integralnog dejstva PID regulatora

2. IGAINB

3. IGAINC

4. IGAIND

5. IGAINE

20.

1. ILIMA Ograničenje upravljačkog signala integralnog dejstva

2. ILIMB

3. ILIMC

4. ILIMD

5. ILIME

Page 35: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

35

Opis procedura softvera na donjem nivou

#SWINIT –inicijalizacija kartice, hardvera i softvera

Tred:

Izvršava se kao tred 0.

Ulazne promenljive:

Nema posebnih ulaznih promeljivih. Pretpostavlja se da su parametri inicijalizovani pre pokretanja

ove procedure.

Izlazne promeljive:

Nema posebnih ulaznih promeljivih.

Interapt

Ne generiše interapt.

Opis

Ova procedura služi za inicijalizaciju. Poziva je PC softver nakon definisanja parametara. Unutar ove

procedure zaustavljaju se svi tredovi (ako su pokrenuti), resetuju digitalni izlazi, inicijalizuju se

promeljive i flegovi potrebni za rad sistema i startuje se procedura homovanja.

#SETLIM –postavljanje softverskih granica kretanja

Tred:

Izvršava se kao tred 0.

Ulazne promenljive:

Nema posebnih ulaznih promeljivih. Pretpostavlja se da su parametri FLIM i RLIM za ose

inicijalizovani pre pokretanja ove procedure.

Izlazne promeljive:

Nema posebnih ulaznih promeljivih.

Interapt

Ne generiše interapt.

Opis

Ova procedura postavlja softverske granice definisane parametrima FLIM i RLIM za svaku osu. Ove

granice predstavljaju fizičke granice radnog prostora za globalno kretanje. U zavisnosti od izabrane

tehnike, PC softvrer postavlja softverske granice specifične za tu tehniku. Povratak na softverske

granice za globalno kretanje izvodi se pozivom ove procedure.

Page 36: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

36

#SETGAIN –postavljanje parametara regulatora

Tred:

Izvršava se kao tred 0.

Ulazne promenljive:

Nema posebnih ulaznih promeljivih. Pretpostavlja se da su parametri PGAIN, DGAIN, IGAIN i ILIMN

za ose inicijalizovani pre pokretanja ove procedure.

Izlazne promeljive:

Nema posebnih ulaznih promeljivih.

Interapt

Ne generiše interapt.

Opis

Ova procedura podešava parametre PID regulatora za svaku od osa, i ograničava integralno dejstvo.

#HOMING – mehanička inicijalizacija plafostata

Tred:

Izvršava se kao tred 0.

Ulazne promenljive:

Nema posebnih ulaznih promeljivih. Pretpostavlja se da je pre pokretanja homing procedure izvšena

inicijalizacija svih parametarskih promeljivih.

Izlazne promeljive:

Nema posebnih izlaznih promeljivih.

Interapt

Generiše user interapt broj 3, u gornjem softveru 0xF3.

Opis

Ova procedura služi za mehaničku inicijalizaciju plafostata. Mehanička inicijalizacija izvodi se tako što

svaka osa kretanja krede u negativnu stranu ka graničnom prekidaču. Kada sve ose dođu do granice,

kretanje krede u pozitivnu stranu manjom brzinom do ivice home prekidača. Tada se definiše nulta

pozicija za sistem, a zatim se sistem odvodi u ready poziciju. Na početku homing procedure, prvi

pritisak na taster dozvole kretanja otpušta kočnice i spojnice translatornih osa sistema, tako da je

mogude ručno pomeranje plafostata. Slededi pritisak na taster dozvole kretanja pokrede sistem.

Ako se u toku kretanja otpusti taster dozovole kretanja, pre nego što ose dođu do limit prekidača,

takođe je mogude ručno pomeranje plafostata. Nakon što ose pronađu limit prekidače, ručno

pomeranje nije mogude.

Page 37: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

37

#MOVE – pomeranje plafostata u željenu poziciju

Tred:

Izvršava se kao tred 0.

Ulazne promenljive:

REFA,REFB,REFC,REFD,REFE, referentne vrednosti u koje želimo da dođe plafostat. Referentne vrednosti zadaju se kao apsolutne pozicije u enkoderskim impulsima

VRFA,VRFB,VRFC,VRFD,VRFE, referentne brzine krstarenja za svaku osu. Zadaju se u enkoderskim impulsima u sekundi

ARFA,ARFB,ARFC,ARFD,ARFE, referentna ubrzanja i usporenja za svaku osu. Zadaju se u enkoderskim impulsima u sekundi na kvadrat.

MVFIRST, fleg koji označava prvo kretanje u nizu, i kao takvo zahteva detekciju predje ivice na

tasteru dozvole kretanja. MVFIRST=1 znači da je potrebno najpre otpustiti taster, a zatim ga pritisnuti da bi kretanje započelo. MVFIRST=0 znači da segment kretanja nije prvi u nizu, pa je dovoljno da je taster pritisnut da bi se kretanje nastavilo.

MVLAST, fleg koji označava poslednje kretanje u nizu, i kao takvo zahteva aktiviranje kočnica. MVLAST=1 znači da de kočnice biti aktivirane na kraju kretanja. MVLAST=0 znači da segment kretanja nije poslednji u nizu, pa kočnice nede biti aktivirane.

MVFREE, fleg koji označava slobodno kretanje koje ne zavisi od tastera dozvole kretanja.

Izlazne promeljive:

Nema posebnih izlaznih promeljivih.

Interapt

Generiše user interapt broj 2, u gornjem softveru 0xF2.

Opis

Ova procedura služi za pomerajne plafostata u željenu poziciju.

#LOCK – zabravljivanje četvrte ose detektora

Tred:

Izvršava se kao tred 0.

Ulazne promenljive:

Nema posebnih ulaznih promenljivih.

Izlazne promeljive:

Nema izlaznih promenljivih

Interapt

Ne generiše interapt.

Page 38: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

38

Opis

Zabravljuje četvrtu osu detektora pri položaju od 90, što je naročito korisno kod tehnike snimanja

pluda.

#UNLOCK – odbravljivanje četvrte ose detektora

Tred:

Izvršava se kao tred 0.

Ulazne promenljive:

Nema posebnih ulaznih promenljivih.

Izlazne promeljive:

Nema izlaznih promenljivih

Interapt

Generiše user interapt 9, u gornjem softveru 0xF9.

Opis

Odbravljuje četvrtu osu detektora, ako je prethodno bila zabravljena.

#TIMERS – tajmeri za merenje vremena

Tred:

Izvršava se kao tred 1.

Ulazne promenljive:

Nema posebnih ulaznih promenljivih.

Izlazne promeljive:

Nema izlaznih promenljivih

Interapt

Ne generiše interapt.

Opis

Ovaj tred se pokrede automatski i odbrojava vreme u ritmu od 100ms. Gornji softver nema direktnu

komunikaciju sa ovim tredom.

#INC – inkrementalno kretanje plafostata

Tred:

Izvršava se kao tred 2.

Page 39: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

39

Ulazne promenljive:

INCMOVE, promenljiva koja inkrementalno pokrede neku od osa plafostata

~h, promenljiva koja određuje koja osa treba da se pokrene

Izlazne promenljive:

Nema posebnih izlaznih promeljivih.

Interapt

Ne izaziva korisnički interapt.

Opis

Ova procedura vrši inkrementalno pomeranje jedne ose plafostata u željenom smeru. Gornji softver

definiše koja osa (~h=0,1,2,3 ili 4) i u koju stranu treba da krene (INCMOVE=+2 za pozitivnu ili

INCMOVE=-2 za negativnu stranu). Otpuštanje tastera za inkrementalno kretanje treba da resetuje

INCMOVE promenljivu na vrednost nula (INCMOVE=0) čime se kretanje zaustavlja. Dva tajmerska

mehanizma su vezana za ovu proceduru. Prvi, koji je aktivan nakon što kretanje počne, predstavlja

intreval u kojem treba da stigne potvrda da je kretanje i dalje aktivno. Ako u zadatom intervalu ova

potvrda ne stigne, kretanje se zaustavlja. Drugi mehanizam vezan je za kočenje ose koja se

inkrementalno kretala. Nakon što je kretanje prestalo, kočnice se nede aktivirati odmah, ved posle

određenog vremenskog perioda, tako da inkrementalno pomeranje iste ose ide bez nepotrebnog

uključivanja i isključivanja kočnica.

#HWTAST – hardverski tasteri za inkrementalno kretanje plafostata

Tred:

Izvršava se kao tred 3.

Ulazne promenljive:

Nema posebnih ulaznih promenljivih.

Izlazne promenljive:

Nema posebnih izlaznih promeljivih.

Interapt

Izaziva tri korisnička interapta:

user interapt broj 5, u gornjem softveru 0xF5, ako je pritisnut taster za kretanje na dole

user interapt broj 6, u gornjem softveru 0xF6, ako je pritisnut taster za kretanje na gore

user interapt broj 7, u gornjem softveru 0xF7, ako su otpuštena oba tastera

Opis

Stejt mašina koja prati stanja hardverskih tastera za inkrementalno kretanje smeštenih na detektoru.

U zavisnosti od stanja stejt mašine i pritisnutih i/ili otpuštenih tastera generiše se odgovarajudi

inrerapt i obaveštava gornji softver. U stejt mašinu je ugrađen i debaunsing tastera.

Page 40: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

40

#LIFT –kontrola pedala i regulacija visine pacijent stola

Tred:

Izvršava se kao tred 4.

Ulazne promenljive:

LIFTEN, dozvola rada lifta pacijent stola

TLIMUP, softverska granica kretanja lifta na gore

TLIMDN, softverska granica kretanja lifta na dole

Izlazne promenljive:

Nema posebnih izlaznih promeljivih.

Interapt

Ne generiše interapt.

Opis

Stejt mašina koja prati stanja pedala za podizajne i spuštanje stola. U zavisnosti od dozvole rada,

LIFTEN, pritisci na pedale se obradjuju ili ne. Kretanje lifta na gore i dole ograničeno je softverskim

granicama TLIMUP i TLIMDN. Ukidanje dozvole rada LIFTEN=0, prekida kretanje stola. Gornji

softver postavlja granice kretanja u zavisnosti od tehnike i stanja uređaja i daje dozvolu kretanja, a

takođe i ukida dozvolu kretanja kada je to potrebno.

#TBLCTRL –postavljanje stola na zadatu visinu

Tred:

Izvršava se kao tred 0 kad se poziva iz PC softvera, a kao tred 5 kad se poziva iz homing procedure.

Ulazne promenljive:

REFU, referetni napon koji odgovara zadatoj visini stola

Izlazne promenljive:

Nema posebnih izlaznih promeljivih.

Interapt

Generiše user interapt 8, u gornjem softveru 0xF8.

Opis

Procedura koja postavlja sto na zadatu visinu.

#TBLPOS –određivanje pozicije stola

Tred:

Izvršava se kao tred 5.

Page 41: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

41

Ulazne promenljive:

Nema posebnih ulaznih promenljivih.

Izlazne promenljive:

POT1, napon na potenciometru za merenje visine stola

POT2, napon na potenciometru za merenje visine stola

POT3, napon na potenciometru za merenje lateralnog plivanja stola

POT4, napon na potenciometru za merenje podužnog plivanja stola

Interapt

Ne generiše user interapt.

Opis

Procedura koja meri napon na potenciometrima koji određuju poziciju stola. Visina stola određena je

zbirom napona POT1 i POT2 , lateralno plivanje naponom POT3, a podužno plivanje naponom

POT4. Gornji softver poziva ovu proceduru kada želi da sazna poziciju stola. Potrebno je da se nakon

poziva procedure sačeka izvesno vreme pre čitanja rezultata merenja.

Page 42: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

42

#ABORT – prekid započete akcije

Tred:

Izvršava se kao tred 7.

Ulazne promenljive:

Nema ulaznih promeljivih

Izlazne promeljive:

Nema izlaznih promenljivih

Interapt

Generiše user interapt broj 4, u gornjem softveru 0xF4.

Opis

Ova procedura služi za prekid započete akcije, kretanja plafostata ili kretanja stola, pre normalnog

završetka akcije. Ako nikakva akcija nije započeta, abort de odmah javiti da je posao završen. Homing

proceduru nije mogude prekinuti.

#WENMOV – čekanje na pritisak tastera za dozvolu kretanja

Tred:

Izvršava se kao tred 0.

Ulazne promenljive:

MVFREE, fleg koji modifikuje ponašanje, ne čeka se pritisak tastera dozvole kretanja

MVFIRST, fleg koji modifikuje ponašanje, definiše čekanje na prednju ivicu tastera dozvole kretanja

HMFIRST, fleg koji modifikuje ponašanje, ne inicijalizuje interapt proceduru za otpuštanje tastera dozvole kretanja.

Izlazne promeljive:

Nema izlaznih promenljivih

Interapt

Ne generiše interapt.

Opis

Ova procedura se ne poziva iz gornjeg softvera, ved iz jedne od procedura #HOMING, #MOVE ili

#TBLCTRL, tako da kretanje počinje tek nakon pritiska na taster dozvole kretanja, a otpuštanje

tastera dozvole kretanja treba da kretanje zaustavi.

Fleg MVFIRST modifikuje način čekanja na pritisak tastera. Ako je MVFIRST=1 , što je

podrazumevana vrednost, onda je kretanje prvo u nizu, i čeka se prednja ivica, odnosno, najpre

Page 43: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

43

otpuštanje a zatim pritisak na taster. Ako je MVFIRST=0 , ona segment kretanja nije prvi u nizu, pa

je dovoljno samo da je taster pritsnut, odnosno ne zahteva se njegovo prethodno otpuštanje.

Fleg HMFIRST služi da u toku HOMING procedure prvi pritisak na taster dozvole kretanja otpusti

kočnice i spojnice, a da pri tome ne inicira interapt koji hvata otpuštanje tastera dozvole kretanja.

Slededi pritisak na taster dozvole kretanja zapravo startuje homing proceduru.

#ININT – interapt reakcija na otpuštanje tastera dozvole kretanja

Tred:

Izvršava se kao tred 0.

Ulazne promenljive:

Nema posebnih ulaznih promenljivih.

Izlazne promeljive:

Nema izlaznih promenljivih

Interapt

Ne generiše interapt.

Opis

Ova procedura se ne poziva iz gornjeg softvera, ved iz jedne od procedura #HOMING, #MOVE ili

#TBLCTRL, ako se u toku kretanja otpusti taster dozvole kretanja. U zavisnosti od toga koja je akcija u

toku, deside se različite stvari. Ako je kretanje stola u toku, #TBLCTRL aktivan, onda de se sto prosto

zaustaviti. Ako je #MOVE u toku, onda de se kretanje zaustaviti i kočnice zakočiti, dok de u slučaju

#HOMING procedure kretanje biti zaustavljeno, a kočnice de ostati otkočene ako granični prekidač

nije pronađen, odnosno bide zakočene ako je granični prekidač pronađen.

#PARINIT – inicijalizacija parametara sistema

Tred:

Izvršava se kao tred 0.

Ulazne promenljive:

Nema posebnih ulaznih promenljivih.

Izlazne promeljive:

Definiše i inicjalizuje sve parametre sistema.

Interapt

Ne generiše interapt.

Page 44: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

44

Opis

Ova procedura se ne poziva iz gornjeg softvera, ved prilikom ručnog startovanja softvera na donjem

nivou, kada je potrebno definisati sve parametre koje bi inače definisao PC softver.

Dodatak 1: Algoritmi i stejt mašine IRZ

Page 45: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

45

-Inicijalizacija promenljivih

Ne

Da

Poĉetak

Kraj

TDK pritisnut,prvi pritisak

#WENMOV

-Zabranjujemo interapte -Otpuštamo spojnice translatornim osama-Koĉimo rotacione ose

Sistem je moguće ruĉno razmrdati

Ne

Ne

Ne

Da

Da

Da

Da

Da

TDK pritisnut,drugi pritisak

-Sve ose došle do svog graniĉnog prekidaĉa

-Sve ose došle do svog HOME prekidaĉa

#WENMOV

-Iskljuĉujemo sw granice sistema-Inicijalizujemo ubrzanja i jaka koĉenja

- one ose koje nisu nasvoje graniPokre emo šle

ć

ĉne prekidaĉe

- zujemo traInicijali ţenje HOME prekidaĉa i strtujemo kretanje

Definišemo koordinatni poĉetak

-Odlazimo u READY poziciju

#MOVE

-Po šetku pokreta zako

šeno

zavr ĉimo sistem-Iskljuĉujemoi upravljanje rotacionim osama-Javljamo user interapt gornjem sw da je kretanje zavr UI3

#HOMING-IRZPROCEDURA MEHANI KE INICIJALIZACIJEĈ

Page 46: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

46

-Zadajemo nove reference sistemu

Ne

Ne

Ne

Ne

Ne

Ne

Da

Da

Da

Da

Abort procedura pokrenuta

Abort procedura pokrenuta

Trezadnja u planiranom pokretu

nutna sekvenca kretanja nije

-Startujemo kretanje trnaslatornih osa

-Startujemo kretanje rotacionh osa ako za to ima potrebe

Kretanje zavrseno

-Iskljuĉujemo upravljanje rotacionim osama i koĉimo ih

-Gasimo upravljanje rotacionim osama

-Zabranjujemo interapte tastera-Resetujemo promenljive

-Proces homovanja u toku ili kretanje abortirano

-šeno

Javljamo user interapt gornjem sw da je kretanje zavr

#MOVABT

#MNOBRK

MVABORT=1

ABORT =1

MVLAST<>1

HOMING=1 | ABORT=1

TDK pritisnut

#WENMOV

UI2

#MOVE-IRZ

-Iskljuĉujemo time-outza koĉnice INC kretanja

-Oĉitavamo trenutnu poziciju rotacionih osa

Kraj

#MVEND

Poĉetak

Page 47: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

47

#WENMOV-IRZ PROCEDURA ĈEKANJA NA PRITISAK TASTERA ZA DOZVOLU KRETANJA

Ne

Ne

Ne

Ne

Ne

Ne

Da

Da

Da

Kraj

-Sekvenca nije prva u pokretu, ne ekamo otpuštanje tasteraĉ

MVFIRST<>1

-Pokrenuta ABORT procedura

-Pokrenuta ABORT procedura

ABORT=1

ABORT=1

-Jedan od dva ili oba TDK pritisnuta

-TDK nije pritisnut

IN1=0 | IN2=0

IN1=1 & IN2=1

Da

Da

#TAS12CL

#TAS12OP

-U HOMING-u ĉekamo da TDK bude pritisnut prvi put

HMFIRST=1

Da

-TDK pritisnut, ispitujemo koji i dozvoljavamo da interapt procedura reaguje na taj taster

#WEBRCL

-Otkoĉimo sistem i ukljuĉimo spojnice

#WENABT

-Zabranjujemo interapte i MVABORT=1

#WENEND

-Košeno

ĉimo rotacione ose ako je njihovo kretanje zavr

Poĉetak

Page 48: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

48

Ne

Ne

Ne

Da

Da

Poĉetak

Povratak u glavnu proceduru sadozvoljenim trippoints

MOVE procedura u toku

-Pamtimo trenutne brzine sistema-Zaustavljamo plafostate

MOVING<>0

-HOMING je u toku:-Sve ose došle do svojih graniĉnih prekidaĉa

LIMFOUND=1

-Ot štamo spojnice samo onim translatornim osama koje nisu došle do svojih grani

pu

ĉnih prekidaĉa

-Na taj na in omoguĉ ćeno ruĉno razmrdavanje sistema u HOMING-u

-Koţavaju prethodno

stanje

ĉnice translatornih osa ne koĉe a rotacionih osa zadr

#MOVEGO

#HOMEGO

-ţavaju trenutno

stanje ko

Ĉekamo 1sec i koĉimo translatorne ose dok rotacione zadr

ĉnica

Da

TDK pritisnut

#WENMOV

-Inicijalištanja tastera

zujemo sistemu brzine koje su bile aktuelne pre otpu

RI1

#ININT-IRZ INTERAPT PROCEDURA-REAKCIJA NA OTPUŠTANJE TASTERA

Page 49: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

49

#INCPoĉetak

Nije stigla komanda za inkrementalno kretanja ?

- Inicijalizacija promenljivih i resetovanje tajmera

Smer kretanja?

INCMOVE<>2

Brzina je pozitivna

VINC=VCA

@ABS[INCMOVE]<>2

~h=0

Da

Ne

Koja osa treba da se kreće?

~h=?

Poz. Neg.

Grani?

ĉni prek.nije pritisnut

_LFA=1

Grani?

ĉni prek.nije pritisnut

_LRA=1

Da Da

Brzina je negativna

VINC= - VCA

Pripremi ubrzanje i usporenje, pripremi paljenje i gašenje

spojnica i koĉnica

Nema kretanja

INCMOVE=0

Nema kretanja

INCMOVE=0

NeNe

~h=1 ~h=2 ~h=3 ~h=4

#OSA_B #OSA_C #OSA_D #OSA_E

#AMINUS

#AMNOLS#APNOLS

#GO_AINC

Ukljuĉi i iskljuĉi koĉnice (i spojnice)

Startuj tajmer za kretanjePostavi brzinu, ubrzanje i usporenje

Pokreni osu

#GO

Stigla je potvrda da se kretanje nastavlja

@ABS[INCMOVE]=2

Resetuj tajmer za kretanjeINCMOVE=1

Da

Ne

Kretanje ne treba zaustaviti?

INCMOVE<>0

Ne

Da

#INCLP2

Zaustavi kretanje i ugasi servo za rot. oseStartuj tajmer za koĉnice

#INCLP3

Nije stigla nova komanda za kretanje, i nije došlo vreme da se koĉi

( = )&(BREAK=0)INCMOVE 0

Ne

Da

Zaustavi ĉnicetajmer za ko

Istekao je tajm-out za koĉnice?

BREAK=1

Ne

Da

Zakoĉi sve koĉnice

(Isklju )ĉi sve spojnice

Kraj

#WTTAS

Page 50: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

50

#TIMERSPoĉetak

#TIMERS

Tajmer inkrementalnog kretanja startovan?

TE_INC=1

Da

Ne

Vreme jos nije iscurelo?

TO_INC>0

Da

Ne

Kraj

Vreme je iscurelo?TO_INC>0

Da

Ne

Smanji boja vremenaĉ

TO_INC=TO_INC-1

Zaustavi tajmer i pokreni zaustavljanje inkrementalnog kretanja

T _INCE = 0

INCMOVE= 0

Tajmer startovan?za kocnice

TE_BRK=1

Da

Ne

Vreme jos nije iscurelo?

TO_ >0BRK

Da

Ne

Vreme je iscurelo?

TO_ >0BRK

Da

Ne

Smanji boja vremenaĉ

TO_BRK=TO_BRK-1

Zaustavi tajmer i pokreni koĉenje sistema

T _E BRK= 0

BREAK= 0

Saĉekaj 100 ms

Page 51: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

51

Ne

Ne

Da

Da

Da

-Proces homovanja u toku

HOMING 0<>

Poĉetak

Kraj

#ABORT - IRZ PREKIDANJE KRETANJA NA ZAHTEV ŠEG SWVI

-Tred za kretanje plafostata

MOVING=0

ABORT=1

-Zaustavljamo plafostat

-Proces nije abortovan

ABORTED=0

#ABLOOP

#ABREND

Ne

-Resetujemo promenljive

-Javljamo gornjem sw user interaptUI4

Dodatak 2: Algoritmi i stejtmašine DRZ

Page 52: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

52

- zujemo traInicijali ţenje HOME prekidaĉa i strtujemo kretanje

#HOMING-DRZPROCEDURA MEHANI KE INICIJALIZACIJEĈ

Ne -Sve ose došle do svog HOME prekidaĉa

Definišemo koordinatni poĉetak

-Odlazimo u READY poziciju

#MOVE

-Po šetku pokreta zako

šeno

zavr ĉimo sistem-Iskljuĉujemoi upravljanje rotacionim osama-Javljamo user interapt gornjem sw da je kretanje zavr

-Inicijalizacija promenljivih

Ne

Da

Poĉetak

TDK pritisnut,prvi pritisak

#WENMOV

-Zabranjujemo interapte -Otpuštamo spojnice translatornim osama-Koĉimo rotacione ose

Sistem je moguće ruĉno razmrdati

Ne

Ne

Ne

Ne

Da

TDK pritisnut,drugi pritisak

-Sve ose došle do svog graniĉnog prekidaĉa

-Osa D došla do svoje granice i sto završio kretanje

-Osa došla do svoje granice E

#WENMOV

-Iskljuĉujemo sw granice sistema-Inicijalizujemo ubrzanja i jaka koĉenja

- one ose koje nisu na svoje grani

Pokre emo translatorne šle

ć

ĉne prekidaĉe

-Odbravljujemo ĉetvrtu osu

SB 11, SB 12

-Osa odbravljena, ne ĉini pokret potreban za sigurno odbravljivanje

IN[9]=1

Da

Ne

-Pokrećemo osu D relativno 100 impulsa kako bi sigurno odbravili tu osu

#HUNLK

-Pokre šla do svoje granice-Automatski pozicioniramo sto na 600mm

ćemo osu D ako nije do

XQ #TBLCTRL,5

Da

Da

-Pok šla do svoje granice

rećemo osu E ako nije do

Da

Da

Kraj

Da

UI3

Page 53: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

53

-Zadajemo nove reference sistemu

Ne

Ne

Ne

Ne

Ne

Ne

Da

Da

Da

Da

Abort procedura pokrenuta

Abort procedura pokrenuta

Trezadnja u planiranom pokretu

nutna sekvenca kretanja nije

-Startujemo kretanje trnaslatornih osa

-Startujemo kretanje rotacionh osa ako za to ima potrebe

Kretanje zavrseno

-Iskljuĉujemo upravljanje rotacionim osama i koĉimo ih

-Gasimo upravljanje rotacionim osama

-Zabranjujemo interapte tastera-Resetujemo promenljive

-Proces homovanja u toku ili kretanje abortirano

-šeno

Javljamo user interapt gornjem sw da je kretanje zavr

#MOVABT

#MNOBRK

MVABORT=1

ABORT =1

MVLAST<>1

HOMING=1 | ABORT=1

TDK pritisnut

#WENMOV

UI2

#MOVE-DRZ

-Iskljuĉujemo time-outza koĉnice INC kretanja

-Oĉitavamo trenutnu poziciju rotacionih osa

Kraj

#MVEND

Poĉetak

Page 54: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

54

#WENMOV-DRZ PROCEDURA ĈEKANJA NA PRITISAK TASTERA ZA DOZVOLU KRETANJA

Da

-Jedan od dva ili oba TDK pritisnutaDa

Da

#TAS12CL

#TAS12OP

Da

Da

#WEBRCL

-Otkoĉimo sistem i ukljuĉimo spojnice

Ne

Ne

Ne

Ne

Ne

Ne

Da

Da

-Sekvenca nije prva u pokretu, ne ekamo otpuštanje tasteraĉ

MVFIRST<>1

-Pokrenuta ABORT procedura

-Pokrenuta ABORT procedura

ABORT=1

ABORT=1

-TDK nije pritisnut

IN1=0 | IN2=0

IN1=1 & IN2=1

-U HOMING-u ĉekamo da TDK bude pritisnut prvi put

HMFIRST=1

-TDK pritisnut, ispitujemo koji i dozvoljavamo da interapt procedura reaguje na taj taster

#WENABT

-Zabranjujemo interapte

Poĉetak

-Automatsko pošeno

zicioniranje stola u toku i homovanje zavr

TMOVE=1 & HOMING=0

Ne

-MOVE u toku, MVABORT=1-TBLCTRL u toku, TBABORT=1

-Po icioniranje stola šenaz zavr

TMOVE=0

Da

Ne

-Pokrećemo sto u odgovarajućem smeru,

-Pokrećemo sto u odgovarajućem smeru,

SB 9 | SB 10

SB 9 | SB 10

-Košile svoje kretanje

ĉimo rotacione ose ako su zavr

#WENTBL

Kraj

#WDEBRK

#WENEND

Page 55: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

55

Page 56: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

56

Ne

Da

Poĉetak

Pozicioniranje stola u tokui homovanje sistema završeno

Pozicioniranje stola u tokui homovanje sistema završeno

T E=1 & HOMING=0MOV

T E=1 & HOMING=0MOV

#ININT-DRZ INTERAPT PROCEDURA-REAKCIJA NA PRITISAKILI OTPUŠTANJE TASTERA

-Pamtimo trenutne brzine sistema-Zaustavljamo plafostate

Ne

Da MOVE procedura u toku

MOVING<>0

-Zaustavljamo sto kada se nalazimo u proceduri homovanja

-Zaustavljamo sto

CB 9, CB 10

CB 9, CB 10

Ne

Da-HOMING je u toku:-Sve ose došle do svojih graniĉnih prekidaĉa

LIMFOUND=1

-Ot štamo spojnice samo onim translatornim osama koje nisu došle do svojih grani

pu

ĉnih prekidaĉa

-Na taj na in omoguĉ ćeno ruĉno razmrdavanje sistema u HOMING-u

-Koţavaju prethodno

stanje

ĉnice translatornih osa ne koĉe a rotacionih osa zadr

#HOMEGO

#MOVEGO

#TBLSTOP

-ţavaju trenutno

stanje ko

Ĉekamo 1sec i koĉimo translatorne ose dok rotacione zadr

ĉnica

Ne

Da

TDK pritisnut

#WENMOV

Da

Ne

-Inicijalištanja tastera

zujemo sistemu brzine koje su bile aktuelne pre otpu

-Ukljuĉujemo integratore rotacionim osama

#INTEND

Povratak u glavnu proceduru sadozvoljenim trippoints RI1

Page 57: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

57

Page 58: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

58

#INCPoĉetak

Nije stigla komanda za inkrementalno kretanja ?

- Inicijalizacija promenljivih i resetovanje tajmera

Smer kretanja?

INCMOVE<>2

Brzina je pozitivna

VINC=VCA

@ABS[INCMOVE]<>2

~h=0

Da

Ne

Koja osa treba da se kreće?

~h=?

Poz. Neg.

Grani?

ĉni prek.nije pritisnut

_LFA=1

Grani?

ĉni prek.nije pritisnut

_LRA=1

Da Da

Brzina je negativna

VINC= - VCA

Pripremi ubrzanje i usporenje, pripremi paljenje i gašenje

spojnica i koĉnica

Nema kretanja

INCMOVE=0

Nema kretanja

INCMOVE=0

NeNe

~h=1 ~h=2 ~h=3 ~h=4

#OSA_B #OSA_C #OSA_D #OSA_E

#AMINUS

#AMNOLS#APNOLS

#GO_AINC

Ukljuĉi i iskljuĉi koĉnice (i spojnice)

Startuj tajmer za kretanjePostavi brzinu, ubrzanje i usporenje

Pokreni osu

#GO

Stigla je potvrda da se kretanje nastavlja

@ABS[INCMOVE]=2

Resetuj tajmer za kretanjeINCMOVE=1

Da

Ne

Kretanje ne treba zaustaviti?

INCMOVE<>0

Ne

Da

#INCLP2

Zaustavi kretanje i ugasi servo za rot. oseStartuj tajmer za koĉnice

#INCLP3

Nije stigla nova komanda za kretanje, i nije došlo vreme da se koĉi

( = )&(BREAK=0)INCMOVE 0

Ne

Da

Zaustavi ĉnicetajmer za ko

Istekao je tajm-out za koĉnice?

BREAK=1

Ne

Da

Zakoĉi sve koĉnice

(Isklju )ĉi sve spojnice

Kraj

#WTTAS

Page 59: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

59

#TIMERS Poĉetak

#TIMERS

Tajmer inkrementalnog kretanja startovan?

TE_INC=1

Da

Ne

Vreme jos nije iscurelo?

TO_INC>0

Da

Ne

Kraj

Vreme je iscurelo?TO_INC>0

Da

Ne

Smanji boja vremenaĉ

TO_INC=TO_INC-1

Zaustavi tajmer i pokreni zaustavljanje inkrementalnog kretanja

T _INCE = 0

INCMOVE= 0

Tajmer startovan?za kocnice

TE_BRK=1

Da

Ne

Vreme jos nije iscurelo?

TO_ >0BRK

Da

Ne

Vreme je iscurelo?

TO_ >0BRK

Da

Ne

Smanji boja vremenaĉ

TO_BRK=TO_BRK-1

Zaustavi tajmer i pokreni koĉenje sistema

T _E BRK= 0

BREAK= 0

Saĉekaj 100 ms

Page 60: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

60

Ne

Ne

Da

Da

Da

-Proces homovanja u toku

HOMING 0<>

Poĉetak

Kraj

#ABORT - DRZ PREKIDANJE KRETANJA NA ZAHTEV ŠEG SWVI

-Tred šavaju

za kretanje plafostata i tred za sto se ne izvr

MOVING=0 & TMOVE=0

ABORT=1-Zaustavljamo sto, ako se kreće-Zaustavljamo plafostate

-Procesi nisu abortovani

ABORTED=0

#ABLOOP

#ABREND

Ne

-Resetujemo promenljive

-Javljamo gornjem sw user interaptUI4

Page 61: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

61

#HWTAST Poĉetak

Stanje stejt mašine ?

#HWTLOOP

- Inicijalizacija stejt mašine HDIST 0=

Taster za taster za pritsnut

dole otpuštenili gore

(@IN[5]=1)|(@IN[4]=0)

Da

Ne

Pauza za debouncing

Taster za taster za pritsnut

dole otpuštenili gore

(@IN[5]=1)|(@IN[4]=0)

Da

Ne

Javi da je taster za dole pritisnut duţe vreme i

promeni stanje

UI 5; HDIST=1

Taster za taster za pritsnut

gore otpuštenili dole

(@IN[4]=1)|(@IN[5]=0)

Da

Ne

Pauza za debouncing

Taster za taster za pritsnut

gore otpuštenili dole

(@IN[4]=1)|(@IN[5]=0)

Da

Ne

Javi da je taster za pritisnut du

doreţe vreme i

promeni stanje

UI 6; HDIST=2

HDIST=?

#HWT_0

#HWTUT

Taster za dole otpušten

@IN[5]=1

Da

Ne

Javi da je taster i

otpuštenpromeni stanje

UI ; HDIST=7 0

HDIST=1

#HWT_1

HDIST=0

Taster za gore otpušten

@IN[ ]=14

Da

Ne

Javi da je taster i

otpuštenpromeni stanje

UI ; HDIST=7 0

#HWT_2

HDIST=2

Resetuj stejt mašinu

HDIST=0

ostale vrednosti

#HWTEND

Kraj

Page 62: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

62

STA

NJE

0

STA

NJE

1

STA

NJE

3S

TA

NJE

2

PO

ST

OJI

DO

ZV

OL

A Z

A K

RE

TA

NJE

ST

OL

A

PR

ELA

ZIM

O U

STA

NJE

1

NE

PO

ST

OJI D

OZ

VO

LA

ZA

KR

ETA

NJE

ST

OL

A

ZA

US

TA

VL

JA

MO

ST

O,

PR

EL

AZ

IMO

U S

TA

NJE

0

PA

PU

ŢE

OD

20

0m

s I

T

RE

NU

TN

A V

ISIN

A S

TO

LA

IZ

NA

D D

ON

JE

GR

AN

ICE

ĈIC

A Z

A D

OL

E P

RIT

ISN

UTA

D

U

PA

PU

GO

RE

ŢE

OD

20

0m

s I

TR

EN

UT

NA

VIS

INA

ST

OL

A IS

PO

D G

OR

NJE

GR

AN

ICE

ĈIC

A Z

A P

RIT

ISN

UTA

D

U

PA

PU

OT

PU

ŠT

EN

A

DO

NJE

GR

AN

ICE

ĈIC

A Z

A D

OLE

ILI T

RE

NU

TN

A V

ISIN

A S

TO

LA

IS

PO

D PA

PU

OT

PU

ŠT

EN

AN

AD

GO

RN

JE

GR

AN

ICE

ĈIC

A Z

A G

OR

EIL

I T

RE

NU

TN

A V

ISIN

A S

TO

LA

IZ

PO

KR

EI

PR

ELA

ZIM

O U

STA

NJE

EM

O S

TO

NA

NI

PO

KR

EI

PR

EL

AZ

IMO

U S

TA

NJE

EM

O S

TO

NA

VI

NE

PO

ST

OJI D

OZ

VO

LA

ZA

KR

ETA

NJE

ST

OL

AN

E P

OS

TO

JI

DO

ZV

OLA

ZA

KR

ETA

NJE

ST

OLA

ZA

US

TA

VL

JA

MO

ST

O I

P

RE

LA

ZIM

O U

STA

NJE

0Z

AU

STA

VLJA

MO

ST

O I

P

RE

LA

ZIM

O U

STA

NJE

0

LIF

TE

N=

1

LIF

TE

N=

0

LIF

TE

N=

0L

IFT

EN

=0

LIF

TS

T=

1

LIF

TS

T=

0

LIF

TS

T=

0LIF

TS

T=

0

IN[6

]=0 &

NA

PO

N<

TL

IMD

N

IN[8

]=0

& N

AP

ON

>T

LIM

UP

IN[6

]= |

NA

PO

N>

TL

IMD

N1

IN[8

]= |

NA

PO

N<

TL

IMU

P1

SB

10

SB

9

LIF

TS

T=

2

LIF

TS

T=

2

LIF

TS

T=

1

LIF

TS

T=

1

ZA

US

TA

VL

JA

MO

ST

O

I P

RE

LA

ZIM

O U

STA

NJE

1

ZA

US

TA

VL

JA

MO

ST

O

I P

RE

LA

ZIM

O U

STA

NJE

1

CB

10

CB

9

#L

IFT

Page 63: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

63

#L

IFT

Poĉeta

k

Sta

nje

ste

jt m

ašin

e ?

#L1

- In

icija

lizacija

ste

jt m

ašin

eLIF

TS

T0

=

Do

bije

na

dozvola

rad

a?

LIF

TE

N=

1 Da

Ne

Pro

me

ni sta

nje

LIF

TS

T=

1

LIF

TS

T=

?

#0

LS

T

LIF

T1

ST

=

#LS

T1

LIF

TS

T=

0

Pap

uic

a

otp

ušte

n

ĉn

ije

a i

gra

nic

a n

ije p

rob

ijen

a

(6

0)

@IN

[]=

&

(NA

PO

N<

(TLIM

DN

-OF

FD

N))

Da

Ne

Za

usta

vi spu

sto

la

i

šta

nje

p

rom

en

i sta

nje

CB

10;

LIF

TS

T=

1

#LS

T2

LIF

TS

T=

2osta

le

vre

dno

sti

#H

WT

EN

D

Kra

j

Nije

pritisnu

ta p

ap

udo

leĉic

a

za

@IN

[6]<

>0

Da

Ne

Pa

uza

za

deb

oun

cin

g

Nije

pritisnu

ta p

ap

udo

leĉic

aza

@IN

[]<

>0

6

Da

Ne

Odre

di tr

en

utn

u v

isin

u

sto

la

#T

BL

PO

S

Vis

ina m

anja

m

inim

aln

eod

?

Da

NA

PO

N>

=(T

LIM

DN

-OF

FD

N)

Ne

Sta

rtuje

mo

spu

šta

nje

i m

enja

mo

sta

nje

CB

9; S

B10

; L

IFT

ST

=2

#T

BLU

PN

ije p

ritisn

uta

pap

ug

ore

ĉic

a

za

@IN

[8]<

>0

Da

Ne

Pau

za

za d

ebo

un

cin

g

Nije

pri

tisn

uta

pap

ug

ore

ĉic

aza

@IN

[8]<

>0

Da

Ne

Od

red

i tr

enu

tnu v

isin

u

sto

la

#T

BLP

OS

Vis

ina

veća

od

ma

ksim

aln

e?D

a

NA

PO

N<

=(T

LIM

UP

+O

FF

UP

)

Ne

Sta

rtu

jem

o p

odiz

anja

i m

enja

mo s

tan

je

CB

10

; S

B 9

; L

IFT

ST

=3

Odre

di tr

en

utn

u v

isin

u

sto

la

#T

BL

PO

S

Pa

pu

ica

otp

ušte

n

ĉn

ije

a i

gra

nic

a n

ije p

robije

na

(0

)@

IN[8

]= &

(N

AP

ON

>(T

LIM

UP

+O

FF

UP

))

Da

Ne

Za

usta

vi

sto

la

i

po

diz

anje

pro

men

i sta

nje

CB

9;

LIF

TS

T=

1

Od

red

i tr

enu

tnu

vis

inu

sto

la

#T

BLP

OS

Ukin

uta

do

zvola

rad

a?

LIF

TE

N=

0

Da

Ne

Ukin

uta

dozvo

la r

ada

?

LIF

TE

N=

0

Da

Ne

Ukin

uta

dozvo

la r

ada

?

LIF

TE

N=

0

Da

Ne

LIF

TS

T=

3

#LS

T3

Zau

sta

vi kre

tanje

sto

la

i re

se

tuj ste

jt m

ašin

u

CB

9;

; L

IFT

ST

=0

CB

10

#LIF

TR

ES

#LS

TE

ND

Page 64: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

64

Page 65: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

65

#TBLCTRL

NeDa

Poĉetak

Trenutna visina od zadateveća

NAPON<REFU

- Kretanje na gore, TDIR=1

-Korigujemo referencu za poboljšanje taĉnosti

#DIRDN

- Kretanje na doleTDIR=0

-Korigujemo referencu za poboljšanje taĉnosti

Homing u toku?nije

HOMING<>1

- Starujemo kretanje lifta na dole SB 10 - Starujemo kretanje lifta na gore SB 9

Ne

Da Da

Homing u toku?nije

HOMING<>1

Ne

Da

#TWENM

Ĉekamo taster dozovle kretanja

#WENMOV

#T_LOOP

-Pozivamo proceduru za merenje visine stola

Kretanje na gore treba zaustaviti?

(TDIR=1)&(NAPON<REFU)

Ne

Da

-Definišemo ofsete za poboljšanje taĉnosti-Iskljuĉujemo oba relea za kretanje lifta

-Pozivamo proceduru za merenje visine stola - Postavljamo fleg za kretanje stola TMOV=1

#TBLPOS

#TBLPOS

-Zaustavljamo kretanje i resetujemo fleg

CB 9; TMOVE=0

Kretanje na dole treba zaustaviti?

(TDIR= )&(NAPON0 >REFU)Ne

Da

-Zaustavljamo kretanje i resetujemo fleg

CB 10; TMOVE=0

Kretanje nije zaustavljeno i nema aborta( )&(TMOVE=1 TBABORT=0)

NeDa

U toku je homing ili je bio abort(HOMING<>0)|(ABORT=1)

Ne

User interapt UI 8

Homing u toku?nije

HOMING<>1

Ne

Reset. flega TMOVE=0

Homing nije u tokuHOMING<>1

Ne

Zabrani interapte

Bio je abortTBABORT=1

Da

ABORTED=1

Da

Ne

Kraj

#TBLCEN

Page 66: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

66

STANJE 0

STANJE 2STANJE 1

TASTER ZA DOLE P

RITISNUT, A

TASTER ZA

GORE OTPU

DU

ŠTEN ŢE O

D 200ms

JAVLJAMO DA JE TASTER ZA D

OLE

PRITISNUT

UI 5

TASTER ZA G

ORE PR

ITISNUT, A TASTER

ZA

DO

LE OTPU

DU

ŠTEN

ŢE OD 200m

s

JAVLJAMO

DA JE TASTER

ZA GO

RE

PRITISN

UT

UI 6

TA

ST

ER

ZA

DO

LE

OT

PU

ŠT

EN

JAV

LJA

MO

DA

JE

TA

ST

ER

OT

PU

ŠT

EN

UI 7

TA

ST

ER

ZA

GO

RE

OT

PU

ŠT

EN

JA

VLJA

MO

DA

JE

TA

ST

ER

OT

PU

ŠT

EN

UI 7

#HWTAST

Page 67: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

67

#HWTAST Poĉetak

Stanje stejt mašine ?

#HWTLOOP

- Inicijalizacija stejt mašine HDIST 0=

Taster za taster za pritsnut

dole otpuštenili gore

(@IN[5]=1)|(@IN[4]=0)

Da

Ne

Pauza za debouncing

Taster za taster za pritsnut

dole otpuštenili gore

(@IN[5]=1)|(@IN[4]=0)

Da

Ne

Javi da je taster za dole pritisnut duţe vreme i

promeni stanje

UI 5; HDIST=1

Taster za taster za pritsnut

gore otpuštenili dole

(@IN[4]=1)|(@IN[5]=0)

Da

Ne

Pauza za debouncing

Taster za taster za pritsnut

gore otpuštenili dole

(@IN[4]=1)|(@IN[5]=0)

Da

Ne

Javi da je taster za pritisnut du

doreţe vreme i

promeni stanje

UI 6; HDIST=2

HDIST=?

#HWT_0

#HWTUT

Taster za dole otpušten

@IN[5]=1

Da

Ne

Javi da je taster i

otpuštenpromeni stanje

UI ; HDIST=7 0

HDIST=1

#HWT_1

HDIST=0

Taster za gore otpušten

@IN[ ]=14

Da

Ne

Javi da je taster i

otpuštenpromeni stanje

UI ; HDIST=7 0

#HWT_2

HDIST=2

Resetuj stejt mašinu

HDIST=0

ostale vrednosti

#HWTEND

Kraj

Dodatak 3: Digitalni ulazi i izlazi kartice IRZ

Page 68: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

68

Opis digitalnih izlaza kartice IRZ

R.br. Set Reset Opis

1. 0x0001 0xfffe Spojnica ose A

2. 0x0002 0xfffd Rotaciona kočnica ose A

3. 0x0004 0xfffb Spojnica ose B

4. 0x0008 0xfff7 Rotaciona kočnica ose B

5. 0x0010 0xffef Spojnica ose C

6. 0x0020 0xffdf Rotaciona kočnica ose C

7. 0x0040 0xffbf Spojnica ose D

8. 0x0080 0xff7f Kočnica ose D

9. 0x0100 0xfeff Rele napajanja R5

10. 0x0200 0xfdff

11. 0x0400 0xfbff

12. 0x0800 0xf7ff

13. 0x1000 0xefff Translatorna kočnica ose B

14. 0x2000 0xdfff Translatorna kočnica ose A

15. 0x4000 0xbfff Spojnica ose E

16. 0x8000 0x7fff Rotaciona kočnica ose E

Opis digitalnih ulaza kartice IRZ

R.br. Opis

1. Taster dozvole kretanja 1, TDK1

2. Taster dozvole kretanja 2, TDK2

3. Taster otpuštanja kočnica

4. Inkrementalni taster TSYNC

5. Inkrementalni taster TIA-

6. Inkrementalni taster TIA+

7.

8. Inkrementalni taster TIB-

9. Inkrementalni taster TIB+

10. Inkrementalni taster TIC-

11. Inkrementalni taster TIC+

12. Inkrementalni taster TID-

13. Inkrementalni taster TID+

14. Inkrementalni taster TIE-

15.

16. Inkrementalni taster TIE+

Dodatak 4: Digitalni ulazi i izlazi kartice IRZ

Opis digitalnih izlaza kartice DRZ

Page 69: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

69

R.br. Set Reset Opis

1. 0x0001 0xfffe Spojnica ose A

2. 0x0002 0xfffd Rotaciona kočnica ose A

3. 0x0004 0xfffb Spojnica ose B

4. 0x0008 0xfff7 Rotaciona kočnica ose B

5. 0x0010 0xffef Spojnica ose C

6. 0x0020 0xffdf Rotaciona kočnica ose C

7. 0x0040 0xffbf Spojnica ose D

8. 0x0080 0xff7f Kočnica ose D

9. 0x0100 0xfeff Rele za pokretanje stola na gore

10. 0x0200 0xfdff Rele za pokretanje stola na dole

11. 0x0400 0xfbff Rele za zabravljivanje ose D

12. 0x0800 0xf7ff Rele za odbravljivanje ose D

13. 0x1000 0xefff Translatorna kočnica ose B

14. 0x2000 0xdfff Translatorna kočnica ose A

15. 0x4000 0xbfff Spojnica ose E

16. 0x8000 0x7fff Rotaciona kočnica ose E

Opis digitalnih ulaza kartice IRZ

R.br. Opis

1. Taster dozvole kretanja 1, TDK1

2. Taster dozvole kretanja 2, TDK2

3. Taster otpuštanja kočnica

4. Inkrementalni taster DRZ na dole

5. Inkrementalni taster DRZ na gore

6. Taster kretanja pacijent stola na dole, TPSd

7.

8. Taster kretanja pacijent stola na gore, TPSu

9. Taster dojave zabravljivanja

Page 70: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

70

Parametri Digraf-C

1. Parametri planera kretanja U ovom dokumentu su opisani parametri koji definisu ponasanje rentgen uredjaja u

kinematickom smislu. Poglavlje 1.1 sadrzi detaljan opis parametara koji opisuju pacijent-sto i

njegovo kretanje u radnom prostoru. Poglavlje 1.2 sadrzi parametre koji odredjuju bounding box-

ove izvora i detektora rentgenskog zracenja (IRZ i DRZ), kao i prikaz dh parametara cetvrtog i

petog linka plafostata IRZ i DRZ-a koji odredjuju duzine linkova i njihov medjusobni polozaj.

Poglavlje 1.3 sadrzi detaljan opis parametara koji definisu tehnike snimanja (TableTop, TableSide,

TableSlope, Stand, Beside). I na kraju poglavlje 1.4 sadrzi ostale parametre koji sluze za

dimenzionisanje boundig box-ova plafostata kao i parametra za podesavanje safety pozicija.

1.1 Parametri stola

Lift_

dim

s(1

)

Lift_dims(2)

Lift_dims(3)

Ta

ble

_dim

s(1

)

Table_dims(2)

Table_dims(3)

{Xt,yt,zt} = lift_pos

{Xt,yt,zt} = lift_pos

Table_lift_offset(2)

a)

b)

sl.1 Parametri stola: a) pogled odozgo b) pogled sa strane

Page 71: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

71

Lift_pos odnosno pozicija lifta > tacka {xt, yt, zt}, odredjuje se u odnosu na referentni

koordinatni sistem koji se nalazi na stolu. Koordinatni pocetak referentnog koordinatnog sistema se

nalazi na povrsini stola po sredini lifta (po obe dimenzije lifta> x i y).

Dimenzije lifta i ploce stola opisane su vektorima lift_dims, table_dims i to na sledeci nacin:

Lift_dims = [length width height];

table_dims = [length width height];

Ploca stola moze da pliva po x i y osi. Plivanje po y osi definise parametar table_lift_offset(2) i to tako

da je njegova vrednost jednaka nuli kada se sto nalazi u poziciji kada se njegova ivica poklapa sa

ivicom lifta blizoj ready poziciji DRZ-a, a raste kako se udaljava od ivice lifta.

Page 72: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

72

1.2 Parametir bounding box-ova IRZ-a i DRZ-a

Irz_dims(1)

Irz_dims(2)

Irz_dims(3)

Drz_dims(1

Drz_dims(2

Drz_dims(3

Dims = (length, width, height+, height-)

Irz_dims(4)

sl.2 Dimenzije bounding box-ova IRZ-a (na slici gore) i DRZ-a (na slici dole)

Na sl.2 su prikazani parametri koji opisuju bounding box-ove IRZ-a i DRZ-a. Treba primetiti da

vektor IRZ-a koji sadrzi ove parametre ima jedan clan vise u odnosu na vektor drz. Ovaj clan opisuje

bounding box koji je opisan oko motora pete ose IRZ-a.

Page 73: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

73

DH parametri

Irz_a4

irz_d5

drz_d5

Irz_focus

Irz_cross

drz_focus

Drz_cross

sl.3 Prikaz DH parametara cetvrtog i petog linka

IRZ-a i DRZ-a.

sl.4 Prikaz fizickih pozicija tacaka cross i focus

IRZ-a odnosno DRZ-a.

Na slikama sl3. i sl.4 su prikazani dh parametri koji opisuju cetvrti i peti link plafostata, kao i

tacaka na osnovu kojih je vrseno planiranje kretanja (irz_focus, irz_cross, drz_focus, drz_cross).

Page 74: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

74

1.3 Parametri tehnika snimanja

sl.5 Parametri tehnike TableTop (pogled sa strane)

Tehnika snimanja na stolu TableTop. Ploca detektora(crveno) se nalazi ispod povrsine stola

na rastojanju Delta table drz duz z ose. Centar ploce detektora (drz_cross) se nalazi na rastojanju od

tacke {xt, yt, zt} na rastojanju Dist from xt duz x ose. IRZ se nalazi iznad DRZ na rastojanju SID koje je

mereno od gornje povrsine ploce DRZ do povrsine IRZ.

Dist from xt

x

yz

sl.6 Parametri tehnike TableSide (pogled sa strane - sagitalni)

Page 75: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

75

Dist y from table

Dist z from table

x

y

z

sl. 7 Parametri tehnike TableSide (pogled sa strane - frontalni)

Tehnika snimanja na stolu TableSide. Ploca detektora(crveno) se nalazi pored ploce stola na

rastojanju Dist y from table duz y ose. Centar ploce detektora (drz_cross) nalazi se na rastojanju Dist

z from table duz z ose iznad gornje povrsine ploce stola. Takodje se drz_cross nalazi na rastojanju od

tacke {xt, yt, zt} na rastojanju Dist from xt duz x ose. IRZ se nalazi na suprotnoj strani stola u odnosu

na DRZ na rastojanju SID koje je mereno drz_cross do irz_cross.

Tube slope

Dist from xt

x

yz

sl. 8 Parametri tehnike Stand (pogled sa strane – sagitalni)

Page 76: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

76

Dist from yt

Drz

he

igh

t

x

y

z

sl. 9 Parametri tehnike Stand (pogled sa strane - frontalni)

Tehnika snimanja pored stola Stand. Ploca detektora(crveno) se nalazi pored stola tako da je

drz_cross na rastojanju Dist from yt od tacke yt koja definise poziciju lifta duz y ose. Pozicija duz x ose

detektora odredjena je tako da se drz_cross nalazi na rastojanju dist from xt u odnosu na poziciju

tacke xt (lift_pos(1)), takodje se drz_cross nalazi na rastojanju drz_height u odnosu na tacku

zt(lift_pos(3)). Polozaj IRZ je odredjen rastojanjem SID u odnosu na detektor, kao i uglom koji

zaklapaju povrsine DRZ-a odnosno IRZ-a.

Dist from xt

Tube slope

Height from table

x

yz

sl.10 Parametri tehnike TableSlope (pogled sa strane - sagitalni)

Tehnika snimanja na stolu TableSlope. Ploca detektora(crveno) se nalazi iznad stola tako da

je drz_cross na rastojanju Height_from_table u odnosu na gornju povrsinu stola. Pozicija duz x ose

detektora odredjena je tako da se drz_cross nalazi na rastojanju dist from xt u odnosu na poziciju

tacke xt (lift_pos(1)). Polozaj IRZ je odredjen rastojanjem SID u odnosu na detektor, kao i uglom koji

zaklapaju povrsine DRZ-a odnosno IRZ-a.

Page 77: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

77

x

y

z

sl.11 Parametri tehnike Beside (pogled sa strane - frontalni)

Tehnika snimanja pored stola Beside. Ploca detektora(crveno) se nalazi pored stola tako da

presek osa treceg i cetvrtog linka nalazi na rastojanju dist from table od tacke (yt+lift_dims(2)).

Pozicija duz x ose detektora odredjena je tako da se drz_cross nalazi na rastojanju dist from xt u

odnosu na poziciju tacke xt (lift_pos(1)), takodje se drz_cross nalazi na rastojanju drz_height u

odnosu na tacku zt(lift_pos(3)). Polozaj IRZ je odredjen rastojanjem SID u odnosu na detektor.

1.4 Ostali parametri bitni za planiranje kretanja plafostata.

Page 78: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

78

Interbase_dist

Scope_dist_y

sl.12 Ostali parametri koji definisu medjusoban polozaj plafostata u prostoru

Na sl. 12 su prikazani ostali parametri koji definisu medjusoban polozaj plafostata. Rastojanje izmedju

baza plafostata InterBase_dist , udaljenost ose teleskopa od baze plafostata Scope_dist_y, polovina

sirine bounding box-a teleskopa Scope_thick.

Takodje je uveden i parametar safe_dist koji iskljucivo sluzi za podesavanje safety pozicija za svaku

tehniku.

NAPOMENA :

Na slikama u dokumentu nisu prikazani parametri koji odredjuju polozaj prostorije u radnom

prostoru. Prostorija je opisana jednim bounding box-om koji je odredjen pozicijom jedne tacke pos1 i

dimenzijama prostorije dims1. Pozicija tacke pos1 se odredjuje u odnosu na referentni koordinatni

sistem na stolu.

Page 79: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

79

Specifikacija slučajeva korišćenja:

Aktivnosti operatera.

Page 80: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

80

Use Case Diagram: Aktivnosti operatera

Ukljujcenje uredjaja

Iskljucenje uredjaja

Izbor moda rada

Pozicioniranje plivajuceg stola

Inicijalizacija

Rucno vodjenje

Pozicioniranje u poloţaj za

odredjenu tehniku

Inkrementalno pozicioniranje

rentgenske aparature

Prekid rada iz sigurnosnih razloga

<<extend>>

Otklanjanje plafostata

Automatsko pozicioniranje

rentgenske aparature

<<include>> <<include>>

<<extend>>

<<include>>

Poluautomatsko pozicioniranje

rentgenske aparature

<<include>><<include>>

<<include>>

<<extend>>

<<include>>

Prekid izvrsenja komande

<<include>>

<<include>>

Operater

Podesavanje otvora blende

Page 81: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

81

Slučaj upotrebe: Uključenje uređaja

Kratak Opis

Operater dovodi sistem u operativno stanje.

Preduslovi

Sistem se nalazi u stanju “Isključen.

Oktretanjem glavnog prekidača na razvodnoj tabli u položaj “1” uređaju je dovedeno mrežno napajanje.

Tok događaja

Osnovni tok događaja

Pritiskom na “wake-up” taster na tastaturi korisnik startuje host računar. Service Manager host

računara u procesu podizanja operativnog sistema startuje upravljačku aplikaciju kao Windows

Service.

Nakon uspešno završene login procedure, izvršenjem sadržaja Registry ključa

HKLM\Software\Microsoft\Windows\CurrentVersion\Run operativni sistem pokreće UI

aplikaciju

UI aplikacija uspostavlja COM konekciju sa upravljačkom aplikacijom <Izuzetak 1.3.2.1>.

Upravljačka aplikacija pokreće proceduru samotestiranja sistema. Proverava se komunikacija

između hardverskih i softverskih komponenti sistema kao i njihova ispravnost <Izuzetak

1.3.2.2>.

Sistem beleži stanje u LOG datoteku i sistemski Event Log i prelazi u stanje “Neinicijalizovan”.

Izuzeci

< UI aplikacija ne može da uspostavi konekciju sa upravljačkom aplikacijom >

U procesu startovanja UI aplikacija nije uspela da uspostavi međupocesnu komunikaciju sa

upravljačkom aplikacijom. Ovo stanje ukazuje korisniku da uređaj nije u mogudnosti da nastavi sa

radom.Tada Operater preduzima sledede aktivnosti:

Operater poziva tehničku službu (Servisera1).

< Detektovana neispravnost u procesu samotestiranja> Procedura samotestiranja je utvrdila da neka od komponenti sistema ne funkcioniše na propisani

način. Ovo stanje ukazije korisniku da dalji rad nije mogud. Tada Operater preduzima sledede

aktivnosti:

Operater poziva tehničku službu (Servisera).

Posebni zahtevi

Nema posebnih zahteva.

Postuslovi

Uređaj se nalazi u stanju “Neinicijalizovan”. Podrazumevani mod rada je “Automatsko vođenje”.

1 Pogledati “Use Case specifikacija: Aktivnosti Servisera”

Page 82: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

82

Slučaj upotrebe: Isključenje uređaja

Kratak Opis

Operater isključuje uređaj.

Preduslovi

Uređaj se nalazi u bilo kom stanju.

Tok događaja

Osnovni tok događaja

Operater na pritiskom na “wake-up” taster na tastaturi ili pozivom odgovarajude opcije UI aplikacije inicra proces gašenja uređaja.

Service Manager prosleđuje zahtev upravljačkoj aplikaciji i zahtev se beleži u sistemski Event Log i LOG datoteku.

Uređaj prelazi u stanje “Isključen”.

Izuzeci

Nema izuzetaka.

Posebni zahtevi

Nema posebnih zahteva.

Postuslovi

Uređaj se nalazi u stanju “Isključen”.

Page 83: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

83

Slučaj upotrebe: Inicijalizacija

Kratak Opis

Nakon uključenja sistem traži mehaničke granice kretanja za svaku osu.

Preduslovi

Uređaj je uključen i nalazi se u bilo kom stanju.

Tok događaja

Osnovni tok događaja

Operater pozivom odgovarajude opcije UI aplikacije pokrede proceduru mehaničke inicijalizacije <Izuzetak 3.3.2.1>.

Upravljačka aplikacija prihvata zahtev i beleži ga u LOG datoteku.

Operater pritiskom na taster dozvole kreatanja oslobađa kočnice i spojnice translatornih osa tako da se oba plafostata mogu ručno pomerati.

Operater ručno dovodi plafostate u poziciju za koju procenjuje da u procesu mehaničke inicijalizacije (hominga) ne može dodi do kolizije između palfostata i okoine ili plafostata međusobno.

Operater ponovnim pritiskom na taster dozvole kreatanja pokrede proceduru mehaničke inicijalizacije.

U slučaju da postoji opasnost od kolizjije, puštanjem tastera dozvole kretanja plafostati prekidaju kretanje i otpuštaju se kočnice i spojnice translatornih osa. Operater ima priliku da ručnim vođenjem razreši potencijano opasnu situaciju.

Nakon procedure mehaničke inicijalizacije plafostati zauzimaju READY2 poziciju.

Uređaj prelazi u stanje “Ready”. Napomena: U svakoj o pomenutih faza u koliko uređaj pokaže nepredviđeno ili

potencijalno opasno ponašanje, Operater isljučuje uređaj <Izuzetak 3.3.2.2>.

Izuzeci

< Odbija se korisnički zahtev za inicijalizaciju uređaja> Usled greške u funkcionisanju neke od komponenti sistema zahtev za inicijalizaciju može biti odbijen.

U tom slučaju Operater može preduzeti sledede akcije:

Operater može da reinicijalizuje uređaj isključenjem i ponovnim uključenjem (videti slučajeve korišdenja 2. i 3.).

U koliko prethodna akcija ne reši problem, Operater poziva tehničku službu (Servisera).

< Prekid rada zbog nepredviđnog ponašanja sistema> Operater prekida rad uređaja3.

Posebni zahtevi

Nema posebnih zahteva.

Postuslovi

2 Pozicije koje plafostati mogu zauzeti objašnjene su u dodatku B.

3 Pogledati UC ”Prekid rada iz sigurnosnih razloga”, Sekcija 5

Page 84: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

84

Uređaj se nalazi u stanju “Spreman”. Uređaj zadržava prethodno uspostavljeni mod rada.

Page 85: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

85

Slučaj upotrebe: Izbor moda rada

Kratak Opis

Na zahtev Operatera uređaj prelazi u mod “Automatskog vođenja” ili “Poluautomatskog vođenja”.

Preduslovi

Uređaj se nalazi u odgovarajudem stanju:

za slučaj prelaska iz moda Automatskog u mod Poluautomatskog vođenja sistem mora biti u stanju “Spreman za rad”, “Neinicijalizovan” , “Prekinuto izvršenje komande” ili “Plafostat otklonjen”.

za slučaj prelaska iz moda Poluautomatskog u mod Automatskog vođenja sistem mora biti u stanju “Spreman za rad”, “Neinicijalizovan” ili “Prekinuto izvršenje komande” .

Tok događa

Osnovni tok događaja

Operter pozivom odgovarajude opcije UI aplikacije prosleđuje zahtev upravljačkoj aplikaciji za promenu moda rada <Izuzetak 4.3.2.1>.

Upravljačka aplikacija beleži zahtev operatera u LOG datoteku.

Sistem prelazi u zahtevani mod rada.

Izuzeci

< Odbija se korisnički zahtev za promenu moda rada> U koliko se zahteva promena moda rada u stanju u koje nije navedeno u sekciji 4.2 ovog dokumenta,

sistem odbija zahtev operatera. Dužnost Operatera je da vodi računa o trentnom stanu sistema.

Operater dobija informaciju o nemogudnosti realizacije zahteva kao i o uzroku takvog ponašanja

sistema.

Posebni zahtevi

Nema posebnih zahteva.

Postuslovi

Za slučaj prelaska iz moda “Automatsko vođenje” u mod “Poluautomatsko vođenje”:

mod rada je “Poluautomatsko vođenje” ,

stanje uređaja ostaje nepromenjeno,

spojnice na plafostatu koji nosi IRZ se isključuju. Za slučaj prelaska iz moda “Poluautomatsko vođenje” u mod “Automatsko vođenje”:

mod rada je “Automatsko vođenje”,

stanje uređaja je “Neinicijalizovan”,

spojnice na plafostatu koji nosi IRZ se uključuju

Page 86: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

86

Slučaj upotrebe: Prekid rada iz sigurnosnih razloga

Kratak Opis

Operater odlučuje da prekine proces kretanja uređaja, jer je uočio da ponašanje uređaja odstupa od

uobičajenog i da može ugroziti sigurnost pacijenta, uređaja ili samog operatera. I drugi, spoljni faktori

mogu uticati na odluku operatera da prekine rad uređaja iz sigurnosnih razloga.

Preduslovi

Uređaj se nalazi u bilo kom stanju.

Tok događaja

Osnovni tok događaja

Operater prepoznaje neregularno ponašanja uređaja i inicira hitno prekidanje kretanja plafostata i pritiskom na jedan od sigurnosnih prekidača inicira prekidanje kretanja iz sigurnosnih razloga.

Aktiviranje sigurnosnog prekidača prekida napajanje celog sistema. Kao posledica toga, prekida se napajanje motora, spojnica i kočnica. <Posebni Zahtev 5.4.1>

Host računar koji preko UPS i dalje ostaje operativan, detektuje prekid rada iz sigurnosnih raloga, i taj zahtev beleži u LOG datoteku. Host računar počinje proceduru gašenja i prelazi u stanje “Isključen”.

Izuzeci

Nema izuzetaka.

Posebni zahtevi

< Realizacija sigurnosne procedure >

U cilju povedane bezbednosti u toku izvršenja procedure prekida rada usled narušene sigurnosti

komanda mora biti elektromehanički realizovana. Pritiskom na neki od sigurnosnih prekidača prekida

se napajanje releja koji napaja uređaj.

Postuslovi

Uređaj je u stanju “Isključen”.

Page 87: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

87

Slučaj upotrebe: Automatsko pozicioniranje rentgenske aparature4

Kratak Opis

Automatsko (DC motorima aktuisano) pozicioniranje plafostata u položaj za snimanje.

Preduslovi

Uređaj u modu “Automatsko vođenje”.

Uređaj u stanju “Spreman", “Prekinuto izvršenje komande” ili “Plafostat otklonjen”.

Tok događaja

Osnovni tok događaja

Na osnovu zahteva operatera uređaj zauzima položaj specifičan za željenu tehniku snimanja5 <Izuzetak 6.3.2.1>.

Operater pozicionira pacijenta u položaj za snimanje.

Operater koristedi opciju za inkrementalno pozicioniranje rentgenske aparature6 i opciju pozicioniranja plivajudeg7 stola bira zonu snimanja.

Koristedi opciju za inkrementalno podešavanje otvora blende, Operater bira oblast koja de biti izložena zračenju.

Operater vrši akviziciju snimka.

Operter otklanja plafostate. Napomena: U svakoj o pomenutih faza u koliko uređaj pokaže nepredviđeno ili

potencijalno opasno ponašanje Operater isljučuje uređaj <Izuzetak 6.3.2.2>.

Izuzeci

< Prekid izvršenja zadate komade > Operter prekida izvršenje izdate komade za pozicioniranje8.

< Prekid rada zbog nepredviđnog ponašanja sistema> Operater prekida rad uređaja9.

Posebni zahtevi

Postuslovi

Uređaj ostaje u stanju “Spreman”.

4 Osnovni scenario prikazan je na Activity diagramu u Dodatku A.

5 Pogledati UC “Pozicioniranje plafostata u položaj za određenu tehniku”, Sekcija 8

6 Pogledati UC “Inkremantalno pozicioniranje rentgenske aparature”, Sekcija 12

7 Pogledati UC “Ručno pozicioniranje plivajućeg stola”, Sekcija 10

8 Pogledati UC “Prekid izvršenja komade”, Sekcija 9

9 Pogledati UC ”Prekid rada iz sigurnosnih razloga”, Sekcija 5

Page 88: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

88

Slučaj upotrebe: Poluautomatsko pozicioniranje rentgenske aparature10

Kratak Opis

Operater automatski pozicionira DRZ u poyiciju za snimanje, a zatim ručno pozicionira IRZ u željeni

položaj za snimanje.

Preduslovi

Uređaj u modu “Poluautomatsko vođenje”

Uređaj u stanju “Spreman", “Prekinuto izvršenje komande” ili “Plafostat otklonjen”.

Tok događaja

Osnovni tok događaja

Na osnovu zahteva operatera uređaj zauzima položaj specifičan za željenu tehniku snimanja11 <Izuzetak 7.3.2.1>.

Operater pozicionira pacijenta u položaj za snimanje.

Operater koristedi opciju za inkrementalno pozicioniranje rentgenske aparature12 i opciju pozicioniranja plivajudeg13 stola bira zonu snimanja.

Koristedi opciju za inkrementalno podešavanje otvora blende, Operater bira oblast koja de biti izložena zračenju.

Operater vrši akviziciju snimka.

Operter otklanja plafostate. Napomena: U svakoj o pomenutih faza u koliko uređaj pokaže nepredviđeno ili

potencijalno opasno ponašanje Operater isljučuje uređaj <Izuzetak 7.3.2.2>.

Izuzeci

< Prekid izvršenja zadate komade > Operter prekida izvršenje izdate komade za pozicioniranje14.

< Prekid rada zbog nepredviđnog ponašanja sistema> Operater prekida rad uređaja15.

Posebni zahtevi

Nema posebnih zahteva

Postuslovi

Uređaj ostaje u stanju “Spreman”.

10

Osnovni scenario prikazan je na Activity diagramu u Dodatku A. 11

Pogledati UC “Pozicioniranje plafostata u položaj za određenu tehniku”, Sekcija 8 12

Pogledati UC “Inkremantalno pozicioniranje rentgenske aparature”, Sekcija 12 13

Pogledati UC “Ručno pozicioniranje plivajućeg stola”, Sekcija 10 14

Pogledati UC “Prekid izvršenja komade”, Sekcija 9 15

Pogledati UC ”Prekid rada iz sigurnosnih razloga”, Sekcija 5

Page 89: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

89

Page 90: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

90

Slučaj upotrebe: Pozicioniranje plafostata u položaj za određenu tehniku

Kratak Opis

Operater zahteva pozicioniranje Izvora Rentgenskog Zračenja (IRZ) i Detektora Rentgenskog Zračenja

(DRZ) na osnovu izabranog anatomskog preseka.

Preduslovi

Uređaj u stanju “Spreman", “Prekinuto izvršenje komande” ili “Plafostat otklonjen”.

Tok događaja

Osnovni tok događaja

Operater bira anatomski presek i SID rastojanje pozivom odgovarajude opcije UI aplikacije.

UI aplikacija konvertuje izabrani anatomski presek u komandu, i prosleđuje je upravljačkoj aplikaciji zajedno sa željenim SID rastojanjem < Izuzetak 6.3.2.1 >. Upravljačka aplikacija upisuje zahtev u LOG datoteku.

Upravljačka aplikacija proračunava manevar koji izbegava koliziju na osnovu prethodno podešene vrednosti SIDa, trenutne pozicije plivajudeg stola, trenutne pozicije plafostata i dobijene komande < Izuzetak 6.3.2.2 >. Sistem prelazi u stanje “Inicirana Komanda” .

Pritiskom tastera za dozvolu kretanja vrši se mehanička realaizacija planiranog manevra. Otpuštanjem tastera dozvole kreatanja plafostati prekidaju kretanje. Kreatanje se može nastaviti ponovnim pitiskom na taster dozvole kreatanja.

U slučaju da je mod rada “Automatsko vođenje” IRZ i DRZ zauzimaju zahtevane pozicije. U slučaju moda “Poluautomatsko vođenje” DRZ zauzima zahtevanu poziciju, IRZ se ne pomera. Sistem prelazi u stanje “Speman”.

U koliko izvršena komanda to dozvoljava, Operater može da izvrši ručno fino pozicioniranje plivajudeg stola.

Izuzeci

< Sistem odbija zahtev Operatera zbog stanja u kome se nalazi > U koliko se sistem nalazi u stanju u kome nije dozvoljeno iniciranje komande, zahtev za pozicioniranje

plafostata de biti odbijen. Operater ima odgovornost da vodi računa o trenutnom stanju uređaja.

Operater dobija informaciju o nemogudnosti realizacije zahteva kao i o uzroku takvog ponašanja

sistema.

< Sistem odbija zahtev Operatera zbog loših parametara > U koliko manevar nije mogude isplanirati sa prosleđenim parametrima, Zahtev za pozicioniranje

plafostata de biti odbijen. Operater dobija informaciju o nemogudnosti realizacije zahteva kao i o

uzroku takvog ponašanja sistema.

Posebni zahtevi

Parametri manevra u slučaju poluautomatskog vođenja

Page 91: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

91

Kako u sliučaju poluautomatskog vođenja plafostat koji nosi Izvor Rentgenskog Zračenja nije aktuisan

i odgovornost je Operatera da ga ručno postavi u poziciju u kojoj je moguda realizacija izdate

komande. U suprotnom sistem de javiti <Izuzetak 6.3.2.2>

Postuslovi

Uređaj ostaje u stanju “Spreman”.

Page 92: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

92

Slučaj upotrebe: Prekid izvršenja izdate komande

Kratak Opis

Nakon iniciranja komade Operater prekida izvršenje čime prevodi sistem stanje “Spreman” pre

završetka planiranog manevra.

Preduslovi

Uređaj u stanju “Inicirana komanda”.

Tok događaja

Operater zahteva prekid izvršenja komande pozivom odgovarajude opcije UI aplikacije. Zahtev se prosleđuje Upravljačkoj aplikaciji i beleži u LOG datoteku.

Upravljačka aplikacija prekida kretanje.

Upravljačka aplikacija rekonstruiše validno stanje softverskih komponenti.

Sistem prelazi u stanje “Prekinuto izvršenje komande”

Posebni zahtevi

Nema posebnih zahteva.

Post uslovi

Uređaj se nalazi u stanju “Prekinuto izvršenje komande”.

Page 93: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

93

Slučaj upotrebe: Ručno pozicioniranje plivajućeg stola

Kratak Opis

Operater vrši ručno pozicioniranje pacijenta na plivajudem stolu u poziciju za snimanje

Preduslovi

Zadata tehnika snimanja dozvoljava pomeranje stola.

Tok događaja

Osnovni tok događaja

Operater deblokira kočnice plivajudeg stola pritiskom na odgovarajudu pedalu i ručno vrši pozicioniranje stola u horizontalnoj ravni tako da deo tela koji je potrebno snimiti dovodi u poziciju za snimanje.

Nakon završenog pozicioniranja Operater blokira kočnice plivajudeg stola puštajnem pritisnute pedale.

Posebni zahtevi

Nema posebnih zahteva.

Postuslovi

Nema posebnih postuslova.

Page 94: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

94

Slučaj upotrebe: Otklanjanje plafostata

Kratak Opis

Operater postavlja plafostate u READY pozicju.

Preduslovi

Sistem u stanju “Spreman” ili “Plafostat otklonjen”

Tok događaja

Osnovni tok događaja

Operater inicira otklanjanje odgovarajudeg plafostata pozivom opcije UI aplikacije <Izuzetak 9.3.2.1>. Upravljačka aplikacija upisuje zahtev u LOG datoteku.

Upravljačka aplikacija proračunava manevar koji izbegava koliziju. Sistem prelazi u stanje “Inicirana Komanda” .

Pritiskom tastera za dozvolu kretanja vrši se mehanička realaizacija planiranog manevra. Otpuštanjem tastera dozvole kreatanja plafostati prekidaju kretanje. Kreatanje se može nastaviti ponovnim pitiskom na taster dozvole kreatanja.

Odgovarajudi plafostat se nalazi u poziciji READY. Sistem prelazi u stanje “Plafostat otklonjen”.

Izuzeci

< Zahteva se otklanjanje ved otklonjenog plafostata > Bez obzira na zahtev Operatera sistem ne započinje nikakvo kreatanje. Operater se obaveštava o

uzroku takvog ponašanja sistema.

Posebni zahtevi

Nema posebnih zahteva.

Postuslovi

Uređaj u stanju “Plafostat otklonjen”.

Page 95: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

95

Slučaj upotrebe: Inkrementalno pozicioniranje rendgenske aparature

Kratak Opis

Operater vrši Inkrementalno (fino) pozicioniranje IRZa i/ili DRZa.

Preduslovi

Uređaj u stanju “Spreman".

Tok događaja

Osnovni tok događaja

Operter zadaje da li de se pri inkreamantalnom kreatanju kretati oba plafostat istovremeno ili de biti dozvoljeno nezavisno kreatanje.

Pozivom opcije “SyncLock” UI aplikacije zahteva se od sistema da pri inkreamantalnom radu, kreatanje jednog plafostata bude pradeno kreatnjem drugog. Ovo odgovara stanju SyncLock TRUE.

Pozivom opcije “SyncUnlock” UI aplikacije zahteva se od sistema da pri inkreamantalnom radu, kreatanje jednog plafostata nezavisno od kreatanja drugog plafostata. Ovo odgovara stanju SyncLock FALSE.

Operater koristedi tastere za Inkremantalno podešavanje (“+” i “–“ za svaku osu kretanja) dostupne kroz UI aplikaciju ili koristedi hardverske tastere na detektoru zahteva fino pozicioniranje plafostata.

UI aplikacija prosleđuje zahtev upravljačkoj aplikaciji koja proverava da li je dozvoljeno inkrementalno kretanje za datu osu <Izuzetak 10.3.2.1> i beleži zahtev u LOG datoteku.

U modu “Automatsko vođenje” važi sledede ponašanje:

U koliko je SyncLock postavljen na TRUE, oba plafostata započinju kretanje duž zadate ose. U koliko je SyncLock postavljen na FALSE krede se samo onaj plafostat sa koga je inicirano inkrementalno kreatanje <Izuzetak 10.3.2.2>.

U modu “Poluautomatsko vođenje” važi sledede ponašanje:

Bez obzira na SyncLock krede se samo plafostat koji nosi DRZ.

Nakon otpuštanja tastera prestaje kreatanje i sistem se vreade u stanje “Spreman”.

Izuzeci

< Inkreamantalno kretranje duž zahtevane ose je zabranjeno > Bez obzira na zahtev Operatera sistem se ne krede.

< Osa je dosegla dozvoljene granice inkrementalnog kretanja > Bez obzira na zahtev Operatera sistem se ne krede.

Page 96: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

96

Posebni zahtevi

Svakoj tehnici dodeljeni su atributi koji govore o tome da li je inkreamatalno kreatanje duž zadate ose

dozvoljeno za odgovarajudi plafostat i slučaju da je dozvoljeno, koji je dozvoljeni opseg

inkreamantalnog kreatanja .

Postuslovi

Uređaj u stanju “Spreman”.

Page 97: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

97

Slučaj upotrebe: Ručno vođenje plafostata koji nosi IRZ

Kratak Opis

Operater ručno postavlja IRZ plafostat u željenu poziciju.

Preduslovi

Uređaj u modu "Poluautomatsko vođenje”. Zahtevano stanje sistema: “Spreman”.

Tok događaja

Osnovni tok događaja

Operater pozivom odgovarajude opcije (pritiskom na taster za otpuštanje kočnica) UI aplikacije zahteva otpuštanje kočnica za odgovarajudu osu ili grupu osa.

Operater pomera plafosta u željenu poziciju.

Puštanjem tastera kočnice se ponovo aktiviraju i drže plafostat u željenoj poziciji.

Izuzeci

< Zahteva se otpuštanje kočnica u nedozvoljenom stanju ili nedozvoljenom modu >

Bez obzira na zahtev Operatera zahtev se ignoriše.

Posebni zahtevi

Nema posebnih zahteva.

Postuslovi

Uređaj u stanju “Spreman”.

Page 98: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

98

Slučaj upotrebe: Podešavanje otvora blende

Kratak Opis

Operater bira veličinu otvora blende koji de biti korišden pri snimanju pacijenta.

Preduslovi

Zahtevano stanje sistema: “Spreman”.

Tok događaja

Osnovni tok događaja

Operater pozivom odgovarajude opcije UI aplikacije zadaje format rentgenskog snimka.

UI aplikacija prevodi informaciju o formatu snimka u apsolutne pozicije olovnih ploča koje određujuju otvor blende. Tako dobijena informacija prosleđuje se uptavljačkoj aplikaciji.

Upravljačka aplikacija realizuje zahtev Operatera.

Operater uključuje svetlo blende i lasersku metu.

Operater fino podešava otvor blende.

Izuzeci

Nema izuzetaka.

Posebni zahtevi

Nema posebnih zahteva.

Postuslovi

Uređaj u stanju “Spreman”. Podešen odgovarajući format snimka.

Page 99: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

99

Dodatak A: Osnovni scenario

Dostupno samo u rezimu

poluautomatskog

vodjenja

Zadavanje

komande

Inkrementalno

pozicioniranje

Fino podesavanje

otvora blendePozicioniranje

plivajuceg stola

Rucno pozicioniranje

plafostata

Da li je Operater

zadovoljan izborom?

Prekid komande

[ Ne ]

Akvizicija

snimka

[ Da ]

Page 100: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

100

Dodatak B: Tehnike snimanja

Tehnika TABLE TOP.

Tehnika TABLE SIDE.

Page 101: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

101

Tehnika STAND.

Page 102: Univerzalni Robotizovani Rendgenski Sistem Digraf-Cstarisajt.elfak.ni.ac.rs/phptest/new/html/nauka/tehnicka_resenja... · Univerzalni robotizovani rendgenski sistem Digraf-C JR Digital

Laboratorija za robotiku, EF Niš 12.1.2006 TR_DigrafC/2006

102

Tehnika TABLE_SLOPE.