introduzione a robot studio (abb) · l'irb 120 fa parte dell'ultima generazione di robot...

61
Introduzione a Robot Studio (ABB) Fanny Ficuciello

Upload: buidan

Post on 15-May-2018

229 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Introduzione a Robot Studio (ABB)

Fanny Ficuciello

Page 2: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Informazioni generali

L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB Robotics, dal carico utile di 3 kg, concepiti in modo specifico per industrie

manufatturiere che utilizzano un'automazione flessibile.

Il robot è dotato di una struttura aperta particolarmente adatta per utilizzi flessibili ed è in grado di comunicare ampiamente con sistemi esterni.

Sistema operativo

Il robot è dotato di controller IRC5 (Single Cabinet) e di software di controllo

del robot, Robotware. Il software Robotware supporta tutti gli aspetti del sistema robotico, quali il controllo dello spostamento, lo sviluppo e l'esecuzione di programmi applicativi.

Funzionalità aggiuntive

Per una funzionalità supplementare, il robot può essere attrezzato con software

supplementare per supporto di applicazioni: ad esempio, per incollaggio e saldatura ad arco, e funzioni avanzate quali il multitasking, il controllo dei sensori, etc.

IRB 120

Page 3: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software
Page 4: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Portate operative del robot

Page 5: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software
Page 6: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software
Page 7: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Hardware standard della cella di robot IRC5

Page 8: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Calibrazione • I dati di calibratura sono normalmente memorizzati sulla scheda di misurazione seriale SMB di ciascun

robot, indipendentemente dal fatto che sul robot venga eseguito o meno un sistema di misurazione assoluta (che l'opzione Absolute Accuracy sia installata, AbsAcc che garantisce una precisione assoluta del TCP migliore di ±1 mm nell'intera portata operativa) o no. Normalmente questi dati vengono trasferiti automaticamente sul controller all'accensione del sistema: in tal caso non è richiesta alcuna azione da parte dell'operatore.

• La scheda di misurazione seriale, SMB (Serial Measurement Board), raccoglie principalmente i dati del resolver dai motori del robot. I dati vengono utilizzati per misurare la velocità e la posizione di ciascun asse.

Page 9: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Calibrazione

Page 10: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Calibratura fine • Per eseguire una calibratura fine del robot bisogna usare utilizzare i perni di calibratura e le tacche di

sincronizzazione sul robot.

• Questa calibratura può essere eseguita nei seguenti modi: • gli assi 1, 2 e 3 contemporaneamente, tramite la FlexPendant;

• gli assi 4, 5 e 6 contemporaneamente, tramite la FlexPendant;

• ciascun asse separatamente.

Page 11: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Aggiornamento Contagiri • Come eseguire una calibratura grossolana di ciascun asse del robot, vale a dire l'aggiornamento del

valore del contagiri per ciascun asse, utilizzando la FlexPendant.

Page 12: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Flex Pendant (TPU) • Utilizzata per eseguire molte dei task correlati al funzionamento di un sistema robotico: esecuzione dei

programmi, movimento manuale del manipolatore, modifica di programmi, ecc.

• La FlexPendant consiste in una parte materiale ed una parte di programmi, e rappresenta un computer completo di per sé stessa.

Page 13: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Flex Pendant (TPU)

• Nella finestra Operatore vengono visualizzati i messaggi dei programmi del robot. Questo succede in genere quando il programma necessita una certa replica da parte dell’operatore per poter continuare.

• La barra di stato visualizza informazioni importanti sullo stato del sistema, quali la modalità operativa, lo stato MOTORS ON/OFF (motori accesi/spenti), lo stato del programma ecc.

• Dal menu ABB è possibile aprire più viste, ma è possibile lavorare solamente su una di queste alla volta. La barra delle applicazioni visualizza tutte le viste aperte ed è utilizzata per passare da una vista all'altra.

• Il menu di impostazione rapida contiene impostazioni per il movimento manuale e l'esecuzione dei programmi.

Page 14: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

• RobotStudio è un’applicazione del PC per la modellazione, la programmazione offline e la simulazione di celle del robot.

• RobotStudio consente di lavorare con un controller offline, ovvero un controller IRC5 virtuale in esecuzione locale sul PC. Tale controller offline viene anche indicato come controller virtuale (VC).

• RobotStudio consente inoltre di lavorare con il controller IRC5 fisico reale, che viene semplicemente indicato come controller reale.

• Quando RobotStudio viene utilizzato con controller reali, viene indicato come in modalità online.

• Quando funziona senza essere connesso ad un controller reale, oppure se connesso ad un controller virtuale, RobotStudio è in modalità offline.

RobotStudio per controller reali • Creazione, installazione e manutenzione di sistemi con System Builder. • Programmazione e modifica basate sul testo, tramite l'Editor RAPID. • Gestione file per il controller. • Amministrazione del Sistema di autorizzazione utente (User Authorization System,

UAS). • Un Editor di configurazione per la modifica dei parametri del sistema in funzione; • Un Registratore di eventi per registrare e monitorare gli eventi del robot; • Strumenti per effettuare il back up (salvaguardia) e per recuperare i sistemi;

Introduzione a RobotStudio

Page 15: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

RobotWave • RobotWare è un termine generico per tutto il software da installare nel

sistema robotico designato per l'azionamento del robot. • Tuttavia, vengono fornite chiavi di licenza di RobotWare, necessarie per

accedere al software, sotto forma di stringa stampata su un foglio fornito con il Controller Cabinet.

• Il pool di supporti è una cartella sul PC che contiene il software RobotWare. Dal pool di supporti vengono selezionati i programmi e le opzioni durante la generazione di sistemi.

• Se RobotWare viene installato con le opzioni predefinite sul PC, il pool di supporti si trova nella cartella C:\Programmi\ABB Industrial IT\Robotics IT\Mediapool

