Aug 05, 2024 Pustite sporočilo

Uvod v arhitekturo krmilnega sistema industrijskih robotov

 

Članek primerja rešitve krmilnega sistema dveh industrijskih robotov, manipulatorja in mobilnega robota, ter predstavlja njune značilnosti.

Zgornja razvrstitev temelji na predmetu aplikacije. Poleg tega so na trgu bolj splošni krmilniki gibanja, torej tisti, ki nadzorujejo nestandardno opremo.

1 Rešitev spodnjega nivoja krmilnika 1.1 Tip manipulatorja Krmilnik tipa manipulator se je razvil prej in je relativno zrel. Oglejmo si obstoječo rešitev spodnjega nivoja nadzornega sistema. 1.2 Vrsta mobilnega robota Krmilnik mobilnega robota spada v razmeroma novo smer. Industrijski mobilni roboti so v obliki AGV, inženirskih strojev brez posadke itd. Rešitev spodnjega nivoja nadzornega sistema je naslednja:
1.3 Primerjava
Manipulator ima visoke zahteve glede natančnosti in stabilnosti gibanja, zato je količina izračuna velika in cikel kratek, kar je na splošno za 1 do 2 reda velikosti višje kot pri mobilnih robotih. Mobilni roboti na splošno nimajo visokih zahtev glede natančnosti sinhronizacije, njihova konfiguracija pa je relativno nizka.
Manipulator običajno deluje v fiksnem območju, njegov krmilnik pa je običajno nameščen v ohišju, tako da stopnja zaščite ni visoka, običajno IP20. Mobilni roboti morajo biti vodoodporni in odporni na prah, ker se morajo pogosto premikati, zlasti zunanji inženirski stroji, zato morajo razmisliti o zaščiti pred vodo in prahom. Njihova stopnja zaščite je višja, običajno IP67.

2 Uvod v CoDeSys 2.1 Sestava CoDeSys
Ugotovili boste, da je veliko programske opreme za krmiljenje robotov implementiranih s pomočjo CoDeSys, kaj je torej CoDeSys?
CoDeSys je plačljiva programska oprema za razvoj programske opreme PLC. Preprosto povedano, sestavljen je iz dveh delov: razvojnega sistema in izvajalnega sistema. Razvojni sistem je programski vmesnik, ki se uporablja za programiranje (tako kot Visual Studio, Eclipse in druga programska oprema, ki jo lahko imenujemo tudi IDE). Načrtovanje, odpravljanje napak in prevajanje programov PLC se izvajajo v IDE, kar je del, s katerim se uporabniki pogosto ukvarjajo;
Ko je program PLC napisan, ga je treba prenesti na strojno napravo za delovanje. Vendar pa ustvarjeni program PLC trenutno ne more delovati sam. Delovati mora v določenem programskem okolju. To okolje je izvajalni sistem, ki je uporabnikom neviden.
Mesta namestitve obeh se običajno razlikujejo. IDE je običajno nameščen na razvojnem računalniku, Runtime System pa se nahaja na strojni napravi, ki ima nadzorno vlogo. Običajno sta povezana z omrežnimi kabli, program pa se za delovanje prenese v Runtime prek omrežnega kabla.
CoDeSys na Kitajskem ni dobro znan, vendar ima v Evropi dolgoletni ugled, zlasti na področju industrijskega nadzora. Številna robotska podjetja, ki smo jih omenili zgoraj, uporabljajo njegove izdelke, kot so KEBA, Beckhoff, Googol in skoraj vsi proizvajalci krmilnikov mobilnih robotov.
3S, podjetje, ki je zasnovalo CoDeSys, prodaja samo programsko opremo, ne strojne opreme. Strojno vezje mora oblikovati uporabnik, 3S pa je odgovoren za prenos Runtime System na strankino strojno opremo. Runtime System lahko deluje gol na strojni opremi, običajno pa deluje v operacijskem sistemu, konfiguracija operacijskega sistema pa je prav tako naloga stranke.
Če stranka zahteva, lahko CoDeSys IDE prilagodi tako, da spremeni logotip in videz stranke, zato boste ugotovili, da so razvojne platforme različnih proizvajalcev videti drugače, vendar so slogi razmeroma podobni.
Seveda lahko uporabniki uporabljajo tudi druge IDE. Na primer, Beckhoff uporablja Microsoftov Visual Studio, medtem ko jedro in knjižnica funkcij za prevajalnikom še vedno uporabljata rešitev CoDeSys.
Runtime CoDeSys ima močno prilagodljivost in podpira večino operacijskih sistemov in arhitektur strojnih čipov.

