R

Robotul industrial controlat din PC

O solutie tehnica ce scade costurile de control ale unei linii de productie

Societatea pe care o cunoaştem reprezintă un “înveliş” menit să separe tot mai mult omul de problemele existenţiale atât de natură fizică cât simorala. Acest lucru se realizează cu nişte costuri pe care încă nu ştim dacă ni le putem permite. Sunt “jumătate de inginer” în domeniul sistemelor automate şi al calculatoarelor.
Acum nu foarte mult timp în urmă nişte evenimente care s-au petrecut într-o ordine foarte specifică m-au propulsat într-o poziţie de unic responsabil pentru dezvoltarea unui sistem de comandă numerică adaptiv.
Precizia vine la pachet cu costul vitezei
În industrie, pentru majoritatea sarcinilor, care în trecut erau realizate de oameni, în prezent se folosesc roboti.Pentru a mişca un robot avem nevoie de un minim de dispositive hardware. Acele dispozitive hardware au rolul de a calcula mişcarea robotului, de a o trimite la un bloc de forţă care amplifică mişcarea calculată anterior (controller) şi în final de a trimite puterea comandată la un servomotor. Totul pare simplu până încercăm să implementăm teoria, şi observăm că intervin un număr considerabil de restricţii care sunt necesare pentru ca un sistem cu comandă numerică să fie utilizabil.
Una din cele mai mari avantaje legate de folosirea unui robot este viteza şi precizia cu care acesta poate executa sarcini. Totodată dependinta vitezei de lucru în raport cu precizia nu este un aspect care să avantajeze proiectarea. Dacă se doreşte o viteză de lucru mare, se pierde din precizie şi precizia vine cu costul vitezei. Pentru a calcula comanda unui robot , este necesar un procesor sau sistem de calcul care să analizeze informaţii în timp real.
controller
Ce solutie am ales noi
La prima vedere, un PC nu dispune de nici o caracteristică de tip real. Motivul este sistemul de operare, care oferă acces unui număr imens de task-uri din diferite aplicaţii către CPU.
În industrie lucrurile sunt ceva mai complicate, se foloseşte un sistem de timp real PLC (Programmable Logic Controller ) care coordonează mişcarea precisă a tuturor axelor de mişcare. PLC –ul primeşte informaţii de traiectorie de la un PC , în acest mod aplicaţia de timp real se ruleaza pe PLC. Aplicaţia desktop care permite utilizatorului control asupra robotului si nu necesită calcul în timp real este rulata pe un PC.
Dacă va amintiţi de prima parte a acestui articol , va spuneam ceva de costuri, şi depărtarea individului de probleme. Tocmai acesta solutie nu ne depărtează de probleme, şi vine totodată şi cu nişte costuri destul de mari.
Prin urmare , am decis să renunţăm la acel PLC , folosind ca procesor de timp real un nucleu de CPU. Majoritatea PC-urilor de azi sunt dotate cu cel puţin un dual core CPU. Unul din nuclee îl putem folosi pentru a rula un sistem de operare în timp real unde vom avea ca unic task controlul si sincronizarea întregului hardware al unui robot.
Putem controla o linie intreaga de productie numai cu un PC
Aici am descoperit ceva foarte interesant, diferenta dintre un core i7 6900k de 3,2 Ghz si un microcontroller din dotarea unui PLC industrial este puterea de calcul net superioara a unui CPU, totodata si diferenta de preteste in favoarea procesorului.
Motivul este ineficienta limbajelor de nivel înalt pe care se bazează mare parte din idustria IT pentru dezvoltare de aplicaţii , care au ca finalitate execuţia pe un CPU. Pentru a ţine lucrurile sub control, cei de la Intel creează din ce în ce mai multe nuclee , fiecare cu viteze de câteva sute de gigaFLOPS(FLOPS – Floating-pointOperations Per Second).
Mulţumită puterii de calcul a unui CPU, am decis că am putea controla o linie întreagă de producţie folosind un singur PC
Asta simplifică mult lucrurile , din punct de vedere financiar şi logistic, dar implementarea nu e deloc simplă. Pentru ca sistemul să funcţioneze e nevoie de un protocol standard de comunicare cu hardware-ul , care să permită schimbul de informaţii foarte rapid.
Am redus probabilitatea de a avea probleme de functionalitate
Pentru a respecta restricţiile de viteză şi compatibilitate hardware , am folosit protocolul EtherCAT (Ethernet for Control &Automation&Technology) care foloseşte un simplu cabul de internet şi o placă de reţea pentru comunicare.
programable-logic-controller
Singura restricţie în toată povestea asta este condiţia ca hardware-ul folosit să înţeleagă comunicarea EtherCAT. Ceea ce s-a şi întâmplat după inventarea lui, cea mai mare parte a producătorilor de servopack-uri (pachet servo – motor + controller motor ), module IO , şi tot ce ai nevoie în industria roboticii au produs hardware compatibil EtherCAT.
Simplitatea de cele mai multe ori înseamnă fiabilitate. Eliminând din schemă un întreg sistem de calcul, am redus astfel probabilitatea de a avea probleme de funcţionalitate.
Un alt motiv pentru orientarea proiectului spre zona de CPU a fost şi accesul la rezuresele hardware disponibile intr-un PC. Am reuşi astfel implemetarea unei aplicaţii real time în C++ care scanează reţeaua hardware, se autoconfigureaza , creează obiecte în mod dinamic pentru fiecare device hardware găsit.
Comunicarea între zona de aplicaţie real time şi Windows (sistemul de operare cel mai comun) se realizează printr-un canal de memorie RAM. O zona de memorie stabilită prin convenţie de ambele sisteme cu mecanisme de protecţie şi sincronizată este folosit apentru a trimitere questuri sidate.
Prin acest mod s-a reuşit creearea de funcţii simple care pot fi apelate dintr-o aplicaţie desktop fără a fi necesară cunoaşterea de hardware la nivel înalt, funcţii care trimit şi rezolvare questuri de ambele părţi.
Ca finalitate acest sistem poate fi instalat pe un simplu laptop şi pus în funcţiune în câteva minute. De asemenea, fiind modularizat ca proiectare, se poate modifica reţeaua hardware, iar aplicaţia real time va scana la initializare şi va relua funcţionarea cu noile resurse hardware în câteva minute.

CategoriesNumarul 3

Leave a Reply

Your email address will not be published. Required fields are marked *