• È possibile creare pool di supporti personalizzati creando nuove cartelle in cui copiare i file di RobotWare dai pool di supporti esistenti. È inoltre possibile aggiornare o modificare un pool di supporti importando nuovi componenti di RobotWare mediante lo strumento Importa sistema in RobotStudio. In RobotStudio, viene quindi richiesto il pool di supporti da utilizzare durante la creazione di nuovi sistemi.

Page 16: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Installazione e Licenza

Le categorie di RobotStudio ricadono nei seguenti due livelli di caretteristiche:

• Base - Offre funzionalità selezionate RobotStudio per configurare, programmare ed eseguire un Virtual Controller. Comprende inoltre funzionalità online per programmare, configurare e monitorare un controller reale connesso via Ethernet.

• Avanzato - Offre complete funzionalità RobotStudio per la programmazione offline e la simulazione di più robot. Il livello Avanzato comprende le funzionalità del livello Base e richiede l'attivazione.

RobotStudio offre le seguenti opzioni di installazione:

• Installazione minima - Installare soltanto le caratteristiche richieste per programmare, configurare e monitorare un controller reale connesso tramite una rete Ethernet.

• Completo - Installa tutte le funzionalità richieste per l'esecuzione completa di RobotStudio. Se installato con questa opzione, sono disponibili funzionalità aggiuntive dei livelli Base e Avanzato.

• Personalizzato - Installa funzionalità personalizzate per l'utente. Questa opzione consente di escludere biblioteche indesiderate per il robot e i convertitori CAD.

• RobotStudio 5.15, nell'edizione a 64 bit, è installato per l'opzione di installazione completa su computer dotati di un sistema operativo a 64 bit. L'edizione a 64 bit consente l'importazione di modelli CAD più estesi, dato che può indirizzare una quantità di memoria superiore a quella della versione a 32 bit.

Attivazione della licenza RobotStudio

L'attivazione della propria installazione di RobotStudio è una procedura di convalida della licenza RobotStudio. Per poter continuare ad utilizzare il software con tutte le sue funzionalità, lo si deve attivare. Quando si avvia RobotStudio per la prima volta dopo la sua installazione, si viene invitati a battere la propria chiave di attivazione a 25 cifre (xxxxx-xxxxx-xxxxx-xxxxx-xxxxx). Il software funzionerà in modalità di funzionalità di base nel caso che non sia stata immessa una chiave di attivazione valida. Una volta attivata l'installazione, si disporrà delle licenze valide a coprire tutte le funzionalità corrispondenti alla propria sottoscrizione.

Page 17: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Quando usare RobotStudio e Teach Pendant

• RobotStudio per creare la struttura del programma e la maggior parte del codice sorgente e la FlexPendant per memorizzare le posizioni del robot e apportare i ritocchi finali al programma. • Durante la programmazione, RobotStudio fornisce i

seguenti vantaggi: • Un editor di testo ottimizzato per il codice RAPID, con testo

automatico e suggerimenti relativi a istruzioni e parametri. • Controllo dei programmi con indicazione degli errori di

programmazione. • Accesso approfondito alla modifica di configurazione e I/O. • configurazione dati, la gestione del programma, la

documentazione in linea e l'accesso a distanza.

Page 18: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Movimentazione Manuale con Teach Pendant • La modalità di movimento e/o il

sistema di coordinate selezionati determinano il modo in cui viene mosso il robot.

• Nella modalità di movimento lineare, il punto centrale dell'utensile si muove lungo linee rette nello spazio nella direzione degli assi del sistema di coordinate selezionato.

• Quale sistema di coordinate scegliere? • Il posizionamento di un perno su un foro

tramite una pinza può essere eseguito in modo molto semplice nel sistema di coordinate utensile, se una delle coordinate in tale sistema è parallela al foro. Utilizzare un sistema di coordinate utensile quando è necessario programmare o regolare le operazioni per la filettatura, foratura, fresatura o segatura.

• L'esecuzione dello stesso task nel sistema di coordinate di base potrebbe richiedere lo spostamento in tutte le coordinate x, y e z, rendendo più difficile garantire la precisione.

Page 19: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Applicazione RAPID

• La Finestra di produzione viene utilizzata per visualizzare il codice del programma in esecuzione.

• L'Editor di programma è il contesto in cui vengono creati o modificati i programmi.

• Creazione di un programma->Tasks and Programs->file (in basso) (opzioni:new program, load program, delete program, save as …etc)

• Quando si salva un programma sul disco rigido del controller, per impostazione predefinita viene salvato nella directory HOME della cartella di sistema se non è specificato diversamente.

• Il programma viene salvato sotto forma di cartella, con il nome del programma e il file di programma effettivo di tipo pgf.

Page 20: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Applicazione RAPID

• Ciascun task contiene in genere un programma RAPID e i moduli di sistema destinati a svolgere una determinata funzione, ad esempio una saldatura a punti o dei movimenti del manipolatore.

• I parametri di proprietà del task impostano determinate proprietà per tutti i contenuti del task. Qualsiasi programma memorizzato in un determinato task assume le proprietà impostate per tale task.

• Ciascun programma contiene in genere moduli di programma con codice RAPID per svolgere varie funzioni. Tutti i programmi devono essere provvisti di una routine di entrata definita come eseguibile. Ciascun modulo di programma contiene dati e routine per svolgere una determinata funzione.

• I dati sono valori e definizioni impostate nel programma o nei moduli di sistema. Ai dati è possibile fare riferimento tramite istruzioni presenti nello stesso modulo o in altri

• Una routine contiene una serie di istruzioni che definiscono le effettive operazioni svolte dal sistema robotico.

• Uno speciale tipo di routine, indicata con il termine inglese "main", definita come il punto di partenza dell'esecuzione del programma.

• Ciascuna istruzione è una richiesta di esecuzione di un determinato evento, ad esempio "porta il TCP del manipolatore in una certa posizione« o "imposta un output digitale specifico".

• Ciascun modulo di sistema contiene dati e routine per svolgere una determinata funzione. I moduli di sistema vengono generalmente scritti dal produttore del robot o dal costruttore della linea.

Page 21: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Linguaggio e ambiente RAPID Il linguaggio contiene i seguenti concetti: • Struttura del programma gerarchica e modulare per consentire la programmazione

