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 Programma➔Robot 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 Programma➔Robot 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 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.

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 Programma➔Robot 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 Programma➔Robot 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 Programma➔Robot 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 Programma➔Robot Programs - Figura 15 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.

Robot Programs - Figura 16

Mostra Messaggio

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

Robot Programs - Figura 18

Pausa

Seleziona Programma➔Robot 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 Programma➔Robot 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 Programma➔Robot 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 Programma➔Robot 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

Alcuni controller richiedono di impostare questo valore come percentuale, per esempio su un controller Fanuc, se vuoi fornire il comando CNT5 devi inserire il valore 5.

Puoi anche specificare il parametro di raccordo nella finestra Eventi Programma se stai generando i tuoi programmi per la fresatura robotizzata, la stampa 3D o il following di curve/punti.

Robot Programs - Figura 29

Simula Eventi

Seleziona Programma➔Robot Programs - Figura 30 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 un oggetto ad un tool.

Scollegare un oggetto da un tool e lasciarlo in un sistema di coordinate.

Mostrare uno o più oggetti o tool.

Nascondere uno o più oggetti o tool.

Impostare la posizione assoluta di uno o più oggetti o piani di riferimento.

Impostare la posizione relativa di uno o più oggetti o piani di riferimento.

Impostare i giunti del robot in posizione home.

Muovere il nastro trasportatore.

Creare un oggetto.

Eliminare oggetti.

Attendere un oggetto.

Robot Programs - Figura 31

Combinando gli eventi di simulazione più adatti è possibile creare, tramite l'interfaccia utente, simulazioni per la movimentazione di materiali o per muovere oggetti lungo nastri trasportatori all'interno della simulazione, come desiderato.

Robot Programs - Figura 32

Collega oggetto

L'evento di simulazione Collega oggetto permette di collegare un oggetto ad un tool per simulare un'operazione di presa.

Quando viene attivata l'azione di collegamento di un oggetto ad un tool, viene collegato l'oggetto più vicino al tool selezionato. Una tolleranza di default di 200 mm viene utilizzata per ignorare gli oggetti più distanti di questo valore.

Robot Programs - Figura 33

Se non specifichi una tolleranza di distanza, verrà utilizzato il valore di default globale (puoi modificarlo in Strumenti➔Opzioni➔Distanza massima per collegare un oggetto ad un tool robot). Inoltre, di default, la distanza è controllata dalla posizione del TCP al riferimento dell'oggetto. In alternativa, possiamo usare la distanza tra il TCP e la geometria dell'oggetto selezionando Controlla distanza più breve tra TCP e forma dell'oggetto.

Scollega oggetto

L'evento di simulazione Scollega oggetto permette di scollegare un oggetto da un tool verso un altro oggetto o sistema di coordinate.

È necessario scegliere il tool da cui gli oggetti devono essere scollegati e il sistema di coordinate o l'oggetto a cui devono essere successivamente collegati.

L'evento di simulazione Scollega oggetto permette di simulare un'operazione di deposito in un'applicazione di pick and place (eseguendo l'azione opposta all'evento Collega oggetto).

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 34

Mostra oggetti o tool

L'evento Mostra oggetti o tool permette di rendere visibili uno o più oggetti, tool o robot all'interno dell'ambiente di simulazione.

Puoi selezionare uno o più elementi tenendo premuto il tasto Ctrl.

Robot Programs - Figura 35

Nascondi oggetti o tool

L'evento Nascondi oggetti o tool permette di rendere invisibili uno o più oggetti o tool all'interno della simulazione.

Puoi selezionare uno o più elementi tenendo premuto il tasto Ctrl.

Robot Programs - Figura 36

Imposta la posizione assoluta

L'evento Imposta la posizione dell'oggetto (assoluta) permette di aggiornare la posizione di ogni oggetto selezionato quando questa azione viene attivata. Il riferimento genitore a cui ciascun elemento è collegato non viene modificato: viene aggiornata solo la posizione di ogni oggetto.

Puoi selezionare uno o più elementi tenendo premuto il tasto Ctrl. La posizione attuale dell'elemento viene registrata quando premi OK.

Robot Programs - Figura 37

Imposta la posizione relativa

L'evento Imposta la posizione dell'oggetto (relativa) permette di aggiornare la posizione e il genitore di ogni oggetto selezionato quando questa azione viene attivata. Viene modificato anche il riferimento genitore a cui ciascun elemento è collegato e viene aggiornata anche la posizione di ogni oggetto.

Puoi selezionare uno o più elementi tenendo premuto il tasto Ctrl. La posizione attuale dell'elemento e l'elemento genitore a cui è collegato vengono registrati quando premi OK.

La differenza tra questa istruzione e l'istruzione di posizione assoluta è che questa istruzione aggiorna anche l'elemento genitore a cui ciascun oggetto è collegato.

Robot Programs - Figura 38

Imposta il robot in posizione home

L'evento Imposta i giunti in posizione home attiva lo spostamento immediato del robot o del meccanismo selezionato verso le sue posizioni giunti “home” definite (il movimento non viene simulato nel tempo).

Questo è utile quando è necessario azzerare una simulazione e riportare i nastri trasportatori nella posizione iniziale.

Puoi selezionare uno o più elementi tenendo premuto il tasto Ctrl.

Robot Programs - Figura 39

Evento movimento nastro trasportatore

L'evento movimento nastro trasportatore simula lo spostamento del nastro trasportatore di una distanza specifica, simulando l'effetto del movimento nel tempo.

Questo è utile quando è necessario simulare un incremento specifico per elaborare un oggetto sul nastro trasportatore una volta percorsa una distanza specifica.

Robot Programs - Figura 40

Crea oggetto

L'istruzione Crea oggetto permette di simulare un alimentatore creando un nuovo oggetto nell'ambiente di simulazione.

È necessario selezionare l'oggetto modello da creare e il riferimento genitore a cui gli elementi devono essere collegati.

Questa azione è utile per creare nuovi oggetti su un nastro trasportatore.

Robot Programs - Figura 41

Elimina oggetti

L'istruzione Elimina oggetti rimuove gli oggetti dall'ambiente di simulazione.

È necessario selezionare un oggetto modello che si desidera eliminare. Ogni oggetto che corrisponde al nome e alla geometria dello stesso oggetto viene eliminato quando questa azione viene attivata. L'oggetto modello selezionato e gli eventuali oggetti bloccati non vengono rimossi.

Questa istruzione aiuta a ripulire una simulazione terminata in cui sono stati creati molti oggetti tramite l'istruzione Crea oggetto.

Robot Programs - Figura 42

Attendi oggetto

L'istruzione Attendi oggetto attende che un oggetto entri in contatto con un altro oggetto per attivare un'azione specifica.

Questo evento è utile quando si desidera attivare un'azione in base al contatto tra oggetti. È comune inserire questa istruzione da sola in un programma eseguito in loop, che esegue un'azione specifica quando un oggetto entra in contatto con un sensore.

Robot Programs - Figura 43

Le azioni che puoi eseguire quando un oggetto è in contatto con il sensore sono le seguenti:

1.Fermare un robot: è necessario selezionare il robot o il meccanismo che deve fermarsi.

2.Eliminare un oggetto: l'oggetto deve essere rimosso dalla stazione.

3.Attendere solo l'oggetto (per esempio, puoi attivare la presa di un oggetto da parte di un robot).

4.Spostare un oggetto verso un altro sistema di coordinate. Per esempio, per trasferire un oggetto da un nastro trasportatore ad un altro.

Robot Programs - Figura 44