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.
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 (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.
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 Programma➔ Aggiungi Programma
In alternativa, seleziona il pulsante corrispondente della toolbar.
2.Seleziona Strumenti➔Rinomina 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.
È 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.
Seleziona Programma➔Istruzione 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.
Seleziona Programma➔ 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.
Se un movimento lineare non è strettamente necessario, clicca con il tasto destro sull'istruzione di movimento e modificala in un istruzione Giunti.
In alternativa, il bersaglio, il TCP o la posizione del piano di riferimento deve essere modificata per evitare singolarità.
Seleziona Programma➔Istruzione 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).
Seleziona Programma➔Istruzione 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).
Seleziona Programma➔Istruzione 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.
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).
Seleziona Programma➔Istruzione 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.
Seleziona Programma➔ Istruzione Mostra Messaggio per aggiungere una nuova istruzione che mostrerà un messaggio sul teach pendant.
Seleziona Programma➔Istruzione 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à.
Seleziona Programma➔ 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.
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.
Seleziona Programma➔ 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.
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.
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.
Seleziona Programma➔ 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).
Il test di accuratezza tracciato di RoboDK permette di avere una comprensione migliore degli effetti del valore di raccordo con un sistema misurato.
Seleziona Programma➔ 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
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.
Fai doppio click sul 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.
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 Strumenti➔Opzioni➔Menu Movimento
Segui questi passaggi per generare un programma robot richiesto da un controllore robot specifico:
1.Seleziona il Programma
2.Seleziona Programma➔Genera programma (F6)
In alternativa, clicca con il tasto destro e seleziona Genera programma robot (F6) per generare il programma.
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.
È 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
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.
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
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.
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 Strumenti➔Opzioni➔Programma
2.Seleziona Limita il numero massimo di linee per programma e fornisci il desiderato numero massimo di linee per programma per generare il file.