strutturata e il riutilizzo del codice. • I moduli costituiscono un set di dichiarazioni di dati seguito da un set di routine. I

moduli possono essere salvati, caricati e copiati sotto forma di file. • Le routine costituiscono un set di dichiarazioni di dati seguito da un set di istruzioni

che implementano un task. possono essere Funzioni o Procedure. • Una procedura è un set di istruzioni che non restituisce un valore. • Una funzione è un set di istruzioni che restituisce un valore. • Istruzioni definite dall'utente (appaiono come parte intrinseca del sistema).

• Istruzioni di movimento composte da un riferimento a un target specificato da una dichiarazione di dati insieme ai parametri che impostano il movimento.

• Istruzione di azione come impostazione di dati o proprietà di sincronizzazione.

• Un programma RAPID è una raccolta che comprende più file di modulo (.mod) e il file di programma (.pgf) che fa riferimento a tutti i file di modulo.

• Tipizzazione dei dati, inclusi tipi di dati strutturati e array. • Nomi di variabili, routine e I/O definiti dall'utente. • Controllo esteso del flusso del programma. • Espressioni aritmetiche e logiche • Molte e potenti funzioni integrate, ad esempio funzioni matematiche e specifiche

del robot.

Page 22: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Tipi di Dati

• È possibile visualizzare una varietà dei tipi di dati selezionando uno scopo specifico.

• Selezionare lo scopo richiesto selezionando: • Solo dati incorporati: mostra tutti i tipi di dati utilizzati dallo specifico sistema

• Esecuzione corrente: mostra tutti i tipi di dati utilizzati nella corrente esecuzione

• Task: mostra tutti i tipi di dati utilizzati da uno specifico task

• Modulo: mostra tutti i tipi di dati utilizzati da uno specifico modulo

• Routine: mostra tutti i tipi di dati utilizzati da una specifica routine

• Creazione di nuove istanze di dati Selezionare il menu Scopo per impostare l'accessibilità dell'istanza di dati.

• Globale

• Locale

• Task

Selezionare il menu Tipo memoria per selezionare il tipo di memoria utilizzata per l'istanza di dati.

• Persistente se l'istanza di dati è persistente

• Variabile se l'istanza di dati è variabile

• Costante se l'istanza di dati è costante

Selezionare il menu Modulo per selezionare il modulo.

Selezionare il menu Routine per selezionare una routine.

Se si desidera creare un array di istanze di dati, scegliere il menu Dimensione e selezionare il numero di dimensioni nell'array, 1-3.

• 1

• 2

• 3

• Nessuno

Quindi scegliere ... per impostare le Dimensioni degli assi dell'array.

Page 23: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Come inserire un nuovo utensile • LoadIdentify può identificare il carico dell'utensile e il

carico utile. I dati che possono essere identificati sono massa, baricentro e momenti di inerzia.

• Sono tre i diversi metodi da poter utilizzare per la definizione del sistema di riferimento dell’utensile. Tutti e tre i metodi richiedono la definizione delle coordinate cartesiane del punto centrale dell'utensile. Quel che differisce tra loro è il modo in cui si definisce l'orientamento.

Page 24: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Target e Percorsi

• I target (posizioni) e i percorsi (sequenze di istruzioni di movimento verso i target) vengono utilizzati nella programmazione dei movimenti del robot in RobotStudio.

• Un target è una coordinata che il robot dovrà raggiungere. Contiene le seguenti informazioni: • Posizione definita in un sistema di coordinate dell’oggetto di lavoro

• Orientamento relativo all’orientamento dell’oggetto di lavoro. Quando il robot raggiunge il target allinea l’orientamento del TCP con quello del target

• Configurazione che specifica come il robot deve raggiungere il target

• Un percorso consente al robot di spostarsi su una sequenza di target (mediante istruzioni di movimento)

• Un’istruzione di movimento è composta da • Un riferimento a un target

• Dati di movimento (velocità e zona (punti di via))

• Un riferimento a dati utensile

• Un riferimento all’oggetto di lavoro

• Un’istruzione di azione per impostare e modificare i parametri

• Quando si sincronizza una stazione di RobotStudio con il controller virtuale • i target vengono convertiti in istanze (linguaggio RAPID) di tipo robotarget

• I percorsi vengono convertiti in procedure

• I programmi RAPID vengono creati in base ai percorsi

Page 25: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Concetti di programmazione La tabella seguente descrive la terminologia e i concetti impiegati nella programmazione di robot.

Page 26: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Come può apparire un programma RAPID: MODULE MainModule VAR num length; VAR num width; VAR num area; PROC main() length := 10; width := 5; area := length * width; TPWrite "The area of the rectangle is " \Num:=area; END PROC ENDMODULE

Questo programma calcolerà l’area di un rettangolo, e ne visualizzerà il valore sulla FlexPendant: The area of the rectangle is 50

Page 27: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

• Si dichiara una variabile utilizzando la keyword VAR, secondo la sintassi: VAR datatypeidentifier; Esempio VAR num length; VAR dnum pi; VAR string name; VAR bool finished;

• Si attribuisce un valore ad una variabile utilizzando l’istruzione := length := 10; pi := 3.141592653589793; name := "John" finished := TRUE;

Page 28: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

• L’assegnazione potrà essere fatta contemporaneamente alla dichiarazione della variabile:

VAR num length := 10;

VAR dnum pi := 3.141592653589793;

VAR string name := "John";

VAR bool finished := TRUE;

• Una variabile persistente è praticamente come una variabile ordinaria, ma ricorda l’ultimo valore che le è stato attribuito, anche se il programma subisce un arresto e un riavvio dall’inizio.

• Si consideri l’esempio seguente:

PERS num nbr := 1;

PROC main()

nbr := 2;

ENDPROC

• Se si esegue questo programma, il valore iniziale viene cambiato a 2. Nell’esecuzione successiva, la codifica del programma apparirà così:

PERS num nbr := 2;

PROC main()

nbr := 2;

ENDPROC

