Aug 05, 2024 Jätä viesti

Johdatus teollisuusrobottien ohjausjärjestelmän arkkitehtuuriin

 

Tässä artikkelissa verrataan kahden teollisuusrobotin, manipulaattorin ja mobiilirobotin, ohjausjärjestelmäratkaisuja ja esitellään niiden ominaisuuksia.

Yllä oleva luokitus perustuu sovellusobjektiin. Lisäksi markkinoilla on yleisempiä liikesäätimiä, eli sellaisia, jotka ohjaavat ei-standardilaitteita.

1 Ohjaimen pohjaratkaisu 1.1 Manipulaattorityyppi Manipulaattorityypin ohjain on kehitetty aikaisemmin ja on suhteellisen kypsä. Katsotaanpa olemassa olevaa ohjausjärjestelmän alatason ratkaisua. 1.2 Mobiilirobotin tyyppi Mobiilirobotin ohjain kuuluu suhteellisen uuteen suuntaan. Teolliset liikkuvat robotit ovat AGV-muotoisia, miehittämättömiä koneistoja jne. Ohjausjärjestelmän alatason ratkaisu on seuraava:
1.3 Vertailu
Manipulaattorilla on korkeat vaatimukset tarkkuudelle ja liikkeen stabiiliudelle, joten laskentamäärä on suuri ja sykli lyhyt, mikä on yleensä 1-2 suuruusluokkaa suurempi kuin liikkuvilla roboteilla. Mobiilirobotit eivät yleensä aseta korkeita vaatimuksia synkronointitarkkuudelle, ja niiden konfiguraatio on suhteellisen alhainen.
Manipulaattori toimii yleensä kiinteällä alueella ja sen ohjain on yleensä sijoitettu runkoon, joten suojaustaso ei ole korkea, yleensä IP20. Liikkuvien robottien on oltava vesi- ja pölytiiviitä, koska niiden on liikuttava usein, erityisesti ulkona olevien konepajakoneiden, joten niiden on harkittava veden- ja pölytiivistystä. Niiden suojaustaso on korkeampi, yleensä IP67.

2 CoDeSysin esittely 2.1 CoDeSysin kokoonpano
Huomaat, että monet robotin ohjausohjelmistot on toteutettu CoDeSysin avulla, joten mikä on CoDeSys?
CoDeSys on maksullinen soft PLC -kehitysohjelmisto. Yksinkertaisesti sanottuna se koostuu kahdesta osasta: Kehitysjärjestelmä ja Runtime System. Development System on ohjelmointiin käytettävä ohjelmistoliittymä (kuten Visual Studio, Eclipse ja muut ohjelmistot, joita voidaan myös kutsua IDE:ksi). PLC-ohjelmien suunnittelu, virheenkorjaus ja kääntäminen suoritetaan kaikki IDE:ssä, joka on se osa, jota käyttäjät usein käsittelevät.
Kun PLC-ohjelma on kirjoitettu, se on siirrettävä laitteistolle käyttöä varten. Luotu PLC-ohjelma ei kuitenkaan voi toimia itsestään tällä hetkellä. Sen on toimittava tietyssä ohjelmistoympäristössä. Tämä ympäristö on Runtime System, joka on näkymätön käyttäjille.
Molempien asennuspaikat ovat yleensä erilaisia. IDE on yleensä asennettu kehitystietokoneeseen, ja Runtime System sijaitsee laitteistossa, jolla on ohjausrooli. Nämä kaksi on yleensä yhdistetty verkkokaapeleilla, ja ohjelma ladataan Runtimeen verkkokaapelin kautta käyttöä varten.
CoDeSys ei ole tunnettu Kiinassa, mutta sillä on pitkäaikainen maine Euroopassa, erityisesti teollisen ohjauksen alalla. Monet edellä mainitsemamme robottiyritykset käyttävät sen tuotteita, kuten KEBA, Beckhoff, Googol ja lähes kaikki mobiilirobottiohjainten valmistajat.
3S, yritys, joka suunnitteli CoDeSysin, myy vain ohjelmistoja, ei laitteistoja. Laitteistopiirin on suunniteltava käyttäjän toimesta, ja 3S vastaa Runtime Systemin siirtämisestä asiakkaan laitteistolle. Runtime System voi toimia paljaana laitteistolla, mutta yleensä se toimii käyttöjärjestelmässä, ja käyttöjärjestelmän konfigurointi on myös asiakkaan tehtävä.
Asiakkaan pyynnöstä CoDeSysin IDE voidaan räätälöidä muuttamaan asiakkaan logoa ja ulkonäköä, minkä vuoksi eri valmistajien kehitysalustat näyttävät erilaisilta, mutta tyylit ovat suhteellisen samanlaisia.
Tietenkin käyttäjät voivat käyttää myös muita IDE:itä. Esimerkiksi Beckhoff käyttää Microsoftin Visual Studiota, kun taas kääntäjän takana oleva ydin ja funktiokirjasto käyttävät edelleen CoDeSysin ratkaisua.
CoDeSysin runtimella on vahva mukautumiskyky ja se tukee useimpia käyttöjärjestelmiä ja laitteistosiruarkkitehtuureja.

