Vai al contenuto
PLC Forum


Goto Vai Alla Nuova Istruzione Programma Robot Abb


vincenzo.applauso

Messaggi consigliati

vincenzo.applauso

Salve a tutti ;

un saluto in particolar modo agli amministratori , chiaramente sono un nuovo utente e credo che avrò spesso bisogno del vostro aiuto.

mi chiamo Applauso Vincenzo e sono il responsabile produzione di uno stabilimento che esegue lavorazioni meccaniche con macchine cnc

utilizzo da circa 4 anni i robot abb ma non ho mai fatto il corso , li ho sempre usati in modo molto semplice senza troppe complicazioni , praticamente prelevo dei pezzi da una rulliera li faccio caricare in macchina cnc una volta finito il particolare lo scarico lo faccio mettere in una stazione di soffiaggio e poi lo deposito in una seconda rulliera e quindi ho qualche calcolo di conteggio di regioni e basta .

Adesso invece mi si è complicata la vita , invece della rulliera dove prelevavo i pezzi al massimo i file da 4 mi ritrovo una tavola rotante con una serie di pallet dove devo prelevare i pezzi spostare i pallet e ridepositare i pezzi sui pallet spostati , praticamente ho fatto tutto e funziona bene ;) apparte una condizione che non riesco a far eseguire, un salto da una fase ad un'altra .

praticamente ho un tastatore che verifica la presenza del pallet , se per esempio vedi sotto se trova il pallet 12 nessun problema ,scende direttamente a robotDavanti MCM poi va a fare tutto il resto fino a GestDepSemSxPost4 , però cosa succede ho messo un else perchè se il tastatore non rileva il pallet 12 va a cercare il pallet 11 : se lo trova fa tutto bene però quando mi esce dalla fase else mi ritorna nel blocco del pallet 12 e io invece vorrei mettere sotto VerificaPresezaPallet11_1; un salto che mi faccia uscire da questa rutin , ho provato in 1000 modi ma mi da sempre degli errori e non so se è un problema di diciture o non è possibile farlo .

ho evidenziato in rosso dove vorrei fare il salto chiaramente cosi non funziona ! grazie in anticipo .

ps so che la struttura del programma sicuramente è una schifezza e prima o poi mi toccherà rifarlo ma se riuscissi a fare quel salto sarebbe già un passo da gigante .

PROC VerificaPresezaPallet12_1()
MoveJ [[-151.31,-275.03,-523.74],[0.677101,0.693958,-0.17667,0.16954],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v1000, z5, tool0;
Reset Pinza1Aerta;
MoveJ [[-160.15,-278.06,-447.50],[0.674047,0.696982,-0.171745,0.1743],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v300, z5, tool0;
MoveL [[-160.15,-346.17,-447.51],[0.674043,0.696982,-0.171753,0.174308],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v100, z1, tool0;
WaitTime 2;
IF Tastatore=1 THEN
MoveL [[-160.16,-278.06,-447.51],[0.674044,0.69698,-0.171755,0.174309],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v100, z1, tool0;
MoveL [[-126.73,-292.09,-536.66],[0.677227,0.693845,-0.175759,0.170441],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v100, z1, tool0;
PresaSemiscatola12DXPostazione1;
ELSE
VerificaPresezaPallet11_1;
reg7 := reg7 + 1;
IF reg7 = 1 GOTO <id>;
ENDIF
robotDavantiMCM;
SoffiaggioDentroMCMstaffe;
CaricoSemiscatolaDXSuMCM;
robotDavantiMCM;
PresaSemiscatola12SXPostazione1;
robotDavantiMCM;
CaricoSemiscatolaSXSuMCM;
robotDavantiMCM;
PresaPallet12Potazione1;
GestDepoPalletPost4;
ScaricoSemiscatolaDxDaMCM;
robotDavantiMCM;
GestDepSemDXPost4;
robotDavantiMCM;
ScaricoSemiscatolaSXDaMCM;
robotDavantiMCM;
GestDepSemSxPost4;
<ID>:robotDavantiMCM;
reg7 := 0;
Link al commento
Condividi su altri siti


Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...