• Una costante contiene un valore, proprio come una variabile, ma tale valore viene sempre assegnato al momento della dichiarazione, dopo di che il valore in questione non potrà mai essere cambiato. La costante può essere utilizzata nel programma nello stesso modo di una variabile, ad eccezione del fatto che non è consentito assegnarle un nuovo valore. La costante viene dichiarata utilizzando la keyword CONST seguita dal tipo di dato,

• identificatore e attribuzione di un valore.

CONST num gravity := 9.81;

CONST string greating := "Hello"

Page 29: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

• Gli operatori numerici agiscono sul tipo di dati num e restituiscono il tipo di dati num. • Negli esempi sottostanti, le variabili reg1, reg2 e reg3 sono del tipo di dati num.

• In questi esempi, reg1 e reg2 sono di tipo di dati num, mentre flag1 è bool. • Negli esempi sottostanti, le variabili reg1, reg2 e reg3 sono del tipo di dati num.

Page 30: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Operatori di stringhe

Page 31: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Controllo del flusso di programma mediante istruzioni if con condizioni logiche Esempio Nel caso siano necessari più di 60 secondi per la produzione di un dato pezzo, trascrivere un messaggio sulla FlexPendant. Se la variabile booleana full_speed è FALSE, il messaggio indicherà all’operatore di incrementare la velocità del robot. Se full_speed è TRUE, il messaggio richiederà all’operatore di esaminare il motivo della lentezza della produzione. VAR num time := 62.3; VAR bool full_speed := TRUE; PROC main() IF time > 60 THEN IF full_speed THEN TPWrite "Examine why the production is slow"; ELSE TPWrite "Increase robot speed for faster production"; ENDIF ENDIF ENDPROC

Page 32: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

• Un altro modo di controllare il flusso del programma è quello di ripetere una sequenza di codifica per un certo numero di volte mediante un ciclo for

• La sintassi della dichiarazione FOR è la seguente: FOR counter FROM startvalue TO endvalue DO program code to be repeated ENDFOR

• Ripetizione con condizione • La ripetizione di una sequenza di codifica può essere combinata con l’esecuzione

condizionata della sequenza stessa. Grazie al ciclo WHILE, il programma continuerà a ripetere l’esecuzione della sequenza di codifica fino a quando la condizione permarrà ’vera’.

Esempio La codifica di programmazione seguente aggiungerà numeri (1+2+3+...), fino a che la loro somma non raggiunga il valore 100. VAR num sum := 0; VAR num i := 0; WHILE sum <= 100 DO i := i + 1; sum := sum + i; ENDWHILE

Page 33: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

MoveL Una semplice istruzione di spostamento può apparire così: MoveL ToPoint Speed Zone Tool; MoveL p10, v1000, fine, tool0; MoveL è un’istruzione che sposta il robot linearmente (in linea retta) dalla sua posizione corrente a quella specificata. Un'istruzione di movimento è composta da: • p10 un riferimento a un target • dati di movimento, ad esempio, tipo di movimento, velocità e zona • un riferimento a dati utensile • un riferimento all'oggetto di lavoro p10 specifica la posizione verso la quale deve spostarsi il robot. v1000 specifica che la velocità del robot dovrà essere di 1000 mm/s. fine specifica che il robot dovrà spostarsi esattamente alla posizione specificata, e non tagliare alcuna curva nel suo percorso verso la posizione successiva. tool0 specifica che la flangia di montaggio sulla punta del robot deve muoversi verso la posizione specificata.

Page 34: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Il punto di destinazione definito da una costante di tipo di dati robtarget.

Programmando tramite la FlexPendant, si può attribuire un valore di robtarget indicando una posizione tramite il robot. Se si programma fuori linea, può rivelarsi complicato il fatto di calcolare le coordinate per una data posizione.

Tipo di dati composito

Un tipo di dati composito è un tipo di dati che contiene più di un solo valore. Viene dichiarato come una variabile normale, ma contiene un numero predefinito di valori.

pos

Un semplice esempio di tipo di dati composito è quello pos. Esso contiene tre valori numerici (x, y e z).

La dichiarazione assomiglia a quella di una semplice variabile:

VAR pos pos1;

L’attribuzione di tutti i valori viene compiuta come nel caso di un array: pos1 := [600, 100, 800];

I diversi elementi presentano nomi, invece di numeri. Gli elementi di pos si chiamano x, y e z. Il valore di un unico elemento viene identificato mediante il nome della variabile, un punto ed il nome dell’elemento:

pos1.z := 850;

orient

Il tipo di dati orient specifica l’orientamento dell'utensile. L’orientamento viene specificato da quattro valori numerici, chiamati q1, q2, q3 e q4.

VAR orient orient1 := [1, 0, 0, 0];

TPWrite "The value of q1 is " \Num:=orient1.q1;

pose

Un tipo di dati può essere composto di altri tipi di dati compositi. Un esempio ne è il tipo di dati pose, che consiste in un solo pos chiamato trans ed un unico orient di nome rot.

VAR pose pose1 := [[600, 100, 800], [1, 0, 0, 0]];

VAR pos pos1 := [650, 100, 850];

VAR orient orient1;

pose1.pos := pos1;

orient1 := pose1.rot;

pose1.pos.z := 875;

Page 35: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

robtarget

robtarget consiste in quattro parti:

Page 36: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Le istruzioni RAPID seguenti determineranno il percorso del robot qui sotto indicato: MoveL p10, v1000, z50, tool0; MoveL p20, v1000, fine, tool0;

tool0 rappresenta uno strumento predefinito, raffigurante il robot senza alcuno strumento, e non deve essere né dichiarato, né assegnato. Tutti gli altri strumenti devono essere dichiarati ed assegnati prima di poter essere utilizzati.

Page 37: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Sistema di coordinate di base La posizione verso cui si sposta un’istruzione ‘move’ è specificata in coordinate, in un sistema di coordinate. Se non viene specificato alcun sistema di coordinate, la posizione viene data in relazione al sistema di coordinate di base del robot (chiamato pure quadro di base). Il sistema di coordinate di base prende la sua Origine dalla base del robot.