2.2 CoDeSys Runtime -periaate
CoDeSysin IDE-osa on ilmainen, ja voit ladata sen sen viralliselta verkkosivustolta kokeaksesi sen. Todellinen lataus on ajonaikainen järjestelmä Runtime System.
Suunnittelunsa alussa CoDeSys jakoi toiminnot useisiin komponenttimoduuleihin, kuten väyläprotokollapino, visuaalinen käyttöliittymä, liikeohjaus, turvaohjaus jne. Käyttäjät voivat valita tarvittavat moduulit rakentaakseen oman järjestelmänsä, kuten rakennuspalikoita, ja lopuksi muodostavat mukautetun ohjausohjelmistoalustan.

Jotkut käyttäjät, jotka ovat uusia pehmeän PLC:n käytössä, saattavat tuntea tuntemattomia tämän osan suhteen, mutta itse asiassa tämä suunnittelumenetelmä on hyvin yleinen. Esimerkiksi MATLAB Simulinkin reaaliaikainen työkalupakki (Real-Time) toimii tällä tavalla. Käyttäjät suunnittelevat ohjausohjelmia vetämällä ja pudottamalla Simulinkin graafisessa käyttöliittymässä ja lataavat ne sitten todelliseen laitteistoon käytettäväksi. Voit oppia siitä täältä.
On myös sellainen käyttötapa kuin Beckhoff. Käyttäjät ohjelmoivat TwinCAT IDE:ssä ja lataavat ne sitten Beckhoffin ohjaimeen. Itse asiassa ajonaika on esiasennettu ohjaimeen. Siemens STEP7 on myös IDE, ja sen PLC:llä on myös vastaava ajonaika.
Käyttäjän kirjoittama PLC-ohjelma on kuin tietokoneemme sovellus. Se toimii ajonaikaisessa järjestelmässä, ja ajonaikainen järjestelmä toimii käyttöjärjestelmässä.
Ajonaikainen järjestelmä sijaitsee sovelluksen ja käyttöjärjestelmän välissä. Joten sitä voidaan kutsua väliohjelmistoksi. Robottiohjelmistoissa ROS, OROCOS (Real-Time Toolkit) jne. ovat samassa asemassa.
Robottiohjaus, kuten CNC-työstökoneet, vaatii reaaliaikaista suorituskykyä, joten valitsemamme käyttöjärjestelmä on mieluiten reaaliaikainen käyttöjärjestelmä (RTOS). Valitettavasti usein käyttämämme käyttöjärjestelmät, kuten Windows ja Linux, eivät ole reaaliaikaisia. Mutta onneksi joku on muokannut niitä, eli lisännyt reaaliaikaisia ​​korjaustiedostoja.
Yleisesti käytettyjä reaaliaikaisia ​​käyttöjärjestelmiä ovat: VxWorks, QNX, Windows RTX, Xenomai, RT Linux, Linux RTAI, WinCE, μC/OS, SylixOs jne. Koska Windows- ja Linux-käyttöjärjestelmien käyttäjiä on paljon, CoDeSys on julkaissut. vastaava reaaliaikainen korjaustiedosto (RTE), joka säästää käyttäjiä muokkausongelmilta.
Lisätietoja CoDeSys Runtimesta on virallisessa asiakirjassa [Math Processing Error] [1][2][1][2].
2.3 CoDeSysin haitat

