10. Programmazione grafica
10.1. Introduzione
Poiché il pannello di insegnamento (teach pendant) generalmente non è collegato a periferiche esterne come tastiera o mouse, quando si accede all’applicazione Web del robot tramite il pannello stesso, l’utente può utilizzare la funzionalità di programmazione grafica per modificare i programmi di insegnamento del robot. Questa funzionalità si basa sulla libreria Blockly, integrabile nel sistema WebAPP; consente inoltre di definire blocchi di codice personalizzati e, una volta completata la programmazione mediante trascinamento, converte automaticamente il risultato in un programma LUA, che viene poi inviato al robot tramite il protocollo di comandi esistente.
Grazie alla programmazione grafica, è possibile ottenere un approccio semplice, intuitivo e facile da usare, con interfaccia completamente localizzata in cinese.
L’interfaccia è suddivisa in tre aree principali: “Barra degli strumenti”, “Toolbox” e “Area di modifica del codice (workspace)”. Il layout generale è mostrato nella figura seguente:
Figura 10.1‑1 Interfaccia di programmazione grafica
Barra degli strumenti
Carica: ricarica l’area di lavoro (workspace);
Importa: importa programmi di programmazione grafica esistenti;
Esporta: esporta il programma grafico attualmente salvato nell’area di lavoro;
Salva: salva i blocchi grafici modificati come programma di insegnamento;
Pulisci: cancella rapidamente l’intera area di modifica;
Codice: converte i blocchi grafici in codice Lua.
Toolbox
Contiene tutti i blocchi di codice relativi a istruzioni e logica, trascinabili nell’area di lavoro per creare e modificare il programma;
I blocchi nella Toolbox sono ulteriormente organizzati per categorie di istruzioni;
Istruzioni logiche: if-else, while, ecc.;
Istruzioni di movimento base: PTP, LIN, ARC, ecc.;
Istruzioni specifiche per applicazioni: incollaggio, saldatura, nastri trasportatori, ecc. Ciò permette di trovare facilmente i blocchi necessari durante l’utilizzo.
Workspace: area in cui vengono editati e visualizzati i blocchi grafici del programma.
10.2. Comandi grafici di tipo logico
I comandi grafici di tipo logico includono istruzioni per cicli, numeri e altre operazioni logiche.
Figura 10.2 Comandi grafici di tipo logico
10.2.1. Istruzione If/Else
Trascinare il blocco “Istruzione If/Else” nell’area di lavoro dell’interfaccia grafica. (Questa istruzione richiede conoscenze di base di programmazione. In caso di necessità, contattare il supporto.)
Figura 10.2-1 Blocco If/Else
10.2.2. Istruzione While
Trascinare il blocco “Istruzione While” nell’area di lavoro dell’interfaccia grafica. (Questa istruzione richiede conoscenze di base di programmazione. In caso di necessità, contattare il supporto.)
Aggiungere una condizione di attesa dopo “While” e inserire all’interno del ciclo blocchi di movimento. Al termine, fare clic su “Salva”. (Per comodità, è possibile inserire temporaneamente qualsiasi contenuto nel blocco “do”, per poi sostituirlo successivamente con le istruzioni desiderate.)
Figura 10.2-2 Blocco While
10.2.3. Istruzione di salto (Jump)
Trascinare il blocco “Istruzione di salto” nell’area di lavoro dell’interfaccia grafica. (Questa istruzione richiede conoscenze di base di programmazione. In caso di necessità, contattare il supporto.)
Nome salto: inserire il nome del punto di destinazione del salto.
Figura 10.2-3 Blocco di salto
Importante
Il nome del salto non può iniziare con un numero.
10.3. Comandi grafici per variabili
I comandi grafici per variabili includono l’istruzione per creare variabili.
Figura 10.3 Comandi grafici per variabili
10.3.1. Istruzione variabile
Fare clic sul pulsante “Crea” per inserire il nome della variabile da definire.
Trascinare il blocco “Istruzione variabile” nell’area di lavoro.
Parametri del nodo “Variabile”:
Figura 10.3-1 Blocco variabile
10.4. Comandi grafici per funzioni
I comandi grafici per funzioni includono l’istruzione per creare funzioni.
Figura 10.4 Comandi grafici per funzioni
10.4.1. Istruzione metodo funzione
Trascinare il blocco “Istruzione metodo funzione” nell’area di lavoro.
Parametri del nodo “Metodo funzione”:
Nome funzione: nome della funzione da eseguire
Figura 10.4-1 Blocco metodo funzione
10.5. Comandi grafici di movimento
I comandi grafici di movimento includono istruzioni PTP, LIN, ARC, ecc.
Figura 10.5 Comandi grafici di movimento
10.5.1. Istruzione Punto-a-Punto (PTP)
Trascinare il blocco “Istruzione Punto-a-Punto” nell’area di lavoro.
È possibile selezionare il punto da raggiungere. Il parametro “Tempo di transizione fluida” consente di rendere continuo il movimento verso il punto successivo. L’opzione “Offset” permette di scegliere tra offset rispetto al sistema di coordinate base o rispetto allo strumento, aprendo campi per impostare gli offset x, y, z, rx, ry, rz. Il percorso PTP viene automaticamente pianificato dal controllore come percorso ottimale.
Parametri del nodo “Punto-a-Punto”:
Nome punto: punto di insegnamento
Velocità debug (%): 0 ~ 100
Stop: false/true
Transizione fluida (ms): tempo di transizione 0 ~ 500
Offset: No / Offset base / Offset strumento (se “No”, i parametri dx~drz non sono attivi)
dx~drz: valori di offset
Figura 10.5-1 Blocco Punto-a-Punto
10.5.2. Istruzione Lineare (LIN)
Trascinare il blocco “Istruzione Lineare” nell’area di lavoro.
Questa istruzione è simile a “Punto-a-Punto”, ma il percorso verso il punto di destinazione è una linea retta.
Parametri del nodo “Lineare”:
Nome punto: punto di insegnamento
Velocità debug (%): 0 ~ 100
Stop: false/true (se true, il parametro “Transizione fluida” non è attivo)
Transizione fluida (mm): raggio di transizione 0 ~ 1000
Ricerca posizione: false/true
Variabile punto ricerca: REF0~99/RES0~99 (non attiva se “Ricerca posizione” è false)
Offset: No
Protezione sovravelocità giunti: No/Sì
Strategia gestione: Standard / Arresto con errore in caso di sovravelocità / Riduzione automatica velocità
Soglia riduzione ammessa (%): 0~100
Figura 10.5-2 Blocco Lineare
10.5.3. Istruzione Lineare (con velocità angolare regolabile nei punti di transizione)
Trascinare il blocco “Istruzione Lineare (con velocità angolare regolabile nei punti di transizione)” nell’area di lavoro.
Funzionalità simile all’istruzione “Punto-a-Punto”, ma include la regolazione della velocità angolare nei punti di transizione.
Parametri del nodo:
Velocità angolare massima: 0~300
Figura 10.5-3 Blocco Lineare (velocità angolare regolabile)
10.5.4. Istruzione Lineare (seamPos)
Trascinare il blocco “Istruzione Lineare (seamPos)” nell’area di lavoro.
Questa istruzione è progettata per scenari di saldatura con sensori laser.
Parametri del nodo “Lineare (seamPos)”:
Nome punto: punto di insegnamento
Velocità debug (%): 0 ~ 100
Stop: false/true (se true, il parametro “Transizione fluida” non è attivo)
Transizione fluida (mm): raggio di transizione 0 ~ 1000
Selezione dati cucitura: Esegui dati pianificati / Esegui dati registrati
Tipo lamiera: Lamiera ondulata / Lamiera grecata / Recinzione / Fusto / Acciaio corrugato
Offset: No / Offset base / Offset strumento / Offset dati grezzi laser (se “No”, i parametri dx~drz non sono attivi)
dx~drz: valori di offset
Figura 10.5-4 Blocco Lineare (seamPos)
10.5.5. Istruzione Arco (ARC)
Trascinare il blocco “Istruzione Arco” nell’area di lavoro.
Il movimento ad arco richiede due punti: il primo è il punto intermedio dell’arco, il secondo è il punto finale. Entrambi i punti consentono di impostare offset rispetto al sistema di coordinate base o dello strumento (x, y, z, rx, ry, rz). È possibile impostare un raggio di transizione fluida al punto finale per garantire continuità del movimento.
Parametri del nodo “Arco”:
Punto intermedio arco: punto di insegnamento
Offset: No / Offset base / Offset strumento (se “No”, i parametri dx~drz non sono attivi)
dx~drz: valori di offset
Punto finale arco: punto di insegnamento
Offset: No / Offset base / Offset strumento (se “No”, i parametri dx~drz non sono attivi)
dx~drz: valori di offset
Velocità debug (%): 0 ~ 100
Stop: false/true (se true, il parametro “Transizione fluida” non è attivo)
Transizione fluida (mm): raggio di transizione 0 ~ 1000
Figura 10.5-5 Blocco Arco
10.5.6. Istruzione Cerchio completo
Trascinare il blocco “Istruzione Cerchio completo” nell’area di lavoro.
Fare clic sul nodo “Cerchio completo” per accedere all’editor grafico.
Il movimento circolare completo richiede due punti intermedi. L’offset impostato sul secondo punto si applica a entrambi i punti.
Parametri del nodo “Cerchio completo”:
Punto intermedio 1: punto di insegnamento
Punto intermedio 2: punto di insegnamento
Velocità debug (%): 0 ~ 100
Offset: No / Offset base / Offset strumento (se “No”, i parametri dx~drz non sono attivi)
dx~drz: valori di offset
Figura 10.5-6 Blocco Cerchio completo
10.5.7. Istruzione Spirale
Trascinare il blocco “Istruzione Spirale” nell’area di lavoro.
Il movimento a spirale richiede tre punti che definiscono un cerchio. Nella configurazione del terzo punto è possibile impostare: numero di spire, correzione dell’assetto, incremento del raggio e incremento lungo l’asse di rotazione. Il numero di spire indica quante volte il robot compie il percorso a spirale. La correzione dell’assetto regola l’orientamento finale rispetto al primo punto. L’incremento del raggio definisce quanto aumenta (o diminuisce) il raggio ad ogni spira. L’incremento sull’asse definisce lo spostamento lungo l’asse della spirale. L’offset impostato si applica all’intera traiettoria.
Parametri del nodo “Spirale”:
Punto spirale 1: punto di insegnamento
Punto spirale 2: punto di insegnamento
Punto spirale 3: punto di insegnamento
Velocità debug (%): 0 ~ 100
Offset: No / Offset base / Offset strumento (se “No”, i parametri dx~drz non sono attivi)
dx~drz: valori di offset
Numero spire: 0 ~ 100
Correzione assetto rx (°): -1000 ~ 1000
Correzione assetto ry (°): -1000 ~ 1000
Correzione assetto rz (°): -1000 ~ 1000
Incremento raggio (mm): -100 ~ 100
Incremento asse (mm): -100 ~ 100
Figura 10.5-7 Blocco Spirale
10.5.8. Nuova istruzione Spirale
Trascinare il blocco “Nuova istruzione Spirale” nell’area di lavoro.
Fare clic sul nodo “Nuova spirale” per accedere all’editor grafico.
Questa è una versione ottimizzata del movimento a spirale. Richiede solo un punto più vari parametri. Il robot considera la posizione corrente come punto iniziale. L’utente imposta: velocità debug, offset, numero di spire, inclinazione della spirale, raggio iniziale, incremento raggio, incremento asse e direzione di rotazione. L’inclinazione della spirale è l’angolo tra l’asse Z dello strumento e il piano orizzontale. Il raggio iniziale definisce il raggio della prima spira. La direzione di rotazione può essere oraria o antioraria.
Parametri del nodo “Nuova spirale”:
Punto iniziale spirale: punto di insegnamento
Velocità debug (%): 0 ~ 100
Offset: No / Offset base / Offset strumento (se “No”, i parametri dx~drz non sono attivi)
dx~drz: valori di offset
Numero spire: 0 ~ 100
Inclinazione spirale (°): -100 ~ 100
Raggio iniziale: 0 ~ 100
Incremento raggio (mm): -100 ~ 100
Incremento asse (mm): -100 ~ 100
Direzione rotazione: Oraria / Antioraria
Figura 10.5-8 Blocco Nuova spirale
10.5.9. Istruzione Spirale orizzontale (H-Spiral)
Trascinare il blocco “Istruzione Spirale orizzontale” nell’area di lavoro.
L’istruzione “H-Spiral” genera un movimento a spirale nello spazio orizzontale ed è progettata per seguire un’istruzione di movimento lineare.
Parametri del nodo “Spirale orizzontale”:
Raggio spirale: 0~100 mm
Velocità angolare spirale: 0~2 giri/s
Direzione rotazione: Oraria / Antioraria
Inclinazione spirale: 0~40°
Figura 10.5-9 Blocco Spirale orizzontale
10.5.10. Istruzione Spline
Trascinare il blocco “Istruzione Spline” nell’area di lavoro.
Questa istruzione è composta da tre parti: inizio gruppo spline, segmento spline e fine gruppo spline. L’inizio segna l’avvio del movimento spline, il segmento attualmente supporta solo il tipo SPL, e la fine conclude il movimento.
Parametri del nodo “Spline-SPTP”:
Nome punto: punto di insegnamento
Velocità debug (%): 0 ~ 100
Figura 10.5-10 Blocco Spline
10.5.11. Nuova istruzione Spline
Trascinare il blocco “Nuova istruzione Spline” nell’area di lavoro.
Questa è una versione ottimizzata dell’istruzione Spline e sostituirà quella esistente. È composta da: inizio traiettoria multi-punto, segmento traiettoria e fine traiettoria. L’inizio segna l’avvio, i segmenti consentono di aggiungere punti tramite interfaccia dedicata, e la fine permette di impostare modalità di controllo e velocità. La modalità di controllo può essere “punti di controllo” o “punti di percorso”.
Parametri del nodo “Nuova spline”:
Modalità controllo: punti di insegnamento
Tempo medio globale di transizione: intero >10, valore predefinito 2000 ms
Parametri del nodo “Nuova spline-SPL”:
Nome punto: punto di insegnamento
Velocità debug (%): 0 ~ 100
Raggio transizione fluida: 0 ~ 1000
Ultimo punto: No / Sì
Figura 10.5-11 Blocco Nuova spline
10.5.12. Istruzione Oscillazione
Trascinare il blocco “Istruzione Oscillazione” nell’area di lavoro.
Parametri del nodo “Oscillazione”:
Numero: 0~7
Figura 10.5-12 Blocco Oscillazione
10.5.13. Istruzione Offset punto
Trascinare il blocco “Istruzione Offset punto” nell’area di lavoro.
Questa istruzione applica un offset globale. I movimenti successivi saranno traslati rispetto al sistema di coordinate base (o pezzo) secondo i valori inseriti.
Parametri del nodo “Offset punto”:
∆x: offset, -300~300
∆y: offset, -300~300
∆z: offset, -300~300
∆rx: offset, -300~300
∆ry: offset, -300~300
∆rz: offset, -300~300
Figura 10.5-13 Blocco Offset punto
10.5.14. Istruzione Servo
Trascinare il blocco “Istruzione Servo” nell’area di lavoro.
Questa istruzione controlla il movimento nello spazio cartesiano mediante controllo servo. Può agire in posizione assoluta o con offset rispetto alla posizione corrente.
Parametri del nodo “Servo”:
Modalità movimento: Posizione assoluta / Offset base / Offset strumento
x: offset, -300~300
y: offset, -300~300
z: offset, -300~300
rx: offset, -300~300
ry: offset, -300~300
rz: offset, -300~300
Coefficiente proporzionale x: 0~1
Coefficiente proporzionale y: 0~1
Coefficiente proporzionale z: 0~1
Coefficiente proporzionale rx: 0~1
Coefficiente proporzionale ry: 0~1
Coefficiente proporzionale rz: 0~1
Accelerazione (%): 0~100
Velocità (%): 0~100
Periodo comando (s): 0.001~0.016
Tempo filtro (s): 0~1
Amplificazione proporzionale: 0~100
Figura 10.5-14 Blocco Servo
10.5.15. Istruzione Traiettoria
Trascinare il blocco “Istruzione Traiettoria” nell’area di lavoro.
Prima di utilizzare questa istruzione, è necessario aver registrato una traiettoria.
Parametri del nodo “Traiettoria”:
Seleziona file traiettoria: traiettoria registrata
Velocità debug (%): 0 ~ 100, valore predefinito 25
Figura 10.5-15 Blocco Traiettoria
10.5.16. Istruzione Traiettoria J
Trascinare il blocco “Istruzione Traiettoria J” nell’area di lavoro.
Richiede una traiettoria registrata, che deve essere importata preventivamente. Le istruzioni “Traiettoria” e “Traiettoria J” sono interfacce generiche per traiettorie fornite da telecamere, utilizzabili quando si dispone di file di traiettoria discreti in formato standard.
Parametri del nodo “Traiettoria J”:
Seleziona file traiettoria: traiettoria registrata
Velocità debug (%): 0 ~ 100, valore predefinito 25
Modalità traiettoria: Punti percorso / Punti controllo
Figura 10.5-16 Blocco Traiettoria J
10.5.17. Istruzione Riproduzione traiettoria
Trascinare il blocco “Istruzione Riproduzione traiettoria” nell’area di lavoro.
Richiede una traiettoria registrata.
Durante la programmazione, raggiungere prima il punto iniziale della traiettoria con un’istruzione PTP, quindi selezionare la traiettoria, abilitare l’opzione “Traiettoria fluida” e impostare la velocità debug. Questa istruzione è particolarmente utile per scenari con nastri trasportatori.
Parametri del nodo “Riproduzione traiettoria”:
Nome traiettoria: traiettoria registrata
Traiettoria fluida: No / Sì
Velocità debug (%): 0 ~ 100, valore predefinito 25
Figura 10.5-17 Blocco Riproduzione traiettoria
10.5.18. Istruzione DMP
Trascinare il blocco “Istruzione DMP” nell’area di lavoro.
DMP (Dynamic Movement Primitives) è un metodo di apprendimento per imitazione di traiettorie. Richiede una traiettoria di riferimento predefinita. Selezionare un punto di insegnamento come nuovo punto iniziale, fare clic su “Aggiungi” e “Applica” per salvare l’istruzione. Il percorso risultante sarà una nuova traiettoria che imita quella di riferimento a partire dal nuovo punto.
Parametri del nodo “DMP”:
Nome punto: punto di insegnamento
Velocità debug (%): 0 ~ 100, valore predefinito 100
Figura 10.5-18 Blocco DMP
10.5.19. Istruzione Cambio strumento
Trascinare il blocco “Istruzione Cambio strumento” nell’area di lavoro.
Selezionare il sistema di coordinate dello strumento da attivare. Dopo aver fatto clic su “Aggiungi” e “Applica”, i punti definiti nel sistema selezionato verranno convertiti automaticamente.
Parametri del nodo “Cambio strumento”:
Sistema coordinate strumento: elenco dei sistemi disponibili
Figura 10.5-19 Blocco Cambio strumento
10.5.20. Istruzione Cambio pezzo
Trascinare il blocco “Istruzione Cambio pezzo” nell’area di lavoro.
Selezionare il sistema di coordinate del pezzo da attivare. Dopo aver fatto clic su “Aggiungi” e “Applica”, i punti definiti nel sistema selezionato verranno convertiti automaticamente.
Parametri del nodo “Cambio pezzo”:
Sistema coordinate pezzo: elenco dei sistemi disponibili
Figura 10.5-20 Blocco Cambio pezzo
10.6. Comandi grafici di controllo
I comandi grafici di controllo includono istruzioni Wait, I/O, ecc.
Figura 10.6 Comandi grafici di controllo
10.6.1. Istruzione Attesa
Trascinare il blocco “Istruzione Attesa” nell’area di lavoro.
Questa istruzione implementa un ritardo e comprende quattro varianti: “WaitMs”, “WaitDI”, “WaitMultiDI” e “WaitAI”.
Nodo “Attesa”:
Tempo attesa (ms): tempo di ritardo in millisecondi
Figura 10.6-1 Blocco Attesa
Nodo “Attesa DI”:
Porta DI: Ctrl-DI0 ~ Ctrl-CI7 (WaitDI, [0~15]), End-DI0 ~ End-DI1 (WaitToolDI, [0~1])
Stato: false/true
Tempo massimo (ms): 0 ~ 10000
Gestione timeout: Arresto con errore / Continua esecuzione / Attesa indefinita
Figura 10.6-2 Blocco Attesa DI
Nodo “Attesa multipla DI”:
Condizione: AND / OR
Porte selezionate: elenco delle porte, separate da virgole, es. DI0,DI1
Porte vero: elenco delle porte che devono essere vere, es. DI0,DI1
Tempo massimo (ms): 0 ~ 10000
Gestione timeout: Arresto con errore / Continua esecuzione / Attesa indefinita
Figura 10.6-3 Blocco Attesa multipla DI
Nodo “Attesa AI”:
Condizione: AND / OR
Porta AI: Ctrl-AI0 ~ Ctrl-AI1 (WaitAI, [0~1]), End-AI0 (WaitToolAI, [0])
Operatore: Maggiore / Minore
Valore (%): 1 ~ 100
Tempo massimo (ms): 0 ~ 10000
Gestione timeout: Arresto con errore / Continua esecuzione / Attesa indefinita (se “Attesa indefinita”, il tempo massimo è ignorato)
Figura 10.6-4 Blocco Attesa AI
10.6.2. Istruzione Cambio modalità
Trascinare il blocco “Istruzione Cambio modalità” nell’area di lavoro.
Consente di passare il robot in modalità manuale, utile da inserire alla fine di un programma per permettere all’utente di muovere manualmente il robot dopo l’esecuzione.
Parametri del nodo “Cambio modalità”:
Modalità: Manuale
Figura 10.6-5 Blocco Cambio modalità
10.6.3. Istruzione Pausa
Trascinare il blocco “Istruzione Pausa” nell’area di lavoro.
Durante l’esecuzione, il robot si ferma in corrispondenza di questa istruzione. Per riprendere, premere il tasto “Pausa/Riprendi” nell’area di controllo.
Parametri del nodo “Pausa”:
Tipo pausa: Nessuna funzione, Cilindro non in posizione, ecc.
Figura 10.6-6 Blocco Pausa
10.6.4. Istruzioni Sistema di coordinate
Trascinare i blocchi “Imposta sistema strumento” / “Imposta sistema pezzo” nell’area di lavoro.
Nodo “Imposta sistema strumento”:
Nome sistema strumento: toolcoord1 ~ toolcoord19 (SetToolList, [0~19]), etoolcoord0 ~ etoolcoord14 (SetExToolList, [0~14])
Figura 10.6-7 Blocco Imposta sistema strumento
Nodo “Imposta sistema pezzo”:
Nome sistema pezzo: wobjcoord1 ~ wobjcoord14
Figura 10.6-8 Blocco Imposta sistema pezzo
10.6.5. Istruzioni I/O analogici
Trascinare i blocchi “Imposta AO” / “Leggi AI” nell’area di lavoro.
Comprende due funzioni: impostazione uscite analogiche (SetAO/SPLCSetAO) e lettura ingressi analogici (GetAI/SPLCGetAI).
Nodo “Imposta AO”:
Porta: Ctrl-AO0 ~ Ctrl-AO1 (bloccante: SetAO, non bloccante: SPLCSetAO, [0~1]), End-AO0 (bloccante: SetToolAO, non bloccante: SPLCSetToolAO, [0])
Valore (%): 0 ~ 100
Bloccante: Sì / No
Usa thread: No / Sì
Figura 10.6-9 Blocco Imposta AO
Nodo “Leggi AI”:
Porta: Ctrl-AI0 ~ Ctrl-AI1 (bloccante: GetAI, non bloccante: SPLCGetAI, [0~1]), End-AI0 (bloccante: GetToolAI, non bloccante: SPLCGetToolAI, [0])
Condizione: Maggiore / Minore
Valore (%): 0 ~ 100
Tempo massimo (ms): 0 ~ 10000
Bloccante: Sì / No
Usa thread: No / Sì
Figura 10.6-10 Blocco Leggi AI
10.6.6. Istruzioni I/O digitali
Trascinare i blocchi “Imposta DO” / “Leggi DI” nell’area di lavoro.
Comprende due funzioni: impostazione uscite digitali (SetDO/SPLCSetDO) e lettura ingressi digitali (GetDI/SPLCGetDI).
Nodo “Imposta DO”:
Porta: Ctrl-DO0 ~ Ctrl-CO7 (bloccante: SetDO, non bloccante: SPLCSetDO, [0~15]), End-DO0 ~ End-DO1 (bloccante: SetToolDO, non bloccante: SPLCSetToolDO, [0~1])
Stato: false/true
Bloccante: Sì / No
Traiettoria fluida: Break / Serious
Usa thread: No / Sì
Figura 10.6-11 Blocco Imposta DO
Nodo “Leggi DI”:
Porta: Ctrl-DI0 ~ Ctrl-CI7 (bloccante: GetDI, non bloccante: SPLCGetDI, [0~15]), End-DI0 ~ End-DI1 (bloccante: GetToolDI, non bloccante: SPLCGetToolDI, [0~1])
Bloccante: Sì / No
Stato: false/true
Tempo massimo attesa (ms): 0 ~ 10000
Usa thread: No / Sì
Figura 10.6-12 Blocco Leggi DI
10.6.7. Istruzioni DO in movimento
Trascinare il blocco “Istruzione DO in movimento” nell’area di lavoro.
Consente di emettere segnali DO durante un movimento lineare, con opzione di output continuo o singolo.
Nodo “Output continuo DO in movimento”:
Porta: Ctrl-DO0 ~ Ctrl-DO0 (MoveDOStart, [0~15]), End-DO1 (MoveDOStart, [0~1])
Intervallo (mm): 0 ~ 500
Duty cycle (%): 0 ~ 99
Nodo “Output singolo DO in movimento”:
Porta: Ctrl-DO0 ~ Ctrl-DO0 (MoveDOOnceStart, [0~15]), End-DO1 (MoveDOOnceStart, [0~1])
Modalità output: Output in fase costante / Configurazione libera
Tempo set (ms): 0 ~ 1000 (valore predefinito -1 in modalità costante)
Tempo reset (ms): 0 ~ 1000 (valore predefinito -1 in modalità costante)
Figura 10.6-13 Blocchi Output DO in movimento
10.6.8. Istruzioni AO in movimento
Trascinare il blocco “Istruzione AO in movimento” nell’area di lavoro.
In combinazione con istruzioni di movimento, permette di emettere un segnale AO proporzionale alla velocità TCP in tempo reale.
Parametri del nodo “AO in movimento”:
Numero AO controllore: Ctrl-AO0 ~ Ctrl-AO1 (MoveAOStart, [0~1]), End-AO0 (MoveToolAOStart, 0)
Velocità TCP massima: 0 ~ 100
Percentuale AO a velocità massima: 0 ~ 100
Compensazione zona morta AO (%): 0 ~ 100
Figura 10.6-14 Blocco AO in movimento
10.6.9. Istruzione Livello collisione
Trascinare il blocco “Istruzione Livello collisione” nell’area di lavoro.
Permette di regolare dinamicamente la soglia di rilevamento collisione per ciascun asse durante l’esecuzione del programma.
Parametri del nodo “Livello collisione”:
Livello standard: Standard / Percentuale personalizzata
joint1-joint6 (N): 0 ~ 100, soglie di collisione (array)
Figura 10.6-15 Blocco Livello collisione
10.6.10. Istruzione Accelerazione
Trascinare il blocco “Istruzione Accelerazione” nell’area di lavoro.
Permette di regolare separatamente l’accelerazione del robot, modificando il fattore di scala per accelerazione/decelerazione e quindi il tempo ciclo delle operazioni.
Parametri del nodo “Accelerazione”:
Percentuale accelerazione (%): 0 ~ 100
Figura 10.6-16 Blocco Accelerazione
10.7. Comandi grafici per periferiche
I comandi grafici per periferiche includono pinze, pistole a spruzzo, assi esterni, ecc.
Figura 10.7 Comandi grafici per periferiche
10.7.1. Istruzioni Pinza
Trascinare i blocchi “Movimento pinza”, “Attivazione pinza” e “Reinizializzazione pinza” nell’area di lavoro.
Mostrano i numeri delle pinze già configurate e attivate. Consentono di impostare apertura/chiusura, velocità e coppia (valori percentuali). L’opzione “Bloccante” determina se il movimento della pinza attende il completamento dell’istruzione precedente.
Nodo “Movimento pinza”:
Numero pinza: pinza attivata
Posizione pinza: 0~100
Velocità apertura/chiusura: 0~100
Coppia apertura/chiusura: 0~100
Tempo massimo (ms): 0~30000
Bloccante: false/true
Figura 10.7-1 Blocco Movimento pinza
Nodo “Reinizializzazione pinza”:
Numero pinza: pinza attivata
Figura 10.7-2 Blocco Reinizializzazione pinza
Nodo “Attivazione pinza”:
Numero pinza: pinza attivata
Figura 10.7-3 Blocco Attivazione pinza
10.7.2. Istruzioni Pistola a spruzzo
Trascinare il blocco “Istruzione Pistola a spruzzo” nell’area di lavoro.
Controlla le funzioni di verniciatura: avvio/arresto spruzzo, avvio/arresto pulizia ugello. Prima di utilizzare queste istruzioni, verificare che la pistola sia stata correttamente configurata come periferica.
Figura 10.7-4 Blocco Avvio spruzzo
Figura 10.7-5 Blocco Arresto spruzzo
Figura 10.7-6 Blocco Avvio pulizia
Figura 10.7-7 Blocco Arresto pulizia
10.7.3. Istruzioni Asse esterno (Controllore + PLC)
Trascinare il blocco “Istruzione Asse esterno” nell’area di lavoro.
Utilizzato in scenari con assi esterni, in combinazione con istruzioni PTP per decomporre movimenti lungo l’asse X su assi esterni. Include configurazione UDP, movimenti asincroni/sincroni, ritorno a zero e abilitazione.
Nodo “Configurazione comunicazione UDP”: IP, porta, periodo comunicazione
Figura 10.7-8 Blocco Configurazione UDP
Nodo “Movimento asincrono”:
Nome punto: punto di insegnamento
Velocità debug (%): 0~100
Figura 10.7-9 Blocco Movimento asincrono
Nodo “Movimento sincrono PTP/LIN”:
Tipo movimento: PTP / LIN
Nome punto: punto di insegnamento
Velocità debug (%): 0~100
Figura 10.7-10 Blocco Movimento sincrono PTP/LIN
Nodo “Movimento sincrono ARC” (modalità ARC predefinita):
Nome punto: punto di insegnamento
Velocità debug (%): 0~100
Figura 10.7-11 Blocco Movimento sincrono ARC
Nodo “Ritorno a zero asse esterno”:
Numero asse esterno: 1~4
Modalità ritorno: Posizione corrente / Limite negativo / Limite positivo
Velocità ricerca zero: 0~2000, predefinito 5
Velocità bloccaggio zero: 0~2000, predefinito 1
Figura 10.7-12 Blocco Ritorno a zero asse esterno
Nodo “Abilitazione asse esterno”:
Numero asse esterno: 1~4
Figura 10.7-13 Blocco Abilitazione asse esterno
10.7.4. Istruzioni Asse esterno (Controllore + Drive servo)
Trascinare il blocco “Istruzione Asse esterno” nell’area di lavoro.
Permette di configurare parametri di assi esterni controllati direttamente da drive servo. Include ID servo, modalità controllo, abilitazione e ritorno a zero.
Nodo “ID servo”:
ID servo: 1~15
Figura 10.7-14 Blocco ID servo
Nodo “Modalità controllo”:
ID servo: 1~15
Modalità: Posizione / Velocità
Figura 10.7-15 Blocco Modalità controllo
Nodo “Abilitazione servo”:
ID servo: 1~15
Abilitazione: Abilita / Disabilita
Figura 10.7-16 Blocco Abilitazione servo
Nodo “Ritorno a zero servo”:
ID servo: 1~15
Modalità ritorno: Posizione corrente / Limite negativo / Limite positivo
Velocità ricerca zero: 0~2000, predefinito 5
Velocità bloccaggio zero: 0~2000, predefinito 1
Percentuale accelerazione: 1~100, predefinito 100
Figura 10.7-17 Blocco Ritorno a zero servo
Nodo “Modalità posizione”:
ID servo: 1~15
Posizione target: illimitata
Velocità ricerca zero: illimitata
Percentuale accelerazione: 1~100, predefinito 100
Figura 10.7-18 Blocco Modalità posizione
Nodo “Modalità velocità”:
ID servo: 1~15
Velocità target: illimitata
Percentuale accelerazione: 1~100, predefinito 100
Figura 10.7-19 Blocco Modalità velocità
10.7.5. Istruzioni Nastro trasportatore
Include quattro comandi: rilevamento I/O in tempo reale, rilevamento posizione in tempo reale, attivazione/disattivazione tracking.
Nodo “Rilevamento I/O in tempo reale”:
Tempo massimo attesa: 0~10000
Figura 10.7-20 Blocco Rilevamento I/O in tempo reale
Nodo “Rilevamento posizione in tempo reale”:
Modalità lavoro: Presa con tracking / Movimento con tracking / Tracking TPD
Figura 10.7-21 Blocco Rilevamento posizione in tempo reale
Nodi “Attivazione/Disattivazione tracking”:
Modalità lavoro: Presa con tracking / Movimento con tracking / Tracking TPD
Figura 10.7-22 Blocchi Attivazione/Disattivazione tracking
10.7.6. Istruzioni Levigatura
Trascinare il blocco “Istruzione Levigatura” nell’area di lavoro.
Utilizzato in scenari di levigatura. Richiede caricamento/smontaggio driver, abilitazione dispositivo, impostazione velocità, forza di contatto, escursione e modalità di controllo. Include anche comandi per cancellare errori e azzerare il sensore di forza.
Figura 10.7-23 Blocchi Caricamento/Smontaggio driver
Nodo “Abilitazione dispositivo”:
Abilitazione: Abilita / Disabilita
Figura 10.7-24 Blocco Abilitazione dispositivo
Figura 10.7-25 Blocco Cancellazione errori
Figura 10.7-26 Blocco Azzeramento sensore forza
Nodo “Velocità”:
Velocità: 0~5500
Figura 10.7-27 Blocco Velocità dispositivo
Nodo “Forza impostata”:
Forza: 0~200
Figura 10.7-28 Blocco Forza impostata
Nodo “Escursione”:
Escursione: 0~12
Figura 10.7-29 Blocco Escursione
Nodo “Forza contatto levigatura”:
Forza contatto: 0~10000
Figura 10.7-30 Blocco Forza contatto levigatura
Nodo “Tempo transizione forza”:
Tempo transizione: 0~10000
Figura 10.7-31 Blocco Tempo transizione forza
Nodo “Peso pezzo”:
Peso: 0~10000
Figura 10.7-32 Blocco Peso pezzo
Nodo “Modalità controllo”:
Modalità: Ritorno a zero / Posizione / Coppia
Figura 10.7-33 Blocco Modalità controllo
10.8. Comandi grafici per saldatura
I comandi grafici per saldatura includono ricerca posizione, saldatura intermittente, saldatura continua, tracking laser, ecc.
Figura 10.8 Comandi grafici per saldatura
10.8.1. Istruzione Saldatura intermittente
Trascinare il blocco “Istruzione Saldatura intermittente” nell’area di lavoro.
Utilizzata per saldature intermittenti (tratti saldati alternati a tratti non saldati). Richiede punti iniziale e finale, modalità, velocità, porta DO per l’arco, lunghezza tratti saldati/non saldati, modalità funzionale, oscillazione e regole di arrotondamento.
Nodo “Spegni/Avvia arco”:
Tipo I/O: I/O controllore / I/O esteso
Numero processo saldatura: 0 ~ 7
Tempo massimo attesa (ms): 0 ~ 10000
Figura 10.8-1 Blocco Spegni/Avvia arco
Nodo “Saldatura intermittente”:
Modalità: Assetto fisso / Assetto variabile
Punto iniziale: punto di insegnamento
Punto finale: punto di insegnamento
Velocità debug (%): 0~100, predefinito 100
Lunghezza saldata: 0~1000
Lunghezza non saldata: 0~1000
Modalità funzionale: 0~100, predefinito 100
Oscillazione: Nessuna / Solo nei tratti saldati
Regola arrotondamento: Nessuna / Ciclico / Per singolo tratto
Figura 10.8-2 Blocco Saldatura intermittente
10.8.2. Istruzioni Saldatura
Trascinare il blocco “Istruzione Saldatura” nell’area di lavoro.
Utilizzate con periferiche saldatrici. Verificare la corretta configurazione della saldatrice prima dell’uso.
Nodo “Tensione saldatura”:
Tipo I/O: I/O controllore / I/O esteso
Tensione saldatrice: ≥0
AO controllo corrente: Ctrl-AO0/Ctrl-AO1
Scelta fluidità: Break / Serious
Figura 10.8-3 Blocco Tensione saldatura
Nodo “Corrente saldatura”:
Tipo I/O: I/O controllore / I/O esteso
Corrente saldatrice: ≥0
AO controllo corrente: Ctrl-AO0/Ctrl-AO1
Scelta fluidità: Break / Serious
Figura 10.8-4 Blocco Corrente saldatura
Nodo “Apri/Chiudi gas”:
Tipo I/O: I/O controllore / I/O esteso
Figura 10.8-5 Blocco Apri/Chiudi gas
Nodo “Filamento avanti/Stop filamento avanti”:
Tipo I/O: I/O controllore / I/O esteso
Figura 10.8-6 Blocco Filamento avanti/Stop
Nodo “Filamento indietro/Stop filamento indietro”:
Tipo I/O: I/O controllore / I/O esteso
Figura 10.8-7 Blocco Filamento indietro/Stop
10.8.3. Istruzioni Tracking laser
Trascinare il blocco “Istruzione Tracking laser” nell’area di lavoro.
Comprende comandi per sensore laser, tracking e ricerca posizione. Verificare la corretta configurazione del sensore prima dell’uso.
Nodo “Accendi/Spengi sensore”:
Tipo cucitura: 0 ~ 49
Numero task: 0 ~ 255
Soluzione: 0 ~ 5
Figura 10.8-8 Blocco Accendi/Spengi sensore – Tipo cucitura
Figura 10.8-9 Blocco Accendi/Spengi sensore – Numero task
Figura 10.8-10 Blocco Accendi/Spengi sensore – Soluzione
Nodo “Carica/Scarica sensore”:
Selezione funzione: RRT-SV2-BP / CXZK-RBTA4L
Figura 10.8-11 Blocco Carica/Scarica sensore
Nodo “Avvia/Arresta tracking laser”:
Nome sistema coordinate: sistema configurato
Figura 10.8-12 Blocco Avvia/Arresta tracking laser
Nodo “Registrazione sensore laser”:
Funzione: Arresta registrazione / Tracking in tempo reale / Avvia registrazione / Riproduci traiettoria
Tipo ritardo: Tempo / Distanza
Tempo: 0 ~ 10000
Asse esterno: 1 ~ 4
Distanza: 0 ~ 10000
Coefficiente sensibilità: 0 ~ 1
Velocità: 0 ~ 100
Figura 10.8-13 Blocco Registrazione sensore laser
Nodo “Movimento acquisizione punti sensore”:
Nome sistema coordinate: sistema configurato
Modalità movimento: PTP / Lin
Velocità debug (%): 0 ~ 100
Punto riferimento assetto: punto di insegnamento
Figura 10.8-14 Blocco Movimento acquisizione punti
Nodo “Riproduzione tracking laser”:
Figura 10.8-15 Blocco Riproduzione tracking laser
Nodo “Avvia/Arresta ricerca posizione”:
Nome sistema coordinate: sistema configurato
Direzione: -x / -y / -z / Direzione specifica
Punto direzione: non attivo se non è selezionata “Direzione specifica”
Velocità (%): 0 ~ 100
Lunghezza (mm): 0 ~ 1000
Tempo massimo ricerca (ms): 0 ~ 10000
Figura 10.8-16 Blocco Avvia/Arresta ricerca posizione
10.8.4. Istruzioni Registrazione laser
Trascinare il blocco “Istruzione Registrazione laser” nell’area di lavoro.
Permette di estrarre automaticamente i punti iniziale e finale dalla registrazione laser, utili per muovere il robot al punto di partenza. Consente anche di registrare a velocità elevata e riprodurre a velocità normale, migliorando l’efficienza.
Nodo “Registrazione sensore laser” (parametri identici a Figura 10.8-13)
Figura 10.8-17 Blocco Registrazione dati cucitura
Nodo “Ottieni punto iniziale/finale cucitura”:
Modalità movimento: PTP / LIN
Velocità (%): 0~100, predefinito 30
Figura 10.8-18 Blocco Ottieni punto iniziale/finale
10.8.5. Istruzioni Ricerca posizione filo
Trascinare il blocco “Istruzione Ricerca posizione filo” nell’area di lavoro.
Utilizzata in scenari di saldatura, richiede integrazione tra I/O, movimenti e saldatrice.
Comprende: avvio/arresto ricerca, impostazione punti ricerca, calcolo offset, scrittura dati contatto.
Nodo “Avvia/Arresta ricerca filo”:
Posizione riferimento: Non aggiornare / Aggiorna
Velocità ricerca: 0~100
Distanza ricerca: 0~1000
Ritorno automatico: No / Sì
Velocità ritorno: 0~100
Distanza ritorno: 0~1000
Modalità ricerca: Punto insegnato / Con offset
Figura 10.8-19 Blocco Avvia/Arresta ricerca filo
Impostazione punti ricerca: varia in base al tipo di cucitura e metodo di calcolo (vedi documento originale per dettagli)
Figura 10.8-20 Guida impostazione punti ricerca
Calcolo offset: varia in base al tipo di cucitura e metodo di calcolo (vedi documento originale per dettagli)
Figura 10.8-21 Blocco Calcolo offset
Nodo “Scrittura dati contatto”:
Nome punto contatto: RES0~99
Formato dati: {0,0,0,0,0,0}
Figura 10.8-22 Blocco Scrittura dati contatto
10.8.6. Istruzioni Tracking ad arco
Trascinare il blocco “Istruzione Tracking ad arco” nell’area di lavoro.
Utilizza un sensore ad arco per rilevare deviazioni della cucitura e compensare la traiettoria.
Nodo “Avvia/Arresta tracking ad arco”:
Ritardo tracking (ms): es. 50
Compensazione deviazione: Disattivata / Attivata
Coefficiente regolazione: 0 ~ 300
Tempo compensazione (cicli): 0 ~ 300
Compensazione max per ciclo (mm): 0 ~ 300
Compensazione totale max (mm): 0 ~ 300
Selezione sistema coordinate: Oscillazione
Modalità corrente riferimento: Feedback / Costante
Corrente riferimento (A): 0 ~ 300
Figura 10.8-23 Blocco Tracking ad arco
10.8.7. Istruzioni Regolazione assetto
Trascinare il blocco “Istruzione Regolazione assetto” nell’area di lavoro.
Utilizzata per regolare automaticamente l’assetto della torcia durante il tracking. Richiede tre punti di insegnamento (PosA, PosB, PosC).
Nodo “Avvia regolazione assetto”:
Tipo lamiera: Lamiera ondulata / Grecata / Recinzione / Acciaio corrugato
Direzione movimento: Sinistra→Destra / Destra→Sinistra
Tempo regolazione (ms): 0 ~ 1000
Lunghezza tratto 1 (mm):
Tipo curva: Alto→Basso / Basso→Alto
Lunghezza tratto 2-5 (mm):
Figura 10.8-24 Blocco Regolazione assetto
10.9. Comandi grafici per controllo di forza
I comandi grafici per controllo di forza includono set di controllo forza, registrazione coppia, ecc.
Figura 10.9 Comandi grafici per controllo di forza
10.9.1. Istruzioni Controllo forza
Trascinare il blocco “Istruzione Controllo forza” nell’area di lavoro.
Comprende otto comandi: FT_Guard (rilevamento collisioni), FT_Control (controllo forza costante), FT_Compliance (controllo compliance), FT_Spiral (inserimento a spirale), FT_Rot (inserimento rotazionale), FT_Lin (inserimento lineare), FT_FindSurface (localizzazione superficie), FT_CalCenter (localizzazione centro).
Nodo “Attiva/Disattiva rilevamento collisioni”:
Nome sistema coordinate: sistema configurato
Fx-Tx valore reale: true/false
Fx-Tx valore corrente: inserito dall’utente
Soglia massima/minima: inserite dall’utente
Figura 10.9-1 Blocco Rilevamento collisioni
Nodo “Attiva/Disattiva controllo”:
Nome sistema coordinate: sistema configurato
Fx-Tx valore reale: true/false
Fx-Tx valore corrente: regolabile
Guadagni F_P, F_I, F_D: ≠0
Stato adattivo: Arresto / Attivo
Stato ILC: Arresto / Training / Esecuzione
Distanza max regolazione (mm): 0 ~ 1000
Angolo max regolazione (°): 0 ~ 1000
Figura 10.9-2 Blocco Controllo forza
Nodo “Attiva/Disattiva compliance”:
Coefficiente regolazione posizione: 0 ~ 1
Soglia forza attivazione (N): 0 ~ 100
Figura 10.9-3 Blocco Compliance
Nodo “Inserimento a spirale”:
Nome sistema coordinate: Strumento / Base
Avanzamento raggio per giro (mm): 0 ~ 100, es. 0.7
Soglia forza/coppia (N/Nm): 0 ~ 100, es. 50
Tempo esplorazione max (ms): 0 ~ 60000, es. 60000
Velocità lineare max (mm/s): 0 ~ 100, es. 5
Figura 10.9-4 Blocco Inserimento a spirale
Nodo “Inserimento rotazionale”:
Nome sistema coordinate: Strumento / Base
Velocità angolare (°/s): 0 ~ 100, es. 0.7
Forza/coppia terminale (N/Nm): 0 ~ 100, es. 50
Angolo rotazione max (°): 0 ~ 100, es. 5
Direzione forza: z / mz
Accelerazione angolare max (°/s²): 0 ~ 100
Direzione inserimento: Positiva / Negativa
Figura 10.9-5 Blocco Inserimento rotazionale
Nodo “Inserimento lineare”:
Nome sistema coordinate: Strumento / Base
Soglia forza terminale (N): 0 ~ 100
Velocità lineare (mm/s): 0 ~ 100, es. 1
Accelerazione lineare (mm/s²): 0 ~ 100
Distanza inserimento max (mm): 0 ~ 100
Direzione inserimento: Positiva / Negativa
Figura 10.9-6 Blocco Inserimento lineare
Nodo “Localizzazione superficie”:
Nome sistema coordinate: Strumento / Base
Direzione movimento: Positiva / Negativa
Asse movimento: X / Y / Z
Velocità esplorazione (mm/s): 0 ~ 100
Accelerazione esplorazione (mm/s²): 0 ~ 100
Distanza esplorazione max (mm): 0 ~ 100
Soglia forza terminale (N): 0 ~ 100
Figura 10.9-7 Blocco Localizzazione superficie
Nodo “Inizio/Fine calcolo piano medio”.
Figura 10.9-8 Blocco Calcolo piano medio
10.9.2. Istruzioni Registrazione coppia
Trascinare il blocco “Istruzione Registrazione coppia” nell’area di lavoro.
Comprende tre comandi: avvio, arresto e reset registrazione coppia, utilizzati per rilevare collisioni in tempo reale.
Nodo “Avvio registrazione coppia”:
Scelta fluidità: Dati grezzi / Dati filtrati
Soglia negativa giunti (Nm): -100 ~ 0
Soglia positiva giunti (Nm): 0 ~ 100
Tempo rilevamento collisione (ms): 0 ~ 1000
Figura 10.9-9 Blocco Avvio registrazione coppia
Nodo “Arresto registrazione coppia”
Figura 10.9-10 Blocco Arresto registrazione coppia
Nodo “Reset registrazione coppia”
Figura 10.9-11 Blocco Reset registrazione coppia
10.10. Comandi grafici per comunicazione
I comandi grafici per comunicazione includono configurazione Modbus master/slave, lettura/scrittura registri, ecc.
Figura 10.10 Comandi grafici per comunicazione
10.10.1. Istruzioni Modbus
Trascinare il blocco “Istruzione Modbus” nell’area di lavoro.
Basate sul protocollo ModbusTCP, permettono comunicazione tra robot e dispositivi Modbus (client/server) per lettura/scrittura di coil, input discreti, registri.
Prima dell’uso, configurare master/slave e nomi DI/DO/AI/AO nell’apposita sezione.
(Seguono 15 nodi con parametri dettagliati, tradotti in modo analogo ai precedenti)
10.11. Comandi grafici avanzati
I comandi grafici avanzati includono chiamata sottoprogrammi, thread ausiliari, blocchi pieghevoli, ecc.
Figura 10.11 Comandi grafici avanzati
10.11.1. Istruzione Blocco pieghevole
Trascinare il blocco “Istruzione Blocco pieghevole” nell’area di lavoro.
Permette di raggruppare più blocchi in un’unica riga espandibile/comprimibile, migliorando la leggibilità.
Nome blocco: nome descrittivo
Figura 10.11-1 Blocco pieghevole
10.11.2. Istruzione Chiamata sottoprogramma
Trascinare il blocco “Istruzione Chiamata sottoprogramma” nell’area di lavoro.
Esegue un sottoprogramma Lua esterno.
File dofile: nome file generato
Livello chiamata: Primo / Secondo
ID: identificativo posizione
Figura 10.11-2 Blocco Chiamata sottoprogramma
10.11.3. Istruzione Thread ausiliario
Trascinare il blocco “Istruzione Thread ausiliario” nell’area di lavoro.
Permette di eseguire un thread parallelo per comunicazione con dispositivi esterni (socket, stato I/O, ecc.).
Nome metodo: nome del thread
Funzione chiamata: funzione da eseguire
Figura 10.11-3 Blocco Thread ausiliario
10.11.4. Istruzione Tabella punti
Trascinare il blocco “Istruzione Tabella punti” nell’area di lavoro.
Permette di commutare tra diverse tabelle di punti di insegnamento.
Modalità tabella punti: nome tabella
Figura 10.11-4 Blocco Tabella punti
10.11.5. Istruzione Inseguimento fuoco
Trascinare il blocco “Istruzione Inseguimento fuoco” nell’area di lavoro.
Mantiene l’orientamento dello strumento verso un punto fisso durante il movimento.
Coefficiente parametro: 0~100, predefinito 50
Parametro feedforward: 0~1000, predefinito 19
Limite accelerazione angolare max: 0~10000, predefinito 1440
Limite velocità angolare max: 0~1000, predefinito 180
Blocco asse X: Vettore riferimento / Orizzontale / Verticale
Figura 10.11-5 Blocco Inseguimento fuoco
10.12. Esempi di utilizzo
Dopo aver selezionato il tipo di programmazione grafica, trascinare i blocchi desiderati nell’area di lavoro e collegarli.
Esempio: combinare istruzioni PTP, LIN e Waitms, racchiudendole in un blocco pieghevole con commento descrittivo.
Figura 10.12-1 Esempio comandi grafici
Dopo aver completato la connessione e l’impostazione dei parametri, assegnare un nome al programma e fare clic su “Salva”. Selezionare il programma salvato e avviarlo per eseguirlo.
10.12.1. Modularizzazione blocchi grafici
La funzionalità di modularizzazione migliora la leggibilità tramite blocchi pieghevoli.
Figura 10.12-2 Blocco pieghevole
Creare una sequenza di blocchi e racchiuderla in un blocco pieghevole, inserendo un commento descrittivo.
Figura 10.12-3 Effetto blocco pieghevole
Fare clic destro sul blocco e selezionare “Piega”: la sequenza viene compressa in una riga, mantenendo la funzionalità.
Figura 10.12-4 Vista compressa
È possibile zoomare la pagina con la rotellina del mouse.
Figura 10.12-5 Funzione zoom
10.12.2. Sovrascrittura con nome identico
Quando si salva un programma con un nome già esistente, appare un avviso.
Figura 10.12-6 Sovrascrittura programma
Passo 1: Cliccare “Annulla” per annullare l’operazione. Passo 2: Selezionare “Aggiorna programma insegnamento” e cliccare “Sovrascrivi” per sostituire il file esistente.
10.12.3. Verifica salvataggio non effettuato
Se si modifica un programma senza salvarlo e si tenta di aprirne un altro o di uscire dalla pagina, appare un avviso.
Figura 10.12-7 Avviso modifica non salvata (apertura file)
Passo 1: Cliccare “Non salvare” per procedere senza salvare. Passo 2: Cliccare “Salva” per salvare e proseguire.
Lo stesso avviso appare quando si lascia la pagina:
Figura 10.12-8 Avviso modifica non salvata (cambio pagina)
Passo 1: Cliccare “Non salvare” per cambiare pagina. Passo 2: Cliccare “Salva”; se il nome esiste già, confermare la sovrascrittura, quindi cambiare pagina.