Si può definire ed utilizzare un altro sistema di coordinate, mediante istruzioni ‘move’. Il sistema di coordinate che l’istruzione ’move’ dovrà utilizzare viene specificato mediante l’argomento opzionale \WObj. MoveL p10, v1000, z50, tool0 \WObj:=wobj1;

Page 38: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Disegno di un quadrato Un robot tiene una penna, sopra un foglio di carta posto su un tavolo. Si desidera che il robot abbassi la punta della penna sul foglio di carta, e che tracci un quadrato.

PERS tooldata tPen := [ TRUE, [[200, 0, 30], [1, 0, 0 ,0]], [0.8, [62, 0, 17], [1, 0, 0, 0], 0, 0, 0]]; CONST robtarget p10 := [ [600, -100, 800], [0,707170, 0, 0,707170, 0], [0, 0, 0, 0], [ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9] ]; CONST robtarget p20 := [ [600, 100, 800], [0.707170, 0, 0.707170, 0], [0, 0, 0, 0], [ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9] ]; CONST robtarget p30 := [ [800, 100, 800], [0.707170, 0, 0.707170, 0], [0, 0, 0, 0], [ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9] ]; CONST robtarget p40 := [ [800, -100, 800], [0.707170, 0, 0.707170, 0], [0, 0, 0, 0], [ 9E9, 9E9, 9E9, 9E9, 9E9, 9E9] ]; PROC main() MoveL p10, v200, fine, tPen; MoveL p20, v200, fine, tPen; MoveL p30, v200, fine, tPen; MoveL p40, v200, fine, tPen; MoveL p10, v200, fine, tPen; ENDPROC

Page 39: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Disegno con zone d’angoli Disegno della stessa figura dell’esempio precedente, ma con una zona d’angolo di 20 mm al p20 ed una zona d’angolo di 50 mm al p40.

VAR tooldata tPen := ... ... VAR robtarget p40 := ... PROC main() MoveL p10, v200, fine, tPen; MoveL p20, v200, z20, tPen; MoveL p30, v200, fine, tPen; MoveL p40, v200, z50, tPen; MoveL p10, v200, fine, tPen; ENDPROC

Page 40: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

MoveJ MoveJ viene utilizzata per spostare rapidamente il robot da un punto a un altro quando tale movimento non deve essere eseguito in linea retta. Utilizzare MoveJ per spostare il robot verso un punto della zona prossima a dove il robot dovrà funzionare. Un'istruzione MoveL non sarà operativa se, ad esempio, la base del robot si trova tra la posizione corrente e quella programmata, oppure se il riorientamento dell'utensile è troppo esteso. In questi casi si potrà sempre impiegare MoveJ. La sintassi di MoveJ è analoga a quella di MoveL. Esempio MoveJ p10, v1000, fine, tPen; MoveC MoveC viene impiegata per spostare il robot circolarmente, lungo un arco. Esempio MoveL p10, v500, fine, tPen; MoveC p20, p30, v500, fine, tPen; MoveL p40, v500, fine, tPen;

Page 41: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

segnali d’I/O

I segnali vengono utilizzati per la comuncazione con dispositivi esterni con cui il robot coopera. I segnali d’ingresso vengono impostati dai dispositivi esterni, e si possono utilizzare nel programma RAPID, per iniziare una certa esecuzione da

parte del robot. I segnali d’uscita vengono impostati dal programma RAPID, che segnala ai dispositivi esterni che devono eseguire qualche azione.

Impostazione dei segnali

I segnali sono configurati nei parametri di sistema per l'insieme robotico. È possibile impostare dei nomi personalizzati per i segnali. Essi non devono essere dichiarati nel programma RAPID.

Ingresso digitale

Un segnale d’ingreso digitale può avere i valori 0 o 1. Il programma RAPID è in grado di leggere il suo valore, ma non può impostarlo.

Esempio

Se il segnale digitale d’ingresso di1 ha come valore 1, il robot si sposterà.

IF di1 = 1 THEN

MoveL p10, v1000, fine, tPen;

ENDIF

Uscita digitale

Un segnale d’uscita digitale può comportare i valori 0 o 1. Il programma RAPID può impostare il valore per un segnale d’uscita digitale, e così influire sui dispositivi esterni. Il valore di un segnale digitale d’uscita viene impostato mediante l’istruzione

SetDO.

Esempio

Il robot dispone di un utensile a pinza che si può chiudere mediante il segnale digitale d’uscita do_grip. Il robot si sposta alla posizione in cui si trova la penna, e chiude la pinza. Il robot si sposta poi al punto in cui dovrà tracciare la linea, utilizzando allora l’utensile tPen.

MoveJ p0, vmax, fine, tGripper;

SetDO do_grip, 1;

MoveL p10, v1000, fine, tPen;

Altri tipi di segnali

I segnali digitali sono i più comuni e facili da utilizzare. Se per un dato segnale è necessario avere un valore diverso da 0 o 1, sono disponibili degnali analogici e gruppi di segnali digitali che possono avere altri valori.

Page 42: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Comunicare con la FlexPendant

In RAPID, sono disponibili parecchie istruzioni per la scrittura di informazioni destinate all’operatore del robot, nonché per la ricezione di input dall’operatore.

TPWrite

La scrittura di un messaggio destinato all’operatore si può effettuare mediante l’istruzione TPWrite.

TPWrite "Now producing exhaust pipes";

Scrittura di una variabile a stringa

La stringa di testo sulla FlexPendant può provenire da una variabile a stringa,

oppure il testo scritto può essere una concatenazione di una variabile a stringa e

di un'altra stringa.

VAR string product := "exhaust pipe";

! Write only the product on the FlexPendant

TPWrite product;

! Write "Producing" and the product on the FlexPendant

TPWrite "Producing " + product;

Scrittura di una variabile numerica

Una variabile numerica può essere aggiunta dopo la stringa, utilizzando l’argomento

opzionale \Num.

VAR num count := 13;