2.2 Načelo izvajalnega okolja CoDeSys
Del IDE programa CoDeSys je brezplačen in ga lahko prenesete z uradne spletne strani, da ga preizkusite. Prava obremenitev je runtime sistem Runtime System.
Na začetku zasnove je CoDeSys razdelil funkcije na več sestavnih modulov, kot so sklad protokolov vodila, vizualni vmesnik, nadzor gibanja, varnostni nadzor itd. Uporabniki lahko izberejo potrebne module za izgradnjo lastnega sistema kot gradnike in končno oblikovati prilagojeno programsko platformo za nadzor.

Nekaterim uporabnikom, ki še ne poznajo mehkega PLC-ja, se ta del morda ne pozna, vendar je v resnici ta metoda načrtovanja zelo pogosta. Na primer, orodjarna v realnem času (Real-Time) MATLAB Simulink deluje na ta način. Uporabniki načrtujejo nadzorne programe tako, da povlečejo in spustijo v grafični vmesnik Simulink, nato pa jih prenesejo v pravo strojno opremo za izvajanje. O tem se lahko naučite tukaj.
Obstaja tudi tak način uporabe, kot je Beckhoff. Uporabniki programirajo v TwinCAT IDE in jih nato prenesejo v krmilnik Beckhoff. Pravzaprav je v krmilniku vnaprej nameščeno izvajalno okolje. Siemens STEP7 je prav tako IDE in njegov PLC ima prav tako ujemajoče se izvajalno okolje.
Program PLC, ki ga napiše uporabnik, je kot aplikacija v našem računalniku. Deluje na izvajalnem sistemu, izvajalni sistem pa na operacijskem sistemu.
Izvajalni sistem se nahaja med aplikacijo in operacijskim sistemom. Tako se lahko imenuje vmesna programska oprema. V robotski programski opremi so ROS, OROCOS (Real-Time Toolkit) itd. na istem mestu.
Krmiljenje robotov, tako kot obdelovalni stroji CNC, zahteva delovanje v realnem času, zato je operacijski sistem, ki ga izberemo, po možnosti operacijski sistem v realnem času (RTOS). Na žalost operacijski sistemi, ki jih pogosto uporabljamo, niso v realnem času, na primer Windows in Linux. A na srečo jih je nekdo predelal, torej dodal popravke v realnem času.
Pogosto uporabljeni operacijski sistemi v realnem času vključujejo: VxWorks, QNX, Windows RTX, Xenomai, RT Linux, Linux RTAI, WinCE, μC/OS, SylixOs itd. Glede na to, da je veliko uporabnikov operacijskih sistemov Windows in Linux, je CoDeSys predstavil ustrezen popravek v realnem času (RTE), ki uporabnikom prihrani težave s spreminjanjem.
Za več informacij o izvajalnem okolju CoDeSys si lahko preberete uradni dokument [Math Processing Error] [1][2][1][2].
2.3 Slabosti CoDeSys

