Programmi Robot

RoboDK è un simulatore focalizzato su applicazioni di robot industriali. Ciò significa che i programmi robot possono essere creati, simulati e generati offline per uno specifico braccio robotico e controller robot. In altre parole, RoboDK è un software per la Programmazione Offline.

Per creare programmi robot, è richiesto selezionare un robot, caricare il tool e usare una o più funzionalità CAD in percorso per creare programmi o aggiungere bersagli usando tool specifici (ad esempio convertire programmi CNC in programmi robot)

Una libreria extesa di robot industriali è disponibile. Robot industriali sono modellati in RoboDK nella stessa maniera in cui si comportano utilizzando il controller specifico, inclusi limiti assi, movimenti e connessioni tra gli assi.

Robot Programs - Figura 1

Questa sezione mostra come programmi robot possono essere creati, simulati e generati per specifici controllori robot usando l'interfaccia grafica di RoboDK (GUI).

Programmazione Offline

Programmazione Offline (o Programmazione Off-line) significa programmare robot fuori dal loro ambiente produttivo. La programmazione offline elimina i tempi morti di produzione a causa di una programmazione su teach pendant. La simulazione e la programmazione offline permettono di studiare scenari multipli per una cella di lavoro prima di impostare la cella di produzione. Errori fatti comunemente nella progettazione di una cella di lavoro possono essere predetti in tempo.

La programmazione offline è la via migliore per massimizzare l'investimento per un sistema robotico e richiede software appropriati di simulazione. Il tempo per l'adozione di nuovi programmi può essere ridotto da settimane a giorni, permettendo la robotizzazione di piccole serie.

Creare un programma

Una simulazione può essere effettuata aggiungendo una sequenza di istruzioni in un programma. Ogni istruzione rappresenta un codice specifico in un controller, tuttavia, RoboDK offre un'Interfaccia Grafica Utente (GUI) per creare facilmente programmi robot, in maniera generica, senza la necessità di scrivere codice. Il codice specifico di un controller robot sarà generato automaticamente quando il programma è generato.

Per creare un nuovo programma vuoto usando l'Interfaccia Grafica di RoboDK:

1.Seleziona ProgrammaRobot Programs - Figura 2 Aggiungi Programma          
In alternativa, seleziona il pulsante corrispondente della toolbar.

2.Seleziona StrumentiRinomina elemento (F2) per rinominare il programma

Questa azione crea un programma vuoto e permetterà di aggiungere nuove istruzioni cliccando con il casto destro sul programma o selezionando un istruzione dal menu Programma. La prossima sezione Istruzioni Programma fornisce più informazioni riguardo l'aggiunta di istruzioni.

Robot Programs - Figura 3

Istruzioni Programma

È possibile aggiungere nuove istruzioni facendo click con il tasto destro su un programma o dal menu Programma, come mostrato nella precedente sezione.

Questa sezione descrive le istruzioni supportate dall'Interfaccia Grafica di RoboDK per programmazione offline di robot.

Muovi Giunti

Seleziona ProgrammaRobot Programs - Figura 4Istruzione Muovi Giunti per aggiungere una nuova istruzione muovi giunti. In alternativa seleziona il pulsante corrispondente nella toolbar.

A meno che un bersaglio sia selezionato prima di aggiungere l'istruzione, l'istruzione di movimento creerà un nuovo bersaglio e i due saranno collegati. Se il bersaglio è mosso, anche il movimento è modificato.

Se questa è la prima istruzione aggiunta, due altre istruzioni verranno aggiunte prima dell'istruzione di movimento: una selezione del Piano di Riferimento e una selezione del Piano Tool. Ciò assicurerà che quando un programma raggiunge l'istruzione di movimento, il robot giusto e il tool giusto vengano utilizzati.

Robot Programs - Figura 5

Muovi Lineare

Seleziona ProgrammaRobot Programs - Figura 6 Istruzione Muovi Lineare per aggiungere una nuova istruzione di movimento lineare. In alternativa, seleziona il pulsante corrispondente nella toolbar.

A meno che un ber