TPWrite "The number of produced units is: " \Num:=count;

Page 43: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

TPReadFK

Quando si scrive un programma RAPID che richiede una scelta da parte dell’operatore, TPReadFK è un’istruzione utile. Essa infatti consente la visualizzazione di fino a 5 pulsanti di funzione, e l’operatore può scegliere quello da attivare. I pulsanti corrisponderanno ai valori da 1 a 5.

VAR num answer;

TPReadFK answer, "Select which figure to draw", "Square",

"Triangle", stEmpty, stEmpty, stEmpty;

IF answer = 1 THEN

! code to draw square

ELSEIF answer = 2 THEN

! code to draw triangle

ELSE

! do nothing

ENDIF

TPReadNum

TPReadNum consente all’operatore di scrivere un numero sulla FlexPendant, invece di compiere una scelta.

VAR num answer;

TPReadNum answer, "How many times shall I draw the figure?";

FOR i FROM 1 TO answer DO

! code to draw figure

ENDFOR

Page 44: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Esempio

Se si desidera tracciare quattro quadrati di dimensioni differenti, potremo preparare quasi la stessa codifica di programmazione per quattro volte. Il risultato sarà un'estesa quantità di codifica ed un programma difficile da capire. Una maniera molto più efficiente di scrivere questo programma è rappresentata dalla preparazione di una procedura che tracci il quadrato, e che sarà richiamata dalla procedura ‘main’ per quattro volte.

PERS tooldata tPen:= ...

CONST robtarget p10:= ...

PROC main()

! Call the procedure draw_square

draw_square 100;

draw_square 200;

draw_square 300;

draw_square 400;

ENDPROC

PROC draw_square(num side_size)

VAR robtarget p20;

VAR robtarget p30;

VAR robtarget p40;

! p20 is set to p10 with an offset on the y value

p20 := Offs(p10, 0, side_size, 0);

p30 := Offs(p10, side_size, side_size, 0);

p40 := Offs(p10, side_size, 0, 0);

MoveL p10, v200, fine, tPen;

MoveL p20, v200, fine, tPen;

MoveL p30, v200, fine, tPen;

MoveL p40, v200, fine, tPen;

MoveL p10, v200, fine, tPen;

ENDPROC

Page 45: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Definizione di un'istruzione Un’istruzione RAPID agisce come una procedura prestabilita. Un richiamo ad un’istruzione assomiglia ad una procedura, dove il nome d’istruzione è seguito dai valori dell’argomento. Alcune istruzioni RAPID sono semplici, e avrebbero facilmente potuto essere state scritte come una procedura in RAPID. Ad esempio, l’istruzione Add. Add reg1, 3; ! The same functionality could be written: reg1 := reg1 + 3; Altre istruzioni RAPID eseguono processi complicati, che non avrebbero potuto essere programmati senza queste istruzioni prestabilite. Ad esempio: MoveL, Definizione di una funzione Una funzione RAPID assomiglia ad un’istruzione, ma restituisce un valore. ! Calculate the cosine of reg2 reg1 : = Cos(reg2); Dato che la funzione restituisce un valore, il risultato della funzione può essere attribuito ad una variabile. Gli argomenti in un richiamo di funzione sono scritti entro parentesi, e sono separati da virgole. Semplificazione di calcoli complicati Un singolo richiamo di funzione può spesso sostituire diverse dichiarazioni complesse. Ad esempio: p20 := Offs(p10, 100, 200, 300); può sostituire la codifica seguente: p20 := p10; p20.trans.x := p20.trans.x + 100; p20.trans.y := p20.trans.y + 200; p20.trans.z := p20.trans.z + 300;

Page 46: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Sistemi di Coordinate

• I sistemi di coordinate sono correlati dal punto di vista gerarchico. L'origine di ciascun sistema di coordinate viene definito come una posizione in uno dei suoi progenitori.

• In RobotStudio, si possono utilizzare i sistemi di coordinate:

• Sistema di coordinate universali RobotStudio RS-WCS (RobotStudio-World Coordinate System)

• Il sistema di coordinate universali RobotStudio rappresenta l'intera stazione o cella del robot. Questa è la cima della gerarchia alla quale fanno riferimento tutti gli altri sistemi di coordinate (quando si utilizza RobotStudio).

• Sistema di coordinate del TCP (Tool Center Point)

• Il sistema di coordinate del TCP (Tool Center Point) è il punto centrale dell'utensile. Si possono definire differenti TCP per un singolo robot. Tutti i robot hanno un TCP predefinito nel punto di montaggio dell'utensile, chiamato tool0. Durante l'esecuzione di un programma, il robot sposta il TCP verso la posizione programmata.

• Base Frame (BF)

• Il sistema di cordinate di base si chiama Base Frame (BF). Ciascun robot nella stazione, che si tratti di RobotStudio o del mondo reale, è dotato di un sistema di coordinate di base, che è sempre situato alla base del robot.

• Task Frame (TF)

• Il Task Frame rappresenta l'origine del sistema di coordinate universali del controller del robot in RobotStudio.

Page 47: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Sistemi di Coordinate dell’oggetto di lavoro

• Sistema di coordinate dell'oggetto di lavoro

• Normalmente l'oggetto di lavoro rappresenta il pezzo di lavoro fisico. È composto da due sistemi di coordinate: il sistema di riferimento utente e il sistema di riferimento oggetto, dove il secondo è figlio del primo. Quando si programma un robot, tutti i target (posizioni) sono correlati al sistema di riferimento oggetto di un oggetto di lavoro. Se non è stato specificato un altro oggetto di lavoro, i target saranno correlati al Wobj0 predefinito, che coincide sempre con il sistema di riferimento di base del robot.

• Nella figura seguente il sistema di coordinate grigio è il sistema di coordinate universali e quelli neri sono il sistema di riferimento oggetto e il sistema di riferimento utente dell'oggetto di lavoro. Qui il sistema di riferimento utente è posizionato sul tavolo/attrezzatura e il sistema di riferimento oggetto sull'oggetto

