Automatică și Informatică Industrială [302052]
Universitatea POLITEHNICA București
Facultatea Automatică și Calculatoare
Automatică și Informatică Industrială
Anul I semestrul II
LUCREARE DE DISERTATIE
Virtual Commissioning pentru o linie de prelucrare a pieselor folosind roboți industriali
Masterand: [anonimizat]
1. Introducere………………………………………………………………………………………….. 2
1.1 Context
1.2 Motivarea lucrării
2. Tehnologii folosite……………………………………………………………………………….. 3
3. Descrierea Procesului…………………………………………………………………………… 4
4. Proiectare și Modelare
4.1. Distribuția punctelor de sudură…………………………………………………… 7
4.2. Alegerea echipamentului de sudură…………………………………………….. 12
4.3. Alegerea roboților…………………………………………………………………….. 15
4.4. Proiectarea echipamentelor și uneltelor……………………………………….. 19
5. Amplasarea obiectelor în celulă…………………………………………………………….. 22
6. Realizarea simulării bazate pe evenimente……………………………………………… 26
7. Realizarea logicii de comandă………………………………………………………………. 49
7.1. Arhitectura Hardware………………………………………………………………… 50
7.2. Programare PLC……………………………………………………………………….. 52
7.3. Realizare HMI………………………………………………………………………….. 59
8. Virtual Commissioning în mediul academic…………………………………………… 61
9. Concluzii……………………………………………………………………………………………. 71
10. Bilbiografie………………………………………………………………………………………… 72
Introducere
Context
Progresul tehnologic din ultimul secol a [anonimizat] a condus la automatizarea progresivă a fiecărui element de producție. Eficiența, calitatea și reducerea costurilor sunt factori ce au crescut pe măsură ce s-au introdus elemente robotizate în producție.
[anonimizat] s-a împărțit în patru perioade istorice:
– Industry 1.0: Mecanizarea proceselor folosind miscarea apei sau puerea aburului;
– Industry 2.0: [anonimizat], folosirea electricității;
– Industry 3.0: Automatizarea proceselor prin folosirea microprocesoarelor;
– Industry 4.0: Digitalizarea sistemleor fizice;
Industry 4.0 se centrează în jurul a 4 principii esențiale:
• Interoperabilitatea: [anonimizat], senzorilor și a oamenilor de a se conecta și comunica prin intermediul IoT (Internet of Things);
• Transparența informației: abilitatea de a digitaliza un sistem fizic prin crearea unui model ce are ca intrari date ale senzorilor din ralitate;
• Asistență tehnică: abilitatea de a [anonimizat];
• Decentralizarea deciziilor: [anonimizat] a întreprinde cât mai multe acțiuni în regim autonom;
Virtual Commissioning vine ca un răspuns direct la cererile de producție din ce în ce mai mari, precum și la nevoia unor produse de o calitate mai bună. Digitalizarea unui proces si realizarea unui model virtual identic cu cel real ajută inginerii la validarea conceptului, dar și la eficientizarea acestuia prin testarea unor scenarii diverse de lucru. În acest fel, apare avantajul faptului că se ajunge la o variantă a programului PLC mult mai matură, cu scopul ideal de a ajunge la un sistem plug-n-play în care după conectarea tuturor echipamentelor industriale, procesul va funcționa fără probleme.
Asptectul fundamental legat de VC este realizarea unei copii digitale a liniei de producție ce se va instala, un model virtual care se va comporta identic cu cel real.
În prezent, se pot implementa trei tipuri de tipologii:
Software-in-the-Loop. În acest caz, totul este reprezentat, testat și validat în forma digitală. Astfel, linia de producție are un model digital, dar și PLC-ul este simulat, iar tot procesul se află pe un calculator. PLC-ul virtual are posibilitatea de a schimba semnale cu modelul digital, realizat în Process Simulate pentru cazul nostru.
Hardware-in-the-Loop. În acest caz se folosesc echipamentele care se vor utiliza în fabrică, module periferice pentru PLC, drivere de motoare etc. Prezintă avantajul că se reproduce mediul industrial foarte fidel, însă costurile pentru realizarea acestei tipologii sunt foarte mari
Simulare Hibrida. Linia de procuție este virtualizată, iar echipementele reproduc cât se poate de exact realitatea, inclusiv roboții prin utilizarea controllere-ul virtuale, iar PLC-ul este unul fizic, un model identic cu ce se va folosi în fabrică. În prezent, este cazul cel mai favorabil, pentru că de regulă, costurile pentru automatizări sunt mult mai mici în comparație cu achiziția roboților industriali, iar achiziția unui PLC în faza de proiectare devine mult mai fezabilă. Totodată, este un caz ce reproduce foarte bine realitatea.
Deși în prezent se utilizează foarte mult ultima variantă, progresele ultimor câțiva ani permit folosirea primei metode din ce în ce mai mult. PLC-urile vrituale se comportă identic cu cele reale, iar folosirea lor în validarea codului a devenit din ce în ce mai mult o realitate.
Motivarea lucrării
Ca urmare dezvoltării temei de cercetare s-a remarcat faptul că o bună parte dintre subiectele studiate au potențialul de a deservi ca suport pentru mai multe laboratoare din cadrul Faculății de Autoatică și Calculatoare. Faptul că Virtual Commissioning presupune punerea în funcțiune virtuală a unui proces automatizat înseamnă că din punct de vedere al funcționalității, se lucrează cu o simulare foarte realistă.
Astfel, în cadrul laboratorului studenții pot lucra cu procese reale fără a depinde prea mult de resurse materiale (elemente de acționare, automate programabile, senzori etc.). Fie ca este vorbe de procese simple ce presupun acționari banale sau complexe, Virtual Commissioning devine o unealta foarte flexibila pentru realizarea unor scenarii de lucru care sa complementeze noțiunile teoretice ale studenților.
Laboratoarele s-ar dezvolta în jurul conceperii și dezvoltării codului PLC. Desigur, faptul că se pot utiliza elemente de acționare reale constituie un mare avantaj pentru studenți, întrucât ei vor avea posibilitatea de a vedea în realitate consecințele codului pe care îl scriu, însă prin folosirea unui mediu digital utilizarea unor scenarii mai complexe devine mult mai facilă, lucru ce va permite studenților să își dezvolte atăt cunoștințele de programare PLC, cât și cunoștințele generale despre procesele automatizate.
De ce Virtual Commissioning?
Soluțiile software capabile de virtual commissioning sunt suficient de flexibilie și puternice pentru a realiza studii pentru automatizări care se pretează asamblării și manipulării pieselor/materialelor, sudură, transport materiale, logistică etc.
Mai mult, spre deosebire de soluțiile de virtualizare folosite momentan în facultate, programele propuse în această lucrare au un mediu vizual mult mai dezvoltat, ele fiind capabile să lucreze cu modele 3D ale obiectelor de o fidelitate foarte mare și cel mai important, cu simulări bazate pe evenimente. Într-un astfel de mediu, tot ceea ce se întâmplă în simulare este condus de către un element de control (PLC), resursele din simulare fiind capabile să reacționeze la comenzi și să transmită un feedback despre starea lor.
Tehnologii folosite
Ce software putem folosi pentru Virtual Commissioning?
Pentru punerea în funcțiune virutală este nevoie de un software suficient de puternic pentru a putea utiliza modele 3D ale obiectelor reale, dar și pentru a mișca aceste obiecte conform cu realitatea. Am ales o soluție care îmi va putea permite să realizez nu doar o simulare foarte fidelă, dar și o simulare bazată pe evenimente la care voi lega un automat programabil.
Soluția software folosită este Process Simulate.
Fig. 2.1 – Process Simulate
Folosit pentru instalații complexe cu multe interacțiuni între echipamente și operatori umani, Process Simulate a devenit un standard în ceea ce privește simularea și validarea proceselor automatizate și robotizate. Process Simulate are posibilitatea de a simula cu precizie foarte mare roboții industriali, indiferent de producător. Totodată dispune de o gamă largă de posibilități de conectare la echipamente de control (Simatic Manager PLCSIM, PLCSIM Advanced, SIMIT, OPC DA, OPC UA, Simba Box/ Simulation Unit)
Dacă ne folosim de Virtual Commissioning pentru a dezvolta linia de fabricație, ne putem aștepta la o serie de avantaje imediate. În primul rând, având la dispoziție un model digital identic cu cel din fabric, ne este foarte ușor să vizualizăm toate problemele legate de amplasamentul echipamentelor. Putem vedea care sunt zonele de coliziuni, putem face studii de ergonomie și putem defini zone de siguranță pentru operatorii umani. În al doilea rând, este mult mai ușor și practic să testăm și validăm codul PLC din cadrul biroului, timpul petrecut în șantier fiind minimizat. Orice schimbare asupra codului se va putea testa imediat, iar în acest fel, putem să alegem cel mai eficient scenariu de lucru. În ultimă instanță, putem să optimizăm întreaga producție din fabric, fără a opri linia de producție și fără a folosi resurse fizic
Pentru partea de programare și configrare a automatelor programabile am ales să folosec TIA Portal.
Fig 2.2 – TIA Portal
Totally Integrated Automation Portal (TIA Portal) este mediul în care se configurează structura hardware a echipamentului de control. Totodată se pot realiza programe pentru unul sau mai multe PLC-uri din gama Siemens.
Pentru lurarea de față am folosit TIA Portal Professional V14 SP1.
Pentru Virtual Commissioning nu suntem limitați de un producător anume de automate programabile. De fapt, în industria producătoare de mașini, unde se folosește cel mai des Virtual Commissioning, cei mai răspândiți producători de PLC-uri sunt: Siemens, Allen-Bradley și Mitsubishi.
Am ales să folosesc gama de produse de la Siemens datorită faptului că în cadrul produselor lor există o compatibilitate și o comunicare foarte bună.
Descrierea procesului
În acest capitol se va descrie procesul ce urmează să fie modelat și simulat cu mențiunea că proictul este constuit și într-o manieră didactică astfel încât să se expliciteze cât mai bine tehnologiile folosite în acest moment de către industria producătoare de mășini. În acest mod, consider că voi prezenta un exemplu concret ce se va folosi de conștințele unui inginer automatist și mai mult, un exemplu care să integreze și domeniile de robotică și mecanică. Ceea ce nu se va prezenta în mod detaliat este proiectarea CAD a echipamentelor și pieselor din proiect, întrucât activitatea din cadrul procesului presupune doar validarea echipamentelor.
Pentru proiectul în cauză am considerat un proces de manipulare și sudare în puncte a unor piese componente ale unei caroserii de mașină. Acest proces reprezintă doar o parte a liniei de producție sau o celulă de proces, așa cum mai este numită în terminologia specifică. Astfel, se va lua în vedere continuitatea fluxului de prelucrare al pieselor, în sensul că acestea vor avea in punct de intrare în celulă, iar produsul rezultant va merge mai departe în producție.
Din acest motiv, întregul proces va trebui robotizat pe cât de mult posibil și optimizat pentru a putea fi executat într-un timp cât mai scurt. În mod normal, un producător de mașini va impune anumite limitări legate de tehnologiile folosite, rezultate din preferințele create în urma proiectelor anterioare, însă principiile utilizate sunt aceleași pentru orice tip de Robot sau sistem de conducere automat.
Pachetul software Process Simulate are abilitatea de a simula orice tip de robot, indiferent de marca producătorului și de a se adapta la orice scenariu de lucru ce este fezabil din punct de vedere logic și tehnologic. Tododată, poate comunica în mod direct cu PLCSIM și în mod indirect prin OPC Server cu orice tip de PLC disponibil pe piață.
În cazul de față, procesul are ca scop final realizarea unui ansamblu de 3 piese ce va intra în componeța caroseriei unei mașini, mai exact în panoul care separtă zona motorului de habitaclu.
Piesele au in construcție un material de aliaj de oțel și nu necesită o prelucrare constructivă în cadrul acestui proces, ele fiind supuse unor operații de manipulare și sudură.
Mai jos, voi prezenta piesele componente care vor intra în proces.
În final, ansamblul creat va arăta astfel:
Cele două părți comoponente mai mici sunt modelate astfel încât să aibă suprafețe comune cu piesa centrală. Acest lucru este important în ceea ce privește operațiunea de sudură pentru că va face posibilă proiectarea unei traiectorii de puncte astfel încât să se asigure criteriile de calitate si performanță impuse de producător.
De regulă, distribuția punctelor de sudură se face înainte de etapa simulării efective. Modul în care se realizează depinde foarte mult de modelul constructiv al pieselor, precum și de asigurarea calității și durabilității prosului finit. Astfel, proiectarea și modelarea pieselor componente ale unei caroserii de mașină va ține cont de fezabilitatea procesului de sudură., întrucât un model prost conceput al piesei va rezulta în dificultăți mari în ceea ce privește planificarea procesului de producție.
Cum echipamentele industriale implicate în mod direct în operațiile procesului sunt foarte scumpe, și aici amintim roboții industriali, unelte specifice roboților, conveioare, mese de fixare, echipamente de conducere etc., este foarte important de stabilit de la început logica de execuție a procesului pentru a semnala cât mai devreme eventualele probleme si abordarea unor soluții cât mai eficiente.
Din fericire, cum domeniul construcțiilor de mașini este unul foarte profitabil, iar standardele de siguranță sunt foarte riguroase, producătorii nu fac economii în ceea ce privește selecția echipamentelor. De aceea, se pot alege soluții scumpe, dar care să asigura calitatea și eficiența dorită, întrucât costurile inițiale se vor amortiza într-un timp relativ scurt. Astfel, selecția roboților și a uneltelor folosite de aceștia nu este constrânsă prea mult de capitolul financiar.
Proiectare și Modelare
Distribuția punctelor de sudură
Din modul de asamblare al pieselor, se poate observa care este zona în care se va executa operația de sudară.
Desigur, zona de sudură va fi determinată de zona în care cele două piese întră în contact în mod direct, iar accesul cu un aparat de sudură va permite plasarea în mod perpendicular al electrozilor pe suprafața pieselor.
Aceleași considerente le avem și pentru realizarea operației de sudură a celei dea treia piese.
Pentru a realiza procesul, se vor folosi operații de sudură în puncte. Acest lucru presupune planificarea unui set de puncte în zona stabilită de sudură astfel încât să se poată realiza produsul finit conform criteriilor impuse.
Sudura în puncte este un procedeu de îmbinare de rezistență, a două sau mai multe foi de tablă de metal, de regulă oțel, fără să se folosească material de adaos. În zona de sudat, cu ajutorul a doi electrozi din aliaje de cupru, se aplică o forță de comprimare și se transmite curent electric, care produce încălzirea pieselor la nivel local. Ca urmare, materialul dintre electrozi se topește iar după întreruperea curentului de sudură materialele se solidifică și are loc îmbinarea, realizându-se punctul de sudură.
În cazul de față, pentru a executa produsul final, se vor aplica puncte de sudură pentru fixarea geometriei (Puncte de Geo). Acest tip de puncte se aplică într-un mod cât mai perpendicular pe suprafața de sudură și cu o durată de sudură ceva mai lungă. Ideal este ca punctul de sudură să se dea cu o deviație de 0 grade față de cazul perpendicular, însă din cauza unor constrângeri ce pot să apară, acest lucru nu este întotdeauna posibil. Astfel, este tolerată o abatere de până la 10 grade, însă acest lucru este de evitat pe cât posibil, mai ales în cazul punctelor de fixare a geometriei pentru a nu periclita durabilitatea produsului final.
Pentru procesul studiat acum s-au proiectat următoarele puncte de sudură:
În Process Simulate se pot crea puncte de sudură prin simpla selecție a zonei în care se va dori plasarea punctului. Astfel, locația punctului de sudură va fi marcată cu un cub de culoare magenta. În mod normal, un punct de sudură are reprezentarea unui sistem de axe carteziene, folosit ca un reper de către robot și aparatul de sudură. Pentru a căpăta această caracteristică, se va folosi comanda „Project Weld Points”.
Fig. 4.1.5 – Crearea punctelor de sudură în Process Simulate
Această comandă va proiecta un punct perpendicular pe suprafața de sudură, având posibilitatea de a detecta în mod automat părțile implicate în proces sau de a le selecta în mod manual.
Odată ce este finalizată o distribuție de puncte se va alege un aparat de sudură potrivit.
Alegerea echipamentului de sudură
Pentru realizarea punctelor de sudură se folosesc, cel mai uzual, două tipuri de aparate de sudură:
De tip X:
Fig 4.2.1 – Aparat de sudură de tip X
De tip C:
Fig 4.2.1 – Aparat de sudură de tip C
Din punct de vedere funcțional ambele tipuri de aparate de sudură se vor conduce în mod identic. Practic, în programul robot final se vor controla un anumit set de parametri și anume:
deschiderea cleștelui de sudură;
forța aplicată;
curentul aplicat;
timpul de sudură;
Acești parametri se determină în funcție de fiecare proces în parte și în speță, de caracteristicile constructive ale pieselor prelucrate, tipul aliajului folosit, grosimea tablei. În anexă se poate găsi un tabel în care sunt specificați parametrii de sudură în funcție de caracteristicile procesului.
Cu ajutorul acestor informații se poate realiza un necesar de echipamente și unelte care să deservească realizării proiectului final și a unei oferte pentru client. Practic, în funcție de parametri de proces, se va căuta o unealtă potrivită la producătorii specializați.
Un alt element important în alegerea aparatului de sudură este reprezentat de către lungimea brațelor. Din nou, acest aspect este determinat în funcție de procesul în cauză, și anume de poziția punctelor în raport cu piesa și, dacă este cazual, în funții de poziția robotului în celula de proces. În cazul de față nu avem constrângeri spațiale, iar poziția robotului este arbitrară.
Pentru proiectul de față am ales un aparat de sudură de la producătorul francez ARO, cu modelul de mai jos.
Acesta are o deschidere de 241mm, o lungime a brațelor de 617,5mm și o masă constructivă de aproximativ 130kg.
Astfel, se îndeplinește condiția de accesibilitate pentru toate punctele proiectate.
Algerea Roboților
În momentul în care s-a finalizat alegerea uneltelor necesare, urmează pasul în care se va determina ce tip de robot se pretează pentru procesul în cauză. Cum sistemele de prindere pentru unelte se adaptează pentru fiecare model de robot, caracteristicile pe care le căutăm la un robot sunt legate de gradele de libertate, mobilitate și sarcină portantă.
În execuția acestei etape se dorește alegerea unui număr cât mai mic de modele de roboți pentru a scădea gradul de complexitate al celulelor de proces proiectate. Așadar, este de preferat găsirea unui robot care să poată executa și operații de manipulare, precum si operații de sudură.
Prin felul în care a reieșit proiectarea punctelor am decis că se vor folosi trei roboți; doi pentru sudură și încă unul pentru manipulare.
Din nou, alegerea roboților se face fie în mod arbitrar, fie la cerințele clientului. Aici am ales un robot de la producătorul Kuka din gama KRC2.
Fig. 4.3.1 – Schema de principiu și modelul 3D pentru robot Kuka
Fig. 4.3.1 – Schema de principiu și modelul 3D pentru robot Kuka
Fig. 4.3.1 – Schema de principiu și modelul 3D pentru brațul robotic Kuka
Robotul folosit prezintă următoarele caracteristici:
Sarcină totală portantă: 210kg;
Repetabilitate: 0,06mm;
Număr de axe: 6;
Masă proprie: 1068kg;
Anvergură de lucru este prezentața în imaginea de mai jos
Fig. 4.3.2 – Anvergura brațului robotic
Volum de lucru: 78m3;
Mobilitatea pe axe:
Datorită acestor caracteristici, în special mobilitatea și anvergura, modelul ales de robot se pretează pentru ambele tipuri de operații, sudură și manipulare. Dispune de o sarcină suficient de mare pentru a funcționa cu un clește de 130kg și are un volum de lucru suficient de mare pentru a manevra piesele.
Odată ce s-au obținut modele 3D pentru robot și aparatul de sudură, acestea pot fi folosite în mod aproape identic cu elementele fizice. Prin comanda „Joint Jog” aplicată robotului, se poate testa mobilitatea acestuia pe axe. Acest lucru este util în proiectarea celulei, întrucât poziționarea pieselor pentru operațiile de sudură se va face astfel încât să fie posibil accesul roboților cu aparatele de sudură.
După ce s-au integrat modele de roboți cu uneltele aferente și s-au proiectat punctele de sudură se poate vizualiza orientativ modul de lucru al roboților, ilustrat în imaginea de mai jos:
Având posibilitatea de a vizualiza într-un mod realist procesul în fazele incipiente, putem să anticipăm eventualele probleme care ar putea părea în fabrica reală. Spre exemplu, prin saltul roboților la punctele de sudură proiectate, putem determina dacă vor exista sau nu zone de interferențe între roboți.
O zonă de interferență se definește prin acea zonă în care volumul de lucru al roboților se va intersecta. În cazul de față, nu există zonă de interfernță între cei doi roboți de sudură.
Proiectarea echipamentelor și uneltelor
Pentru a manevra piesele, este nevoie de alegerea si proiectarea unor dispozitive particularizate. În principiu, trebuie construit un mecanism care sa prindă piesele și să ofere suficient suport în timpul operațiilor de sudură și manipulare.
Astfel, vom vedea dispozitive care prind piesele la sol, mese de fixare și de lucru, precum și dispozitive montate pe robot, gripper. Ele se bazează pe acționări pneumatice, fiecare clemă fiind acționată de către un motor.
Ca elemente de fixare se vor folosi următoarele tipuri:
Cleme mecanizate. Închiderea se face printr-o mișcare de rotație. Părțile componente care intră în contact cu piesa se pot modifica după preferințe și nevoile constructive ale procesului. La baza mișcării se află un element de acționare pneumatică.
Pini de ghidaj. Au rolul de a asista la așezarea corectă a piesei în sistemul de fixare. Aceștia pot fi construiți simplu, fără elemente în mișcare, sau mecanizați, cu pinul retractabil.
Elemente de susținere fixe.
În ceea ce privește echipamentele montate pe robot, acestea au la bază aceleași elemente ca dispozitivele neamovibile. Clemele și pinii vor fi montați pe un sistem de sprijin fixat pe robot.
Pentru proiectul în cauză am construit un gripper astfel încât să poată fi folosit de pentru manevrarea ambelor tipuri de piese. Astfel, gripperul dispune de un set de cleme care vor face prinderea de la postul de încărcare manuală și un alt set pentru preluarea piesei de pe banda transportoare.
Odată ce a fost modelat și definit ca resursă de tip Gripper în Process Simulate, dispozitivul se poate monta pe robot cu ajutorul unui sistem de axe. Acest sistem de axe se folosește atât în mediul virtual, cât și în realitate, el având rolul de a ghida operatorul uman în momentul în care se montează fizic aparatura.
Din acest moment, orice mișcare executată de robot va avea ca efect și miscarea gripperului. Se va lua în calcul faptul că volumul de lucru al robotului va creste. De aceea, se dorește ca proiectarea echipamentelor montate pe robot să fie cât mai mici posibile pentru a evita eventualele coliziuni și pentru a nu depăși limitele spațiale ale celulei. Acest principiu a fost aplicat și în cazul nostru, chiar dacă nu s-au impus astfel de constrângeri asupra proiectului. Problema coliziunilor va fi studiată într-o etapă viitoare a proiectului, asemenea cu practica din realitate.
Amplasarea obiectelor în celulă
În final, după ce au fost stabilite detaliile tehnice legate de tipul echipamentelor ce se doresc a fi utilizate, următorul pas constă în amplasarea acestora în spațiul celulei de proces. Pentru acest lucru s-au ținut cont de următoarele considerente:
Existența unui post de încărcare manuală;
Intrarea unei piese în celulă prin intermediul unei benzi transportoare;
Iesrea ansamblului final din celulă prin intermediul unei benzi transportoare;
Limitările de anvergură ale roboților;
Zone de acces pentru tehnicieni;
Prezența unui gard de siguranță;
Astfel, dispunerea echipamentelor în celulă s-a făcut astfel:
STN_010 reprezintă postul de încărcare manuală a piesleor;
STN_020 este postul în care se execută operațiile de sudură în puncte;
R1 este robotul care execută operațiile de manipulare;
R2 și R3 sunt roboții care execută operațiile de sudură în puncte;
TD1 și TD2 sunt posturi desemnate pentru ascuțirea electrozilor paratelor de sudură;
Din punct de vedere al siguranței, am introdus un gard de protecție cu o înâlțime de 2m, iar accesul se poate face doar printr-o singură locație. Totodată zona încărcare manuală a fost delimitată pentru o protecție suplimentară în ideea ca prezentă operatorului uman va limita activitățile roboților din acea zonă. Capitolul de siguranță va fi dezvoltat pe larg într-o dezvoltare ulterioară a proiectului.
Realizarea simulării bazată pe evenimente
Atunci când se realizează un proiect de Virtual Commissioing, este de preferat ca echipa implicată să înțeleagă cum funcționează mediul de lucru în Process Simulate, dar ș aibă și cunoștințe medii despre automatizări și programare PLC.
În Process Simulate există câteva cerințe privind proiectul înainte de a începe faza de Virtual Commissioning. Avem nevoie de:
– amplasamentul final al celulei;
– proiectarea finală a echipamentului utilizat;
– Fiecare ansamblu mobil ar trebui să aibă cinematica corectă;
– Resursele necesare ar trebui definite drept componente inteligente care utilizează blocuri logice;
– Off-Line Programming pentru operațiunile robotizate ar trebui terminat;
– Lista de semnale trebuie definită identic cu specificațiile diagramei electrice;
– Trebuie definită o conexiune externă preferată (PLCSIM, PLCSIM-Advanced, OPC Connection, SIMIT);
Fig. 6.1 – Modul de lucru cu Virtual Commissionig
Amplasamentul final al celulei
Dacă avem forma finală a linei de producție, putem fi siguri că rezultatele pe care le obținem atunci când facem Virtual Commissioning vor avea același impact în viața reală. Orice discrepanță între simulare și fabrica reală poate să genereze probleme majore atunci când se realizează instalarea propriu-zisă.
Din acest motiv, fiecare echipament folosit în studiul realizat în process simulate ar trebui să fie prezentat în forma finală de către echipa de proiectare. Validarea resurselor 3D este o etapă ce se termină înainte de Virtual Commissioning.
Fig. 6.2 – Amplasamentul final al studiului cu 4 roboți industriali
În etapa de validare a amplasamentului, numită Simulare, inginerii implicați au următoarele atrubuțiuni:
Validarea elementelor de prindere a pieselor. Este important ca dispozitivele proiectate să poată fixa piese din producție. Orice greseală sau lucru trecut cu vedere acum se va reflecta în echipamentele instalate în fabrică.
Validarea roboților. Inginerii de simulare se asigură că roboții sunt potriviți pentru procesul în cauză. Trebuie verificat dacă sarcina portantă sau viteza de deplasare sunt corespunzătoare. În ultimă instanță, se verifică dacă roboții pot realiza operațiile pentru care sunt gândiți. Pot apărea ipostaze în care un robot să nu poată ajungă într-un anumit punct. Acest caz va genera modificări de amplasament.
Verificarea interacțiunii dintre echipamte. Sub nicio formă doua sau mai multe echipamente nu trebuie să intre în coliziune. Acest lucru necesită foarte multă atenție și este un pas crucial în această etapă. Din nou, orice greșeală provocată aici se va regăsi și în fabrica reală, lucru ce va cauza daune materiale și dificultăți logistice.
Cinematizarea resurselor
Este o activitate ce întră în componența etapei de simulare. Fiecare model 3D este introdus în proiect și cinematizat în funcție tipul echipamentului simulat.
În Process Simulate se pot face cinematizări simple redate de translații și rotații, dar și cinematizări complexe prin realizarea mișcărilor plan paralele. Totodată, se pot seta parametrii precum viteză, accelerație limită de cursă și dependețe între cuplele cinematice.
Mai jos este ilustrată cinematizarea unei porți de acces, unde am selectat partea mobila, partea fixă, axa în jurul căreia se face mișcarea de rotația și parametrii de mișcare precum: limite de cursă între 0o și 100o, viteză 500mm/s și accelerație 500mm/s.
Fig. 6.3 – Cinematizare unei resurse în Process Simulate
Pentru gripper-ul roboților și elementele de prindere din Stația 20 am folosit un procedeu identic, singurele diferențe constând în parametrii cinematici.
Chiar și în cazul roboților, mișcările lor imită foarte fidel modelul real. Din cauza faptului că pentru un robot cinemtica este foarte complexă, cel mai viabil mod de a realiza un model este de a-l obține direct de la producător. Din fericire, acest proces nu este dificil, toți producătorii de roboți înțelegând această nevoie și realizând în acest sens un catalog digital de modele, disponibil pentru oricine.
Pentru alte tipuri de resurse se poate proceda în mod asemănător. Producătorul pune la dispoziție modelele 3D pentru echipamentele produse, lucru ce face foarte facil construirea unei linii de producție virtuale.
Crearea resurselor inteligente
Prin faptul că avem cinematica corectă, vom putea face resursa "inteligentă".
Un dispozitiv inteligent se bazează pe reprezentarea grafică a unei resurse, dar adaugă elemente de logică pentru a controla cinematica resursei. Ca urmare, utilizatorul are capacitatea de a schimba valorile anumitor senzori, viteza și accelerația sau distanța parcursă de o resursă. Aceste modificări pot fi declanșate de semnale care sunt utilizate în programul PLC. O caracteristică excelentă a acestei funcționalități este că logica dispozitivului este stocată în fișierul JT asociat al modelului 3D.
Utilizarea dispozitivelor inteligente contribuie la eficientizarea și precizia simulării. Funcționalitatea unor astfel de componente inteligente este implementată într-un "bloc logic". În procesul de simulare, blocul logic acționează ca și creierul componentei. Detectează schimbările aduse semnalelor specifice și, pe baza acestor semnale, poate declanșa acțiuni adaptate dispozitivului (de exemplu deschiderea sau închiderea unei cleme). Mai mult decât atât, aceștia raportează starea dispozitivului prin utilizarea senzorilor de valoare comună și trimițând aceste semnale către PLC.
Folosind blocuri logice, putem face componentele din celulele noastre să se miște atunci când primesc o comandă și chiar transmită un feedback entității de control.
Aceasta înseamnă că putem muta o resursă într-o poziție specifică (Pose) la un moment dat. De asemenea, ne așteptăm ca această componentă să ne "spună" starea actuală la momentul dat.
Practic, vrem să imităm comportamentul echipamentului real din fabrică. Acest lucru asigură faptul că modelul nostru digital este valabil și orice activitate efectuată în mediul virtual va fi reflectată în realitate.
Fig. 6.4 – Meniul resurselor logice
Fig. 6.5 – Bloc Logic asociat unei resurse
Principalele componente ale unui bloc logic sunt:
– Intrări (Entries). Sunt parametri care intră în blocul logic. Intrările pot avea un semnal conectat la ele. În acest caz, sunt semnale OUTPUT din punctul de vedere al PLC-ul. În mod obișnuit, semnalele de comandă de la PLC vor declanșa intrările Blocului Logic la care sunt conectate.
Fig. 6.6 – Definirea intrărilor pentrul blocul logic
Variavilele de intrate se definesc în concordanță cu tipul semnalului trimis de PLC. Astfel putem defini intrări de tipul: Bool, Byte, Word, Dword, Int sau Real. Totodată, putem lega mai multe semnale la o singrua variabilă de intrare.
– Acțiuni. Ele sunt folosite pentru a muta dispozitivul într-o anumită poziție. Acestea sunt declanșate de combinații de intrări și / sau de alți parametri. De asemenea, putem controla unele caracteristici cum ar fi viteza, accelerația, decelerația.
Fig. 6.7 – Definirea acțiunilor pentrul blocul logic
În cazul unor dispozitive specifice precum ar fi gripperul de robot, putem utiliza două comenzi specifice:
Grip: se folosește pentru a atașa un obiect de gripper în timpul simulării bazată pe evenimente
Release: detașează obictele ce au fost atașate anterior de gripper.
– Parametri. Aceștia sunt folosiți ca extensii ale intrări sub formă de elemente logice suplimentare. Aceștia pot fi definiți ca senzori pentru articulațiile dispozitivului sau orice alt tip de semnal (Bool, Byte, Word, Real) care poate fi generat folosind condiții specifice.
Fig. 6.8 – Definirea parametrilor pentrul blocul logic
– Ieșiri. Ele pot fi văzute ca o parte finală a Blocului Logic. Sunt conectate la un semnal care poate ieși în afara simulării și să ajungă în PLC. Practic, prin intermediul ieșirilor din blocul logic, putem să transmitem starea resurselor din simulare către elementul de control.
Fig. 6.9 – Definirea ieșirilor pentrul blocul logic
Deci, pentru a rezuma totul, un Logic Block acceptă semnale de intrare și semnale de ieșire. Semnalele de intrare sunt folosite pentru a declanșa acțiunile, care în cazul nostru fac clemele deschise sau închise. Parametrii sunt făcuți mai ales, dar nu se limitează la, senzori de valoare comună care detectează starea aparatului. Atunci când un parametru detectează valoarea specificată a articulației, modifică semnalul corespunzător la valoarea True; o păstrează la Fals dacă altfel.
Blocurile logice funcționează foarte îndeaproape cu logica PLC, deoarece intrările pentru blocul logic sunt ieșiri din PLC, iar ieșirile din blocurile logice sunt intrări pentru PLC.
Fig. 9 – Logica fluxului de semnale dintre PLC și un Bloc Logic
Deoarece PLC-ul funcționează și cu alte tipuri de semnale, Blocul Logic are suport pentru semnale mai complexe. Se pot utiliza următoarele tipuri: BOOL (1 bit), BYTE (8 biți), INT (16 biți), DINT (32 biți), WORD (16 biți), DWORD (32 biți). Acest lucru înseamnă că un bloc logic poate simula comportamentul oricărui tip de dispozitiv, făcându-l foarte flexibil și versatil în ceea ce privește simularea echipamentului din fabrică.
Definirea resurselor logice este una dintre cele mai importante etape în realizarea proiectului de Virtual Commissioning pentru că ne va putea permite să controlăm echipamentele prin intermediul semnalelor într-un mod aproape identic cu ce se întâmplă în realitate. De fapt, singura diferență va fi dată de lipsa cablurilor electrice.
OLP (Off-Line Programming)
Următorul pas este să ne asigurăm că operațiile robotice sunt definite și finalizate. O operațiune robotică ar trebui considerată un program robot real. În acest sens, ne așteptăm ca orice lucru care se întâmplă cu un robot în mediul simulat, va fi reprodus exact în viața reală.
Pentru acest pas, avem nevoie de controlerul virtual robot încărcat în simulare. Asa cum implică și numele, acesta simulează un controler pentru un model specific de robot. Deși Process Simulate are un controler implicit care poate conduce orice resursă definită drept robot, funcționalitatea sa este limitată, aceasta fiind o soluție generală. Prin utilizarea unui controler realizat de un producător de robot pentru produsul său propriu, utilizatorul obține acces la curbe mai precise de mișcare și comenzi specifice pe care controlerul real le poate executa. Drept urmare, utilizatorul va observa o diferență semnificativă de funcționare atunci când rulează simularea cu un robot conectat la controlerul virtual. Cunoscând acest lucru, devine extrem de important să controlerul de robot potrivit pentru a valida simularea în mod corespunzător.
Fig. 6.10 – Alegerea controlerului virtual potrivit
În plus față de mișcarea precisă, utilizatorul are, de asemenea, acces la instrucțiuni mai avansate numite comenzi OLP (Off-Line Programming). Ele sunt personalizate pentru fiecare robot prin ceea ce se numește "Customizare XML". La bază, personalizarea este un fișier ".xml" care conține comanda robotului real în limbajul său specific de controler și o reprezentare pentru Process Simulate într-un aspect mai ușor de utilizat.
Fig. 6.11 – Folosirea comenzilor OLP pentru realizarea programului Robot
Comenzile OLP pot fi introduse în orice locație a operației robotizate și după ce robotul ajunge în acea locație, mai întâi controlerul trece prin fiecare comandă și numai după executarea subrutinei, robotul se va muta în următoarea locație. Această funcționalitate, alături de profilurile de personalizare introduse împreună cu fișierele XML menționate mai sus, oferă utilizatorului posibilitatea de a utiliza informațiile de la Operațiile Robotice și Comenzi OLP și de a exporta un program care va funcționa cu controlerul real și robotul. Mai mult decât atât, utilizatorul poate importa programele reale care rulează pe controlerul fizic.
Process Simulate generează automat o operație de robot cu toate comenzile OLP în locațiile corecte. Acest lucru este extrem de util atunci când o companie dorește să digitalizeze o fabrică existentă. În acest fel, inginerii pot avea programe robot corecte și precise, cu toți parametrii incluși, depășind necesitatea de a le recrea de la zero.
Pentru fiecare robot am realizat un program principal numit „MAIN” unde am apelat diversele operații ale roboților.
Fig. 6.12– Structura programelor pentru roboți.
Desigur, fiecare operație de robot are setul ei specific de caracteristici. Fiecare punct al traiectoriei are asociat un sistem de valori carteziene pentru poziționarea și orientarea în spațiu, lucru ce determină și configurația folosită de robot.
Mai jos voi ilustra programul de sudură pentru robotul R3 în care am selectat cele mai des întâlnite coloane folosite pentru editarea traiectoriilor de robot.
Fig.6.13 – Programul de sudură al robotului R3.
Astfel, se poate observa că fiecare punct solicită o anumită configurație din partea robotului, lucru ce trebuie foarte meticulos verificat întrucât se doresc cât mai rare schimbările de configurație. O schimbare de configurație poate modifica radical poziția robotului, iar dacă acest eveniment se produce într-un loc restrâns, se va ajunge în situația de coliziune între echipamente. Din această cauză, orice proiect cu roboți industriali trece prin faza de simulare tocmai pentru a evita aceste evenimente. De reținut faptul că pe baza lucrului realizat în etapele de simulate și OLP se va genera programul care va fi folosit pe robotul real.
Toate operațiile roboților le-am realizat în mod asemănător.
Lista de semnale
Una dintre părțile cele mai importante pentru Virtual Commissioning este aceea de a avea fiecare semnal corect definit și mappat cu adresa corespunzătoare. Semnalul nu este important doar pentru simularea bazată pe evenimente, ele constituie baza pe care se face comunicarea cu PLC-ul.
Deoarece ne folosim de o simulare bazată pe evenimente, este necesar un schimb constant de informații între modelul 3D și sistemul de control.
Process Simulate are o interfață foarte intuitivă care ajută foarte mult la gestionarea semnalelor, denumită "Signal Viewer", așa cum se arată în figura de mai jos.
Fig. 6.14 – Lista de semnale folosite în Process Simulate
Signal Viewer gestionează toate semnalele generate în cadrul proiectului Process Simulate. Aici, utilizatorul are posibilitatea să creeze și să ștergă semnale, să redenumească cele existente, să aleagă tipul, să le dea o adresă și să aleagă dacă semnalul este conectat la PLC sau nu. Nu toate semnalele necesită o conexiune; multe dintre ele sunt utilizate numai în mod intern în simulare. De asemenea, utilizatorul poate vedea resursele la care este asociat un semnal.
De remarcat este și funcția de signal mapping. Prin intermediul acesteia, se pot importa semnale foarte ușor din mediul de programare PLC și în acest mod putem avea o paritate între semnalele din Process Simulate și cele care se folosesc în PLC.
O parte din semnale au fost generate în mod automat prin intermediul blocurilor logice asociate resurselor. Acesta este cazul clampurilor din Stația 20 și a conveierelor, spre exemplu.
Semnale mai specifice și create manual am folosit în cazul roboților. Pentru confirmarea cererilor de a accesa o zonă sau în cazul interferenței între roboți am folosit meniul „Robot Signals”
Aceste semnale se regăsesc și în ferestra principală, „Signal Viewer” și, tot în aceeași manieră, se poate crea semnale de intrare sau ieșire, se poate seta tipul variabilei, adresa fizică și conexiunea externă.
Există o diferență prin prezență coloanei „Robot Signal Name”. Acestă intrare în tabel reprezintă numele variabilei folosite în comenzile OLP pentru operațiile robotului respectiv. Astfel, putem avea un nume de semnal conform codului PLC și un nume distinct pentru comenzile OLP, care de obicei este o variantă mai scurtă. Modificarea unei variabile o va modifica în mod automat și pe cealaltă.
Conexiuni Externe
Există mai multe metode pentru a conecta simularea bazata pe evenimente din Process Simulate la un dispozitiv extern, cum ar fi un PLC:
OPC Data Access (OPC DA)
OPC Unified Architecture (OPC UA)
Simulation Unit (fostă Simba Box)
Programe de Emulare:
PLCSIM Classic
PLCSIM Advanced
Simit
Standardul OPC Classic
OPC Classic se bazează pe mediul OLE al Microsoft și necesită astfel ca tehnologia OLE "COM" să fie prezentă în sistemul de operare. „OLE for Process Control” (OPC) definește obiectele, metodele și proprietățile standard pentru îndeplinirea cerințelor de interoperabilitate ale aplicațiilor de automatizare a proceselor în timp real. Aceste
cerințele includ:
O tehnică standard pentru abordarea informațiilor conținute în dispozitivele sistemele de control al proceselor
Transferul eficient de date dintr-un dispozitiv de proces într-o aplicație
Abilitatea unui client de a utiliza simultan mai multe servere
Suport de configurare specific serverului
Este o arhitectură client / server și modulară
Aproape toți furnizorii de automatizări suportă interfața OPC ca mijloc de a accesa diferite tipuri de date între computerele gazdă și aplicațiile Windows cu scop general, nu doar pentru funcțiile de monitorizare.
Interfața OPC constă în câteva tipuri de servere care oferă diferite tipuri de date între sistemul de control gazdă și interfețele cu scop general pentru accesarea acestor servere. În contextul nostru, serverul OPC Data Access este folosit pentru citirea (colectarea) și scrierea (stabilirea) valorile curente ale datelor de proces utilizând ID-urile de elemente (nume de variabile) ca identificatori de date.
Următoarea ilustrație prezintă o reprezentare funcțională pentru conexiunea
Process Simulate <-> Server OPC <-> PLC
Fig. 13 – Conexiune Process Simulate <-> Server OPC <-> PLC
Când se operează în modul OPC, procesul Simulate acționează ca un client OPC. Asta înseamnă că pentru a face schimb de valori cu serverul OPC trebuie să existe aceleași identificatori. Acești identificatori sunt în mod normal furnizați ca nume de semnale. Este responsabilitatea utilizatorului să verifice dacă numele semnalelor se potrivesc în serverul OPC și în Process Simulate.
Pentru acest proiect am realizat o conexiune OPC folosind un automat programabil S7-1511 pe partea hardware și Kepware pe partea software.
Kepware OPC Server este o soluție foarte populară pentru aceste tipuri de aplicații întrucât are suport pentru o gamă foarte largă de producători de PLC-uri, iar conexiunea se face într-un mod foarte simplu: se alege producătorul de PLC, se alege protocolul de comunicare, se alege gama produsului, se introduce adresa IP a dispozitivului, iar în final se introduc tag-urile. Acestea sunt calea către semnalele de la PLC.
Între Process Simulate și Kepware Server asocierea dintre tag și semnal se poate face fie pe bază de adresă, fie pe bază de nume. Între PLC și Kepware, asocierea se face pe bază de adresă.
Fig. – Realizarea conexiunii externe cu Kepware Server.
Dezavantajul acestei metode este că necesită o componentă hardware dar și una software, niciuna dintre acestea nefiind gratuite. În cazul componentei hardware, și anume PLC-ul, trebuie folosit automatul propus pentru realizarea proiectului, lucru ce poate să coste câteva sute de euro sau chiar mii. Totodată, disponibilitatea hardware-ului în faza de proiectare nu este întotdeauna posibilă. Sunt foarte puțin producători care pot să procure hardware într-un timp foarte scurt sau care să aibă o gamă largă de automate disponibile doar pentru teste și programare.
Componenta software poate avea echivalent de la orice al producător. Spre exemplu alte viarante populare sunt Matrikon OPC server sau chiar Siemens SIMATIC OPC Server. Niciuna dintre aceste variante nu este gratuită.
Standardul OPC UA
OPC UA – OPC Unified Architecture – este un protocol de comunicare industrială dezvoltat de către fundația OPC lansată în 2008 și este succesorul platformei OPC Classic (și OPC DA printre ei).
Are noi capabilități, cum ar fi independența platformei (OPC Classic este bazată pe COM, adică Windows based), securitate și modelare completă a informațiilor, menținând în același timp suportul specificațiilor COM OPC Classic.
Scopul OPC UA este de a standardiza în continuare comunicarea între diferite dispozitive și sistem și pentru a permite un flux de date mai ușor, fiabil și mai sigur.
Când se în modul External Connection cu o conexiune activă OPC UA, Process Simulate acționează ca un client OPC UA. Din nou, este important să avem aceleași nume de semnale în ambele părti, în Process Simulate, precum și în serverul OPC.
Process Simualte identifică semnalele din serverul OPC UA prin ID-ul specific, ce este alcătuit din 3 lucruri care fac un singur nod în serverul OPC UA unic:
NameSpaceIndex: definită în conexiunea OPC UA în sine;
Tipul identificatorului: Process Simulate suportă doar tipurile de identificatori de tip String și, prin urmare, schimbul de semnal se bazează pe numele semnalului. Nodurile de alte tipuri (de exemplu numerice) nu sunt supuse comunicării.
Identifier: trebuie să se potrivească cu numele semnalului în PS. Unele servere OPC UA au reguli de numire pentru a crea Identificatori din datele PLC. De exemplu, serverul Siemens Simatic Net OPC UA adaugă un prefix constant (de exemplu "S7-1500_ET200. <PLC NAME>") la orice identificator, în timp ce alte servere pot avea o implementare diferită.
În acest caz, conexiunea presupune mai puține componente decât în cazul OPC Classic în sensul că nu mai este nevoie de configurarea unui server OPC pe calculatorul folosit. În automatele mai noi, spre exemplu S7-1500, se poate activa serverul OPC UA direct în cadrul procesorului PLC.
În TIA Portal, configurarea serverului OPC UA se realizează din proprietățile automatului programabil.
Din nou, apare dezavantajul necesității unei componente hardware.
Din cauza acestui aspect, am început să analizez metode care să simuleze automatul programabil
PLCSIM Classic
PLCSIM este un emulator PLC de la Siemens Industrial Automation. Este folosit pe scară largă pentru a emula comportamentul actual al codului PLC în diverse scopuri, cum ar fi depanarea codului PLC sau ca în cazul nostru – punerea în funcțiune virtuală.
Există mai multe versiuni ale PLCSIM:
PLCSIM Classic (versiunea 5+), utilizat pentru emularea PLC-urilor S7-300 / 400, ca extensie a platformei Simatic Step 7 sau TIA Portal.
PLCSIM Standard (versiunea 11+), folosit pentru emularea PLC-urilor S7-1200 / 1500 ca extensie a TIA Portal.
PLCSIM Advanced (versiunea 1+), utilizat pentru emularea PLC-urilor S7-1500 ca extensie a TIA Portal.
Ca și în cazul OPC DA, scopul conexiunii PLCSIM este de a schimba informații, adică semnale, printr-un protocol de comunicare, pentru a verifica comportamentul reciproc al ambelor sisteme (simulare și emulare PLC) care rulează împreună.
Fig. 14 – Interfață PLCSIM Classic
Din păcate, conexiunea dintre PLCSIM Classic și Process Simulate nu este cea mai stabilă. PLCSIM Classic a fost dezvoltat împreună cu Simatic Manager și nu a fost proiectat niciodată pentru a comunica în mod direct un un mediu de simulare. Recomandările oficiale sunt să nu se folosească PLCSIM Classic pentru realizarea proiectului de Virtual Commissioning.
Totodată, PLCSIM Classic are suport doar pentru automate din gama S7-300 și S7-400. Chair dacă sunt generații mai vechi de PLC-uri, aceste game nu sunt nicidecum depășite, ele fiind foarte des întâlnite în industrie. Cu toate acestea am preferat folosirea unei arhitecturi noi, care se va întâlni din ce în ce mai des în fabrici, dar și ca urmarea a faptului că am acces la automatul S7-1511-1 PN, iar în acest mod pot observa dacă există diferențe între PLC-ul real și cel simulat.
În acest sens, o alternativă foarte bună este PLCSIM Advanced.
PLCSIM Advanced
PLCSIM Advanced este un emulator PLC avansat de la Siemens Industrial Automation conceput pentru a emula PLC-uri din seria S7-1500, lansat pentru prima dată cu TIA Portal versiunea 14.0 (2016).
Spre deosebire de PLCSIM Classic, PLC-ul virtual creat de PLCSIM Advanced este în esență identic cu un PLC real 1500. Acest lucru reduce considerabil diferența dintre emulator și PLC-ul fizic și permite o reprezentare digitală mai precisă a acestuia pentru Virtual Commissioning. De asemenea, fluxurile de lucru care includ un PLC emulat nu diferă deloc diferite de fluxurile de lucru care includ un PLC fizic.
PLCSIM Advanced include și un API care permite software-ului terț să se conecteze la acesta printr-o abordare mai stabilă, acesta fiind și modul în care Process Simulate comunică cu el.
Caracteristicile cheie suplimentare pentru utilizatorii Process Simulate Commissioning sunt posibilitatea de a rula mai multe instanțe de PLC-uri pe o singură gazdă și posibilitatea de a rula instanțe pe o gazdă la distanță printr-o comunicare TCP / IP simplă.
PLCSIM Advanced poate emula doar PLC-urile S7-1500.
Fig. 15 – Interfață PLCSIM Advanced
În Process Simulate, PLCSIM Advanced este considerat o conexiune externă. Conexiunea poate fi locală (poate fi executată pe gazda locală cu acces direct) sau la distanță (funcționează pe o altă mașină prin intermediul comunicației TCP / IP). Pentru instanțele de la distanță trebuie să fie introdus și numele gazdă și portul.
PLCSIM Advanced include funcționalități pentru a vă asigura că un port este deschis pentru comunicații pe o mașină de la distanță.
O singură instanță avansată PLCSIM poate fi atribuită doar unei singure conexiuni, astfel încât, odată ce o instanță este atribuită unei conexiuni, ea dispare din lista instanțelor active disponibile.
Conexiunea cu PLCSIM Advanced oferă o altă opțiune: sincronizarea timpului. În acest mod, ceasurile de simulare din Process Simulate și PLCSIM Advanced sunt sincronizate între ele (Process Simulate fiind master), permițând o simulare mai simplă și mai simplă.
Din punctul de vedere al modului de lucru, am ajuns la concluzia că PLCSIM-Advance este cea mai bună variantă pentru dezoltarea codului PLC și a conexiunii cu simularea.
Process Simulate se poate conecta în mod direct la PLCSIM-Advance, iar TIA Portal nu va face diferența între un PLC real și cel simulat în momentul în se monitorizează semnalele.
Totodată, PLCSIM-Advance poate simula orice PLC din gama S7-1500, lucru ce înseamnă că din punctul de vedere al costurilor, acestea vor fi mult mai mici decât în cazul achiziționării întregului hardware pentru etapa de programare PLC.
Realizarea logicii de comandă
Logica de comandă s-a construit în jurul PLC-ului S7-1511 produs de Siemens. S-a făcut această alegere întrucât este un model la care am acces astfel încât pot conecta simularea la un echipament de comandă real. Totodată, seria 1500 reprezintă vârful de gamă al procesoarelor de la Siemens, ele fiind folosite pentru procese complexe, unde timpul de procesare este crucial, iar numărul de intrări/ieșiri este mare.
Deși nu este necesar pentru scopul propus de Virtual Commissioning, am realizat și un stand de control în care am intgrat PLC-ul menționat mai devreme, împreună cu două butoane de start și de stop, un buton pentru oprire de urgență și un semafor cu 3 culori.
Componentele detaliate ale standului sunt:
Sursă alimentare 24V:
Procesor Siemens S7-1511 PN:
Modul Intrare:
Modul Ieșiri:
Ecran HMI Siemens 7”:
Buton roșu:
Buton Verde
Buton E-Stop
Semafor
Profile aluminiu și accesorii pentru montaj;
Realizarea arhitecturii Hardware
Pentru arhitectura hardware, am realizat două lucruri
În primă instanță am realiaat configurația din TIA Portal astfel încât proiectul să funcționeze atât în mediul real, cât și în cel simulat.
În configurația PLC-ului am introdus modulele pe care le am disponibile.
Acesrea sunt:
Sursă de alimentare 70W (cod Siemens: 6EP1332-4BA00);
Procesor S7-1511-1 PN (cod Siemens: 6ES7 511-1AK01-0AB0)
Modul Intrári Digitale 16x24VDC HF (cod Siemens: 6ES7 521-1BH00-0AB0)
Modul Ieșiri Digirale 16x24VDC/0.5A (cod Siemens: 6ES7 522-1BH01-0AB0)
Pentru partea de afișare și comandă am folosit un HMI de la Siemens cu ecrat tactil de 7 inchi, ce comunică prin intermediul protocolului Profinet.
Acesta are codul de produs: 6AV2123-2GB03-0AX0.
Ca atare, structura rețelei de comunicare arată în felul următor:
În ceea ce privește modulele de Intrare/Ieșire ale PLC-ului, acestea nu sunt folosite când se lucrează cu semnalele digitale ce provin din simularea Process Simulate. Ele pot fi folosite doar în mediul extern cu semnale transmise prin cabluri.
Ca atare, am realizat și o platformă care să poată utiliza aceste semnale. Arhitectura hardware a platformei este una simplă formată din:
Hardware PLC menționat mai devreme;
HMI menționat mai devreme;
Buton fără reținere de culoare verde;
Buton fără reținere de culoare roșu;
Buton de oprire de urgență;
Semafor cu trei culori;
Nu este o configurație foarte complexă, însă poate fi conectată la PLC în scopul de a controla simularea. Butonul verde dă startul procesului, butonul roșu încheie ciclul curent, butonul de urgență oprește imediat totul, iar semaforul are rolul de indica starea procesului: culoarea verde când procesul este activ, galben când procesul este în pauză și roșu când s-a activat oprirea de urgență.
Realizarea codului PLC
Codul PLC l-am realizat în TIA Portal V14 SP1. Ca limbaj de programare am folosit ladder.
Logica Ladder este o modalitate foarte simplă de a programa procesele de producție secvențiale. Se bazează pe logica controlului cu relee, fiind un limbaj folosit la scală largă și în prezent.
De menționat, pentru acest tip de proces industrial care se integrează într-o linie mult mai mare, programarea PLC-ului se va face conform unui standard dezvoltat specific pentru beneficiar. Astfel, chiar dacă, spre exemplu Volkswagen și Renault folosesc ca limbaj de programare tot Ladder, fiecare producător își va dezvolta un standard propriu, cu librării de funcții specifice pentru procesele lor. Aceste funcții pot fi legate de funcționalitatea echipamentului pneumatic, interlock între roboți, situații de urgență etc.
Am ales ca pentru această lucrare să mă conformez unui standard anume, dar să folosesc o structură asemănătoare cu ceea ce se găsește în industrie. Codul este funcțional și poate fi explicat și înțeles foarte ușor. Mai jos, vor prezenta funcțiile importante folosite în proiect.
Determinarea stării elementelor de fixare din Stația 20.
În acest network se înseriază semnalele de feedback de la elementele de prindere din Stația 20. Astfel, în momentul în care absolut toate elementele pneumatice sunt în poziția OPEN (deschis) se va activa semnalul de memorie „ALL_CLAMPS_OPEN”. Procedeul este echivalent pentru poziția CLOSED (închis). Aceste semnale vor deveni utile mai departe în codul PLC pentru a simplifica lurcrul astfel încât să nu verific de fiecare dată starea fiecarui semnal.
Un lucru de remarcat este faptul că pentru semnalele de la echipamentul pneumatic am ales să folosesc o adresă fizică în standardul Siemens, chiar dacă nu voi acționa un echipament fizic. Am făcut această definire pentru că aș putea conecta oricând un echipament echivalent la un modul de intrare al unui PLC real, iar procesul meu va funcționa în mod identic.
Acționarea echipamentelor pneumatice din Stația 20.
În network-ul de mai sus am folosit o funcție de SET-RESET pentru acționarea echipamentelor pneumatice. Semnalul de intrarea activează ieșirea și o menține activă chiar dacă intrarea ia valoarea FALS. Ieșirea se va dezactiva numai în momentul în care semnalul conectat la RESET capătă valoarea TRUE. În cazul de față, activez intrarea la un moment dat și vreau să mențin activ semnalul de ieșire până când toate echipamentele sunt în poziția închis.
Același sistem se folosește în mod echivalent și pentru poziția deschis.
Pornirea roboților
Pentru pornirea roboților este necesară realizarea unei secvențe de schimburi de semnale. În primul rând, robotul are nevoie de un număr de program asociat operațiilor încărcate în controller. În mod automat, robotul trimite înapoi numărul pe care îl primește, pentru a putea verifica dacă nu au apărut interferențe pe calea de transmitere a semnalului. După ce se face această verificare, se poate trimite semnalul de comandă pentru START.
Cum robotul pornește numai pe frontul crescător al semnalului (rising edge), folosesc semnalul „R#_programEnded” pentru a reîncepe programul în mod automat când programul curent își termină execuția. Această repornire automată se poate realiza cât timp semnalul de STOP nu este activ.
Prin activarea semnalului STOP, robotul întră într-un proces de oprire „soft”. El își termină de executat programul curent și nu va reîncepe un program nou.
Toți roboții se opresc și pornesc cu aceleași semnale și își reactivează startul cu semnalul echivalent „programEnded”.
Funcțiile specifice robotului R1.
În acest network, se folosește semnalul determină dacă echipamentele pneumatice sunt în starea închis și este transmis către robot prin intermediul unui semnal de tipul OUTPUT. Nici în realitate acest lucru nu se poate realiza în mod automat și direct, înctrucât nu există o conexiune directă înre controllerul de robot și echipamentul pneumatic. Astfel, PLC-ul se folosește ca echipament intermediar și de control.
Pentru a putea prelua piesa de pe conveier, robotul are nevoie de confirmare care este livrată prin intermediul semnalului „R1_CLEAR_PICK_CONV_IN”. Acest semnal se activează în momentul în care senzorul este activat de către prezența piesei, dar și de semnalul trimis de robot în momentul în care ajunge în poziția de preluare.
Pentru Stația 10, semnalul de confirmare „R1_CLEAR_PICK_STN_10” se activează numai în momentul în care ambii senzori pentru piesele mici detectează prezența acestora și robotul trimite cererea de preluare din locația corespunzătoare.
Ultima funcție specifică a robotului R1 este cea care îi permite să depună piesa în Stația 20. Semnalul de confirmare „R1_CLEAR_DROP_STN_20” se activează în momentul în care toate echipamentele pneumatice sunt în poziția deschis, senzorul de prezență NU detecează nicio piesă în stație și robotul R4 și finalizat operația de preluare din Stația 20.
În acest caz, nu doar se verifică starea echipamentelor din stație, dar se realizaează șî un interlock între cei 2 roboți care suplimenteaza programul de interferentă dintre roboti pentru a asigura o redundanță în execuția procesului.
Funcții specifice pentru roboții R2 și R3:
Ambii roboți, R2 și R3, primesc permisiunea de a începe operațiunea de sudură în momentul în care senzorul din Statia 20 detectează prezența piesei, toate echipamentele pneumatice sunt în poziția închis, iar roboții R1, R4 și-au încheiar activitatea.
Operțiile de ascuțire a electrozilor se realizarea după un anumit număr de puncte sudate, care se determină în funcție de mărimea electrodului, grosimea tablei, compoziția tablei și a tipului de sudură efectuat. Astfel, în această funcție avem ca intrări numărul maxim de puncte care se pot realiza până când este nevoie de ascuțire, numărul de puncte din operația de sudură, semnalul de Weld_Complete și semnalul TD_Complete.
Weld_Complete se trimite când robotul termină operația de sudură și îmi incrementează un counter intern al funcției, iar când acest counter ajunge la valoarea determinată de împărțirea numărului maxim de puncte la numărul actual de puncte realizate, se activează comanda care trimite robotul către ascuțitoarea de electrozi.
Funcții specifice pentru robotul R4:
Asemenea robotului R1, se transmite starea echipamentelor pneumaice robotului în momenul în care acestea sunt în poziția deschis.
Semnalul care va permite robotului R4 să preia piesa din Stația 20 se activează în monetul în care senzorul din Stația 20 detectează prezența piesei, roboții R2 și R3 și-au încheiar operația de sudură, iar echipamentele pneumatice sunt în poziția închis.
Realizare HMI
Ecranul HMI este componenta care face legătura dintre operatorii umani și procesul automatizat. Această componentă este un panou cu touchscreen ce are rolul de afișare a informațiilor esențiale procesului, dar și să permită utilizatorului să acționeze diverse echipamente.
Interfața HMI am realizat-o în TIA Portal V14 SP1 folosind elementele oferite de WinCC Basic V14 SP1. Am construit un singur ecran care să-mi ofere infomațiile de care am nevoie. În jurul fiecărui robot se află un buton, prin apăsarea căruia se afișează informațiile și comenzile specifice pentru fiecare robot.
Totodată, din interfața HMI putem să comutăm procesul din modul Automat, în care totul merge de la sine, în modul Manual unde operatorul uman trebuie să răspundă manual fiecărei cerere lansată de roboți.
Pentru a putea afișa informațiile în funcție de ce robot este selectat, am realiat ecranul pe mai multe nivele.
Astfel, prin folosirea unor elemente simple, se poate realiza un mediu de afisare și control a echipamentelor în așa fel încât totul să fie foarte lizibil, iar butoanele digitale să poate fi apăsate ușor și într-un mediu industrial.
Virutal Commissioning în mediul academic
Așa cum s-a menționat anterior, Virtual Commissioning se va utiliza pentru a complementa resursele deja existente în laboratoare.
Cel mai bun exemplu pentru primul contact cu Virtual Commissioning este demonstrarea faptului că între modelul 3D și ansamblul realul nu vor apărea diferențe de funcționalitate. Propunerea mea pentru această etapă este utilizarea NX Mechatronics Concept Designer.
Acestă soluție software are posibilitatea nu doar de a simula mișcarea componentelor cu limită de cursă, viteză și accelerație, dar se pot include și elemente precum accelerație gravitațională, forțe de frecare și presiuni în cadrul elementelor pneumatice sau hidraulice.
Spre exemplu, standul didactic pentru acționări pneumatice poate avea un corespondent și în mediul virtual, iar în același timp și standul didactic și simularea se vor putea acționa concomitent. Practic, studenții vor putea dezvolta codul PLC pentru proces cu posibilitatea de a testa pe instalația reală, dar și pe simulare.
Marele avantaj al acestui concept este că reduce considerabil timpul de testare. Cât timp este disponibil doar un echipament la 25 de studenți, accesul acestora la echipament este foarte îngreunat, însă dacă fiecare student are acces la o variantă virtualizată al echipamentului, vor putea să-și dezvolte individual codul pentru conducerea procesului. Mai mult, vor putea experimenta cu scenarii diferite fără să uzeze materialele disponibile în laborator.
Odată înțeles conceptul de Virtual Commissioning se pot introduce elemente mai complexe precum sisteme de prindere/gripper.
Prin folosirea parametrilor precum viteză, accelerație și forță, se poate modela comportamentul modelului 3D astfel încât să respecte indicațiile menționate în fișa tehnică a dispozitivului fizic.
Următorul pas este integrarea mai multor elemente într-un sistem mai complex
În imaginea de mai sus este ilustrat un sistem de Pick and Place. Sistemul este compus din următoarele elemente:
Axă de translație pneumatică pe direcție orizontală;
Axă de translație pneumatică pe direcție verticală;
Gripper pneumatic;
Studentul va avea sarcina de a realiza următoarea secvență de operații prin intermediul unui cod PLC:
Detecție piesă în poziția de preluare (POS_1);
Acționare cilindru pneumatic verical;
Închidere gripper;
Acționare cilindru pneumatic vertical;
Acționare cilindru pneumatic orizontal;
Acționare cilindtru pneumatic vertical;
Deschidere gripper;
Revenire în poziția inițială;
Pe această idee se pot integra sisteme din ce în ce mai complexe cu funcții cât mai variate. Avantajul acestei metodologii este că din punct de vedere al procesului nu există prea multe limitări, lucru ce ne permite să dezvoltăm aplicații ce vor pune studenții în fața unor situații realistice.
Dezavantajul ar putea consta în faptul că fiind totul virtualizat, studenții ar putea omite că ceea ce dezvoltă în codul PLC are consecințe reale. De aceea, trebuie accentuat faptul că simularea este în concordanță cu realitatea, iar ceea ce se vede în mediul digital este o validare a ceea ce s-ar putea realiza în realitate.
Limitările programului NX MCD apar în momentul în care se dorește simularea mai multor sisteme concomitent. Fiind un software care nu folosește o arhitectura multi-core a procesorolui, perfomanțele de simulare scădea drastic dacă se vor simula sisteme mai complexe. Din această cauză, pentru dezvoltarea unor scenarii mai avansate, cu mai multe resurse se recoandă a se folosi Process Simulate.
Spre deosebire de NX MCD, în Process Simulate se pierde abilitatea de a simula accelerația gravitațională și alte forțe, însă se câștigă abilitatea de a simula procese mult mai complexe, cu mult mai multe dispozitive 3D.
Astfel, așa cum se observă în imaginea de mai sus, s-au putut include 4 sisteme de Pick and Place, 4 sisteme de conveiere, o masă indexoare și senzori de prezență piesă.
Comportamentul resurselor este determinat prin utilizarea blocurilor logice
Pentru Sistemul de indexare s-a realizat o structură cu o intrare unde se va conecta semnalul de comandă de la PLC, iar ca ieșiri avem confirmări pentru cele 4 poziții ale mesei și un semnal care ne indică dacă masa se rotește sau nu.
Celelate elemente pneumatice au o structură foarte simplă:
Avem comenzi pentru a muta elementul în cele două poziții, precum și confirmări care activează câte un semnal specific pentru fiecare capăt de cursă.
Similar este și pentru sistemele de transport.
Se utilizeză comenzi pentru porinirea și oprirea conveierului, dar și pentru schimbarea direcției de deplasare și a vitezei.
Scopul laboratoarelor nu este utilizarea în sine a programelor NX MCD sau Process Simulate, întrucât cunoașterea în profunzime a acestor soluții necesită mult timp și efort. În schimb, aplicațiile realizate în aceste programe se vor folosi ca atare, fără a se interveni asupra funcționalității simulării. Singurele interacțiuni semnificative cu mediul de simulare se vor face pentru validarea conexiunii cu elementul de control și pentru a observa consecințele codului PLC.
Aplicații mai complexe
Pentru a exemplifica posibilitățile de lucru cu Process Simulate am considerat un proces de manipulare și sudare în puncte a unor piese ce intră în componență unei caroserii de mașină. Acest proces reprezintă doar o parte a liniei de producție sau o celulă de proces, așa cum mai este numită în terminologia specifică. Astfel, se va lua în vedere continuitatea fluxului de prelucrare al pieselor, în sensul că acestea vor avea in punct de intrare în celulă, iar produsul rezultant va merge mai departe în producție.
Din acest motiv, întregul proces va trebui robotizat pe cât de mult posibil și optimizat pentru a putea fi executat într-un timp cât mai scurt. În mod normal, un producător de mașini va impune anumite limitări legate de tehnologiile folosite, rezultate din preferințele create în urma proiectelor anterioare, însă principiile utilizate sunt aceleași pentru orice tip de Robot sau sistem de conducere automat.
Pachetul software Process Simulate are abilitatea de a simula orice tip de robot, indiferent de marca producătorului și de a se adapta la orice scenariu de lucru ce este fezabil din punct de vedere logic și tehnologic. Tododată, poate comunica în mod direct cu PLCSIM și în mod indirect prin OPC Server cu orice tip de PLC disponibil pe piață.
În cazul de față, procesul are ca scop final realizarea unui ansamblu de 3 piese ce va intra în componeța caroseriei unei mașini, mai exact în panoul care separtă zona motorului de habitaclu.
Piesele au in construcție un material de aliaj de aluminiu și nu necesită o prelucrare constructivă în cadrul acestui proces, ele fiind supuse unor operații de manipulare și sudură.
Fig.1 – Realizarea ansamblului final de piese;
Soluția aleasă pentru realizarea procesului presupune proiectarea unei celule automate cu patru roboți industriali. Se vor considera doi roboți de manipulare și doi roboți ce vor efectua operațiile de sudură în puncte.
Process Simulate va fi folosit pentru toate etapele de simulare, astfel încât să putem anticipa din timp aspectele legate de fezabilitate procesului, performanțe și siguranță. Se urmărește proiectarea unui proces care să poată realiza toate punctele de sudură necesare, un proces care se poate realiza în cel mai optim timp posibil dar și un proces care să includă toate elementele de siguranță necesare.
Dacă avem forma finală a linei de producție, putem fi siguri că rezultatele pe care le obținem atunci când facem Virtual Commissioning vor avea același impact în viața reală. Orice discrepanță între simulare și fabrica reală poate să genereze probleme majore atunci când se realizează instalarea propriu-zisă.
Din acest motiv, fiecare echipament folosit în studiul realizat în process simulate ar trebui să fie prezentat în forma finală de către echipa de proiectare. Validarea resurselor 3D este o etapă ce se termină înainte de Virtual Commissioning.
Fig.2 – Amplasarea resurselor 3D în studiului din Process Simulate;
Având avantajul de a utiliza o simulare 3D fidelă cu realitatea, studenții au ocazia de a lucra cu un proces complet cu mare aplicabilitate în viața reală și industrie. Aplicația creată se bazează foarte mult pe evenimente, iar procesul nu se va putea realiza decât în momentul în care, prin intermediul codului PLC se va putea executa secvența corectă de operații.
Spre exemplu, două situații ce ar putea fi studiate sunt următoarele:
Un prim exemplu ar fi zonele de interferențe dintre roboți.
Fig.8 – Zona de interferență între cei 4 roboți
Se poate observa foarte ușor că toți cei 4 roboți accesează aceeași zonă comună, lucru ce poate deveni problematic în momentul în care ei vor intra în această zonă simultan. Introducând o logică bazată pe semnale, roboții vor avea posibilitatea de a face o cerere de intrare în zonă, iar PLC va analiza dacă cererea se poate soluționa și va trimite înapoi robotului un semnal de confirmare.
Un alt aspect este legat de siguranța operatorului uman.
Fig.9 – Zona de interferență între robot și operator
Concluzii
În ultimii ani, consumatorul a creat nevoia de producții mai rapide și mai eficiente. Un exemplu bun îl reprezintă industria automobilelor, unde producătorii de automobile vor lansa un model cu mai multe variante cum ar fi volan stânga sau dreapta, acoperiș tare, trapă, convertibil, patru locuri, coupe și după un timp apare inițiativa pentru a lansa un model de facelift. Odată cu punerea în funcțiune tradițională, executarea modificărilor necesare ar fi fost foarte dificilă și consumatoare de timp, însă producătorii virtuali au capacitatea de a optimiza procesul, de a vedea efectele modificărilor în timp real și de a valida întregul proces înainte de conectarea la orice dispozitive fizice reale.
Principalele avantaje pentru realizarea unui proiect de Virtual Commissioning înainte de instalarea fizică sunt:
Scaderea timpului de instalare cu până la 30%. După validarea tuturor programelor PLC prin Virtual Commissioning, timpul alocat pentru depanare și remedierea erorilor de logică scade considerabil.
Reducerea costului schimbării cu detectarea precoce și comunicarea problemelor legate de designul produsului.
Reducerea numărului de prototipuri fizice cu validare virtuală în avans.
Optimizarea timpilor de ciclu prin simularea bazată pe evenimente, în care sunt definite blocuri logice pentru a simula comportamentul echipamentului (dispozitivelor) din celula robotizată.
Minimizarea riscurilor de producție prin simularea mai multor scenarii de fabricație.
Validarea timpurie a proceselor de producție integrate mecanic și electric (PLC și robotică). Înainte de punerea în funcțiune virtuală, programele PLC nu au putut fi testate într-un mediu virtual (simulat), până la instalare.
Bibliografie
[1] Dobrescu T. – Bazele Cinematicii Robotilor Industriali, Ed. Bren, ISBN-973-9427-02-2, București, 1998
[2] Dorin A., Dobrescu T., Pascu N., Ivan I., – Cinematica Roboților Industriali, Editura Bren, ISBN-978-973-648-970-9, București, 2011
[3] Curs Siemens – Process Simulate Standalone – Intermidiate Robotic Simulation
[4] J.Stark, Product Lifecycle Management – 21st Century Paradigm for Product Realisation, Springer, 2004.
[5] R. Cooper, Winning at New Products: Accelerating the Process from Idea to Launch, Perseus Book Group, 2001.
[6] H. Bley and C. Franke, Integration of product design and assembly planning in the digital factory, CIRP Annals, vol. 53, no. 1, pp. 25–30, 2004.
[7] S. Dominka, F. Schiller, and S. Kain, Hybrid commissioning – from Hardware-in-the-Loop simulation to real production plants, Proceedings of the 18th IASTED International Conference on Modeling and Simulation (MS ’07), pp. 544–549, Montreal, Canada, 2007.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Automatică și Informatică Industrială [302052] (ID: 302052)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