A meno che un bersaglio sia selezionato prima di aggiungere l'istruzione, l'istruzione di movimento creerà un nuovo bersaglio e i due saranno collegati. Se il bersaglio è mosso, anche il movimento è modificato.

Muovi Giunti e Muovi Lineare si comportano alla stessa maniera e possono essere scambiati facilmente da un tipo all'altro.

Joint Moves and Linear Moves behave the same way and can be easily switched from one type to the other.

Se questa è la prima istruzione aggiunta, due altre istruzioni verranno aggiunte prima dell'istruzione di movimento: una selezione del Piano di Riferimento e una selezione del Piano Tool. Ciò assicurerà che quando un programma raggiunge l'istruzione di movimento, il robot giusto e il tool giusto vengano utilizzati.

Contrariamente ai Movimenti Giunti, i Movimenti linare sono sensibili alle singolarità e ai limiti assi. Per esempio, un robot a 6 assi non può oltrepassare una singolarità seguendo un movimento lineare. La seguente immagine mostra un esempio che dice Joint 5 is too close to a singularity (0 degrees). […] Consider a Joint move instead.

Robot Programs - Figura 7

Se un movimento lineare non è strettamente necessario, clicca con il tasto destro sull'istruzione di movimento e modificala in un istruzione Giunti.

Robot Programs - Figura 8

In alternativa, il bersaglio, il TCP o la posizione del piano di riferimento deve essere modificata per evitare singolarità.

Imposta Piano di Riferimento

Seleziona ProgrammaRobot Programs - Figura 9Istruzione Imposta Piano di Riferimento per usare uno specifico piano di riferimento. Ciò aggiornerà il piano di riferimento dato sul controller per le prossime istruzioni di movimento e modificherà il Piano di Riferimento Attivo del robot in RoboDK per finalità di simulazione. Ciò significa che istruzioni di movimento su bersagli specifici (bersagli Cartesiani) saranno effettuate con rispetto dell'ultimo piano di riferimento impostato.

Il piano di riferimento è una variabile conosciuta anche come Work Object (ABB), UFRAME (Fanuc), FRAME (Motoman) or $BASE (KUKA).

Robot Programs - Figura 10

Imposta Piano Tool

Seleziona ProgrammaRobot Programs - Figura 11Istruzione Imposta Piano Tool per usare uno specifico piano tool (TCP). Questo aggiornerà il piano tool dato nel programma per i movimenti successivi e cambierà il piano tool Attivo del robot in RoboDK per finalità di simulazione. Ciò significa che le istruzioni di movimento per uno specifico bersaglio (bersaglio Cartesiano) saranno fatte con rispetto dell'ultimo piano di riferimento tool impostato.

Il piano di riferimento è una variabile conosciuta anche come Work Object (ABB), UFRAME (Fanuc), FRAME (Motoman) or $BASE (KUKA).

Robot Programs - Figura 12

Muovi Circolare

Seleziona ProgrammaRobot Programs - Figura 13Istruzione Muovi Circolare per aggiungere una nuova istruzione di movimento circolare. In alternativa, seleziona il pulsante corrispondente nella toolbar.

A meno che due bersagli siano selezionati prima di aggiungere l'istruzione, l'istruzione di movimento non creerà due nuovi tracciati. È richiesto aggiungere due o più bersagli separatamente e collegarli all'istruzione di movimento circolare come mostrato nella prossima immagine.

Robot Programs - Figura 14

Il percorso circolare è un arco creato dai punti dove il robot è localizzato, passando per il primo punto circolare (Target Linked 1) e finendo al punto finale (Target Linked 2).

Imposta Velocità

Seleziona ProgrammaRobot Programs - Figura 15Istruzione Imposta Velocità per aggiungere una nuova istruzione che modifica la velocità e/o l'accelerazione. È possibile specificare la velocità e l'accelerazione nello spazio giunti e cartesiano.

Attivare i casi corrispondenti per impostare una specifica velocità o accelerazione nel programma. La velocità del robot è applicata dai movimenti in cui questa istruzione viene eseguita.

La velocità del robot può anche essere modificata nel menu parametri del robot: Doppio click sul robot, poi, seleziona parametri.

Robot Programs - Figura 16