• Sistemi di coordinate utente

• Gli UCS (sistemi di coordinate utente) vengono utilizzati per la creazione di punti di riferimento specifici. Ad esempio, è possibile creare sistemi di riferimento utente in punti strategici dell'oggetto di lavoro, per facilitare la programmazione.

Page 48: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Nell'illustrazione a sinistra, il Task Frame si trova nella stessa posizione del Base Frame del robot. Nell'illustrazione a destra, il Task Frame è stato spostato in un'altra posizione.

Page 49: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

La figura seguente illustra il modo in cui un Task Frame in RobotStudio venga mappato per il sistema di coordinate del controller del robot nel mondo reale. Ad esempio, al suolo del cantiere.

Page 50: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Stazioni con sistemi di robot multipli Quando nella stazione sono presenti parecchi controller, il Task Frame consente ai robot connessi di operare in differenti sistemi di coordinate. Vale a dire che i robot possono essere localizzati indipendentemente l'uno dall'altro, definendo differenti Task Frame per ogni robot.

Page 51: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Sistemi MultiMove Coordinated Le funzioni MultiMove facilitano la creazione e l'ottimizzazione di programmi per i sistemi MultiMove in cui un robot o posizionatore tiene l'oggetto di lavoro e altri robot operano su di esso. Quando si utilizza un sistema di robot con l'opzione RobotWare MultiMove Coordinated, è importante che i robot operino nello stesso sistema di coordinate.

Page 52: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Sistemi MultiMove Independent Per un sistema di robot con l'opzione RobotWare MultiMove Independent, i robot operano contemporaneamente ed indipendentemente, mentre sono controllati da un singolo controller. Anche se è presente un unico sistema di coordinate universali del controller del robot, i robot spesso operano in sistemi di coordinate separati. Per consentire questa impostazione in RobotStudio, i Task Frame per i robot possono essere separati e posizionati indipendentemente uno dall'altro.

Page 53: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

• I target vengono definiti e memorizzati come coordinate in un sistema di coordinate dell'oggetto di lavoro. Quando il controller calcola la posizione degli assi del robot per raggiungere il target, spesso vi sarà più di una soluzione possibile per la configurazione degli assi del robot. Per distinguere tra le varie configurazioni, tutti i target hanno un valore di configurazione che specifica in quale quadrante potrà essere situato ciascun asse.

• Ad ogni target deve essere assegnata una configurazione valida e verificato che il robot possa muoversi lungo ciascun percorso. È anche possibile disattivare il monitoraggio della configurazione in modo da ignorare le configurazioni memorizzate e consentire che il robot trovi quelle funzionanti in fase di runtime. Se questo non viene svolto nel modo corretto, si potrebbero ottenere risultati inaspettati.

• In alcuni casi, potrebbe non essere disponibile alcuna configurazione funzionante. Le soluzioni possibili possono essere quindi il riposizionamento del pezzo di lavoro, il riorientamento dei target, se accettabile nel processo, o l'aggiunta di un asse esterno che sposti il pezzo di lavoro o aumenti la raggiungibilità del robot.

Configurazione degli assi del Robot

Page 54: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Interfaccia Utente • Il visualizzatore layout offre una visualizzazione gerarchica degli

oggetti fisici, ad esempio robot e utensili. • Il visualizzatore Percorsi & Target offre una visualizzazione

gerarchica degli oggetti non fisici. • Il visualizzatore Modellazione mostra tutti gli oggetti che è

possibile modificare e i relativi elementi costitutivi. • Il visualizzatore Controller offrono una visualizzazione

gerarchica del controller ed elementi di configurazione nella scheda Controller.

• Il visualizzatore File nella scheda RAPID consente di gestire i file RAPID e i backup di sistema. Utilizzando il visualizzatore File è possibile accedere e modificare i moduli RAPID autonomi e i file dei parametri di sistema non presenti nella memoria del controller.

• Il visualizzatore Add-In mostra PowerPacs, gli add-in generali e gli add-in VSTA installati, se disponibili, nei loro rispettivi nodi.

• La finestra output visualizza informazioni sugli eventi che si verificano nella stazione, ad esempio l'avvio o l'interruzione delle simulazioni. Queste informazioni sono utili durante la risoluzione di problemi occorsi sulle stazioni.

• La finestra Stato controller visualizza lo stato operativo dei controller presenti nella vista robot.

• Finestra Operatore rappresenta un'alternativa alla corrispondente funzionalità della Virtual FlexPendant per le comunicazioni con l'utente durante l'esecuzione del programma RAPID. Essa visualizza la stessa uscita della finestra Operatore della

• Virtual FlexPendant. Durante l’esecuzione del Virtual Controller, il programma RAPID comunica con l’operatore tramite messaggi inviati sullo schermo FlexPendant. L’operatore Window integra questa funzionalità e permette all’utente di eseguire i programmi interattivi RAPID senza avviare la Virtual FlexPendant.

Page 55: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Creazione di una Stazione di Lavoro

• Importazione di un modello di robot

• Con il pulsante Sistema robotico, è possibile creare un sistema da un profilo o da un modello, scegliere un sistema esistente, oppure selezionare un sistema dalla galleria dei robot.

• Importazione di un utensile, di un posizionatore, di un binario e altre apparecchiature

• Sposta mediante il comando posiziona

• Collega utensile->allega a

• Crea oggetto

• Sposta ->imposta la posizione e seleziona un sistema di coordinate

• Imposta sistema di riferimento oggetto->imposta origine locale

• Sincronizzazione a un controller virtuale

• Set di collisione

• Per configurare una simulazione, è necessario che siano soddisfatte le seguenti

• condizioni: • Nella stazione deve essere stato creato almeno un percorso.

• I percorsi da simulare devono essere sincronizzati sul controller virtuale.

Page 56: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

• Per la programmazione o simulazione in RobotStudio, sono necessari modelli dei pezzi di lavoro e dell'apparecchiatura. I modelli di alcune apparecchiature standard sono installati come librerie o come geometrie con RobotStudio. Se si dispone di modelli CAD dei pezzi di lavoro e dell'apparecchiatura personalizzata, è possibile importarli come geometrie in RobotStudio. Se non si dispone di suddetti modelli CAD, questi possono essere creati con RobotStudio.