CoDeSys prinaša udobje v naš razvoj krmilnikov in nam prihrani težave, da začnemo iz nič. Vendar pa obstaja tudi veliko pomanjkljivosti pri razvoju lastnih krmilnikov, ki temeljijo na komercialni programski opremi, kot je CoDeSys:
(1) Osnovni algoritem ni odprt
Komponente za nadzor gibanja in skladi protokolov vodila, ki jih integrira CoDeSys, so vsi enkapsulirani. Uporabniki ne morejo razumeti njihovih notranjih podrobnosti, niti jih ne morejo prilagoditi in optimizirati glede na svoje posebne potrebe. Pokličejo jih lahko le preprosto. Uporabniki se lahko zanesejo le na platformo CoDeSys in težko oblikujejo lastno temeljno tehnologijo.
(2) Omejene funkcije in težko jih je razširiti
Nove tehnologije, ki jih predstavljajo strojni vid, umetna inteligenca in avtonomna vožnja, zdaj skokovito napredujejo, številne tehnologije v industrijskem nadzoru pa so stare še 20 let. Če za primer vzamemo navigacijsko sceno v mobilnem robotu, mora navigacijska metoda, ki temelji na vidu ali laserju, zbrati veliko količino podatkov in jih obdelati, kar vključuje veliko matričnih izračunov.
Zdaj lahko PLC izvaja le povratne enodimenzionalne digitalne izračune, kar otežuje implementacijo kompleksnih algoritmov. V nasprotju z odprtokodnim slogom skupnosti umetne inteligence je skupnost industrijskega nadzora zaprta druga do druge. Nihče ni pripravljen odpreti lastnih knjižnic funkcij. Odprtokodnih funkcijskih knjižnic (OSCAT) je zelo malo. Tudi najosnovnejše algoritme filtriranja in matrične izračune je treba napisati iz nič. Poleg tega so osnovne funkcije, ki jih zagotavljajo mednarodni standardi, preveč omejene in se sploh ne morejo prilagoditi novim scenarijem. Nujno potrebujejo širitev.
(3) Težko posodabljanje
Zaradi popolnega zanašanja na CoDeSys je treba nadgradnjo lastne strojne opreme strank prilagoditi in presaditi, kar povzroči povečane stroške.
3 Odprtokodne rešitve
Trenutno obstaja nekaj odprtokodnih sistemskih rešitev za nadzor, kot so Beremiz, Orocos, OpenPLC, OpenRTM in ORCA.
Razvoj robotskih krmilnikov je težka naloga. Razjasniti je treba vrsto zahtev glede zmogljivosti, med katerimi je prva zmogljivost v realnem času.
Zmogljivost v realnem času je na splošno potrebna za industrijske robote, vendar ne nujno za storitvene ali zabavne robote. Navadni ljudje zlahka zamenjajo "zmogljivost v realnem času" s hitro obdelavo ali odzivno hitrostjo, toda "zmogljivost v realnem času" dejansko pomeni "determinizem" v času. Na primer, zakasnitev odziva na prekinitev ali preklopa procesa v operacijskem sistemu v realnem času (RTOS) mora biti znotraj časovnega razpona.
Operacijski sistemi, ki jih običajno uporabljamo (Windows, Linux), niso operacijski sistemi v realnem času, ker so zasnovani za prepustnost in ne morejo zagotoviti, da bo vsak dogodek obdelan v določenem obsegu. Hitrost prenosa standardnega etherneta je na primer veliko višja od hitrosti industrijskega etherneta v realnem času, vendar tudi ni v realnem času, ker prav tako ne more zagotoviti prenosa podatkov v danem času.
Realnega časa ni težko razumeti, toda katere naloge robota je treba izvajati v realnem času? Kako določiti časovni interval za izvajanje programa glede na zahteve glede zmogljivosti robota (1 ms ali 10 ms)? Ali je realni čas odvisen od strojne ali programske opreme?
Kako izbrati specifično strojno in programsko opremo, ki temelji na realnem času (ARM ali X86, Linux RTAI ali VxWorks)? Na internetu manjka poglobljena razprava o tem vidiku in glavni proizvajalci robotov ne bodo razkrili svojih testnih in eksperimentalnih rezultatov. Zdi se, da je ta vidik v glavnem odvisen od izkušenj ter poskusov in napak.
Tukaj lahko navedem le nekaj indikatorjev. Trenutno je krmilni cikel rok industrijskih robotov približno 1 ms, krmilni cikel pozicijske zanke visokozmogljivega servo pogona pa lahko doseže 125 [Math Processing Error] mu sμs. PLCopen definira nekatere standarde za servo in krmiljenje gibanja, vključno s programskim jezikom, osnovnimi funkcijskimi bloki za krmiljenje gibanja, parametri vhodnih in izhodnih vmesnikov itd. [Math Processing Error] ^{[3]}
[3] Podrobnosti posebne izvedbene kode zagotavljajo različni proizvajalci.

Pošlji povpraševanje

whatsapp

skype

E-pošta

Povpraševanje