Mostra Messaggio

Seleziona ProgrammaRobot Programs - Figura 17 Istruzione Mostra Messaggio per aggiungere una nuova istruzione che mostrerà un messaggio sul teach pendant.

Robot Programs - Figura 18

Pausa

Seleziona ProgrammaRobot Programs - Figura 19Istruzione Pausa per aggiungere una nuova istruzione che metterà in pausa l'esecuzione del programma per un certo tempo o stopperà il programma fino a che l'operatore non lo riesumerà.

Robot Programs - Figura 20

Chiamate Programma

Seleziona ProgrammaRobot Programs - Figura 21 Istruzione Chiamata Programma per aggiungere una chiamata ad un sub-programma dal programma corrente.

Di default, ciò è una chiamata bloccante al programma specifico. Tuttavia, è possibile cambiare in Inserisci Codice per immettere un codice specifico nella posizione della chiamata. Ciò può essere utile per una specifica applicazione e uno specifico controller.

Robot Programs - Figura 22Robot Programs - Figura 23

Cambia da Chiamata Programma in Inizia Thread per provocare una chiamata non bloccante ad un subprogramma. In questo caso, il controller inizierà un nuovo thread. Questa opzione è disponibile solamente su certi tipo di controllori e certe operazioni.

Imposta/Attendi IO

Seleziona ProgrammaRobot Programs - Figura 24 Istruzione Imposta/Attendi IO per modificare lo stato di un Digital Output (DO). Di default, questa istruzione è impostata su Imposta Digital Output. Questa istruzione permette anche di aspettare per un Digital Input (DI) modificato su uno stato specifico.

Il nome IO può essere un numero o un valore di testo se è una variabile nominativa. Il valore IO può essere un numero (0 per False 1 per True) o un valore testo se è uno stato nominativo.

Robot Programs - Figura 25

Imposta su Aspetta per Digital Input per fermare l'esecuzione del programma fino a che uno specifico input cambia in un valore specifico. In più, molti controller robot supportano un timeout per avere un errore se il tempo di attesa ha superato il valore specifico. Controlla l'opzione Timeout (ms) per attivare questa caratteristica.

Robot Programs - Figura 26

Alterare Digital Input e Output simulati creerà nuove variabili della stazione. Per controllare lo stato di queste variabili puoi cliccare con il tasto destro sulla stazione e selezionare Parametri Stazione. È anche possibile leggere o modificare queste variabili tramite l'API.

Imposta Valore di Raccordo

Seleziona ProgrammaRobot Programs - Figura 27 Istruzione Imposta Raccordo per alterare l'accuratezza del raccordo. L'accuratezza del raccordo è usata per addolcire gli spigoli di movimenti consegutivi. Questo cambiamento è effettivo dal momento che è eseguito all'interno del programma (stesso comportamento delle altre istruzioni), è tipico dunque impostare questo valore all'inizio del programma.

Senza un'istruzione di raccordo, il robot raggiungerà la velocità di 0 alla fine di ogni movimento (a meno che il movimento successivo sia tangente al precedente). Ciò provocherà un'alta accelerazione e un drastico cambiamento di velocità per assicurare l'accuratezza del movimento.

Questo valore è anche conosciuto come Blending radius (Universal Robots), ZoneData (ABB), CNT/FINE (Fanuc), Cornering (Mecademic) or $APO.CDIS/$APO.CPTP/Advance (KUKA).

Robot Programs - Figura 28

Il test di accuratezza tracciato di RoboDK permette di avere una comprensione migliore degli effetti del valore di raccordo con un sistema misurato.

Simula Eventi

Seleziona ProgrammaRobot Programs - Figura 29 Istruzione Simulazione Eventi per provocare una specifica simulazione di un evento. Simulare eventi non ha impatto sul codice generato ed è usato solo per finalità di simulazione. Eventi simulati nell'interfaccia grafica permettono di:

Collegare o scollegare oggetti dal tool

Mostrare o Nascondere oggetti o tool

Modificare la posizione di oggetti e piani di riferimento

Robot Programs - Figura 30