CoDeSys tuo mukavuutta ohjainkehitykseen ja säästää vaivan aloittamisesta tyhjästä. Omien ohjaintuotteiden kehittämisessä kaupallisiin ohjelmistoihin, kuten CoDeSysiin, on kuitenkin myös monia haittoja:
(1) Taustalla oleva algoritmi ei ole avoin
CoDeSysin integroimat liikkeenohjauskomponentit ja väyläprotokollapinot ovat kaikki kapseloituja. Käyttäjät eivät ymmärrä sisäisiä yksityiskohtiaan eivätkä voi mukauttaa ja optimoida niitä erityistarpeidensa mukaan. He voivat soittaa heille vain yksinkertaisesti. Käyttäjät voivat luottaa vain CoDeSys-alustaan, ja heidän on vaikea muodostaa omaa ydinteknologiaansa.
(2) Rajoitetut toiminnot ja vaikea laajentaa
Uudet tekniikat, joita edustavat konenäkö, tekoäly ja autonominen ajaminen, kehittyvät nyt harppauksin, kun taas monet teollisen ohjauksen tekniikat ovat vielä 20 vuotta vanhoja. Esimerkkinä liikkuvan robotin navigointinäkymästä, visioon tai laseriin perustuvan navigointimenetelmän on kerättävä ja prosessoitava suuri määrä dataa, mikä edellyttää paljon matriisilaskelmia.
Nyt PLC voi suorittaa vain taaksepäin suuntautuvia yksiulotteisia digitaalisia laskelmia, mikä vaikeuttaa monimutkaisten algoritmien toteuttamista. Toisin kuin tekoälyyhteisön avoimen lähdekoodin tyyli, teollinen ohjausyhteisö on suljettu toisiltaan. Kukaan ei ole halukas avaamaan omia funktiokirjastojaan. Avoimen lähdekoodin funktiokirjastoja (OSCAT) on hyvin vähän. Jopa alkeellisimmat suodatusalgoritmit ja matriisilaskelmat on kirjoitettava tyhjästä. Lisäksi kansainvälisten standardien tarjoamat perustoiminnot ovat liian rajallisia eivätkä pysty sopeutumaan uusiin skenaarioihin. Ne tarvitsevat kiireesti laajentamista.
(3) Vaikea päivittää
Täydellisen CoDeSysin riippuvuuden vuoksi asiakkaiden oman tuotelaitteiston päivitys on räätälöitävä ja siirrettävä, mikä lisää kustannuksia.
3 Avoimen lähdekoodin ratkaisut
Tällä hetkellä on olemassa joitakin avoimen lähdekoodin ohjausjärjestelmäratkaisuja, kuten Beremiz, Orocos, OpenPLC, OpenRTM ja ORCA.
Robottiohjaimien kehittäminen on raskas tehtävä. On selvennettävä joukko suorituskykyvaatimuksia, joista ensimmäinen on reaaliaikainen suorituskyky.
Reaaliaikainen suorituskyky on yleensä välttämätöntä teollisuusroboteille, mutta ei välttämättä palvelu- tai viihderoboteille. Tavallisten ihmisten on helppo luulla "reaaliaikaista suorituskykyä" nopeaksi käsittelyksi tai vastausnopeudeksi, mutta itse asiassa "reaaliaikainen suorituskyky" tarkoittaa "determinismia" ajassa. Esimerkiksi keskeytysvasteen tai prosessin vaihtamisen viiveajan reaaliaikaisessa käyttöjärjestelmässä (RTOS) on oltava aikavälillä.
Yleisesti käyttämämme käyttöjärjestelmät (Windows, Linux) eivät ole reaaliaikaisia ​​käyttöjärjestelmiä, koska ne on suunniteltu suoritustehoa varten, eivätkä ne voi taata, että jokainen tapahtuma käsitellään tietyllä alueella. Esimerkiksi standardi Ethernetin siirtonopeus on paljon nopeampi kuin reaaliaikaisen teollisen Ethernetin, mutta se ei myöskään ole reaaliaikainen, koska se ei myöskään voi taata tiedon siirtoa tietyssä ajassa.
Reaaliajassa ei ole vaikea ymmärtää, mutta mitkä robotin tehtävät on suoritettava reaaliajassa? Kuinka määrittää aikaväli ohjelman suorittamiselle robotin suorituskykyvaatimusten mukaan (1 ms tai 10 ms)? Riippuuko reaaliaika laitteistosta tai ohjelmistosta?
Kuinka valita tietty laitteisto ja ohjelmisto reaaliaikaisesti (ARM tai X86, Linux RTAI tai VxWorks)? Internetissä tästä näkökulmasta puuttuu syvällinen keskustelu, eivätkä suuret robottivalmistajat paljasta testi- ja kokeellisia tuloksiaan. Näyttää siltä, ​​että tämä näkökohta perustuu pääasiassa kokemukseen ja yrityksen ja erehdyksen perusteella.
Tässä voin tarjota vain muutaman indikaattorin. Tällä hetkellä teollisuusrobotin käsivarsien ohjaussykli on noin 1 ms, ja tehokkaan servokäytön asentosilmukan ohjausjakso voi olla 125 [Math Processing Error] mu sμs. PLCopen määrittelee joitain standardeja servo- ja liikeohjaukselle, mukaan lukien ohjelmointikieli, liikkeenohjauksen perustoimintolohkot, tulo- ja lähtöliitäntöjen parametrit jne. [Math Processing Error] ^{[3]}
[3] Eri valmistajat toimittavat erityiset toteutuskoodin tiedot.

Lähetä kysely

whatsapp

skype

Sähköposti

Tutkimus