Il formato 3D nativo di RobotStudio è l'ACIS. RobotStudio è anche compatibile con altri formati, per cui sarà necessaria un'opzione specifica. La tavola seguente mostra i formati compatibili e le opzioni corrispondenti:

Librerie e Geometrie CAD

Page 57: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

• RobotStudio adopera Microsoft Visual Studio Tools for Applications (VSTA) come ambiente integrato di sviluppo (IDE), per consentire agli utenti esperti di ampliare e personalizzare la sua funzionalità.

• È possibile, ad esempio, scrivere un add-in su C# o VB.Net per creare una barra degli strumenti o un macro, un codice di debug oppure controllare i valori della variabile durante l’esecuzione.

ADD-IN VSTA come IDE

Page 58: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Impiego online

• Collegamento di un PC alla porta di servizio • Nella figura seguente sono illustrate le due porte principali presenti sul gruppo computer: la porta di servizio e la porta LAN.

• Utilizzare il cavo Ethernet incrociato di categoria 5 con connettori RJ45 fornito in dotazione.

• Collegare il cavo di rete alla porta di rete del PC.

• Collegare il cavo di avvio alla porta di servizio del gruppo computer.

• La porta di servizio del controller è provvista di un server DHCP che consente di assegnare automaticamente un indirizzo IP al PC se questo è configurato in modo appropriato.

• Il PC deve essere impostato su "Ottieni automaticamente un indirizzo IP.

• Per la connessione tramite un indirizzo IP fisso utilizzare le seguenti impostazioni:

Page 59: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

Connessione al Controller • Assicurarsi che il PC sia connesso alla porta di servizio del controller e che il controller sia in esecuzione. • Nel menu File, puntare su Online, quindi fare clic su Connessione mediante un solo clic. • Fare clic su Aggiungi controller • Fare clic su Richiedi accesso in scrittura.

Autorizzazioni dell’utente • L'autorizzazione degli utenti viene gestita dal controller mediante il Sistema di autorizzazione degli utenti (UAS,

User Authorization System) del controller. • Le impostazioni UAS rimangono nel controller indipendentemente dal sistema in esecuzione. Questo significa

anche che le impostazioni UAS vengono applicate a tutti gli strumenti per comunicare con il controller, quali RobotStudio o la FlexPendant.

• Le impostazioni UAS definiscono gli utenti e i gruppi che possono accedere al controller, e le operazioni che questi sono autorizzati a svolgere.

• In UAS gli utenti sono considerati sotto forma di account, tramite i quali le persone accedono al controller. Inoltre, gli utenti vengono aggiunti a gruppi ai quali vengono assegnate autorizzazioni di accesso.

• Gli utenti vengono definiti nel controller tramite un nome utente e una password. Per accedere a un controller, l'utente deve digitare un nome utente che è stato definito e una password corretta.

• Tutti i controller dispongono di un utente predefinito denominato Utente predefinito ed una password nota pubblicamente: robotics. L'Utente predefinito non può essere rimosso, né la sua password potrà essere modificata.

• Tutti i controller dispongono di un gruppo predefinito di nome Default Group, al quale vengono fornite tutte le autorizzazioni e al quale appartiene l'utente predefinito Default User. Questo gruppo non può essere rimosso, ma può essere modificato dall'utente che dispone dell'autorizzazione Gestione impostazioni UAS.

Page 60: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software

System Builder

• Un sistema è il software che viene eseguito su un controller. È composto da parti di RobotWare specifiche per i robot collegati al controller, file di configurazione e programmi RAPID.

• I parametri di sistema descrivono la configurazione del sistema (relativa ai vari argomenti: protocolli di comunicazione internet, canali seriali e dei protocolli di trasferimento file del controller, trasmissione dei dati, parametri per la sicurezza e funzioni specifiche rapid, parametri per le schede e i segnali di I/O, parametri associati al controllo dei movimenti) robotico e sono impostati conformemente all'ordine al momento della consegna.

• Il SystemBuilder è lo strumento per la creazione, la modifica e la manutenzione di sistemi. Si può utilizzare il SystemBuilder anche per scaricare i sistemi dal PC al controller.

• Il sistema che viene eseguito sui controller virtuali può essere un sistema reale basato su chiavi RobotWare reali o un sistema virtuale basato su chiavi virtuali.

• Quando si utilizzano sistemi reali, le chiavi RobotWare definiscono quali opzioni e modelli di robot dovranno essere utilizzati, agevolando così la configurazione corretta del sistema. I sistemi reali possono essere eseguiti su controller virtuali e controller IRC5 reali.

• Quando si utilizzano chiavi virtuali, sono disponibili tutte le opzioni e i modelli di robot; ciò è utile a fini di valutazione, ma richiede un maggior lavoro di configurazione quando si crea il sistema. I sistemi basati su chiavi virtuali possono essere eseguiti solo su controller virtuali.

• Per creare un sistema da utilizzare su un controller reale, è necessario disporre di una relativa chiave RobotWare. La chiave RobotWare è una chiave di licenza che determina quali modelli di robot utilizzare e quali opzioni di RobotWare eseguire nel controller. La chiave di licenza viene consegnata con il controller.

• Se si desidera creare un sistema da impiegare solo in modo virtuale, è possibile utilizzare invece una chiave virtuale. Le chiavi virtuali vengono generate dalla procedura guidata. Quando si utilizzano chiavi virtuali, i modelli di robot e le opzioni da utilizzare vengono selezionati nella sezione Modifica opzioni della procedura guidata.

• Per scaricare su un controller reale, si richiede la connessione diretta tra computer e porta di servizio o Ethernet del controller.

Page 61: Introduzione a Robot Studio (ABB) · L'IRB 120 fa parte dell'ultima generazione di robot industriali a 6 assi di ABB ... • RobotWare è un termine generico per tutto il software