Per esempio, se il robot si muove in una specifica posizione per prendere un oggetto possiamo impostare l'evento Collega oggetto per muovere l'oggetto assieme al robot. Poi, dopo che il robot si è mosso ed è pronto a lasciare l'oggetto possiamo impostare un evento Scollega oggetto per lasciare l'oggetto che il tool aveva preso.

Robot Programs - Figura 31

Simula Programmi

Fai doppio click sul Robot Programs - Figura 32 programma per iniziare la simulazione. In alternativa:

1.Tasto destro sul programma

2.Seleziona Avvia

Una barra di simulazione si aprirà nella parte inferiore se si è cliccato due volte. È possibile trascinare la barra della simulazione per muovere la simulazione avanti o indietro.

Robot Programs - Figura 33

RoboDK simula 5 volte più velocemente di un robot reale di default. Ciò significa che se un programma impiega 30 secondi per esser eseguito sarà simulato in 6. Velocizzare la simulazione aumenta la ratio a 100. Queste velocità posson esser modificate in StrumentiOpzioniMenu Movimento

Robot Programs - Figura 36

Genera Programma

Segui questi passaggi per generare un programma robot richiesto da un controllore robot specifico:

1.Seleziona il Programma

2.Seleziona ProgrammaGenera programma (F6)

In alternativa, clicca con il tasto destro e seleziona Genera programma robot (F6) per generare il programma.

Robot Programs - Figura 37

Programmi multipli possono essere selezionati per generare più di un programma alla volta. Tieni premuto il tasto CTRL per selezionare più di un programma. Selezionare l'opzione Genera Programma... (Shift+F6) aprirà una nuova finestra che chiede all'utente di fornire una posizione in cui salvare i programmi.

Trasferisci Programmi

È possibile trasferire un programma dal computer direttamente al robot. Questa opzione solitamente manda il programma al robot tramite protocollo FTP o altri protocolli specifici, come socket o connessione seriale. Prima, è richiesto immettere l'IP del robot e i parametri dell'FTP nel menu connessione:

1.Tasto destro sul robot

2.Seleziona Connetti a robot... Una nuova finestra apparirà sulla sinistra.

3.Immetti l'IP del robot

4.Seleziona Più opzioni per immettere le impostazioni FTP e le credenziali

Robot Programs - Figura 38

Una volta che le impostazioni della rete sono state fornite e il robot è propriamente connesso, segui questi passaggi per trasferire il programma al robot direttamente in RoboDK:

1.Tasto destro sul programma

2.Seleziona Invia programma al robot (Ctrl+F6)

Una finestra popup mostrerà il successo o il fallimento.

Seleziona Post Processore

La conversione da simulazione RoboDK a programma robot specifico è fatta da un Post Processore. Il Post Processore definisce come programmi robot devono essere generati per uno specifico robot. Ogni robot ha uno specifico post processore di default in RoboDK.

Per selezionare uno specifico post processore per un robot:

1.Clicca con il tasto destro su un programma

2.Seleziona Seleziona Post Processore

3.Scegli un post processore dalla lista

4.Seleziona OK

Robot Programs - Figura 39Robot Programs - Figura 40

La modifica è ora applicata e tutti i programmi possono essere generati nuovamente per vedere il risultato.

Post processori in RoboDK forniscono una flessibilità completa per generare programmi robot per requisiti specifici. RoboDK fornisce Post Processori per molte marche. Post Processori possono essere facilmente creati o modificati. Più informazioni sui post processori nella sezione dedicata ai post processori.

Suddividi Programmi Lunghi

Programmi lunghi possono superare le limitazioni del controller. Le limitazioni del controller possono essere la dimensione del file o il numero di linee per programma. Per esempio, un programma robot fatto per la stampa 3D o la fresatura può superare il milione di linee per codice. In quel caso è meglio suddividere il programma in subprogrammi più piccoli, incluso un programma principale che avvia i subprogrammi in ordine.

Per dividere automaticamente un programma lungo:

1.Seleziona StrumentiOpzioniProgramma

2.Seleziona Limita il numero massimo di linee per programma e fornisci il desiderato numero massimo di linee per programma per generare il file.

Robot Programs - Figura 41