Sei sulla pagina 1di 208

Serie Robot FANUC

CONTROLLORE R-30+B/R-30+B Mate


Funzione Line Tracking

MANUALE PER L'OPERATORE

B-83474IT/02
• Istruzioni originali

Prima di utilizzare il robot, assicurarsi di aver letto e compreso le informazioni contenute nel Manuale
della Sicurezza (B-80687IT).

• Non è consentita la riproduzione, anche parziale, di questo manuale.


• Tutte le specifiche sono soggette a variazioni senza preavviso.

I prodotti descritti in questo manuale sono sotto il controllo dalla legge giapponese relativa
al Commercio ed allo Scambio con l'estero. L'esportazione dal Giappone può essere
soggetta ad una licenza concessa dal governo giapponese.
Lo stesso tipo di licenza può essere applicato ad ogni successiva ri-esportazione. Inoltre,
questi stessi prodotti potrebbero essere sotto il controllo delle leggi, in vigore negli Stati
Uniti d'America, relative alla ri-esportazione di merci.
Se si intende esportare o ri-esportare questi prodotti, contattare la FANUC Robotics.

In questo manuale si è cercato di descrivere tutti gli argomenti nel modo più completo
possibile.
Dato il loro numero molto elevato, non sono, invece, state descritte le operazioni che non
devono essere effettuate.
Di conseguenza, le operazioni non espressamente descritte come possibili in questo
manuale, devono essere considerate impossibili.
B-83474IT/02 PRECAUZIONI DI SICUREZZA

PRECAUZIONI DI SICUREZZA
FANUC ringrazia per la preferenza accordata ai propri prodotti.
In questo capitolo sono descritte le precauzioni che devono essere osservate al fine di garantire un utilizzo
in sicurezza del robot.
Prima di iniziare a manovrare il robot, assicurarsi di avere letto questo capitolo attentamente.

Prima di utilizzare le funzioni relative al movimento del robot, leggere le parti del manuale per l'operatore
dedicate ad esse in modo da prendere familiarità con queste funzioni.

Se una qualunque descrizione fornita in questo capitolo differisce da quella eventualmente presente in
altre parti del manuale, quella data in questo capitolo ha la precedenza.

Per la sicurezza dell'operatore e del sistema, prendere le dovute precauzioni di sicurezza quando si
utilizzano il robot ed i dispositivi periferici installati nella cella di lavoro.
Fare riferimento al Manuale per la Sicurezza B-80687IT.

1 PERSONALE CHE UTILIZZA IL ROBOT


Il personale che utilizza il robot può essere classificato come segue.

Operatore :
• Accende e spegne il controllore del robot
• Esegue un programma robot per mezzo del pannello operatore
Programmatore o operatore alla tastiera di programmazione :
• Muove il robot
• Registra i programmi con la tastiera di programmazione all'interno dell'area di
lavoro del robot
Tecnico di Manutenzione :
• Muove il robot
• Registra i programmi con la tastiera di programmazione all'interno dell'area di
lavoro del robot
• Manutenzione (regolazioni, sostituzioni)

- L'operatore generico non può lavorare all'interno della recinzione di sicurezza.


- L'operatore alla tastiera di programmazione, il programmatore ed il manutentore possono lavorare
all'interno della recinzione di sicurezza. I lavori eseguiti tipicamente all'interno dell'area recintata
consistono in sollevamento, programmazione, regolazione, manutenzione, ecc.
- Per poter lavorare all'interno della recinzione, il personale deve essere istruito all'utilizzo del robot.

Durante la movimentazione, la programmazione e la manutenzione del sistema robotizzato, l'operatore


alla tastiera di programmazione ed il tecnico di manutenzione devono esercitare una cura ulteriore per la
loro sicurezza, osservando le precauzioni illustrate ai punti seguenti.

- Indossare indumenti adeguati durante la movimentazione del sistema


- Indossare calzature di sicurezza
- Indossare l'elmetto di protezione

s-1
PRECAUZIONI DI SICUREZZA B-83474IT/02

2 Definizione delle scritte di avvertimento e


delle note
Allo scopo di aumentare il livello di sicurezza per l'operatore e di prevenire il danneggiamento della
macchina, in questo manuale ogni precauzione specifica di sicurezza viene evidenziata con riquadri di
"Avviso" oppure "Attenzione" in funzione dell'importanza. Informazioni supplementari sono riportate
sotto forma di "Note". Leggere le indicazioni indicate come "Avviso", "Attenzione" e "Nota" prima di
utilizzare la macchina.

AVVISO
Si è in presenza di un pericolo per l'operatore o per i macchinari: se non si
seguono le procedure riportate nel manuale, l'operatore e i macchinari sono
esposti a rischi che possono portare ad infortuni o danneggiamenti.

ATTENZIONE
Si è in presenza di un pericolo che interessa i macchinari: se non si segue la
procedura indicata, i macchinari possono subire un danneggiamento.

NOTA
Le note sono utilizzate per indicare informazioni aggiuntive oltre agli
"Avvisi" ed ai riquadri di "Attenzione".

• Leggere questo manuale con attenzione e conservarlo con cura.

3 SICUREZZA PER IL PERSONALE CHE


UTILIZZA IL ROBOT
La sicurezza dell'operatore deve essere considerata di primaria importanza. Poiché è molto pericoloso
accedere all'area di lavoro del robot durante il funzionamento automatico, è necessario osservare adeguate
precauzioni di sicurezza.
Tali precauzioni sono elencate qui di seguito.
La sicurezza dell'operatore deve essere considerata con la massima attenzione.

(1) Organizzare la partecipazione degli operatori del sistema robotizzato ai corsi forniti dalla FANUC.

I corsi della FANUC sono di varia natura.


Per avere ulteriori informazioni, contattare la filiale FANUC locale.

(2) Anche se il robot non si sta muovendo, è possibile che esso sia solo in attesa di un segnale
dall'esterno che ne abiliti il movimento. In questa situazione, il robot deve essere considerato in
movimento. Prevedere nel sistema allarmi visivi e auditivi che avvisino l'operatore del fatto che il
robot è in movimento.
(3) Installare una recinzione di sicurezza con una porta di accesso in modo che l'operatore non possa
accedere all'area di lavoro senza passare per questa porta. Installare un interblocco sulla porta di
accesso in modo che il robot si arresti quando la porta si apre.

s-2
B-83474IT/02 PRECAUZIONI DI SICUREZZA

Il controllore è progettato in modo che possa ricevere questo segnale di interblocco. Quando
la porta di accesso nella recinzione è aperta, questo segnale, ricevuto dal controllore, arresta
il robot (fare riferimento alla Sezione "TIPO DI ARRESTO DEL ROBOT" in SICUREZZA per
avere informazioni dettagliate su questo argomento).
Per la connessione, vedere le Fig. 3 (a), (b).

(4) Prevedere un'adeguata messa a terra di tutti i dispositivi periferici (Classi A, B, C o D).
(5) Cercare di installare i dispositivi periferici all'esterno dell'area di lavoro.
(6) Segnalare sul pavimento l'area di lavoro del robot, includendo l'utensile.
(7) Installare un cosiddetto tappeto sensibile sul pavimento con un interblocco che arresti il robot
quando un operatore accede all'area di lavoro.
(8) Se necessario, installare un lucchetto di sicurezza sul controllore, in modo che nessuno, al di fuori
dell'operatore incaricato, possa dare tensione al robot.

L'interruttore generale installato nel controllore è progettato in modo che, quando è


lucchettato, non possa essere riarmato.

(9) Quando si regola un dispositivo periferico individualmente, assicurarsi che il controllore del robot
sia spento.
(10) L'operatore non deve calzare guanti, mentre usa il pannello operatore o la tastiera di
programmazione. Se si opera calzando guanti, si possono causare operazioni errate.
(11) Programmi, variabili di sistema, possono essere salvate su Memory card o su memorie USB. È
consigliato salvare i dati periodicamente, per evitare perdite accidentali.
(12) Il robot dovrebbe essere trasportato ed installato seguendo le procedure raccomandate dalla FANUC.
Un errato trasporto può causare la caduta del robot, procurando seri infortuni agli operatori.
(13) La prima operazione dopo l'installazione del robot dovrebbe essere eseguita a bassa velocità. Si potrà,
poi, aumentare gradualmente la velocità, verificando le condizioni del robot.
(14) Prima di avviare il robot, deve essere verificato che nessuno si trovi all'interno dell'area delimitata
dalle cancellate di sicurezza. In ogni caso, si deve eliminare qualsiasi rischio che possa portare ad
una situazione pericolosa. Se rilevata, una tale situazione deve essere eliminata prima di iniziare le
operazioni con il robot.
(15) Quando si utilizza il robot si devono prendere le seguenti precauzioni. Altrimenti sia il robot sia le
apparecchiature ad esso collegate potrebbero essere danneggiate, oppure l'operatore potrebbe subire
seri infortuni.
- Evitare di usare il robot in un ambiente infiammabile.
- Evitare di usare il robot in un ambiente esplosivo.
- Evitare di usare il robot in un ambiente esposto a radiazioni.
- Evitare di usare il robot immerso nell'acqua o in ambienti particolarmente umidi.
- Evitare di usare il robot per trasportare persone o animali.
- Evitare di usare il robot come una scala. (Non arrampicarsi o aggrapparsi al robot).
(16) Quando si eseguono le connessioni dei dispositivi periferici relativi alla catena degli arresti del robot
(recinzione, emergenze esterne, ecc.), assicurarsi che il loro intervento provochi effettivamente la
fermata del robot stesso e che non vi siano errori nel collegamento.
(17) In fase di preparazione di un eventuale piedestallo, tenere in considerazione la sicurezza riguardante
i lavori di installazione e manutenzione da effettuare in luoghi elevati, come illustrato nella figura
Fig. 3 (c). Prevedere lo spazio per l'utilizzo di scale e imbragature di sicurezza.

s-3
PRECAUZIONI DI SICUREZZA B-83474IT/02

RP1
RP1
P u ls e c oencoders
Segnali de r
R I/ R O XHBK,
RI/RO, ,X H B K ,X ROT
XROT
RM1
RM1
M o t o r po w e r/ bra ke
Potenza/freno motore

EARTH
TERRA

Recinzione
S a fe t y f e n c e di sicurezza

Finecorsa di interblocco e connettori di sicurezza che vengono attivati quando la


I n t e r lo c k in g d e v ic e a n d s a f e t y p lu g t h a t a r e a c t iv a t e d if t h e
porta di accesso è aperta.
ga t e is o p e n e d .

Fig. 3 (a) Recinzione di Sicurezza e porta di accesso

D u a l c canale
h ain
Doppio Em ergency
Scheda stop board
di controllo delle
emergenze
P a n e l
oppure
bo a r d
scheda (Note)
(Nota)
(N ote )
or pannello
del Panel boardoperatore

E AS 1 For
I n c the
a s e R-3
Controllori R0iB,
- 3 0ith
o f R-30iB, Ae R-30iB
R-30iB MateMate
ITmorsetti
Terme r mininals
a ls EAS1
E A S ,EAS1
EAS1, 1, E A S1,EAS2,EAS21
1 1 ,E A S 2 ,E A S 2are
EAS11, EAS2, EAS21 1 o provided
r F E N C E on
si trovano1,F th
E NeC E 2
sulla
E A S 11 a r e p r ov id e d o n t h e o p e r a t io n bo x o r o n t h e t e r m in a l b lo c k
em ergency stop board.
scheda di controllo delle emergenze.
o f t h e p r in t e d c ir c u it b o a r d.
E AS 2
Refer to the ELECTRICAL
I n c a sriferimento
e o f R - 3 0i al
A M ate
CONNCETIONS Chapter of
Fare capitolo CONNESSIONI ELETTRICHE
E A S 21 CONNECTION
T e r m in a ls E A Sof 1, E A S 1 1 ,E A S 2 ,E A S 2 1 a r e pr o v id e d
Per ulteriori dettagli, fare riferimento al capitolo relativo alle
o n t hiB
R-30 e econ
m etroller
r g e n c ymain
s t oten
p bance
o a r d man
o r cual
on n(B-8
e c t o31
r 95
p aEN)
n e l . or
connessioni
R-30 iB
( in c a s eMate elettriche
o f O con
p e ntroller del
a i r t y mainManuale di manutenzione
pe ) tenance manual (B-83525EN) del
controllore
for details. R-30iB (B-83195IT) o del Manuale di
T e r m ia n ls F E N del
manutenzione C E 1controllore
,F E N C E 2 aR-30iB
r e pr o v id e d (B-83525IT).
Mate
o n t h e e m erg en c y s t o p bo a r d.
S in gl e ccanale
Singolo ha in Scheda del pannello
P a n e l bo a r d
operatore R e f e r t o c o n t r ol le r m a i n t e n a n c e m a n u a l fo r d e t a ils .

F ENC E 1

F ENC E 2

Fig. 3 (b) Schema elettrico della connessione del finecorsa installato


sulla porta di accesso all'area recintata

s-4
B-83474IT/02 PRECAUZIONI DI SICUREZZA

H o o k f odi
Gancio per imbragatura r ssicurezza
a fe t y b e lt

F e nc e
Fence

Gradini
S te ps

T r e s t le
Piedestallo
F oots te p
Scala per la
fo r m a in t e n a n c e
manutenzione

Fig. 3 (c) Scala per la manutenzione

3.1 SICUREZZA PER L'OPERATORE


L'operatore è la persona che utilizza il sistema robotizzato. In questo senso, è un operatore anche colui
che programma il robot per mezzo della tastiera di programmazione. Però questa sezione non è rivolta
agli operatori della tastiera di programmazione.
(1) Se non è necessario tenere il robot in funzione, togliere tensione al controllore o premere il pulsante
di emergenza e procedere con i lavori che devono essere effettuati.
(2) Controllare il funzionamento del sistema rimanendo al di fuori dell'area di lavoro.
(3) Installare una recinzione di sicurezza dotata di una porta d'accesso per evitare che altre persone,
all'infuori dell'operatore, possano involontariamente avere accesso ad un'area pericolosa.
(4) Installare un pulsante di arresto d’emergenza nei pressi della postazione dell'operatore.

Il controllore del robot è progettato in modo che ad esso possa essere collegato un pulsante
di emergenza esterna. Quando viene effettuata questa connessione, il controllore interrompe
il funzionamento del robot (fare riferimento alla sezione "TIPO DI ARRESTO DEL ROBOT")
se viene premuto il pulsante di arresto di emergenza. Vedere lo schema elettrico qui sotto.
Doppio canale
D u al c h ain (Note)
Pulsante di arresto (Nota)
E x te rn a l s to p b ut to n
di emergenza Scheda di controllo delle Connect EES1 and EES11, EES2 and EES21
Emergency
emergenze stop board
oppure
P an e l bo a rd
scheda Collegare EES1 con EES11, EES2 con EES21.
or Paneldelboard
pannello
For the R-30iB, the R-30iB Mate
operatore
EE S1 EES1
( N o t e,EES1
Controllori) 1,EES2
R-30,EES2iB, R-30 1 areiBon the emergency stop board
Mate
C o nn e c t E E S 1a n d E E S 1 1 ,E E S 2 a nd E E S 2 1o r E M G IN 1 an d E M G IN 2 .
E E S 11 I morsetti EES1, EES11, EES2, EES21 si trovano sulla
Refer to
scheda the ELECTRICA L CONNCETIONS Chapter of
EES 2 I n c a s e o di
f R controllo
-3 0 iA delle emergenze
CONNECTION of
E E S 1 ,E E S 1 1 ,E E S 2,E E S 2 1 or E M G IN 1 ,E M G I N 2 a re o n th e p a n el b o a rd .
E E S 21 R-30iB
Fare controller al
riferimento main tenancededicato
capitolo manual (B-8 alle3connessioni
195EN) or
I n c a s e o f R -3 0 iA M a te
R-3 0iB Mate
elettriche nel controller maintenance manual (B-83525EN)
E E S 1 ,E E S 1 1 ,E E S 2,E E S 2 1 a re on t he e m e rge n c y s to p bo a rd
Singolo canale for
o r cd
Manualeoetails.
n n e c t di
or p an e l ( in c a s e o f O del
manutenzione p e n air t yp e ) .
controllore R-30iB
S in gle c h ain
Pulsante di arresto E M G I N 1 ,E M G IN 2 a re o n th e e m e rg e nc y s to p b o ar d.
(B-83195IT) o del Manuale di manutenzione del
di emergenza
E xt er na l s t o p b u tt on
Scheda del R e fe r to t he m
controllore a int eina
R-30 BnMate
c e m a n(B-83525IT).
ua l o f th e c o n tr o ller for de t ails .

P an e l bo
pannello a rd
operatore

E M G IN 1

E M G IN 2

Fig. 3.1 Schema del collegamento del pulsante esterno di arresto in emergenza

s-5
PRECAUZIONI DI SICUREZZA B-83474IT/02

3.2 SICUREZZA PER IL PROGRAMMATORE


Durante le fasi di programmazione, l'operatore deve avere accesso all'area di lavoro del robot. Egli deve
assicurarsi dell'efficienza dei dispositivi di sicurezza presenti sulla tastiera di programmazione.

(1) Quando possibile, lavorare con la tastiera di programmazione restando al di fuori dell'area di lavoro
del robot.
(2) Prima di iniziare a programmare, assicurarsi che le condizioni di lavoro del robot e delle sue
periferiche siano normali.
(3) Quando si accede all'area di lavoro del robot per operazioni di programmazione, accertarsi della
posizione e delle condizioni di funzionamento degli apparati di sicurezza (pulsanti di emergenza,
pulsante di uomo morto sulla tastiera di programmazione).
(4) L'operatore della tastiera di programmazione deve verificare che nessun altro abbia accesso all'area
di lavoro del robot.
(5) Quando si programma è opportuno rimanere all'esterno dell'area delimitata dai cancelli di sicurezza.
Se, comunque, dovesse essere necessario entrare, il programmatore deve prendere le seguenti
precauzioni:
- Prima di entrare nell'area delimitata dai cancelli di sicurezza, controllare che non si possano
verificare situazioni a rischio.
- Essere pronti a premere il pulsante di arresto di emergenza, qualora fosse necessario.
- I movimenti del robot devono essere eseguiti a bassa velocità.
- Prima di iniziare la programmazione, controllare l'intero stato del sistema affinché un eventuale
comando a distanza non possa risultare pericoloso.

Il pannello operatore del robot comprende un pulsante di emergenza ed un selettore modale che predispone la
macchina per il funzionamento in automatico (AUTO) oppure manuale (T1 e T2). Prima di accedere, allo scopo di
effettuare operazioni di programmazione, all'interno della zona protetta mediante la recinzione, selezionare uno dei
due modi manuali (T1 o T2), estrarre la chiave dal selettore, per evitare che altre persone possano cambiare il
modo di funzionamento del robot, e aprire la porta di ingresso. Quando la porta di accesso nella recinzione è
aperta mentre è selezionato il modo di funzionamento in automatico, questo segnale, ricevuto dal controllore,
arresta il robot (fare riferimento alla Sezione "TIPO DI ARRESTO DEL ROBOT" in SICUREZZA per avere
informazioni dettagliate su questo argomento). Se il selettore modale è in posizione T1 o T2, la sicurezza sulla
porta di accesso è disabilitata. Il programmatore deve essere conscio del fatto che la sicurezza sulla porta di
accesso è disabilitata e, quindi, è sua stessa responsabilità impedire ad altre persone l'ingresso nella zona
recintata.

La tastiera di programmazione FANUC è dotata di interruttore di Uomo Morto e pulsante di emergenza. La


funzione di ciascuno di questi componenti è la seguente.
(1) Pulsante di emergenza: Provoca l'arresto di emergenza del robot, quando premuto
(fare riferimento alla Sezione "TIPO DI ARRESTO DEL ROBOT" in SICUREZZA per avere informazioni
dettagliate su questo argomento).
(2) Interruttore di uomo morto: Il suo comportamento dipende dallo stato del selettore di abilitazione della tastiera
di programmazione.
(a) Disabilitato: Il pulsante di uomo morto è disabilitato.
(b) Abilitato: Rilasciando il pulsante di uomo morto o premendolo eccessivamente il robot viene fermato in
emergenza.
Nota) Il pulsante di uomo morto è presente per garantire l'immediato arresto del robot nel caso in cui
l'operatore dovesse lasciare la tastiera, o premere con eccessiva forza uno dei pulsanti, per ragioni di
emergenza. Quando la Tastiera di Programmazione è abilitata, questi dispositivi permettono il
movimento del robot solo se almeno uno di essi è premuto nella posizione di lavoro intermedia.
Rilasciando il pulsante di uomo morto o premendolo eccessivamente il robot viene fermato in
emergenza.

s-6
B-83474IT/02 PRECAUZIONI DI SICUREZZA

Il sistema è informato del fatto che l'azione dell'abilitazione della tastiera di programmazione combinata con la
pressione del pulsante di uomo morto indica l'inizio delle fasi di programmazione. L'operatore deve assicurarsi che
il robot possa operare in tali condizioni ed è sua responsabilità eseguire i propri compiti in completa sicurezza.

Sulla base dell'analisi dei rischi effettuata da FANUC, il numero di operazioni eseguite dal pulsante di uomo morto
deve essere inferiore a 10000/anno.

I segnali di partenza ciclo possono essere inviati dalla tastiera di programmazione, dal pannello operatore e
dall'interfaccia con i dispositivi esterni.
La validità di ciascuno di questi segnali cambia in funzione dello stato del selettore di abilitazione della tastiera di
programmazione e del selettore di remoto sul pannello operatore (ove presente).

Selettore di
abilitazione della Condizione Tastiera di Pannello Dispositivo
Modo
tastiera di di remoto programmazione operatore periferico
programmazione
Locale Non consentito Non consentito Non consentito
On
Remoto Non consentito Non consentito Non consentito
Modo Consenso a
Locale Non consentito Non consentito
AUTO partire
Off
Consenso a
Remoto Non consentito Non consentito
partire
Consenso a
Locale Non consentito Non consentito
partire
On
Modo Consenso a
Remoto Non consentito Non consentito
T1/T2 partire
Locale Non consentito Non consentito Non consentito
Off
Remoto Non consentito Non consentito Non consentito
Modo T1, T2: Il pulsante di uomo morto è attivo.

(6) Prima di avviare il ciclo di lavoro, utilizzando il pannello operatore, assicurarsi che nessuno si trovi
all'interno dell'area di lavoro del robot e che non siano presenti situazioni di pericolo.
(7) Terminata la fase di programmazione, assicurarsi di eseguire un test di messa in automatico
seguendo questa procedura.
(a) Eseguire il programma per almeno un ciclo completo in modalità passo-passo (step) a bassa
velocità.
(b) Eseguire il programma per almeno un ciclo completo in modalità continua a bassa velocità.
(c) Eseguire il programma per almeno un ciclo completo in modalità continua a velocità intermedia
e controllare che non si presentino situazioni anomale.
(d) Eseguire il programma per almeno un ciclo completo in modalità continua a velocità nominale
e controllare che il sistema funzioni in automatico senza problemi.
(e) Dopo aver controllato la correttezza del programma con il test descritto sopra, eseguirlo in
automatico.
(8) Quando il robot lavora in automatico, l'operatore deve uscire dall'area di lavoro.

s-7
PRECAUZIONI DI SICUREZZA B-83474IT/02

3.3 SICUREZZA PER IL TECNICO DI MANUTENZIONE


Per la sicurezza del personale di manutenzione, prestare la massima attenzione ai seguenti aspetti.

(1) Mentre il robot è in movimento, non accedere all'interno dell'area operativa della macchina.
(2) Una situazione potenzialmente pericolosa si può verificare quando il robot o il sistema sono
mantenuti sotto tensione quando si effettuano operazioni di manutenzione. Per questo motivo,
quando si opera su di essi a scopo di manutenzione, il robot ed il sistema devono essere portati nello
stato di spegnimento. Se necessario, si può bloccare il robot o il sistema, in modo che nessun altro
possa accenderlo. Qualora la manutenzione fosse eseguita a controllore acceso è consigliato premere
il pulsante di arresto di emergenza.
(3) Se si rende necessario avere accesso all'area di lavoro del robot lasciando il controllore acceso,
premere il pulsante dell'emergenza sulla tastiera di programmazione o sul pannello operatore. Il
personale di manutenzione deve segnalare che sono in corso lavori di riparazione ed accertarsi che
altre persone non abbiano la possibilità di avviare il robot.
(4) Il personale addetto alla manutenzione, quando entra nella zona delimitata dai cancelli di sicurezza,
deve controllare l'intero sistema, assicurandosi che non si possano verificare situazioni pericolose.
Nel caso in cui l'operatore dovesse avere accesso all'area di sicurezza mentre esiste una situazione di
pericolo, è necessario che sia prestata la massima attenzione e che lo stato dell'intero sistema sia
monitorato rigorosamente.
(5) Prima di iniziare la manutenzione del sistema pneumatico, assicurarsi che l'alimentazione dell'aria
sia chiusa e che la pressione nei tubi sia ridotta a zero.
(6) Prima di iniziare a programmare, assicurarsi che le condizioni di lavoro del robot e delle sue
periferiche siano normali.
(7) Non avviare il robot in modo automatico quando è presente una persona nell'area di lavoro.
(8) Quando è necessario mantenere il robot affiancato ad un muro o quando più persone stanno
lavorando vicine tra loro, assicurarsi che la via di fuga sia sempre libera.
(9) Quando sul robot è montato un utensile o quando è presente qualche altro macchinario, come un
nastro trasportatore o un convogliatore, fare molta attenzione al suo movimento.
(10) Se necessario, far presenziare una persona che abbia familiarità con il sistema facendola stazionare
nei pressi del pannello operatore ad osservare il lavoro in fase di esecuzione. In caso di pericolo,
questa persona deve essere pronta a premere il pulsante di emergenza.
(11) Quando si rende necessario sostituire una parte, contattare il centro di servizio FANUC Robotics
locale. Se non si segue una procedura correttamente,
potrebbero verificarsi incidenti potenzialmente capaci di provocare danni al robot o infortuni
all'operatore.
(12) Quando si sostituiscono o reinstallano componenti del robot, evitare che materiale estraneo
contamini il sistema.
(13) Quando si manipola una scheda o un'unità del controllore durante un'ispezione, togliere tensione al
controllore ed all'interruttore generale per prevenire rischi di shock elettrico.
Se sono presenti due armadi elettrici, aprire gli interruttori generali di entrambi.
(14) Ogni parte deve essere sostituita con un ricambio originale FANUC. L'utilizzo di altre parti
comporterebbe malfunzionamenti o danni. In particolare, utilizzare solo fusibili raccomandati dalla
FANUC. I fusibili possono provocare incendi.
(15) Quando si riavvia il robot al termine dei lavori di manutenzione, assicurarsi che nessuno si trovi
all'interno dell'area di lavoro del robot e che tutti i dispositivi periferici funzionino correttamente.
(16) Quando si rimuovono un motore o un freno, il braccio del robot deve essere sostenuto o bloccato,
cosicché non possa cadere durante la rimozione.
(17) Qualora dovesse cadere a terra del grasso, è opportuno toglierlo al più presto, per evitare cadute.

s-8
B-83474IT/02 PRECAUZIONI DI SICUREZZA

(18) Le seguenti parti del robot sono calde. Se l'addetto alla manutenzione dovesse toccarle è opportuno
che indossi specifici guanti termoresistenti.
- Servo motore
- All'interno del controllore
- Riduttore
- Gruppo di riduzione
- Unità Polso
(19) La manutenzione deve essere eseguita con un'illuminazione appropriata. Prestare particolare
attenzione alla fonte di illuminazione, in modo che non sia causa di pericolo.
(20) Quando si smonta un motore, un riduttore o un qualsiasi altro carico pesante, è opportuno che
l'addetto alla manutenzione utilizzi una gru o una qualsiasi apparecchiatura di sostegno per evitare al
personale di dover sopportare sforzi eccessivi. Questo evita anche rischi di gravi infortuni.
(21) Il robot non deve essere usato come scala, né per arrampicarvisi, poiché il robot potrebbe essere
danneggiato da un peso eccessivo sulla propria struttura. Tentando di fare ciò, il funzionamento del
robot potrebbe non essere quello previsto. Inoltre, anche l'operatore, potrebbe rimanere infortunato.
(22) Quando si effettuano operazioni di manutenzione in luoghi elevati, utilizzare una scala ed
un'imbragatura di sicurezza.
(23) Completata la manutenzione, ogni residuo di acqua, olio o trucioli metallici devono essere rimossi
dal pavimento nelle vicinanze del robot, all'interno dei cancelli di sicurezza.
(24) Quando si sostituisce una parte, tutte le viti e i componenti relativi devono essere rimontati come in
origine. È importante non dimenticare di montare tutti i componenti e che non si smarriscano pezzi.
(25) Se, durante la manutenzione, si rendesse necessario muovere il robot, prendere le seguenti
precauzioni:
- Assicurarsi che esista una via di fuga. Durante le fasi di movimento del robot per manutenzione,
monitorare continuamente l'intero sistema in modo che la via di fuga non risulti mai bloccata
dal robot stesso o da dispositivi periferici.
- Prestare sempre la massima attenzione per eventuali situazioni di pericolo e prepararsi a
premere il pulsante di arresto di emergenza in caso di necessità.
(26) Il robot deve essere ispezionato periodicamente. (Fare riferimento al manuale per l'operatore
dell'unità meccanica e a quello di manutenzione del controllore). La mancata esecuzione
dell'ispezione periodica può comportare la riduzione delle prestazioni e della durata di servizio del
robot.
(27) Dopo aver sostituito una parte, è opportuno eseguire un test in base ad un metodo predeterminato.
(Fare riferimento alla Sezione relativa alle prove di verifica nel Manuale per l'operatore del
controllore R-30iB/R-30iB Mate (Operazioni Base)). Durante tale esecuzione, l'operatore deve
rimanere all'esterno della zona delimitata dalle cancellate di sicurezza.

s-9
PRECAUZIONI DI SICUREZZA B-83474IT/02

4 SICUREZZA DEGLI UTENSILI E DEI


DISPOSITIVI PERIFERICI
4.1 Precauzioni in fase di programmazione
(1) Utilizzare un finecorsa, o altro sensore, per monitorare eventuali condizioni di pericolo e, se
necessario, prevedere che il programma si interrompa se il sensore è attivato.
(2) Progettare il programma in modo che il robot si arresti quando si presenta una condizione anomala
in altri robots o dispositivi periferici, anche se il robot in sè ha un funzionamento normale.
(3) Per un sistema in cui il robot ed i dispositivi periferici si muovano in sincronia, deve essere prestata
la massima attenzione nella programmazione perché non interferiscano tra loro.
(4) Prevedere un'interfaccia tra il robot ed i dispositivi periferici che consenta al robot di monitorare le
condizioni di tutti i macchinari che lo circondano in modo che si possa arrestare in caso di pericolo.

4.2 Precauzioni di tipo meccanico


(1) Tenere puliti i componenti della cella robotizzata ed utilizzare il robot in ambienti privi di grasso,
acqua e polvere.
(2) Non utilizzare fluidi per il taglio e la pulizia che non siano conformi alle specifiche del robot.
(3) Installare finecorsa o blocchi meccanici per limitare l'area di lavoro del robot in modo che
quest'ultimo non possa andare in collisione con dispositivi esterni o utensili.
(4) Per quanto riguarda i cavi per l'unità meccanica, osservare le seguenti precauzioni.
Il mancato rispetto delle seguenti precauzioni potrebbe causare guasti di tipo meccanico.
• Utilizzare cavi interni all’unità meccanica che abbiano la corretta interfaccia utente.
• Non aggiungere cavi o tubi all'interno dell'unità meccanica.
• Quando si installano cavi aggiuntivi sul robot, non ostacolare con essi il movimento dei cavi
già presenti all’interno dell’unità meccanica.
• Nel caso in cui il robot abbia i cavi esposti, non aggiungere altre protezioni ai cavi stessi che
possano essere di ostacolo al comportamento della copertura dei cavi già presente.
• Quando si installano dispositivi periferici sull'unità meccanica, fare in modo che non si
verifichi alcuna interferenza con il robot stesso.
(5) Arresti di emergenza frequenti durante il funzionamento automatico possono provocare danni al
robot. Evitare che il funzionamento del sistema preveda un intervento frequente del pulsante di
arresto di emergenza. (Vedere l'esempio di caso scorretto). Premere il pulsante di arresto di
emergenza dopo aver ridotto la velocità del robot fino ad azzerarla oppure utilizzare un arresto del
ciclo automatico controllato, se la fermata non è urgente.
(Fare riferimento alla sezione "TIPO DI ARRESTO DEL ROBOT").
(Esempio di utilizzo scorretto)
• Ogni volta che un prodotto è prelevato in modo non appropriato, la linea si ferma con un
arresto di emergenza.
• Quando si rende necessario modificare le condizioni di funzionamento del robot, l'operatore
attiva il finecorsa sulla porta di accesso alla zona recintata e la macchina effettua un arresto di
emergenza.
• L'operatore preme il pulsante di arresto di emergenza frequentemente per fermare la linea.
• Il robot viene arrestato in emergenza a causa dell'intervento frequente di un sensore
antintrusione.
(6) Il robot si arresta immediatamente quando si presenta l'allarme di collisione (SRVO-050). Cercare di
evitare frequenti arresti di emergenza con rimozione della potenza. Anche questi potrebbero causare
problemi al robot. Per questo motivo, rimuovere la causa dell'allarme.

s-10
B-83474IT/02 PRECAUZIONI DI SICUREZZA

5 SICUREZZA DEL ROBOT


5.1 Precauzioni in fase di funzionamento manuale
(1) Quando si muove manualmente il robot, impostare una velocità sufficientemente bassa per prevenire
danni dovuti ad eventuali urti.
(2) Prima di premere i tasti di movimento, accertarsi di conoscere in anticipo quale movimento sarà
eseguito dal robot.

5.2 Precauzioni in fase di programmazione


(1) Quando le aree di lavoro di più robots si sovrappongono, accertarsi che i robots non interferiscano
tra loro.
(2) Prevedere una posizione di fuori ingombro nei programmi in modo che il robot inizi e termini le sue
operazioni automatiche in questa posizione.
Fare in modo di rendere visivamente percepibile per l'operatore il fatto che il movimento del robot è
terminato.

5.3 Precauzioni di tipo meccanico


(1) Tenere pulita la cella robotizzata ed utilizzare il robot in ambienti privi di grasso, acqua e polvere.

5.4 Procedura per muovere il braccio quando il robot è in


arresto di emergenza o in altre situazioni anomale
Per situazioni di emergenza, o in altro modo anomale (ad esempio, una persona è intrappolata all'interno
dell'area di lavoro del robot), è possibile utilizzare l’unità di sblocco manuale dei freni, in modo che sia
possibile muovere gli assi del robot senza l'ausilio della potenza ai servo.
Per avere ulteriori informazioni circa le unità per il rilascio dei freni ed i metodi di supporto del robot,
fare riferimento al manuale per l'operatore dell'unità meccanica.

6 SICUREZZA DELL'UTENSILE
6.1 Precauzioni in fase di programmazione
(1) Quando si utilizzano attuatori pneumatici, idraulici o elettrici, considerare il necessario tempo di
ritardo di tali dispositivi dopo aver eseguito ogni istruzione di comando prima di un'istruzione di
movimento per garantire un'adeguata sicurezza.
(2) Equipaggiare l'utensile con finecorsa o altri sensori che consentano di controllarne lo stato di
esercizio.

s-11
PRECAUZIONI DI SICUREZZA B-83474IT/02

7 TIPO DI ARRESTO DEL ROBOT


Per il robot sono possibili tre tipi di arresto:

Arresto di emergenza, con interruzione della potenza


(Categoria 0 in base alla Norma IEC 60204-1)
La potenza al sistema servo viene interrotta ed il robot si arresta immediatamente. La potenza al servo
viene interrotta mentre il robot è in movimento e la traiettoria di decelerazione non è controllata.
Il comportamento del sistema, in caso di arresto di emergenza con interruzione della potenza, è il
seguente.
- Appare un allarme ed il sistema interrompe la potenza al servo amplificatore.
- Il movimento del robot si arresta istantaneamente. L'esecuzione del programma si interrompe.

Arresto controllato
(Categoria 1 in base alla Norma IEC 60204-1)
Il robot decelera fino al completo arresto e, poi, la potenza al servo viene interrotta.
Il comportamento del sistema, in caso di arresto controllato, è il seguente.
- Appare l'allarme "SRVO-199 Controlled stop" contemporaneamente all'arresto con decelerazione.
L'esecuzione del programma si interrompe.
- Appare un allarme ed il sistema interrompe la potenza al servo amplificatore.

Arresto in Hold
(Categoria 2 in base alla Norma IEC 60204-1)
Il robot decelera fino al completo arresto e la potenza al servo rimane inserita.
Il comportamento del sistema, in caso di arresto in Hold, è il seguente.
- Il robot decelera fino al completo arresto. L'esecuzione del programma si interrompe.

AVVISO
La distanza ed il tempo di arresto per il caso di arresto controllato sono maggiori
rispetto al caso di arresto di emergenza con interruzione della potenza al servo.
Quando si utilizza l'arresto controllato, è necessario eseguire un'analisi dei rischi
che tenga in considerazione la distanza ed il tempo di arresto del robot.

Quando viene premuto il pulsante di arresto di emergenza, oppure si attiva il segnale FENCE a causa di
un ingresso all'interno della zona recintata, l'arresto effettuato dal robot può essere di tipo controllato
oppure di emergenza con interruzione della potenza al servo. La configurazione del tipo di arresto per
ciascuna situazione è denominata modello di arresto. Il modello di arresto è differente in funzione del tipo
di controllore o della configurazione del software di sistema.

s-12
B-83474IT/02 PRECAUZIONI DI SICUREZZA

I modelli di arresto possibili sono i 3 elencati sotto.

Arresto di SVOFF input


Modello Pulsante di Recinzione Scollegamento
Modo Emergenza (Segnale di spegnimento
di arresto emergenza aperta servo
Esterno del sistema servo)
AUTO P-Stop P-Stop C-Stop C-Stop P-Stop
A T1 P-Stop P-Stop - C-Stop P-Stop
T2 P-Stop P-Stop - C-Stop P-Stop
AUTO P-Stop P-Stop P-Stop P-Stop P-Stop
B T1 P-Stop P-Stop - P-Stop P-Stop
T2 P-Stop P-Stop - P-Stop P-Stop
AUTO C-Stop C-Stop C-Stop C-Stop C-Stop
C T1 P-Stop P-Stop - C-Stop P-Stop
T2 P-Stop P-Stop - C-Stop P-Stop
P-Stop : Arresto con interruzione immediata della potenza al servo
C-Stop : Arresto controllato
- : Disabilitata

Nella tabella seguente è indicato il modello di arresto in funzione del tipo di controllore o della
configurazione del software di sistema.

Controllore
Opzione
R-30iB/ R-30iB Mate
Standard A (*)
Arresto controllato per intervento dell'emergenza (A05B-2600-J570) C (*)
(*) Il controllore R-30iB / R-30iB Mate non dispone dell'ingresso di disconnessione servo. / Il
controllore R-30iB Mate non dispone dell'ingresso SVOFF.

Il modello di arresto del controllore viene visualizzato alla linea "Stop pattern" nella schermata che indica
la versione del software. Fare riferimento al manuale per l'operatore del controllore interessato per avere
informazioni dettagliate sulla schermata relativa alla versione del software.

s-13
PRECAUZIONI DI SICUREZZA B-83474IT/02

Opzione "Arresto controllato mediante arresto di emergenza"


Quando è presente nel sistema l'opzione software "Controlled stop by E-Stop" (A05B-2600-J570), il tipo
di arresto che si verifica, quando si presentano gli allarmi seguenti, è quello controllato, ma solo se il
modo operativo selezionato è AUTO. Quando il modo di funzionamento selezionato è T1 o T2, il tipo di
arresto è quello con interruzione immediata della potenza al servo.

Allarme Condizione
SRVO-001 Operator panel E-stop IL pulsante di arresto di emergenza sul pannello operatore è
premuto.
SRVO-002 Teach pendant E-stop Il pulsante di arresto d'emergenza sulla tastiera di programmazione
è stato premuto.
SRVO-007 External emergency stops I contatti dei segnali di arresto di emergenza esterno (EES1-EES11,
EES2-EES21) sono aperti.
SRVO-408 DCS SSO Ext Emergency Stop Quando è presente nel controllore la funzione DCS Safe I/O
(opzionale), il segnale SSO[3] è OFF.
SRVO-409 DCS SSO Servo Disconnect Quando è presente nel controllore la funzione DCS Safe I/O
(opzionale), il segnale SSO[4] è OFF.

L'arresto controllato si differenzia da quello con interruzione immediata della potenza ai servo per i
seguenti aspetti:
- Quando l'arresto è di tipo controllato, il robot si arresta lungo la traiettoria programmata. La
funzione è utile per sistemi nei quali il robot può interferire con altri dispositivi nel caso in cui
dovesse deviare dalla traiettoria programmata.
- Quando l'arresto è di tipo controllato, l'impatto fisico sulla macchina è inferiore rispetto al caso di
arresto con interruzione immediata della potenza al servo. Questa funzione è utile per sistema nei
quali l'impatto fisico all'unità meccanica o all'organo di presa deve essere il minimo possibile.
- La distanza ed il tempo di arresto per il caso di arresto controllato sono maggiori rispetto al caso di
arresto di emergenza con interruzione della potenza al servo, in funzione del tipo di robot e dell'asse
considerato. Fare riferimento al manuale per l'operatore relativo al modello di robot interessato per
ricavare i dati di distanza e tempo di arresto della macchina.

Quando questa opzione software è presente nel sistema, non può essere disabilitata.

Il tipo di arresto delle funzioni DCS opzionali non è influenzato dalla presenza di questa funzione.

AVVISO
La distanza ed il tempo di arresto per il caso di arresto controllato sono maggiori
rispetto al caso di arresto di emergenza con interruzione della potenza al servo.
Quando si utilizza l'arresto controllato, è necessario eseguire un'analisi dei rischi
che tenga in considerazione la distanza ed il tempo di arresto del robot, quando
questa opzione è presente nel controllore.
131017

s-14
B-83474IT/02 INDICE GENERALE

INDICE GENERALE
PRECAUZIONI DI SICUREZZA .................................................................. s-1
1 PANORAMICA ........................................................................................ 1
1.1 PANORAMICA............................................................................................... 1
1.2 DESCRIZIONE DELLA FUNZIONE LINE TRACKING .................................. 1
1.3 TRACKING CON SINGOLO ASSE (ROTAIA) ............................................... 2
1.4 TRACKING CARTESIANO ............................................................................ 2
1.4.1 Tracking LINEARE ................................................................................................. 3
1.4.2 Tracking CIRCOLARE ............................................................................................ 3

2 HARDWARE E SOFTWARE................................................................... 4
2.1 HARDWARE .................................................................................................. 4
2.1.1 REQUISITI HARDWARE ...................................................................................... 4
2.1.2 Installazione............................................................................................................ 19
2.2 SOFTWARE ................................................................................................ 24
2.2.1 Limitazioni ............................................................................................................. 24

3 CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING ................. 25


3.1 CONFIGURAZIONE DEGLI ENCODERS ................................................... 25
3.1.1 Informazioni per la configurazione degli encoders ................................................ 25
3.1.2 Impostazione del numero dell'encoder ................................................................... 32
3.1.3 Verifica della correttezza della configurazione dell'encoder .................................. 35
3.2 COLD START (Avviamento freddo) ............................................................. 36
3.3 CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING ........................ 38
3.3.1 Definizione del sistema di coordinate nominali per la funzione Line Tracking
(Nominal Tracking Frame) ..................................................................................... 47
3.3.2 Definizione del fattore di scala dell'encoder (Scale Factor) ................................... 54
3.3.3 Verifica della corretta configurazione della funzione Line Tracking ..................... 56
3.4 PROGRAMMI DI ESEMPIO PER LA VERIFICA DELLA
CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING ........................ 57
3.4.1 Esempio di programma MAIN ............................................................................... 57
3.4.2 Esempio di sotto-programma TRACK ................................................................... 58
3.4.3 Verifica del fatto che l'esecuzione del programma di test sia corretta.................... 59

4 CREAZIONE DI PROGRAMMI LINE TRACKING ................................ 60


4.1 PANORAMICA............................................................................................. 60
4.2 PROGETTAZIONE DI UN PROGRAMMA .................................................. 61
4.2.1 Programmazione di un tipico sistema che funziona in Line Tracking ................... 61
4.2.2 Esempi di programmi ............................................................................................. 64
4.3 CREAZIONE E MODIFICA DI UN PROGRAMMA ...................................... 66
4.3.1 Creazione di un nuovo programma ........................................................................ 67
4.3.2 Sincronizzazione del robot e del convogliatore...................................................... 73
4.3.3 Modifica di un programma ..................................................................................... 74
4.3.4 Modifiche di programmi in Background Editing ................................................... 79
4.3.5 Risincronizzazione del robot e del convogliatore .................................................. 81
4.3.6 Impostazione ed utilizzo di posizioni predefinite in un programma ...................... 85

c-1
INDICE GENERALE B-83474IT/02

4.4 ESECUZIONE IN MODO T1 DI UN PROGRAMMA DI LINE TRACKING ... 86


4.5 ISTRUZIONI PER LA FUNZIONE LINE TRACKING ................................... 87
5 TECNICHE AVANZATE DI PROGRAMMAZIONE ............................... 94
5.1 ESEMPIO DI POSIZIONI PER FINESTRE
DI INSEGUIMENTO MULTIPLE .................................................................. 94
5.2 GESTIONE DELLE CODE DI PEZZI IN LINE TRACKING .......................... 96
5.2.1 Utilizzo di un solo programma ............................................................................... 96
5.2.2 Utilizzo di due programmi...................................................................................... 97
5.3 LINE TRACKING CON CONVOGLIATORI MULTIPLI
(DOPPIO LINE TRACKING) ...................................................................... 100
5.3.1 Line Tracking con due convogliatori ................................................................... 100
5.3.2 Programmi di esempio .......................................................................................... 101
5.4 PRECISIONE PER ALTE VELOCITÀ DI INSEGUIMENTO....................... 104
5.4.1 VARIABILE PER LA REGOLAZIONE DELLA PRECISIONE STATICA ..... 104
5.4.2 VARIABILI PER LA REGOLAZIONE DELLA PRECISIONE DINAMICA... 106
5.5 COORDINATE UTENTE PER LA FUNZIONE LINE TRACKING .............. 107
5.5.1 Panoramica ........................................................................................................... 107
5.5.2 TERMINOLOGIA UTILIZZATA RELATIVAMENTE ALLE
COORDINATE UTENTE PER LA FUNZIONE LINE TRACKING ................ 108
5.5.3 Impostazioni per l'istruzione TRKUFRAME ....................................................... 110
5.5.4 Impostazioni per l'istruzione VISUFRAME ........................................................ 111
5.5.5 Esempio di programma che utilizzi un sistema di coordinate utente
con la funzione Line Tracking e sua esecuzione .................................................. 112
5.5.6 Registrazione ed esecuzione di un programma che utilizza un sistema
di coordinate utente con la funzione Line Tracking ............................................. 114
5.5.7 Utilizzo delle istruzioni TRKUFRAME e VISUFRAME
per la funzione Line Tracking mediante rotaia..................................................... 116
5.6 MONITORAGGIO SEGNALE DI PRESENZA PEZZO
AD ALTA FREQUENZA ............................................................................. 117
5.6.1 Panoramica ........................................................................................................... 117
5.6.2 Abilitazione della funzione .................................................................................. 117
5.6.3 Modifica del programma che utilizza la funzione Line Tracking
per l’utilizzo dei segnali HSDI ............................................................................. 119
5.7 NON ESECUZIONE DI MOVIMENTI VERSO POSIZIONI
FUORI FINESTRA ..................................................................................... 121
5.8 MONITORAGGIO DEI LIMITI SOFTWARE ............................................... 123
5.9 ENCODER IN RETE ETHERNET ............................................................. 124
5.9.1 Panoramica ........................................................................................................... 124
5.9.2 Spiegazione della terminologia ............................................................................ 125
5.9.3 Limitazioni ........................................................................................................... 125
5.9.4 Creazione di una rete di robots ............................................................................. 126
5.9.4.1 Collegamento del cavo di rete al robot ............................................................ 126
5.9.4.2 Aspetti da considerare nella creazione di una rete ........................................... 127
5.9.4.3 Impostazione dell'indirizzo IP ......................................................................... 127
5.9.4.4 Configurazione della rete ad anello dei robots ................................................ 129
5.9.5 Configurazione dell'encoder Ethernet .................................................................. 133
5.9.6 Verifica della configurazione ............................................................................... 135

c-2
B-83474IT/02 INDICE GENERALE

5.10 FUNZIONE LINE TRACKING CON SERVO CONVOGLIATORE ............. 137


5.10.1 Panoramica ........................................................................................................... 137
5.10.2 Configurazione ..................................................................................................... 137
5.10.2.1 Configurazione dell'asse ausiliario indipendente ............................................. 137
5.10.2.2 Configurazione del Servo convogliatore ......................................................... 145
5.10.2.3 Creazione del programma TP per il controllo del Servo Convogliatore.......... 147
5.10.2.4 Configurazione dei parametri per la funzione Line Tracking .......................... 151
5.10.2.5 Esempio di programma principale ................................................................... 151
5.10.3 Funzioni per il Line Tracking con Servo Convogliatore ...................................... 152
5.10.3.1 Variabile di sistema per la regolazione dell'errore dinamico ........................... 152
5.10.3.2 Attesa dell'arresto del Servo Convogliatore..................................................... 152
5.10.3.3 Programmi KAREL per la funzione Line Tracking
con Servo Convogliatore ................................................................................. 154
5.10.4 Limitazioni delle funzioni per il Line Tracking con Servo Convogliatore .......... 165

APPENDICE
A LIMITAZIONI RIGUARDANTI IL CONVOGLIATORE
E LA PRECISIONE DI INSEGUIMENTO ............................................ 169
A.1 LIMITE DI VELOCITÀ DEL CONVOGLIATORE ........................................ 169
A.2 LIMITE DI ACCELERAZIONE DEL CONVOGLIATORE ........................... 169
A.3 PRECISIONE DI INSEGUIMENTO ........................................................... 170
A.4 RISOLUZIONE DELL'ENCODER .............................................................. 171
B SCHEMI COSTRUTTIVI ...................................................................... 172
B.1 PANORAMICA........................................................................................... 172
C ENCODER FANUC A860-0301-T001~T004 ....................................... 175
C.1 REQUISITI HARDWARE ........................................................................... 175
C.2 FIGURE ..................................................................................................... 178
C.3 ISTRUZIONI PER IL COLLEGAMENTO ................................................... 180

c-3
B-83474IT/02 1.PANORAMICA

1 PANORAMICA
1.1 PANORAMICA
L'opzione Line Tracking consente ad un robot di trattare un oggetto in movimento come se fosse fermo.
Questa opzione è utilizzata in applicazioni in cui sia presente un convogliatore, in cui il robot deve
eseguire operazioni su oggetti in movimento e senza fermare la linea di produzione. Vedere la Fig. 1.1.
Questo manuale fornisce informazioni relative all'installazione e all'impiego della funzione Line Tracking.
Questa funzione fornisce un ambiente di sviluppo completo per applicazioni Line Tracking,
comprendente menu di configurazione e istruzioni di programma dedicate a questo utilizzo.

Fig. 1.1 Tipica cella di lavoro in Line Tracking

1.2 DESCRIZIONE DELLA FUNZIONE LINE TRACKING


La funzione Line Tracking fa riferimento all'opzione software che consente ad un robot dotato di
controllore di lavorare sincronizzato con una linea di produzione. In questa condizione, il robot deve
seguire e manipolare un pezzo che si sta muovendo su un convogliatore, una piattaforma o altro tipo
dispositivo di trasporto.
La funzione Line Tracking consente di ridurre il tempo ciclo grazie al fatto che i pezzi possono continuare
a muoversi sulla linea senza che sia necessario rimuoverli dal convogliatore e porli in una stazione fissa.
Questa funzione permette anche di ampliare l'area di lavoro del robot, poiché è possibile frazionare il
programma in varie regioni o finestre di lavoro. Ciascuna di queste finestre giace all'interno dell'area del
lavoro del robot ed il pezzo, durante il suo avanzamento, in tempi diversi entra in queste zone.
La funzione Line Tracking supporta due modi operativi:
• Tracking con un solo asse
• Tracking cartesiano o circolare

-1-
1.PANORAMICA B-83474IT/02

1.3 TRACKING CON SINGOLO ASSE (ROTAIA)


Quando si utilizza la funzione Line Tracking con singolo asse, la posizione dell'asse esteso (integrato o
non integrato) viene modificata in tempo reale per compensare il movimento del convogliatore. La
direzione di movimento del convogliatore deve essere parallela a quella dell'asse che esegue il Tracking.
Questo tipo di inseguimento con singolo asse è conosciuto con il nome di Rail Tracking, dato che per
l'applicazione tipica si utilizza una rotaia (rail) sulla quale il robot si muove in sincronia con il
convogliatore. Con questo tipo di Tracking, la configurazione del braccio, escludendo l'asse esteso, non
viene modificata durante l'esecuzione del programma. Sono consentiti tutti i tipi di interpolazione
(Lineare, Circolare, Joint).
Il tracking su rotaia rappresenta un metodo semplice per lavorare su pezzi costantemente in movimento.
Questa soluzione viene utilizzata per sistemi di notevoli dimensioni che possono occupare spazi molto
estesi. La programmazione delle traiettorie è agevole e sono supportate praticamente tutte le applicazioni.
Questa opzione permette ad un solo sistema di eseguire il proprio compito su pezzi di grandi dimensioni.

1.4 TRACKING CARTESIANO


La definizione di Tracking cartesiano si applica ai casi in cui un robot, installato in posizione fissa, segue,
con il proprio punto di centro utensile (TCP), il movimento di un convogliatore. Il Tracking cartesiano
viene utilizzato quando lo spazio per l'installazione è limitato o, più in generale, in tutte le situazioni in
cui non è possibile implementare un Tracking su rotaia.
Con una programmazione appropriata è comunque possibile aumentare la capacità di lavoro di un robot.
Sempre per mezzo di un'adeguata programmazione, è possibile ridurre il tempo necessario a completare
una fase produttiva, oltre ad aumentare l'area operativa del robot.
Con il Tracking cartesiano, la configurazione del braccio (escludendo qualsiasi asse ausiliario che
potrebbe essere presente) viene modificata in tempo reale per compensare il movimento del convogliatore.
A causa di questo funzionamento, la funzione di Tracking cartesiano supporta unicamente le
interpolazioni Lineari e Circolari. L'interpolazione Joint non può essere utilizzata.
Esistono due categorie di Tracking cartesiano: Lineare e Circolare (da non confondere con le
interpolazioni lineare e circolare del robot). I due tipi di Tracking sono descritti nelle Sezioni 1.4.1 e 1.4.2
rispettivamente.

NOTA
Quando si utilizza il Tracking cartesiano, la pianificazione del programma e la
registrazione delle posizioni assumono un ruolo fondamentale. Programmi non
efficienti possono generare limitazioni nei movimenti del robot, riducendone
l'area operativa. Inoltre, le posizioni assunte in tempo reale dagli assi che
compongono il robot saranno quasi sempre diverse durante l'esecuzione del
programma, dato che il robot stesso deve compensare anche il movimento del
convogliatore. Per avere ulteriori informazioni circa la stesura di programmi in
Line Tracking, consultare i Capitoli 4 e 5.

NOTA
Il Tracking cartesiano supporta solo assi estesi integrati.

-2-
B-83474IT/02 1.PANORAMICA

1.4.1 Tracking LINEARE


Un sistema di Tracking lineare consiste di un robot e di un convogliatore che muove i pezzi linearmente
attraverso l'area di lavoro del robot. Il robot è solitamente montato su un piedestallo, a fianco del
convogliatore, da cui esso può raggiungere agevolmente i pezzi che transitano sulla linea. Il robot può
anche essere installato sopra o sotto il convogliatore, oppure su una rotaia o altro tipo di asse esteso, a
seconda delle esigenze applicative.

1.4.2 Tracking CIRCOLARE


Un sistema di Tracking circolare consiste di un robot e di un convogliatore, o una tavola rotante, che
muove i pezzi lungo una traiettoria circolare attraverso l'area di lavoro del robot. Il robot può essere
installato sia all'interno, sia all'esterno del cerchio lungo il quale si svolge il movimento del convogliatore.
Il robot può anche essere installato sopra o sotto il convogliatore, oppure su una rotaia o altro tipo di asse
esteso, a seconda delle esigenze applicative.

NOTA
Il Tracking circolare non supporta l'utilizzo dei limiti alla finestra di inseguimento.

NOTA
Per il Tracking circolare è supportata unicamente l'interpolazione lineare del
robot. Le interpolazioni Circular e Joint non sono consentite.

-3-
2.HARDWARE E SOFTWARE B-83474IT/02

2 HARDWARE E SOFTWARE
2.1 HARDWARE
Per il collegamento di un encoder per la sincronizzazione, un sistema dotato di funzione Line Tracking
richiede la presenza di una scheda opzionale di interfaccia apposita, oppure può prevedere la connessione
del dispositivo direttamente alla scheda Main del controllore. Se si utilizza la scheda di interfaccia per la
funzione Line Tracking, è necessario dotarsi di un cavo in fibra ottica per il collegamento al bus FSSB.
Inoltre, sono necessari dispositivi hardware esterni (encoder) e le relative connessioni. Fare riferimento
alle Fig. 2.2.1 da (a) a (e) nel caso in cui si utilizzi un encoder FANUC αA1000S, A860-0372-T001 (sia
come incrementale, sia come assoluto). Nel caso in cui si utilizzi un encoder incrementale FANUC,
modello A860-0301-T001 - T004, fare riferimento all'Appendice C.
Infine, un altro elemento esterno (un sensore o un finecorsa) deve essere installato per rilevare la presenza
di un pezzo in transito sul convogliatore, in avvicinamento verso il robot. Questo sensore deve essere
cablato ad uno dei canali di ingresso digitale disponibili nel controllore del robot.

2.1.1 REQUISITI HARDWARE


Un sistema per Line tracking con controllore R-30iB / R-30iB Mate necessita degli elementi elencati qui
di seguito.

Tabella 2.1.1 (a) Requisiti per ciascun controllore ed encoder


Encoder Controllore R-30iB Controllore R-30iB Mate
A860-0372-T001 Sezione 2.1.1 Requisiti hardware Sezione 2.1.1 Requisiti hardware
αEncoder FANUC A1000S Tabella 2.1.1 (b) Tabella 2.1.1 (c)
(adattabile sia al funzionamento
incrementale, sia a quello assoluto).
A860-0301-T001 - T004 Appendice C Appendice C
Encoder incrementale Tabella C.1 (a) Tabella C.1 (b)

-4-
B-83474IT/02 2.HARDWARE E SOFTWARE
Tabella 2.1.1 (b) Requisiti hardware (R-30iB: encoder FANUC αA1000S, A860-0372-T001)
Componenti Controllore R-30iB - Controllore R-30iB -
necessari Armadio di tipo A Armadio di tipo B Commenti
Hardware

Scheda di A20B-8101-0421 A20B-8101-0421 • La scheda di interfaccia per la funzione


interfaccia (Slot per mini-schede (Slot per mini-schede Line Tracking, nella colonna di sinistra,
per la funzione a doppia larghezza) a doppia larghezza) è inclusa nei seguenti codici di
Line Tracking oppure oppure ordinazione.
A20B-8101-0601 A20B-8101-0601 A05B-2600-J035, A05B-2660-J035
(Slot per mini-schede (Slot per mini-schede (Armadio tipo A/B, mini slot grande)
a larghezza singola) a larghezza singola) A05B-2600-J036, A05B-2660-J036
(Armadio tipo A/B, mini slot)
A05B-2600-J037 (Armadio tipo B, mini
slot)
• In sostituzione della scheda di
interfaccia per la funzione Line
Tracking, è possibile impiegare l'unità
di rilevamento separata (SDU)
(A02B-0323-C205).
NOTA: L'unità SDU comporta
l'esecuzione di alcuni lavori di
adattamento per il suo montaggio
all'interno dell'armadio elettrico.
(Vedere le Fig. 2.1.1 da (f) a (m)).
• L'encoder FANUC A1000S può anche
essere collegato alla porta JD17 sulla
scheda MAIN. In questo caso, la
scheda di interfaccia per la funzione
Line Tracking è superflua, ma la
funzione opzionale Learning Vibration
Control (A05B-2600-J573) non può
essere utilizzata.

Cavo in fibra A66L-6001-0023 A66L-6001-0023 • Il cavo in fibra ottica nella colonna di


ottica (FSSB) sinistra è incluso nei seguenti codici di
ordinazione.
A05B-2600-J035, A05B-2660-J035
(Armadio tipo A/B, mini slot grande)
A05B-2600-J036, A05B-2660-J036
(Armadio tipo A/B, mini slot)
A05B-2600-J037 (Armadio tipo B, mini
slot)

-5-
2.HARDWARE E SOFTWARE B-83474IT/02

Componenti Controllore R-30iB - Controllore R-30iB -


necessari Armadio di tipo A Armadio di tipo B Commenti
Hardware

Cavo encoder per A20B-8101-0421 per A20B-8101-0421 • Se l'encoder αA1000S viene utilizzato
(Caso di utilizzo (mini slot a doppia (mini slot a doppia in modo assoluto, i cavi elencati in
di un encoder larghezza): larghezza): questa tabella non possono essere
FANUC A05B-2601-J220 (7M) A05B-2603-J220 (7M) utilizzati.
αA1000S in A05B-2601-J221 (14M) A05B-2603-J221 (14M) • Quando si utilizza il multiplexer per la
modo A05B-2601-J222 (20M) A05B-2603-J222 (20M) funzione Line Tracking, l'encoder
incrementale) A05B-2601-J223 (30M) A05B-2603-J223 (30M) FANUC αA1000S non può essere
impiegato. Se si desidera utilizzare più
A20B-8101-0601 A20B-8101-0601
robots con l'encoder FANUC αA1000S,
(mini slot a larghezza (mini slot a larghezza
dotare il controllore della funzione
singola) singola)
opzionale per la condivisione via
(un encoder) : (un encoder) :
Ethernet dell'encoder
A05B-2601-J210 (7M) A05B-2603-J210 (7M)
(A05B-2600-R762).
A05B-2601-J211 (14M) A05B-2603-J211 (14M)
A05B-2601-J212 (20M) A05B-2603-J212 (20M)
A05B-2601-J213 (30M) A05B-2603-J213 (30M)

Cavo encoder A20B-8101-0601 A20B-8101-0601 • Se l'encoder αA1000S viene utilizzato


(Caso di utilizzo (Slot per mini-schede (Slot per mini-schede in modo assoluto, i cavi elencati in
di un encoder a larghezza singola) a larghezza singola) questa tabella non possono essere
FANUC (Due encoders) : (Due encoders) : utilizzati.
αA1000S in A05B-2601-J260 (7M) A05B-2603-J260 (7M) • Quando si utilizza il multiplexer per la
modo A05B-2601-J261 (14M) A05B-2603-J261 (14M) funzione Line Tracking, l'encoder
incrementale) A05B-2601-J262 (20M) A05B-2603-J262 (20M) FANUC αA1000S non può essere
A05B-2601-J263 (30M) A05B-2603-J263 (30M) impiegato. Se si desidera utilizzare più
robots con l'encoder FANUC αA1000S,
Per la scheda Main : Per la scheda Main : dotare il controllore della funzione
A05B-2601-J270(7M) A05B-2603-J270(7M) opzionale per la condivisione via
A05B-2601-J271(14M) A05B-2603-J271(14M) Ethernet dell'encoder
A05B-2601-J272 (20M) A05B-2603-J272 (20M) (A05B-2600-R762).
A05B-2601-J273 (30M) A05B-2603-J273 (30M)

Fare riferimento alle Fig. 2.1.1 da (a) a (c) per avere informazioni relative ai segnali degli encoder, e alle
immagini contenenti informazioni relative alle loro dimensioni.
Fare riferimento alla Fig. 2.1.1 da (d) a (n) per avere informazioni circa le dimensioni, le connessioni e
l'installazione delle unità separate di interfaccia per gli encoders.

-6-
B-83474IT/02 2.HARDWARE E SOFTWARE
Tabella 2.1.1 (c) Requisiti hardware (R-30iB Mate: encoder FANUC αA1000S, A860-0372-T001).
Controllore
Componenti Controllore
R-30iB Mate
necessari R-30iB Mate Commenti
(versione compatta)

Hardware

Scheda di A20B-8101-0601 A20B-8101-0601 • La scheda di interfaccia per la funzione


interfaccia (Slot per mini-schede (Slot per mini-schede Line Tracking, nella colonna di sinistra, è
per la funzione a larghezza singola) a larghezza singola) inclusa nei seguenti codici di
Line Tracking ordinazione.
A05B-2650-J035, A05B-2661-J035
(R-30iB Mate, mini slot a larghezza
singola)
A05B-2655-J035, A05B-2662-J035
(R-30iB Mate, (versione compatta), mini
slot a larghezza singola)
• L'encoder FANUC αA1000S può anche
essere collegato alla porta CRS41 sulla
scheda MAIN. In questo caso, la scheda
di interfaccia per la funzione Line
Tracking è superflua, ma la funzione
opzionale Learning Vibration Control
(A05B-2660-J573) non può essere
utilizzata.

Cavo in fibra A66L-6001-0026 A66L-6001-0023 • La scheda di interfaccia per la funzione


ottica (FSSB) Line Tracking, nella colonna di sinistra, è
inclusa nei seguenti codici di
ordinazione.
A05B-2650-J035, A05B-2661-J035
(R-30iB Mate, mini slot a larghezza
singola)
A05B-2655-J035, A05B-2662-J035
(R-30iB Mate, (versione compatta), mini
slot a larghezza singola)

-7-
2.HARDWARE E SOFTWARE B-83474IT/02

Controllore
Componenti Controllore
R-30iB Mate
necessari R-30iB Mate Commenti
(versione compatta)

Hardware

Cavo encoder A20B-8101-0601 A20B-8101-0601 • Se l'encoder αA1000S viene utilizzato in


(Caso di utilizzo (mini slot a larghezza (mini slot a larghezza modo assoluto, i cavi elencati in questa
di un encoder singola) singola) tabella non possono essere utilizzati.
FANUC (un encoder) : (un encoder) :
αA1000S in A05B-2650-J205 (7M) A05B-2655-J205 (7M) • Quando si utilizza il multiplexer per la
modo A05B-2650-J206 (14M) A05B-2655-J206 (14M) funzione Line Tracking, l'encoder
incrementale) A05B-2650-J207 (20M) A05B-2655-J207 (20M) FANUC αA1000S non può essere
A05B-2661-J205 (7M) A05B-2662-J205 (7M) impiegato. Se si desidera utilizzare più
A05B-2661-J206 (14M) A05B-2662-J206 (14M) robots con l'encoder FANUC αA1000S,
A05B-2661-J207 (20M) A05B-2662-J207 (20M) dotare il controllore della funzione
opzionale per la condivisione via
A20B-8101-0601 A20B-8101-0601
Ethernet dell'encoder
(Slot per mini-schede (Slot per mini-schede
(A05B-2660-R762).
a larghezza singola) a larghezza singola)
(Due encoders) : (Due encoders) :
• L'encoder FANUC αA1000S non può
A05B-2650-J215 (7M) A05B-2655-J215 (7M)
essere collegato alla scheda Main di tipo
A05B-2650-J216 (14M) A05B-2655-J216 (14M)
A (A20B-8200-0790) nel controllore
A05B-2650-J217 (20M) A05B-2655-J217 (20M)
R-30iB Mate.
A05B-2661-J215 (7M) A05B-2662-J215 (7M)
Vedere la Tabella 2.1.1 (d).
A05B-2661-J216 (14M) A05B-2662-J216 (14M)
A05B-2661-J217 (20M) A05B-2662-J217 (20M)

Per la scheda Main : Per la scheda Main :


A05B-2650-J220 (7M) A05B-2655-J220 (7M)
A05B-2650-J221 (14M) A05B-2655-J221 (14M)
A05B-2650-J222 (20M) A05B-2655-J222 (20M)
A05B-2661-J220 (7M) A05B-2662-J220 (7M)
A05B-2661-J221 (14M) A05B-2662-J221 (14M)
A05B-2661-J222 (20M) A05B-2662-J222 (20M)

Fare riferimento alle Fig. 2.1.1 da (a) a (c) per avere informazioni relative ai segnali degli encoder, e alle
immagini contenenti informazioni relative alle loro dimensioni.
Fare riferimento alla Fig. 2.1.1 da (d) a (n) per avere informazioni circa le dimensioni, le connessioni e
l'installazione delle unità separate di interfaccia per gli encoders.

-8-
B-83474IT/02 2.HARDWARE E SOFTWARE
Tabella 2.1.1 (d) Requisiti per la scheda Main del controllore R-30iB Mate (encoder FANUC αA1000S)
Connessione
possibile /
Codice di
Scheda Main Impossibile Commenti
ordinazione
dell'encoder FANUC
αA1000S

Scheda Main tipo A A20B-8200-0790 Connessione non • La scheda Main nella colonna di sinistra è
possibile inclusa nei seguenti codici di ordinazione.
A05B-2650-H001, A05B-2661-H001
(R-30iB Mate)
A05B-2655-H001, A05B-2662-H001
(R-30iB Mate (versione compatta))

Scheda Main tipo B A20B-8200-0791 Connessione possibile • La scheda Main nella colonna di sinistra è
inclusa nei seguenti codici di ordinazione.
A05B-2650-H002, A05B-2661-H002
(R-30iB Mate)
A05B-2655-H002, A05B-2662-H002
(R-30iB Mate (versione compatta))

Scheda Main tipo C A20B-8200-0792 Connessione possibile • La scheda Main nella colonna di sinistra è
inclusa nei seguenti codici di ordinazione.
A05B-2650-H003, A05B-2661-H003
(R-30iB Mate)
A05B-2655-H003, A05B-2662-H003
(R-30iB Mate (versione compatta))

Numero di Pin
Nome del segnale

Fig. 2.1.1 (a) Segnali dell'encoder FANUC αA1000S (A860-0372-T001)

-9-
2.HARDWARE E SOFTWARE B-83474IT/02

Voce Specifica
Tensione al primario 5 [V]±5%
Consumo in corrente Fino a 0.35 [A]
Intervallo di temperature di lavoro Da 0 a +60 [ ]
1 000 000 [/giro.]
Risoluzione (NOTA: La risoluzione utilizzata per la funzione Line Tracking è di
65536[/giro].)
Velocità massima di rotazione 4000 [min-1]
Inerzia dell'albero di ingresso Fino a 1×10-4 [kg m2]
Coppia di spunto all'albero di ingresso Fino a 0.1 [N m]
Radiale 98 [N]
Carichi meccanici
Assiale 49 [N]
Tolleranza sul diametro dell'albero 0.02×10-3 [m]
Tenuta alla polvere ed ai liquidi
Configurazione
(equivalente a IP55: quando è dotato del connettore a tenuta stagna)
Vibrazioni: 5 [G] (da 50 a 2000 [Hz])
Peso Circa 0.75 [kg]
Fig. 2.1.1 (b) Specifiche dell'encoder FNUC αA1000S (A860-0372-T001)

Connettore MS
Fig. 2.1.1 (c) Dimensioni dell'encoder FANUC αA1000S (A860-0372-T001)

- 10 -
B-83474IT/02 2.HARDWARE E SOFTWARE

Scheda Main
Main CPU board
Porta JD17
Encoder Terminal JD17
Porta JRF3
Encoder Terminal JRF3

COP10B
Line Tracking Interface board
Scheda di interfaccia per la
funzione(mini
Lineslot)
Tracking
(mini slot a larghezza
A-cabinet: singola)
A05B-2600-J036,
Armadio tipo A: A05B-2660-J036
A05B-2600-J036
B-cabinet: A05B-2600-J037
A05B-2660-J036

Porta per
Encoder encoder
Terminal 1 JF21
1 JF21

Porta per
Encoder encoder
Terminal 2 JF22
2 JF22

COP10B
Scheda diLine Trackingper
interfaccia Interface board (wide-mini slot)
Line Tracking
(mini slot,A05B-2600-J035,
doppia larghezza)A05B-2660-J035
A05B-2600-J035, A05B-2660-J035
COP10A

Fig. 2.1.1 (d) Controllore R-30iB con connessioni per Line Tracking

- 11 -
2.HARDWARE E SOFTWARE B-83474IT/02

Scheda Main
Main CPU board
Porta CRS41
Encoder per encoder
Terminal CRS41

Scheda di interfaccia
per la funzione Line Tracking
(mini slot Tracking
Line a larghezzainterface
singola) board
Controllore R-30iB Mate:
(mini slot)
R-30iB A05B-2650-J035
Mate : A05B-2650-J035
A05B-2661-J035
A05B-2661-J035
R-30iBR-30iB
Controllore Mate Mate
(Open Air) : R-30iB Mate
R-30iB Mate
(versione compatta):A05B-2655-J035
A05B-2662-J035
A05B-2655-J035
A05B-2662-J035
Scheda Mainboard
Main CPU
Porta CRS41 per encoder
Encoder Terminal CRS41
Encoder
Porta TerminalJRF3
per encoder JRF3

COP10B

R-30iB Mate
Controllore (Open
R-30iB Air)
Mate
(versione compatta)

Fig. 2.1.1 (e) Controllore R-30iB Mate con connessioni per Line Tracking

NOTA
Se la scheda di interfaccia o la scheda Main non possono essere utilizzate,
oppure la prima non è disponibile, è possibile impiegare l'unità SDU illustrata
nelle Fig. 2.1.1 da (f) a (n).

- 12 -
B-83474IT/02 2.HARDWARE E SOFTWARE

Fig. 2.1.1 (f) Dimensioni di ingombro dell'unità separata di interfaccia per encoders (SDU)

- 13 -
2.HARDWARE E SOFTWARE B-83474IT/02

Vista dall'alto

Unità base Unità di espansione


Superficie di
montaggio

Tacca

tacca
tacca

Fig. 2.1.1 (g) Connessione tra l'unità base e l'unità di espansione

Fig. 2.1.1 (h) Posizione dei connettori sull'unità base

- 14 -
B-83474IT/02 2.HARDWARE E SOFTWARE

Fig. 2.1.1 (i) Posizione dei connettori sull'unità di espansione

Fori di ventilazione Cavo piatto

Unità base Unità di espansione

Fig. 2.1.1 (j) Posizionamento del cavo piatto durante l'installazione

Unità base Unità di espansione

Fig. 2.1.1 (k) Separazione orizzontale dei fori di montaggio durante l'installazione

- 15 -
2.HARDWARE E SOFTWARE B-83474IT/02

ATTENZIONE
Per installare o smontare l'unità, è necessario inserire un cacciavite in modo
obliquo Perciò, su entrambi i lati dei moduli di interfaccia è necessario avere
sufficiente spazio. Come linea guida generale, lasciare uno spazio libero di
almeno 20 mm tra un'unità e l'altra. Se, però, la parte frontale di un modulo
adiacente sporge, lo spazio da lasciare libero deve essere di almeno 70 mm.
La stessa distanza, 70 mm, deve essere lasciata tra l'unità di interfaccia e la
parete del quadro all'interno del quale essa è installata.

Spazio libero per la manutenzione dell'unità di interfaccia con gli encoders

Fig. 2.1.1 (l) Manutenzione dell'unità di interfaccia

ATTENZIONE
Quando si smonta l'unità, prestare attenzione a non danneggiare il dispositivo di
sblocco con una forza eccessiva. Quando si installa o si rimuove l'unità di
interfaccia, sostenerne le estremità alta e bassa in modo che non sia applicato
uno sforzo meccanico eccessivo alla parete laterale dell'unità stessa.

- 16 -
B-83474IT/02 2.HARDWARE E SOFTWARE

Installazione
dell'unità di
interfaccia su
barra DIN

Barra DIN

Rimozione
dell'unità di
interfaccia da
barra DIN
Barra DIN

Fig. 2.1.1 (m) Installazione e rimozione dell'unità di interfaccia

- 17 -
2.HARDWARE E SOFTWARE B-83474IT/02

Scheda MAIN
COP10A

Alimentatore

Servo amplificatore
a 6 assi
COP10B

COP10A

Vedere la nota
Servo amplificatore
ausiliario 1
COP10B

COP10A Nota:
Vedere la nota Questi cavi opzionali devono essere utilizzati quando è
Servo amplificatore presente una scheda di controllo assi aggiuntiva.
ausiliario 2
COP10B

COP10A

Vedere la nota
Unità di interfaccia
remota A per Line
tracking multiplo
COP10B
COP10A

Encoder 1 per Line Tracking

Encoder 2 per Line Tracking

Encoder 3 per Line Tracking

Encoder 4 per Line Tracking

Unità di interfaccia
remota B per Line
tracking multiplo

Encoder 5 per Line Tracking

Encoder 6 per Line Tracking

Encoder 7 per Line Tracking

Encoder 8 per Line Tracking

Fig. 2.1.1 (n) Schema di collegamento

- 18 -
B-83474IT/02 2.HARDWARE E SOFTWARE

2.1.2 Installazione
Per rilevare la velocità del convogliatore, deve essere installato un encoder di Tracking. Inoltre, è
necessario utilizzare anche un sensore che informi il sistema dell'avvicinarsi di un pezzo all'area di lavoro
del robot.

Scheda di interfaccia per la funzione Line Tracking


La scheda di interfaccia per Line Tracking deve essere inserita nel mini slot a doppia larghezza presente
sull'alimentatore oppure in quelli a larghezza singola disponibili in corrispondenza della scheda Main.
Vedere le Fig. 2.1.1 (d) e (e). Se si utilizzano le unità remote di interfaccia per il Line Tracking, esse
possono essere montate nel controllore separatamente dalla scheda MAIN.
(Vedere le Fig. 2.1.1 da (f) a (n)).

Connettore per fibra ottica


・ Utilizzo di una scheda di interfaccia per Line Tracking del tipo A20B-8101-0421
(mini slot a doppia larghezza)
Il cavo in fibra ottica, che normalmente collega la scheda MAIN al bus servo FSSB, deve essere
spostato dal connettore COP10A della scheda MAIN al connettore COP10A della scheda di
interfaccia per il Line tracking. Il cavo aggiuntivo in fibra ottica deve essere collegato tra il
connettore COP10A della scheda MAIN al connettore COP10B della scheda di interfaccia per il
Line Tracking.
・ Utilizzo di una scheda di interfaccia per Line Tracking del tipo A20B-8101-0601
(mini slot a larghezza singola)
Il cavo in fibra ottica aggiuntivo per il bus FSSB deve essere collegato dal connettore COP10A del
servo amplificatore a 6 assi, o di un o ausiliario, al connettore COP10B sulla scheda di interfaccia
per il Line Tracking. Vedere le Fig. 2.1.1 (d) e (e).
・ Quando l'encoder FANUC αA1000S è collegato direttamente alla scheda Main, non è necessario
alcun cavo in fibra ottica aggiuntivo.
・ Se si utilizzano le unità separate di interfaccia per il Line Tracking, lo schema di collegamento è
illustrato nella Fig. 2.1.1 (n).

Encoder per la funzione Line Tracking


Gli encoders che possono essere impiegati con i controllori R-30iB / R-30iB Mate sono i seguenti.
• Encoder FANUC αA1000S A860-0372-T001
(sia per funzionamento in modo incrementale, sia come assoluto)
• Encoder incrementale A860-0301-T001 - T004
Normalmente viene utilizzato l'encoder αA1000S, A860-0372-T001.
Assicurarsi di utilizzare la riduzione appropriata per avere una risoluzione ottimale per l'applicazione
(tipicamente 30-80 impulsi/mm per Tracking lineare).

- 19 -
2.HARDWARE E SOFTWARE B-83474IT/02

Sensore di presenza pezzo


Per rilevare l'avvicinamento, sul convogliatore, di un pezzo all'area di lavoro del robot, è necessario
installare un sensore sulla linea di trasporto. Per avere ulteriori informazioni circa la configurazione di un
segnale di ingresso digitale, fare riferimento alla Sezione "Segnali I/O digitali" nel manuale per
l'operatore del controllore R-30iB / R-30iB Mate (funzioni di base) (B-83284IT). Il tipo di sensore può
variare tra contatto meccanico, sensore di prossimità, fotocellula.

NOTA
La posizione in cui il sensore è installato deve essere conosciuta da parte del
programmatore del robot. Essa, infatti, rappresenta una delle variabili utilizzata
dalla funzione Line Tracking.

NOTA
La precisione di inseguimento dipende da quella del sensore di presenza del
pezzo. Un sensore che abbia un tempo di riposta molto veloce produce una
migliore precisione nella lettura della posizione del pezzo.

Multiplexer di encoder
Quando più robots lavorano in Line Tracking sullo stesso convogliatore, è possibile utilizzare un
multiplexer che distribuisca gli impulsi, provenienti dall'encoder, ai vari controllori. Collegare i cavi per i
segnali e per l'alimentazione al multiplexer, come mostrato nell'Appendice C. Se si impiega il multiplexer,
l'encoder FANUC αA1000S A860-0372-T001 non può essere utilizzato. Se si desidera utilizzare più
robots con l'encoder FANUC αA1000S, dotare il controllore della funzione opzionale per la condivisione
via Ethernet dell'encoder (A05B-2600-R762, A05B-2660-R762).

Encoder Scheda di interfaccia per l’encoder di Line Tracking


A860-0372-T001 (mini slot a doppia larghezza) A20B-8101-0421

JF21
JF22
Cavo encoder
R-30iB (armadio tipo A) :
COP10B
A05B-2601-J220 - J223
R-30iB (armadio tipo B) :
A05B-2603-J220 - J223
COP10A

Fig. 2.1.2 (a) Connessione dei cavi alla scheda di interfaccia per la funzione Line Tracking
A05B-2600-J035 o A05B-2660-J035 (un encoder FANUC αA1000S)

- 20 -
B-83474IT/02 2.HARDWARE E SOFTWARE

Scheda di interfaccia per l’encoder di Line Tracking


(mini slot a larghezza singola) A20B-8101-0601
Encoder
A860-0372-T001

JRF3

Cavo encoder
R-30iB (armadio tipo A) :
A05B-2601-J210 - J213 COP10B
R-30iB (armadio tipo B) :
A05B-2603-J210 - J213

Fig. 2.1.2 (b) Connessione dei cavi alla scheda di interfaccia per la funzione Line Tracking
A05B-2600-J036, A05B-2660-J036 o A05B-2600-J037 (un encoder FANUC αA1000S)

Scheda di interfaccia per l’encoder di Line Tracking


(mini slot a larghezza singola) A20B-8101-0601
Encoder
A860-0372-T001

JRF3

COP10B
Cavo encoder
R-30iB (armadio tipo A) :
A05B-2601-J260 - J263
R-30iB (armadio tipo B) :
A05B-2603-J260 - J263

Fig. 2.1.2 (c) Connessione dei cavi alla scheda di interfaccia per la funzione Line Tracking
A05B-2600-J036, A05B-2660-J036 o A05B-2600-J037 (un encoder FANUC αA1000S)

- 21 -
2.HARDWARE E SOFTWARE B-83474IT/02

Scheda
R-30iB Main
Main CPUR-30iB
board
A16B-3200-0780to- 0782
A16B-3200-0780
Encoder
Pulsecoder
A860-0372-T001
A860-0372-T001

JD17

Pulsecoder cable
Cavo encoder
R-30iB
R-30iB/ (armadio
A-Cabinettipo
: A) :
A05B-2601-J270to- J273
A05B-2601-J270
R-30iB/ (armadio
R-30iB B-Cabinettipo
: B) :
A05B-2603-J270to- J273
A05B-2603-J270 J273

Fig. 2.1.2 (d) Cavi di connessione con la scheda Main del controllore R-30iB
(un encoder FANUC αA1000S)

Scheda di interfaccia per l’encoder di Line Tracking


(mini slot a larghezza singola) A20B-8101-0601
Encoder
A860-0372-T001

JRF3

Cavo encoder
R-30iB Mate : COP10B
A05B-2650-J205 - J207
A05B-2661-J205 - J207
Controllore R-30iB Mate (versione compatta) :
A05B-2655-J205 - J207
A05B-2662-J205 - J207

Fig. 2.1.2 (e) Connessione dei cavi alla scheda di interfaccia per la funzione Line Tracking
A05B-2650-J035, A05B-2655-J035, A05B-2661-J035 o A05B-2662-J035 (un encoder FANUC αA1000S)

- 22 -
B-83474IT/02 2.HARDWARE E SOFTWARE

Scheda di interfaccia per l’encoder di Line Tracking


(mini slot a larghezza singola) A20B-8101-0601
Encoder
A860-0372-T001

JRF3

COP10B
Cavo encoder
R-30iiB Mate :
A05B-2650-J215 - J217
A05B-2661-J215 - J217
Controllore R-30iB Mate (versione compatta) :
A05B-2655-J215 - J217
A05B-2662-J215 - J217

Fig. 2.1.2 (f) Connessione dei cavi alla scheda di interfaccia per la funzione Line Tracking
A05B-2650-J035, A05B-2655-J035, A05B-2661-J035 o A05B-2662-J035 (due encoders FANUC αA1000S)

R-30iB Mate MainMain


Scheda CPUR-30iB
board
A20B-8200-0790
A16B-8200-0790 to- 0792
0792
Encoder
Pulsecoder
A860-0372-T001
A860-0372-T001

Pulsecoder cable
Cavo encoder
R-30iB Mate R-30iB
: Mate :
A05B-2650-J220
A05B-2650-J220 - J222 to J222 CRS41
A05B-2661-J220
A05B-2661-J220 - J222 to J222
Controllore R-30iB
R-30iB Mate
Mate(versione compatta)
(Open Air) : :
A05B-2655-J220 - J222
A05B-2655-J220 to J222
A05B-2662-J220 - J222
A05B-2662-J220 to J222

Fig. 2.1.2 (g) Cavi di connessione con la scheda Main del controllore R-30iB Mate
(un encoder FANUC αA1000S)

- 23 -
2.HARDWARE E SOFTWARE B-83474IT/02

2.2 SOFTWARE
Il software per il Line Tracking è distribuito come opzione.

2.2.1 Limitazioni

L'opzione Line Tracking non può essere utilizzata in combinazione con le funzione indicate sotto.
- Palletizing
- Funzione Coordinated Motion
- Space Check
- TCP Remoto
- Singularity Avoidance
(Non disponibile per i movimenti in Line Tracking. Utilizzabile solo per movimenti normali)
- Pacchetto di funzioni per la finitura
- Funzione di cambio pinza motorizzata
- Funzione Robot Link
- Controllo dell'interferenza (base/intelligente)
- Seguigiunto (TAST)
- AVC
- RPM
- Touch Sensor
- Funzione di controllo della posizione alla ripartenza del programma

NOTA
La funzione di controllo della posizione alla ripartenza del programma non può
essere utilizzata insieme all'opzione Line Tracking. Per questo motivo, impostare
la variabile di sistema $USERTOL_ENB a FALSE per disabilitarla.

- 24 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

3 CONFIGURAZIONE DELLA FUNZIONE


LINE TRACKING
3.1 CONFIGURAZIONE DEGLI ENCODERS

3.1.1 Informazioni per la configurazione degli encoders


Il robot effettua l'inseguimento del pezzo sul convogliatore grazie alla presenza di un encoder.
L'encoder fornisce al robot il conteggio degli impulsi generati dal movimento del convogliatore.
La relazione esistente tra il robot ed il convogliatore è stabilita con la configurazione dell'encoder.

NOTA
Gli encoders devono essere configurati prima dell'impostazione dei parametri per
la funzione Line Tracking.

Tabella 3.1.1 (a) Elementi per la configurazione dell'encoder per la funzione Line Tracking
PARAMETRI PER LA DESCRIZIONE VARIABILE DI SISTEMA
CONFIGURAZIONE CORRELATA
DELL'ENCODER

Encoder Number Rappresenta il numero di encoder che si sta N/A


Valore: 1 - 8 configurando.
Standard: 1 Fare riferimento alla Sezione 3.1.2,
Impostazione del numero dell'encoder, per
ulteriori dettagli.

Encoder Axis Rappresenta l'asse encoder da configurare. $SCR. $ENC_AXIS[Numero


Valore: 0 – 32 NOTA: Non vi è necessità di impostare il encoder]
Standard: 0 numero dell'encoder quando si utilizza
l'encoder a impulsi FANUC αA1000S
connesso direttamente alla scheda Main.

Encoder Type Specifica il tipo di encoder utilizzato. $SCR. $ENC_TYPE[Numero


Valore: Ved. la Tabella 3.1.1 (b). Ved. la Tabella 3.1.1 (b). encoder]
Standard: INCREMENTAL

Encoder Enable Questo elemento consente di abilitare o $ENC_STAT[Numero encoder]


Valore: OFF (0) / ON (1) disabilitare l'encoder interessato. $ENC_ENABLE
Standard: OFF (0)

Current Count (cnts) Questa voce visualizza il valore di conteggio $ENC_STAT[Numero encoder]
Valore: Intero attuale per l'encoder specificato. $ENC_COUNT

Multiplier (ITP/update) Questo elemento specifica quanto $ENC_STAT[Numero encoder]


Valore: 1 - 100 frequentemente vengono letti gli impulsi $ENC_MULTIPL
Standard: 1 provenienti dall'encoder del convogliatore, in
modo che, se possibile, il tempo a
disposizione per il processore sia maggiore.

Average (updates) Il valore inserito consente di rendere $ENC_STAT[Numero encoder]


Valore: 1 - 100 regolare il movimento del robot mentre è $ENC_AVERAGE
Standard: 1 sincronizzato con il convogliatore.

- 25 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

PARAMETRI PER LA DESCRIZIONE VARIABILE DI SISTEMA


CONFIGURAZIONE CORRELATA
DELL'ENCODER

Stop Threshold(cnt/updt) Il valore inserito è il numero di impulsi per $ENC_STAT[Numero encoder]


Valore: Intero positivo ciclo di aggiornamento. Se il conteggio degli $ENC_THRESH
Standard: 0 impulsi per ogni aggiornamento va al di sotto
del valore inserito per questa voce, il sistema
considera il convogliatore fermo.

Simulate Enable Questo elemento consente di abilitare o $ENC_STAT[Numero encoder]


Valore: OFF (0) / ON (1) disabilitare la simulazione dell'encoder $ENC_SIM_ON
Standard: OFF (0) interessato.

Simulate Rate(cnt/updt) Il valore inserito è il numero di impulsi $ENC_STAT[Numero encoder]


Valore: Intero desiderato per ciclo di aggiornamento. $ENC_SIM_SPD
Standard: 0 Questo campo dati viene preso in
considerazione solo quando è abilitata la
simulazione dell'encoder.

Procedure 3-1 Configurazione degli encoders per il Line Tracking


Passi
1. Premere il tasto MENU.
2. Selezionare la voce 6, SETUP.
3. Premere il tasto F1, TYPE.
4. Selezionare la voce Encoders. Apparirà una schermata simile alla Fig. 3.1.1 (a).

SETUP Encoders
1/8
Encoder Number : 1
1 Encoder Axis : 0
2 Encoder Type : INCREMENTAL
3 Encoder Enable : OFF
Current Count (cnts) : 0
4 Multiplier (ITP/update) : 1
5 Average (updates) : 1
6 Stop Threshold (cnt/updt) : 0
7 Simulate : Enable : OFF
8 Rate (cnt/updt) : 0

[ TYPE ] ENCODER [ CHOICE ]


Fig. 3.1.1 (a) Elementi per la configurazione dell'encoder per la funzione Line Tracking

5. Per visualizzare le informazioni relative ad un altro numero di encoder, premere il tasto F3,
ENCODER. Questo valore rappresenta il numero dell'encoder che si intende configurare. Il valore
predefinito è 1. Per maggiori dettagli, fare riferimento alla Sezione 3.1.2, Impostazione del numero
dell'encoder.

NOTA
Se si sta utilizzando la scheda di interfaccia per Line Tracking, (A20B-8101-0421,
A20B-8101-0601), gli encoders disponibili sono due. Se si utilizza la scheda
Main, può essere impiegato un solo encoder (solo del tipo αA1000S). Se, invece,
si utilizzano le unità remote di interfaccia per gli encoders (SDU1 e SDU2,
A02B-0303-C205/C204), gli encoders disponibili sono otto.

- 26 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING
6. Selezionare la voce Encoder Axis. Impostare il numero di asse utilizzato per l'encoder di Line
Tracking. I valori possibili per questa voce sono compresi tra 1 e 32.
Quando la funzione Line tracking è applicata ad un solo asse, il valore per questo elemento è 1. Se
gli assi a cui si applica la funzione Line Tracking sono due, il valore per l'encoder 1 deve essere 1,
mentre quello per l'encoder 2 deve essere 2.
NOTA: Non vi è necessità di impostare il numero dell'encoder quando si utilizza l'encoder a impulsi
FANUC αA1000S connesso direttamente alla scheda Main.

NOTA
Perché il dato inserito sia acquisito dal sistema, è necessario spegnere e
riaccendere il controllore. Fare riferimento alla Sezione 3.2 dopo il
completamento di questa procedura.

7. Portare il cursore sulla voce Encoder Type. Questo elemento specifica il tipo di tracking da
effettuare. Premere il tasto F4, CHOICE, in modo che il sistema visualizzi la schermata di selezione
illustrata nella Fig. 3.1.1 (b). Per avere informazioni su ciascuna selezione di tipo encoder, vedere la
Tabella 3.1.1 (b).

SETUP Encoders
1/8
Encoder1Number : 1
1 1 Encoder Axis :
INCREMENTAL 0
2 2 Encoder Type
Serial ABS: INCREMENTAL
3 3 Encoder Enable :
SERVOCONV OFF
4 Current Count (cnts) :
VIRTUAL 0
5 4 Multiplier (ITP/update) :
Serial INC 1
6 5Main
Average (updates)
Serial INC : 1
7 6Main
StopSerial
Threshold
ABS (cnt/updt) : 0
7 Simulate : Enable : OFF
8 Rate (cnt/updt) : 0

[ TYPE ] ENCODER [ CHOICE ]


Fig. 3.1.1 (b) Finestra di selezione del tipo di encoder

- 27 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

Tabella 3.1.1 (b) Tipo di encoder


No Tipo di encoder COMMENTI

1 INCREMENTAL La voce INCREMENTAL deve essere selezionata quando si utilizza un encoder


incrementale (A860-0301-T001...T004), collegato alla scheda di interfaccia per la
funzione Line Tracking (A20B-8101-0421 (mini slot a doppia larghezza),
A20B-8101-0601 (mini slot)) o ad una unità SDU. Relativamente all'hardware,
vedere l'Appendice C.

2 Serial ABS La voce Serial ABS deve essere selezionata quando si utilizza un encoder
FANUC αA1000S (A860-0372-T001) in modalità assoluta, collegato alla scheda
di interfaccia per la funzione Line Tracking (A20B-8101-0421 (mini slot a doppia
larghezza), A20B-8101-0601 (mini slot)) o ad una unità SDU.

3 SERVOCONV La voce SERVOCONV è selezionata quando si utilizza la funzione di Line


Tracking con servo convogliatore. Per maggiori dettagli su questo tipo di Line
Tracking, fare riferimento alla Sezione 5.10, FUNZIONE LINE TRACKING CON
SERVO CONVOGLIATORE.

4 VIRTUAL Questa selezione consente di eseguire movimenti in Line Tracking simulando


l'encoder, in assenza dell'hardware effettivo (scheda di interfaccia per la funzione
Line tracking oppure unità SDU.

5 Serial INC La voce Serial INC deve essere selezionata quando si utilizza un encoder FANUC
αA1000S (A860-0372-T001) in modalità incrementale, collegato alla scheda di
interfaccia per la funzione Line Tracking (A20B-8101-0421 (mini slot a doppia
larghezza), A20B-8101-0601 (mini slot)) o ad una unità SDU.

6 Main Serial INC La selezione Main Serial INC deve essere effettuata quando è utilizzato un
encoder FANUC αA1000S (A860-0372-T001) in modalità incrementale, connesso
alla scheda Main (R-30iB: JD17, R-30iB Mate: CRS41(*1)).

7 Main Serial ABS La selezione Main Serial ABS deve essere effettuata quando è utilizzato un
encoder FANUC αA1000S (A860-0372-T001) in modalità assoluta, connesso alla
scheda Main (R-30iB: JD17, R-30iB Mate: CRS41(*1)).

(*1) L'encoder FANUC αA1000S non può essere collegato alla scheda Main di tipo A
(A20B-8200-0790) nel controllore R-30iB Mate. In questo caso, è richiesto l'impiego della scheda di
interfaccia per la funzione Line Tracking. Per avere informazioni riguardanti la possibilità di
collegamento alla scheda Main di un controllore R-30iB Mate dell'encoder FANUC αA1000S , fare
riferimento alla Tabella 3.1.1 (c).

NOTA
Se, per un controllore non dotato della scheda di interfaccia per la funzione Line
tracking (con collegamento dell'encoder FANUC αA1000S alla scheda Main), si
selezionano i tipi 1, INCREMENTAL, 2, Serial ABS o 5, Serial INC, il sistema
potrebbe generare l'allarme “SRVO-056 FSSB com error 2 (G: Numero del
gruppo di assi A : Numero di asse)". Impostare il tipo di encoder corretto, facendo
riferimento alla Tabella 3.1.1 (b).

- 28 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

NOTA
Se si selezione la voce 1, INCREMENTAL, ma l'encoder non è collegato (quando
è installata la scheda di interfaccia per la funzione Line Tracking), il sistema
genera l'allarme “SRVO-082 DAL alarm (Track encoder: Numero di encoder)". Se
il numero dell'asse encoder è impostato ad un valore utilizzato per un motore
controllato dal sistema servo, viene tolta potenza ai motori e appare l'allarme
SRVO-082. Se non si collega un encoder, azzerare il valore impostato come
numero encoder.

Tabella 3.1.1 (c) Requisiti hardware per la scheda Main del controllore R-30iB Mate (encoder FANUC α)
Connessione possibile /
Codice di
Scheda Main Impossibile dell'encoder Commenti
ordinazione
FANUC αA1000S

Scheda Main A20B-8200-0790 Connessione non possibile • La scheda Main nella colonna di sinistra
tipo A è inclusa nei seguenti codici di
ordinazione.
A05B-2650-H001, A05B-2661-H001
(R-30iB Mate)
A05B-2655-H001, A05B-2662-H001
(R-30iB Mate (versione compatta))

Scheda Main A20B-8200-0791 Connessione possibile • La scheda Main nella colonna di sinistra
tipo B è inclusa nei seguenti codici di
ordinazione.
A05B-2650-H002, A05B-2661-H002
(R-30iB Mate)
A05B-2655-H002, A05B-2662-H002
(R-30iB Mate (versione compatta))

Scheda Main A20B-8200-0792 Connessione possibile • La scheda Main nella colonna di sinistra
tipo C è inclusa nei seguenti codici di
ordinazione.
A05B-2650-H003, A05B-2661-H003
(R-30iB Mate)
A05B-2655-H003, A05B-2662-H003
(R-30iB Mate (versione compatta))

NOTA
Perché il dato inserito sia acquisito dal sistema, è necessario spegnere e
riaccendere il controllore. Fare riferimento alla Sezione 3.2 dopo il
completamento di questa procedura.

- 29 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

8. Portare il cursore sulla voce Encoder Enable.


Questo elemento consente di abilitare o disabilitare l'encoder interessato.
• Per abilitare l'encoder, premere il tasto F4, ON.
Quando è abilitato, l'encoder aggiorna il conteggio degli impulsi.
L'encoder deve essere abilitato per poter essere utilizzato sia in condizioni reali, sia in simulazione.
• Per disabilitare l'encoder, premere il tasto F5, OFF.
• La voce Current Count (cnts) visualizza il valore di conteggio attuale di impulsi per l'encoder
specificato. Il valore visualizzato non può essere modificato.

ATTENZIONE
La voce Encoder Enable si riporta automaticamente a OFF ogni volta che il
controllore viene spento e riacceso. Verificare che l'abilitazione dell'encoder sia
impostata correttamente prima di iniziare la produzione. In caso contrario, il
sistema non funzionerà come previsto.

NOTA
Per mezzo dell'istruzione LINE, l'abilitazione dell'encoder può essere effettuata
anche da un programma TPE. Per maggiori informazioni circa questa istruzione
vedere il capitolo 4.5.

9. Selezionare la voce Multiplier (ITP/update). Inserire il valore che sarà utilizzato come moltiplicatore
per l'aggiornamento del conteggio degli impulsi provenienti dall'encoder. Questo elemento specifica
quanto frequentemente vengono letti gli impulsi provenienti dall'encoder del convogliatore, in modo
che, se possibile, il tempo a disposizione per il processore sia maggiore. Il sistema eseguirà un
aggiornamento del conteggio degli impulsi per ogni incremento di ITP (Interpolation Time Period -
Tempo di interpolazione: Solitamente 8msec).
Moltiplicatore x ITP (ms) = aggiornamento conteggio (ms)

10. Selezionare la voce Average (updates). Il valore inserito consente di rendere regolare il movimento
del robot mentre è sincronizzato con il convogliatore.
Se il movimento del convogliatore non è regolare, inserire in questo campo un valore più grande per
rendere più regolare il movimento del robot Un valore tipico di media è 10.
11. Selezionare la voce Stop Threshold (cnt/updt). Inserire il numero di impulsi per ciclo di
aggiornamento. Se il conteggio degli impulsi per ogni aggiornamento va al di sotto del valore
inserito per questa voce, il sistema considera il convogliatore fermo.

- 30 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING
12. Portare il cursore sulla voce Simulate Enable. Questo elemento consente di abilitare o disabilitare la
simulazione dell'encoder interessato (Passo 8). Il valore standard è OFF. La simulazione dell'encoder
è tipicamente usate per eseguire test di funzionamento.

NOTA
Non è necessario collegare fisicamente un encoder per eseguire la simulazione.
Se, però, l'encoder non è effettivamente collegato, il sistema potrebbe generare
l'allarme “SRVO-082 DAL alarm (Track encoder: Numero encoder)". Questo
allarme non influisce sul funzionamento del robot o sulla simulazione dell'encoder
per il Line Tracking. Alcune istruzioni di Line Tracking (per esempio DEFENC,
LINESIM e LINE) potrebbero funzionare in modo diverso dal previsto quando la
simulazione avviene senza che vi sia un encoder collegato. Per maggiori
informazioni circa le istruzioni di Line Tracking vedere la Sezione 4.5.

• Per abilitare l'encoder, premere il tasto F4, ON. Quando è abilitata la simulazione, il conteggio
dell'encoder viene generato dal sistema in funzione del valore di velocità inserito.
• Per utilizzare gli impulsi provenienti dall'encoder reale, premere il tasto F5, OFF.
Quando la simulazione è disabilitata, gli impulsi saranno letti dall'encoder reale mentre si muove
il convogliatore.

NOTA
Perché sia possibile la simulazione, l'encoder corrispondente deve essere a
propria volta abilitato.

13. Selezionare la voce Simulate Rate (cnt/updt). Inserire il numero desiderato di impulsi per ciclo di
aggiornamento. Questo campo dati viene preso in considerazione solo quando è abilitata la
simulazione dell'encoder.
14. Se si modificano le voci Encoder Axis (Passo 6) oppure Encoder Type (Passo 7), è necessario
eseguire un COLD Start (avviamento freddo) mediante spegnimento e riaccensione del controllore.
Questo deve avvenire prima che si cerchi di eseguire la configurazione della funzione Line Tracking
(Sezione 3.3).
15. Controllare che le impostazioni effettuate per l'encoder siano corrette.
Fare riferimento alla Sezione 3.1.3. Questo deve essere fatto prima di effettuare la configurazione
della funzione Line Tracking (Sezione 3.3).
La configurazione dell'encoder è terminata.
• Se si modificano le voci Encoder Axis o Encoder Type, prima di eseguire la configurazione del
Tracking è necessario spegnere e riaccendere il controllore. Procedere alla Sezione 3.2.
• Se le voci Encoder Axis e Encoder Type non sono state modificate, è ora possibile procedere alla
Sezione 3.3, configurazione del Tracking.

- 31 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

3.1.2 Impostazione del numero dell'encoder


Il numero impostabile per l'encoder è soggetto ad alcune limitazioni.

• Encoder collegato alla scheda di interfaccia per la funzione Line Tracking o all'unità SDU
Assicurarsi di assegnare il numero di encoder in modo che corrisponda al numero della porta a cui è
collegato. Se il numero dell'encoder differisce da quello della connessione sulla scheda di interfaccia
utilizzata, il controllore non è in grado di leggere i dati provenienti dall'encoder. Nella Tabella 3.1.2 (a)
sono riportati i numeri encoder corretti in relazione al numero della connessione sulla scheda di
interfaccia utilizzata.

Tabella 3.1.2 (a) Numeri encoder corretti in relazione al numero della connessione
sulla scheda di interfaccia utilizzata
Scheda di interfaccia per l’encoder di Line Tracking Unità SDU
Numero A20B-8101-0421 A20B-8101-0601
Encoder A02B-0323-C205 (Unità base)
(slot per mini-schede (mini slot
A02B-0323-C204 (Unità di espansione)
a doppia larghezza) a larghezza singola)

1 Encoder collegato alla Encoder collegato alla porta Encoder collegato alla porta JF101.
porta JF21. PULSECODER1.

2 Encoder collegato alla Encoder collegato alla porta Encoder collegato alla porta JF102.
porta JF22. PULSECODER2.

3 Encoder collegato alla porta JF103.

4 Encoder collegato alla porta JF104.

5 Encoder collegato alla porta JF105.

6 Encoder collegato alla porta JF106.

7 Encoder collegato alla porta JF107.

8 Encoder collegato alla porta JF108.

• Collegamento alla scheda Main (un encoder FANUC αA1000S)


Il numero impostabile per l'encoder non è soggetto ad alcuna limitazione.
In questo caso, di solito, il numero di encoder impostato è 1.

• Collegamento alla scheda Main (due o più encoders FANUC)


Quando si utilizzano due o più encoders ed uno di essi è collegato direttamente alla scheda Main,
assicurarsi di impostare per quest'ultimo un numero encoder che sia superiore a quello assegnato a
quello collegato alla scheda di interfaccia per la funzione Line Tracking o all'unità SDU. Se questa
condizione non viene soddisfatta, il controllore non può leggere i dati provenienti dall'encoder. Per
esempio, se si utilizza la scheda Main in combinazione con la scheda di interfaccia per la funzione Line
tracking, agli encoders collegati alle porte 1 e 2 della scheda di interfaccia per la funzione Line
tracking devono essere assegnati i numeri 1 e 2, mentre a quello collegato alla scheda Main deve essere
assegnato il numero 3.

NOTA
Alla scheda Main può essere collegato unicamente un encoder FANUC αA1000S
(A860-0372-T001).

Nella Tabella 3.1.2 (b) è descritta una configurazione di encoders per la funzione Line Tracking
applicabile ai controllori R-30iB / R-30iB Mate.

- 32 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING
Tabella 3.1.2 (b) Esempio di configurazione di encoder (caso di encoder FANUC αA1000S)
Numero
totale di Esempio di configurazione dell'encoder Commenti
encoders

1 • Encoder numero 1 : Collegare l'encoder FANUC


αA1000S alla scheda Main
(R-30iB: JD17, R-30iB Mate: CRS41(*1)).

2 • Encoders numero 1, 2 : Collegare l'encoder FANUC


αA1000S alle porte JF21-JF22 della scheda di
interfaccia per la funzione Line tracking.

3 • Encoders numero 1, 2 : Collegare l'encoder FANUC • Assicurarsi di assegnare all'encoder


αA1000S alle porte JF21-JF22 della scheda di collegato direttamente alla scheda
interfaccia per la funzione Line tracking. Main il numero più alto tra tutti gli
• Encoder numero 3 : Collegare l'encoder FANUC encoders per la funzione Line
αA1000S alla scheda Main Tracking presenti. Nell'esempio di
(R-30iB: JD17, R-30iB Mate: CRS41(*1)). configurazione qui a sinistra,
assegnare i numeri 1 e 2 agli
encoders collegati alle porte della
scheda di interfaccia per la funzione
Line Tracking, mentre all'encoder
collegato alla scheda Main,
assegnare il numero 3.

4 • Encoders numero 1...4 : Collegare l'encoder FANUC • L'unità SDU comporta l'esecuzione di
αA1000S alle porte JF101-JF104 dell'unità SDU base. alcuni lavori di adattamento per il suo
montaggio all'interno dell'armadio
elettrico. Fare riferimento alla
Sezione 2.1.1, Requisiti hardware.

5 • Encoders numero 1...4 : Collegare l'encoder FANUC • Assicurarsi di assegnare all'encoder


αA1000S alle porte JF101-JF104 dell'unità SDU base. collegato direttamente alla scheda
• Encoder numero 5 : Collegare l'encoder FANUC Main il numero più alto tra tutti gli
αA1000S alla scheda Main encoders per la funzione Line
(R-30iB: JD17, R-30iB Mate: CRS41(*1)). Tracking presenti. Nell'esempio di
configurazione qui a sinistra,
assegnare i numeri da 1 a 4 agli
encoders collegati alle porte dell'unità
SDU, mentre all'encoder collegato alla
scheda Main, assegnare il numero 5.
• L'unità SDU comporta l'esecuzione di
alcuni lavori di adattamento per il suo
montaggio all'interno dell'armadio
elettrico. Fare riferimento alla
Sezione 2.1.1, Requisiti hardware.

- 33 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

Numero
totale di Esempio di configurazione dell'encoder Commenti
encoders

6 • Encoders numero 1...4 : Collegare l'encoder FANUC • L'unità SDU comporta l'esecuzione di
αA1000S alle porte JF101-JF104 dell'unità SDU base. alcuni lavori di adattamento per il suo
• Encoders numero 5, 6 : Collegare l'encoder FANUC montaggio all'interno dell'armadio
αA1000S alle porte JF105-JF106 dell'unità SDU di elettrico. Fare riferimento alla
espansione. Sezione 2.1.1, Requisiti hardware.

7 • Encoders numero 1...4 : Collegare l'encoder FANUC • L'unità SDU comporta l'esecuzione di
αA1000S alle porte JF101-JF104 dell'unità SDU base. alcuni lavori di adattamento per il suo
• Encoders numero 5-7 : Collegare l'encoder FANUC montaggio all'interno dell'armadio
αA1000S alle porte JF105-JF107 dell'unità SDU di elettrico. Fare riferimento alla
espansione. Sezione 2.1.1, Requisiti hardware.

8 • Encoders numero 1-4 : Collegare l'encoder FANUC • L'unità SDU comporta l'esecuzione di
αA1000S alle porte JF101-JF104 dell'unità SDU base. alcuni lavori di adattamento per il suo
• Encoders numero 5-8 : Collegare l'encoder FANUC montaggio all'interno dell'armadio
αA1000S alle porte JF105-JF108 dell'unità SDU di elettrico. Fare riferimento alla
espansione. Sezione 2.1.1, Requisiti hardware.

(*1) L'encoder FANUC αA1000S non può essere collegato alla scheda Main di tipo A
(A20B-8200-0790) nel controllore R-30iB Mate. In questo caso, è richiesto l'impiego della scheda di
interfaccia per la funzione Line Tracking. Per avere informazioni riguardanti la possibilità di
collegamento alla scheda Main di un controllore R-30iB Mate dell'encoder FANUC αA1000S, fare
riferimento alla Tabella 3.1.1 (c).

- 34 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

3.1.3 Verifica della correttezza della configurazione dell'encoder


La Figura 3.1.3 mostra in modo schematico come deve essere effettuata la verifica sulla correttezza della
configurazione dell'encoder. Per avere dettagli su un programma di test completo che consenta la verifica
del funzionamento in Line Tracking, fare riferimento alla Sezione 3.4.

Inizio

Abilitare l'encoder dal


menu di configurazione
degli encoders (Menu,
Setup, Encoders)

Abilitare la
simulazione.

Inserire un valore di
Simulation Rate (Velocità per
la simulazione) diverso da 0.

Sì No Controllare se è presente
l'allarme DAL (SRVO-82).
Disabilitare la Il conteggio
degli impulsi Se l'allarme è presente,
simulazione. cambia? significa che l'encoder non
è collegato al controllore.

Assicurarsi che i cavi


Avviare il siano collegati in modo
convogliatore. corretto alle rispettive
porte.

No Nel caso in cui siano state


Il conteggio modificate le voci Encoder
degli impulsi Number e Encoder Type,
cambia?
spegnere e riaccendere il
controllore.

Fine

Fig. 3.1.3 Verifica della configurazione degli encoders

- 35 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

3.2 COLD START (Avviamento freddo)


Se il numero dell'asse o il tipo di encoder sono stati modificati dalla schermata di configurazione degli
encoder (Procedura 3-2), è necessario eseguire un avviamento freddo del controllore (Cold Start).
Lo spegnimento e la successiva riaccensione del controllore causano l'esecuzione di un avviamento
freddo (Cold start). Se il robot è stato configurato perché all'accensione esegua un avviamento caldo, è
possibile forzare l'esecuzione di un avviamento freddo utilizzando la Procedura 3-2 oppure la
Procedura 3-3. Durante un avviamento freddo il controllore effettua le seguenti operazioni:
• Inizializza le variazioni apportate alle variabili di sistema
• Inizializza i cambiamenti alla configurazione degli I/O
• Visualizza la schermata UTILITIES Hints del menu
Per eseguire un avviamento freddo, vedere la Procedura 3-2.
Per eseguire un avviamento freddo dal menu Configuration, vedere la procedura 3-3.

Procedura 3-2 Esecuzione di un avviamento freddo (Cold Start)


Condizioni
• L'area di lavoro del robot deve essere sgombra da personale e da oggetti non necessari.

AVVISO
NON accendere il controllore se esistono condizioni di pericolo potenziale. In
questo caso, darne informazione agli incaricati della sicurezza. L'accensione di
un robot che non sia stato ispezionato può portare a rischi anche gravi.

• Il controllore è collegato e funziona correttamente.


• Il selettore di abilitazione della tastiera di programmazione è OFF ed il pulsante di uomo-morto
non è premuto.
• La voce Remote/Local nel menu di configurazione del sistema deve essere impostata su
LOCAL.

Passi
1. Se il controllore è acceso, spegnerlo aprendo l'interruttore generale.
2. Premere i tasti SHIFT e RESET sulla tastiera di programmazione.
3. Accendere il controllore chiudendo l'interruttore generale.
4. Rilasciare tutti i pulsanti. Apparirà una schermata simile alla seguente.

UTILITIES Hints
ApplicationTool
Vx.xxx XXXX/XX

Copyright xxxx, All Rights Reserved


FANUC CORPORATION
FANUC America Corporation
Licensed Software: Your use constitutes
your acceptance. This product protected
by several U.S. patents.

Eseguendo un avviamento freddo (cold start), il sistema salva i dati inseriti alle voci Encoder Axis o
Encoder Type. Ora è possibile procedere alla Sezione 3.3, Configurazione della funzione Line Tracking.

- 36 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

Procedura 3-3 Esecuzione di un avviamento freddo (cold start) dal menu


Configuration
Passi
1. Se il controllore è acceso, spegnerlo aprendo l'interruttore generale.
2. Premere i tasti PREV e NEXT sulla tastiera di programmazione.
3. Accendere il controllore chiudendo l'interruttore generale.
4. Rilasciare tutti i pulsanti. Apparirà una schermata simile alla seguente.

---------- CONFIGURATION MENU ---------


-
1 Hot start
2 Cold start
3 Controlled start
4 Maintenance
Select >

5. Selezionare la voce Cold Start e premere il tasto ENTER.


Al termine dell'avviamento freddo (cold start), appare la seguente videata.

UTILITIES Hints
ApplicationTool
Vx.xxx XXXX/XX

Copyright xxxx, All Rights Reserved


FANUC CORPORATION
FANUC America Corporation
Licensed Software: Your use constitutes
your acceptance. This product protected
by several U.S. patents.

Eseguendo un avviamento freddo (cold start), il sistema salva i dati inseriti alle voci Encoder Axis o
Encoder Type. Ora è possibile procedere alla Sezione 3.3, Configurazione della funzione Line Tracking.

- 37 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

3.3 CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING


In questa sezione è descritta l'impostazione dei parametri per la funzione Line Tracking.
La configurazione per la funzione Line Tracking è stata separata in diverse procedure per renderne più
semplice l'esecuzione.
• Per la configurazione dei parametri generici per la funzione Line Tracking, vedere la Procedura 3-4.
• Per la definizione del sistema di coordinate nominale per la funzione Line Tracking (Nominal Track
Frame) mediante
• metodo dei tre punti, utilizzare la Procedura 3-5
• inserimento diretto dei valori, utilizzare la Procedura 3-7
• Per la definizione del fattore di scala (Scale Factor) per l'encoder per la funzione Line Tracking, fare
riferimento alla Sezione 3.3.2.
• Verificare che le impostazioni effettuate per la funzione Line Tracking siano corrette, facendo
riferimento alla Sezione 3.3.3.
La configurazione della funzione Line Tracking permette di impostare i parametri, elencati nella
schermata Tracking Setup, per fino a otto diverse tabelle di lavoro (schedules).
I parametri che appaiono nel menu per la configurazione della funzione Line Tracking sono contenuti
nella variabile di sistema $LNSCH. Fare riferimento alla Tabella 3.3 per avere informazioni su ciascuna
voce di configurazione e la sua corrispondenza con le variabili di sistema.

Tabella 3.3 Elementi per la configurazione della funzione Line Tracking


PARAMETRI PER LA DESCRIZIONE VARIABILI DI SISTEMA
CONFIGURAZIONE DELLA FUNZIONE CORRELATE
LINE TRACKING

Schedule Number Indica il numero di tabella di lavoro N/A


Valore: 1 - 8 per un programma in Line Tracking.
Standard: 1

Robot Tracking Specifica il gruppo di assi $LNSCH.$TRK_GRP_NUM


Group Valore: 1 - 5 contenente il robot che funziona in
Standard: 1 Line Tracking utilizzando i dati della
tabella di lavoro interessata.

Tracking Type Specifica il tipo di applicazione in $LNSCH.$TRK_TYPE


Valore: 0 = LINE (LINEARE) Line Tracking.
1 = RAIL (ROTAIA)
2 = CIRC (CIRCOLARE)
Standard: 0

Visual Tracking Indica se il sistema di visione funge Utilizzata solo quando è


anche da meccanismo di presenza presente il software di gestione
pezzo. del sistema di visione.

Use Vision Part Queue Specifica se il sistema di visione Utilizzata solo quando è
sarà utilizzato per gestire la coda presente il software di gestione
dei pezzi. del sistema di visione.

Use Tracking Uframe Questo elemento indica se, nella $LNSCH.$USE_TRK_UFM


tabella di parametri attualmente
selezionata per la funzione Line
Tracking, è utilizzato un sistema di
coordinate definito dall'utente
(Sezione 5.5).

Nominal Tracking Frame Questa voce permette di specificare $LNSCH.$TRK_FRAME


Valore: Posizione (stato) il sistema di coordinate nominale
Standard: Uninit (Non inizializzato) utilizzato nel Line Tracking
cartesiano.
- 38 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

PARAMETRI PER LA DESCRIZIONE VARIABILI DI SISTEMA


CONFIGURAZIONE DELLA FUNZIONE CORRELATE
LINE TRACKING

Track (Ext) Axis Num Indica l'asse ausiliario (esteso) che $LNSCH.$TRK_AXS_NUM
Valore: 0 - 3 sarà utilizzato per il Line tracking
Standard: 0 quando il tipo di tracking selezionato
è RAIL (Rotaia).

Track Axis Direction Questa voce specifica la direzione $LNSCH.$TRK_AXS_DIR


Valore: 1 = TRUE (direzione positiva) del movimento del convogliatore
0 = FALSE (direzione negativa) confrontandola con quella dell'asse
Standard: 1 ausiliario.

Tracking Encoder Specifica quale encoder sarà $LNSCH.$TRK_ENC_NUM


Num Valore: 1 - 8 utilizzato per tutti i programmi che
Standard: 1 faranno riferimento alla tabella di
lavoro interessata (schedule).

Encoder Scale Factor (cnt/mm) o Per sistemi di tracking lineari o $LNSCH.$SCALE


(cnt/deg) mediante rotaia , questa voce
Valore: Da -999999.0 a 999999.0 specifica il numero di impulsi per
Standard: 1.0 millimetro (cnt/mm) di spostamento
Non può essere = 0.0 del convogliatore. Per sistemi di
tracking circolari, questa voce
specifica il numero di impulsi per
grado (cnt/deg) di spostamento del
convogliatore.

Part Detect Dist./Degrees(mm) or (deg) Con questa voce si inserisce la $LNSCH.$TEACH_DIST


Valore: Intero distanza (in millimetri per il tracking
Standard: 0 lineare e mediante rotaia, in gradi
per il tracking circolare) tra il
segnale di presenza pezzo ed una
posizione relativa al Worldframe del
robot.

Vision Uframe Distance Permette di inserire la distanza (in $LNSCH.$VISUFM_DIST


millimetri per il tracking di tipo
lineare e mediante rotaia) tra il
segnale di presenza pezzo e la
posizione in cui il pezzo stesso
viene fotografato dal sistema di
visione. Immettere un valore solo se
si utilizza un sistema di coordinate
per la funzione line Tracking definito
dall'utente (Sezione 5.5).

Trigger INPUT Number Rappresenta il numero di ingresso $LNSCH.$TRG_DIN_NUM


Valore: 0 - 4096 digitale (DI[n], dove n è un numero)
Standard: 0 che deve essere monitorato dal
sistema come segnale di presenza
pezzo.

Trigger Value (cnts) (Conteggio impulsi al Visualizza il valore del conteggio $LNSCH.$TRIG_VALUE
momento della presenza pezzo) degli impulsi al momento dell'ultima
Valore: Intero rilevazione di pezzo presente
Standard: 0 (non inizializzato) (conteggio memorizzato con
l'istruzione SETTRIG).

- 39 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

PARAMETRI PER LA DESCRIZIONE VARIABILI DI SISTEMA


CONFIGURAZIONE DELLA FUNZIONE CORRELATE
LINE TRACKING

Encoder Count (cnts) (Conteggio Questa voce visualizza il valore di $ENC_STAT.$ENC_COUNT


dell'encoder (impulsi)) conteggio attuale per l'encoder
Valore: Intero specificato.

Selected Boundary Set (Limiti della Questa voce specifica quale delle $LNSCH.$SEL_BOUND
finestra di lavoro selezionati) limitazioni (coppie di
Valore: 1 - 10 $LNSCH.$BOUND1[n] e
Standard: 1 $LNSCH.$BOUND2[n]) alla finestra
di lavoro sono utilizzate per il
controllo dell'area di movimento del
robot, per i programmi che utilizzano
la tabella di Tracking corrente
(schedule).

Bndry Set n Up Questa voce specifica la limitazione $LNSCH.$BOUND1[ ]


Bndry Set n Dn all'area di movimento definita in $LNSCH.$BOUND2[ ]
Valore: Da -99999.0 a 99999.0 verso contrario al senso di marcia
Standard: 0.0 del convogliatore.

Seguire la Procedura 3-4 per impostare i parametri per la funzione Line Tracking.

NOTA
Gli encoders devono essere configurati prima dell'impostazione dei parametri per
la funzione Line Tracking. Se non sono stati ancora impostati i dati relativi agli
encoders per il Line Tracking, fare riferimento alla Sezione 3.1.

Procedure 3-4 Configurazione della funzione Line Tracking


Condizioni
• La configurazione degli encoders è già stata effettuata. Vedere la sezione 3.1.

Passi
1. Premere il tasto MENU.
2. Selezionare la voce SETUP.
3. Premere il tasto F1, TYPE.
4. Selezionare la voce 0, NEXT.
5. Selezionare la voce Tracking. Apparirà una schermata simile alla seguente.

SETUP Tracking
1/24
Track Schedule Number : 1
1 Robot Tracking Group : 1
2 Tracking Type : Line
3 Visual Tracking : NO
4 Use Vision part queue: NO
5 Use Tracking Uframe: NO
6 Nominal Track Frame: Stat: WORLD
7 Track (Ext) Axis Num: 0
8 Track Axis Direction: POSITIVE
9 Tracking Encoder Num: 1
10 Enc Scale Factor (cnt/mm): 500.0

[ TYPE ] SCHED

- 40 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING
6. Per visualizzare i dati di un'altra tabella di lavoro per il Line Tracking, premere il tasto F3, SCHED.
Questo indica quale delle otto tabelle di lavoro è visualizzata. Per un programma di Line Tracking,
può essere scelta una tra le otto tabelle di lavoro, specificandone il numero nei dati di intestazione
del programma stesso.

NOTA
Assicurarsi di selezionare il numero corretto di tabella di lavoro per il programma
di Line Tracking in modo che durante la produzione siano utilizzati i dati previsti.

7. Per selezionare uno o più gruppi di assi,


a. Se si desidera impostare più di un gruppo di assi, inserire un valore maggiore di 1 nella
variabile di sistema $LNCFG.$GROUP_MASK. Per avere maggiori informazioni circa le
variabili di sistema, consultare il manuale di riferimento del software.
b. Selezionare la voce Robot Tracking Group. Immettere il numero di gruppo di assi contenente il
robot che funziona in Line Tracking utilizzando i dati della tabella di lavoro interessata.
8. Portare il cursore sulla voce Tracking Type. Questo specifica il tipo di applicazione in Line
Tracking.
9. Premere il tasto F4, CHOICE.
10. Selezionare il tipo di Tracking da utilizzare.
• 1 = Tracking lineare.
Questo corrisponde ad impostare la variabile di sistema $LNSCH[].$TRK_TYPE a 0.
• 2 = Tracking su rotaia.
Questo corrisponde ad impostare la variabile di sistema $LNSCH[].$TRK_TYPE a 1.
Se si sta utilizzando il Tracking su rotaia, andare al Passo 14.
• 3 = Tracking circolare.
Questo corrisponde ad impostare la variabile di sistema $LNSCH[].$TRK_TYPE a 2.

NOTA
Cambiando il tipo di Tracking, cambiano anche i valori del sistema di coordinate
nominale per il Tracking, il numero di asse e la direzione del Tracking. I valori
precedenti rimarranno memorizzati finché non viene selezionato un altro numero
di tabella di lavoro, oppure non termina la fase di configurazione corrente. Se il
tipo di tracking torna ad assumere lo stato precedente, prima di aver selezionato
un altro numero di tabella di lavoro o di lasciare il menu Setup, saranno ripristinati
i valori precedenti.

11. Se si sta utilizzando il sistema di coordinate utente per il Tracking, impostare la voce Use Tracking
Uframe a YES. Altrimenti, impostare questa voce a NO.
12. Se si sta utilizzando il tracking lineare o circolare, portare il cursore alla voce Nominal Track Frame.

ATTENZIONE
Non impostare sistemi di coordinate nominali per il Line Tracking quando si
utilizza la funzione di tracking su rotaia. In quest'ultimo caso, il sistema di
coordinate nominali per la funzione Line Tracking viene impostato
automaticamente a WorldFrame (0,0,0,0,0,0).

- 41 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

13. Premere il tasto F2, DETAIL.


• Se il tipo di Tracking è lineare, apparirà una schermata simile alla seguente.

SETUP Frames
Track Frame Setup (Line) 4/5
Track Frame of Schedule: 1
X: 0.00 Y: 0.00 Z: 0.00
W: 0.00 P: 0.00 R: 0.00
Teach Data :
Origin:UINIT Enc_cnt: 0
X: 0.00 Y: 0.00 Z: 0.00
+X dir:UINIT Enc_cnt: 0
X: 0.00 Y: 0.00 Z: 0.00
+Y dir:UINIT
X: 0.00 Y: 0.00 Z: 0.00
Scale (cnt/mm): 500.00

TEACH COMPUTE SCALE

• Se il tipo di Tracking è circolare, apparirà una schermata simile alla seguente.

SETUP Frames
Track Frame Setup (Circ) 4/5
Track Frame of Schedule: 1
X: 0.00 Y: 0.00 Z: 0.00
W: 0.00 P: 0.00 R: 0.00
Teach Data :
+X dir:UINIT Enc_cnt: 0
X: 0.00 Y: 0.00 Z: 0.00
+Y dir:UINIT Enc_cnt: 0
X: 0.00 Y: 0.00 Z: 0.00
Assist:UINIT
X: 0.00 Y: 0.00 Z: 0.00
Scale (cnt/mm): 8.73

TEACH COMPUTE SCALE

Il menu di configurazione del sistema di coordinate nominali per la funzione Line Tracking fornisce
all'operatore un mezzo per impostare queste coordinate in modo semplice. Infatti, oltre
all'inserimento numerico diretto delle coordinate, il sistema rende possibile l'utilizzo del metodo dei
tre punti.
• Utilizzare la Procedura 3-5 se si utilizza il metodo dei tre punti per impostare il sistema di
coordinate nominali per la funzione Line Tracking. Questo è il metodo consigliato.
• Utilizzare la Procedura 3-7 se si utilizza il metodo dell'inserimento numerico diretto per
impostare il sistema di coordinate nominali per la funzione Line Tracking.

NOTA
Fare riferimento alla Sezione 3.3.1 per avere informazioni più dettagliate circa
l'impostazione del sistema di coordinate nominali per la funzione Line Tracking.

- 42 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING
14. Se si sta utilizzando la funzione di tracking su rotaia, selezionare la voce Track (Ext) Axis Num.
Inserire il numero dell'asse ausiliario (esteso) che sarà utilizzato per la funzione Line tracking
quando il tipo di tracking selezionato è RAIL (Rotaia). Questo numero è impostato automaticamente
a 0 per sistemi in cui la funzione Tracking è di tipo lineare o circolare. I numeri validi sono compresi
tra 1 e 3.
15. Se si sta utilizzando la funzione di Line Tracking su rotaia, portare il cursore sulla voce Track Axis
Direction. Questa voce specifica la direzione del movimento del convogliatore confrontandola con
quella dell'asse ausiliario.
• Se la direzione di movimento è uguale a quella dell'asse ausiliario, premere il tasti F4,
POSITIVE.
• Se la direzione di movimento è opposta a quella dell'asse ausiliario, premere il tasti F5,
NEGATIVE.

NOTA
L'asse ausiliario è utilizzato per lavorare in tracking con il convogliatore quando il
robot è montato su una rotaia. La voce Track Axis Direction è impostata
automaticamente a POSITIVE per la funzione Line Tracking lineare o circolare.

16. Una volta terminata l'impostazione del sistema di coordinate nominali per la funzione Line Tracking
(Sezione 3.3.1), selezionare la voce Tracking Encoder Num. Inserire il numero di encoder che sarà
utilizzato per tutti i programmi che faranno riferimento alla tabella di lavoro interessata (schedule).
17. Portare il cursore sulla voce Encoder Scale Factor.
• Per sistemi di tracking lineari o mediante rotaia, questa voce specifica il numero di impulsi per
millimetro (cnt/mm) di spostamento del convogliatore.
• Per sistemi di tracking circolare, questa voce specifica il numero di impulsi per grado (cnt/deg)
di spostamento del convogliatore.
Il fattore di scala può essere rappresentato da qualsiasi numero ad eccezione di 0.0.
18. Premere il tasto F2, TEACH. Apparirà la schermata di impostazione del fattore di scala. Fare
riferimento alla Sezione 3.3.2 per avere informazioni dettagliate sull'inserimento del fattore di scala
mediante autoapprendimento.

- 43 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

19. Dopo aver inserito il fattore di scala (Procedura 3-8), selezionare la voce Part Detect Dist. Inserire
la distanza (in millimetri per il tracking lineare e mediante rotaia, in gradi per il tracking circolare)
tra il segnale di presenza pezzo ed una posizione relativa al Worldframe del robot. Questa è di solito
l'asse X di WorldFrame, perpendicolare al convogliatore quando il robot si trova nella posizione di
fuori ingombro.
Questo numero crea un riferimento tra il sistema di coordinare nominali per il tracking ed il segnale
di presenza pezzo. Le traiettorie programmate possono essere copiate, in un secondo momento, da
un robot all'altro se, per ciascuno di essi, sono state impostate le distanze dal segnale di presenza
pezzo corrette. Ciò compensa eventuali differenze nella posizione del segnale di presenza pezzo in
un sistema che comprenda più robots.

NOTA
L'impostazione di questo parametro richiede che il valore di scala dell'encoder
(passo 17) sia stato calcolato in modo esatto.Vedere la Fig. 3.3 (a).

Centro del robot rispetto Punto di attivazione del sensore


al convogliatore di presenza pezzo

Misurazione

Senso di marcia
del convogliatore

Segnale di presenza pezzo

Robot

Fig. 3.3 (a) Sensore di presenza pezzo (Tracking lineare e su rotaia)

20. Se si sta utilizzando l'istruzione Tracking User Frame, VISUFRAME, impostare la distanza tra il
segnale di presenza pezzo ed il sistema di visione al valore corretto.
21. Portare il cursore alla voce Trigger Input Number. Inserire il numero di ingresso digitale (DI[n],
dove n è un numero) che deve essere monitorato dal sistema come segnale di presenza pezzo. Questo
segnale di ingresso viene monitorato durante la sincronizzazione con il convogliatore per i
programmi che utilizzano la tabella di lavoro corrente (schedule).
Il valore può essere compreso tra 0 e 4096.
Visualizza il valore del conteggio degli impulsi al momento dell'ultima rilevazione di pezzo presente
(conteggio memorizzato con l'istruzione SETTRIG). Il valore visualizzato non può essere
modificato.
La voce Encoder Count visualizza il valore di conteggio attuale per l'encoder specificato. Il valore
visualizzato non può essere modificato.

- 44 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING
22. Selezionare la voce Selected Boundary Set. Specificare quale delle limitazioni (coppie di
$LNSCH.$BOUND1[n] e $LNSCH.$BOUND2[n]) alla finestra di lavoro sono utilizzate per il
controllo dell'area di movimento del robot, per i programmi che utilizzano la tabella di lavoro
corrente (schedule). Vedere Fig. 3.3 (b).
Questo numero è utilizzato come indice per entrambi gli insiemi di dati. I valori di indice sono
utilizzati nei programmi di Line Tracking per determinare quando il robot deve iniziare e finire il
proprio ciclo di lavoro su un pezzo in movimento.

NOTA
L'istruzione SETBOUND consente di cambiare questo valore da programma.
Fare riferimento alla Sezione 4.5 per ulteriori informazioni.

Per il line tracking circolare, i dati relativi ai limiti di lavoro del robot non devono essere inseriti.
23. Portare il cursore alla voce Bndry Set Up. Questa voce specifica la posizione, presa nel senso
opposto a quello di marcia del convogliatore (IN-BOUND), che il sistema utilizzerà come estremità
della finestra di lavoro. La n indica un numero tra 1 e 10 che rappresenta l'indice di selezione.
Vedere Fig. 3.3 (b).
• Le posizioni di convogliatore situate a monte dell'estremità superiore della finestra di lavoro
sono considerate IN-BOUND, quindi non raggiungibili. Il robot non può eseguire il proprio
ciclo sul pezzo.
• Le posizioni di convogliatore situate a valle dell'estremità superiore (IN-BOUND) della finestra
di lavoro possono essere all'interno della finestra stessa (IN-WINDOW) oppure possono essere
oltre il limite opposto della finestra (GONE)..
Il numero di indice per la limitazione dell'area di movimento del robot (inserito al passo 22) è
utilizzato per accedere ai dati contenuti in questo insieme. Il valore limite superiore deve essere
minore, rispetto al senso di marcia del convogliatore, di quello inserito come limite inferiore,
altrimenti il sistema genera un messaggio di errore.
• Per registrare la posizione corrente del TCP (punto di centro utensile) del robot (relativo al
sistema di coordinate nominali per la funzione Line tracking), premere i tasto SHIFT e F2,
RECORD, simultaneamente. Il sistema calcolerà il valore appropriato di limite e lo
memorizzerà nell'insieme di dati corrispondente.
• Per inizializzare i valore di limite a 0.0 (indipendentemente dal valore di limite inferiore
corrispondente), premere il tasto F4, INIT-BND. Vedere Fig. 3.3 (b).
24. Portare il cursore alla voce Bndry Set Down. Questa voce specifica la posizione, presa nel senso di
marcia del convogliatore, che il sistema utilizzerà come estremità inferiore della finestra di lavoro,
relativa al sistema di coordinate nominali per la funzione Line Tracking. Vedere Fig. 3.3 (b).
• Le posizioni di convogliatore situate a monte dell'estremità inferiore della finestra di lavoro
sono considerate raggiungibili.
• Le posizioni di convogliatore situate a valle dell'estremità inferiore della finestra di lavoro sono
considerate non più raggiungibili (GONE). Il robot non può eseguire il proprio ciclo sul pezzo.
Il numero di indice dei limiti di movimento del robot è utilizzato all'interno di questo insieme di
dati. Il valore limite inferiore deve essere maggiore, rispetto al senso di marcia del
convogliatore, di quello inserito come limite superiore, altrimenti il sistema genera un
messaggio di errore.
• Per registrare la posizione corrente del TCP (punto di centro utensile) del robot (relativo al
sistema di coordinate nominali per la funzione Line tracking), premere i tasto SHIFT e F2,
RECORD, simultaneamente. Il sistema calcolerà il valore appropriato di limite e lo
memorizzerà nell'insieme di dati corrispondente.
• Per inizializzare i valore di limite a 0.0 (indipendentemente dal valore di limite superiore
corrispondente), premere il tasto F4, INIT-BND. Vedere Fig. 3.3 (b).

- 45 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

25. Controllare che le impostazioni effettuate per la funzione Line Tracking siano corrette. Fare
riferimento alla Sezione 3.3.3. Il controllo della configurazione del Line Tracking deve essere
effettuato prima di iniziare la produzione.

Durante la produzione, il sistema attenderà che un pezzo passi al di qua del limite superiore prima che il
robot possa lavorare su di esso. Se un pezzo oltrepassa il limite inferiore (a valle) della finestra di
inseguimento, il sistema genera l'allarme "TRAK-005 Track destination gone error" ed il robot si ferma.

Limite inferiore Limite superiore

Senso di marcia
del convogliatore

(GONE) (IN WINDOW) (IN-BOUND)


Il robot non può più Il robot può lavorare Il robot non può ancora
lavorare sul pezzo sul pezzo lavorare sul pezzo

Fig. 3.3 (b) Limiti della finestra di lavoro

Qui di seguito sono illustrati alcuni esempi di limiti per un sistema che lavora in Line Tracking.
Tutti i valore specificati per i limiti inferiori sono maggiori di quelli corrispondenti ai limiti superiori:
Limite superiore 1 -1500 mm Limite inferiore 1 - 100 mm
Limite superiore 2 - 500 mm Limite inferiore 2 - 500 mm
Limite superiore 3 - 100 mm Limite inferiore 3 - 1200 mm

- 46 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

3.3.1 Definizione del sistema di coordinate nominali per la funzione


Line Tracking (Nominal Tracking Frame)
Il sistema di coordinate nominali per il tracking è utilizzato dal sistema per avere un riferimento
cartesiano rispetto al convogliatore per tutte le posizioni e le istruzioni di movimento.

Per applicazioni in cui la funzione Line Tracking sia di tipo lineare:

• Utilizzare la Procedura 3-5 se si utilizza il metodo dei tre punti per impostare il sistema di coordinate
nominali per la funzione Line Tracking. Questo è il metodo consigliato.
• Utilizzare la Procedura 3-7 se si utilizza il metodo dell'inserimento diretto dei dati per impostare il
sistema di coordinate nominali per al funzione Line Tracking. Questo metodo è da utilizzare se i dati
da inserire sono una copia di quelli contenuti in un'altra tabella di lavoro.

Per applicazioni in cui la funzione Line Tracking sia di tipo circolare:

• Utilizzare la Procedura 3-6 se si utilizza il metodo dei tre punti per impostare il sistema di coordinate
nominali per la funzione Line Tracking circolare. Questo è il metodo consigliato.
• Utilizzare la Procedura 3-7 se si utilizza il metodo dell'inserimento diretto dei dati per impostare il
sistema di coordinate nominali per la funzione Line Tracking circolare. Questo metodo è da
utilizzare se i dati da inserire sono una copia di quelli contenuti in un'altra tabella di lavoro.

Per i casi in cui la funzione Line Tracking sia del tipo su rotaia il sistema imposta automaticamente il
sistema di coordinate nominali per il tracking al valore (0,0,0,0,0,0) WorldFrame.

ATTENZIONE
Non impostare alcun sistema di coordinate utente (UserFrame) per i programmi
che devono funzionare in Line Tracking. Se si imposta ed utilizza un sistema di
coordinate utente in un programma di tracking, i movimenti del robot possono
risultare imprevedibili. Se, in un programma di tracking, si tenta di registrare una
posizione che contenga informazioni relative ad un sistema di coordinate utente
diverso da WorldFrame (UF : 0), il sistema genera un messaggio di errore. Per
tutte le istruzioni di movimento contenute in un programma di Line Tracking, il
software del robot utilizza il sistema di coordinate nominali per il Tracking.

Metodo a tre punti


Il metodo dei tre punti è un procedimento che consente di definire in modo semplice il sistema di
coordinate nominali per la funzione Line tracking. Durante la registrazione del sistema di coordinate, si
porta il cursore in corrispondenza di ciascuna delle tre posizioni elencate nella schermata che appare sul
display. Per ognuna delle tre posizioni viene visualizzato un valore, compreso tra i tre seguenti, che indica
lo stato di utilizzo ed esecuzione del calcolo:
• UNINIT - notifica l'operatore che la posizione interessata non è ancora stata registrata
• RECORDED - indica che la posizione è stata registrata, ma non è stata ancora utilizzata per il
calcolo
• PROCESSED - indica che la posizione è stata registrata ed è già stata utilizzata per calcolare un
nuovo sistema di coordinate nominali per la funzione Line Tracking
Ogni volta che viene selezionata una di queste posizioni, appare la parola RECORD nell'ultima riga in
basso del display, in corrispondenza del tasto F2. Per registrare la posizione attuale del TCP del robot, che
sarà utilizzata successivamente per il calcolo, premere i tasti SHIFT e RECORD simultaneamente; lo
stato di utilizzo della posizione selezionata passa a RECORDED.

- 47 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

AVVISO
Prima di eseguire questa procedura assicurarsi che il TCP del robot sia stato
definito correttamente. Altrimenti, potrebbero verificarsi incidenti al personale o
alle apparecchiature. Per maggiori informazioni, fare riferimento alla Sezione che
descrive la definizione di un sistema di coordinate utensile nel Manuale per
l'operatore del controllore R-30iB / R-30iB Mate (Funzioni di base) (B-83284IT).

Per applicazioni in cui la funzione Line Tracking sia di tipo lineare


Quando si definisce il sistema di coordinate nominali per la funzione Line Tracking devono essere tenuti
presenti i seguenti aspetti:
• L'asse X del sistema di coordinate nominali per la funzione Line Tracking deve puntare nella stessa
direzione del senso di marcia del convogliatore. Eseguire la Procedura 3-5 per questo e per definire
gli altri assi del sistema di coordinate nominali per la funzione Line Tracking. Gli asse Y e Z sono
definibili dall'utente, ma, tipicamente, l'asse Z punta verso l'alto perpendicolarmente alla superficie
del convogliatore. Vedere la Fig. 3.3.1 (a).
• La posizione di origine del sistema di coordinate per la funzione Line tracking è arbitraria. Potrebbe
essere anche posta in corrispondenza dell'origine del WorldFrame (0,0,0). L'orientamento, invece, è
molto importante e de ve essere lasciato invariato, così come memorizzato con la Procedura 3-5.
Dopo avere impostato questo valore, e aver registrato le posizioni limite della finestra di
inseguimento, non modificarlo.
• Tutte le posizioni che delimitano il campo di movimento del robot sono registrate rispetto a questo
sistema di coordinate.
— Per la funzione Line Tracking lineare, i valori che delimitano il campo di movimento del robot
sono espressi in millimetri sull'asse X del sistema di coordinate nominali per la funzione Line
tracking.
— Per la funzione Line Tracking su rotaia, i valori che delimitano il campo di movimento del robot
sono espressi da posizioni dell'asse ausiliario (esteso) rispetto a WorldFrame.

(Sistema di coordinate nominale per la funzione Line Tracking)

(Nota: Questo sistema di coordinate


nominali per la funzione Line
Tracking avrà la sua origine nella
posizione denominata Origin).
Tnom

direzione +Y

Origine
Distanza dal segnale di Senso di marcia del convogliatore
presenza pezzo (mm) +direzione X

Segnale di presenza pezzo

WORLD

Fig. 3.3.1 (a) Sistema di coordinate nominali per la funzione Line Tracking
- Senso di marcia del convogliatore

- 48 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

Procedura 3-5 Metodo dei tre punti per la definizione del sistema di coordinate
nominali per la funzione Line tracking
Condizioni
• L'operatore ha selezionato la voce Nominal Track Frame dal menu SETUP, Tracking.
Vedere la Procedura 3-4, Passo 12.
• Sul display è visualizzata la schermata Track Frame.

Passi
1. Portare il cursore in corrispondenza della posizione contrassegnata dalla dicitura ORIGIN.
La schermata che segue rappresenta un esempio di visualizzazione.

SETUP Frames
Track Frame Setup (Line) 4/5
Track Frame of Schedule: 1
X: 0.00 Y: 0.00 Z: 0.00
W: 0.00 P: 0.00 R: 0.00
Teach Data :
Origin:RECORDED Enc_cnt: 2356
X: 2241.80 Y: 754.09 Z: 30.00
+X dir:RECORDED Enc_cnt: 2356
X: 2241.80 Y: 954.09 Z: 30.00
+Y dir:UINIT
X: 0.00 Y: 0.00 Z: 0.00
Scale (cnt/mm): 500.00

TEACH COMPUTE SCALE

2. Muovere il TCP del robot in una posizione appropriata lungo il convogliatore.


(Questa posizione deve essere facilmente distinguibile, sia che si trovi fisicamente sul convogliatore,
sia che si tratti di un riferimento preso su un pezzo che si muova con il convogliatore).
3. Registrare questa posizione premendo i tasto SHIFT e TEACH simultaneamente. Lo stato della
posizione denominata ORIGIN deve passare a RECORDED. Il sistema aggiorna anche le coordinate
X, Y, Z ed il valore di conteggio degli impulsi dell'encoder in funzione, rispettivamente, della
posizione del TCP e del conteggio impulsi attuale.
4. Portare il cursore in corrispondenza della posizione contrassegnata dalla dicitura +X Direction.
5. Allontanare il robot dal pezzo o dal convogliatore in modo che il pezzo o il convogliatore stessi
possano essere mossi senza urtare il robot.
6. Muovere il convogliatore in avanti (cioè nella direzione del normale senso di marcia) della massima
distanza raggiungibile dal robot.
7. Fermare il convogliatore.
8. Muovere il robot nella stessa posizione relativa al convogliatore (o al pezzo) utilizzata quando era
stata registrata la posizione ORIGIN.
9. Registrare questa posizione premendo i tasto SHIFT e TEACH simultaneamente. (Lo stato della
posizione denominata + X Direction deve passare a RECORDED). Il sistema aggiorna anche le
coordinate X, Y, Z ed il valore di conteggio degli impulsi dell'encoder in funzione, rispettivamente,
della posizione del TCP e del conteggio impulsi attuale.
10. Portare il cursore in corrispondenza della posizione contrassegnata dalla dicitura +Y Direction.
11. Senza più muovere il convogliatore (o il pezzo), spostare il robot di almeno 50mm in direzione
perpendicolare all'asse di marcia del convogliatore.
Tipicamente lo spostamento del robot avviene verso il lato sinistro del convogliatore, visto nel suo
senso di marcia, in modo che l'asse Z del sistema di coordinate nominali risultante punti verso l'alto.
12. Registrare questa posizione premendo i tasto SHIFT e TEACH simultaneamente.
(Lo stato della posizione denominata + Y Direction deve passare a RECORDED).

- 49 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

13. Per processare tutti i dati di posizioni registrate fin qui e, quindi, calcolare il sistema di coordinate
nominali per la funzione Line Tracking, premere il tasto F3, COMPUTE. Al termine del calcolo, lo
stato delle tre posizioni passerà a PROCESSED e saranno aggiornate le componenti del nuovo
sistema di coordinate nominali per la funzione Line Tracking. La schermata che segue rappresenta
un esempio di visualizzazione.

SETUP Frames
Track Frame Setup (Line) 4/5
Track Frame of Schedule: 1
X: 2241.80 Y: 754.09 Z: 30.00
W: 0.00 P: 0.00 R: 0.00
Teach Data :
Origin:RECORDED Enc_cnt: 2356
X: 2241.80 Y: 754.09 Z: 30.00
+X dir:RECORDED Enc_cnt: 2356
X: 2241.80 Y: 954.09 Z: 30.00
+Y dir:RECORDED
X: 2241.80 Y: 954.09 Z: 30.00
Scale (cnt/mm): 500.00

TEACH COMPUTE SCALE

14. Il valore di scala dell'encoder può essere impostato qui, per questa tabella di parametri di tracking, o
modificando l'elemento Scale nel menu principale di configurazione della funzione Line Tracking.
Se non si intende definire il fattore di scala dell'encoder in questo momento, fare riferimento alla
Sezione 3.3.2 ed eseguire l'operazione nel momento desiderato. Se si decide di impostare il valore di
scala dell'encoder in questo frangente, eseguire le operazioni descritte qui di seguito: Portare il
cursore in corrispondenza della voce +X dir. Apparirà la scritta SCALE sulla linea dei comandi
associati ai tasti funzione. Calcolare il valore di scala dell'encoder premendo i tasti funzione SHIFT
e SCALE. Il nuovo valore di scala dell'encoder viene aggiornato.

La definizione del sistema di coordinate nominali per la funzione Line Tracking, per mezzo del metodo
dei tre punti, è terminata. Ora si può tornare alla Procedura 3-4 per la configurazione della funzione
Line tracking, Passo 16.

Per applicazioni in cui la funzione Line Tracking sia di tipo circolare


Quando si definisce il sistema di coordinate nominali per la funzione Line Tracking circolare devono
essere tenuti presenti i seguenti aspetti:
• I tre punti sono utilizzati per calcolare il centro (CENTER) del convogliatore, che sarà poi
considerato come l'origine del sistema di coordinate nominali per la funzione Line Tracking
circolare.
• La posizione +Y, rispetto alla posizione +X, deve puntare nella direzione del senso di marcia del
convogliatore. Ciò stabilisce l'orientamento del sistema di coordinate nominali per la funzione Line
Tracking.
• La posizione denominata Assistant è arbitraria, ma deve trovarsi come indicato nella Figura 3.3.1 (b)
oppure nella Figura 3.3.1 (c).
• Se il convogliatore si muove in senso antiorario, l'asse Z del sistema di coordinate nominali per la
funzione Line Tracking deve puntare verso l'alto. Vedere la Fig. 3.3.1 (b).
• Nel caso, invece, in cui il convogliatore si muova in senso orario, l'asse Z deve puntare verso il
basso. Vedere la Fig. 3.3.1 (c).
• L'asse X del sistema di coordinate nominali per la funzione Tracking deve sempre puntare verso la
posizione +X utilizzata per calcolare il sistema di coordinate stesso.
• Tutte le posizioni inserite in programmi di tracking sono registrate rispetto a questo sistema di
coordinate.
• Per la funzione Line Tracking circolare, i limiti al movimento del robot non devono essere impostati.

- 50 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

(Sistema di coordinate nominale per la funzione Line Tracking)

Tnom
Distanza dal segnale
di presenza pezzo

Segnale di
presenza pezzo

Posizione
Avanzamento convogliatore Ausiliaria

Posizione +X
Posizione +Y
Fig. 3.3.1 (b) Sistema di coordinate nominali per la funzione Line Tracking circolare
per rotazione antioraria del convogliatore

(Sistema di coordinate nominale per la funzione Line Tracking)


Tnom
Distanza dal segnale
di presenza pezzo

Segnale di
presenza pezzo
Posizione
Assistant Position
Ausiliaria Avanzamento convogliatore

Posizione +X
Posizione +Y

Fig. 3.3.1 (c) Sistema di coordinate nominali per la funzione Tracking circolare
per rotazione in senso orario del convogliatore

- 51 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

Procedura 3-6 Metodo dei tre punti per la definizione del sistema di coordinate
nominali per la funzione Line Tracking circolare
Condizioni
• L'operatore ha selezionato la voce Nominal Track Frame dal menu SETUP, Tracking. Vedere
la Procedura 3-4, Passo 12.
• Sul display è visualizzata la schermata Track Frame.

Passi
1. Portare il cursore in corrispondenza della posizione contrassegnata dalla dicitura +X Direction.
Vedere la Figura 3.3.1 (b) oppure la Figura 3.3.1 (c) che mostrano come registrare il sistema di
coordinate nominali per la funzione Line Tracking di tipo circolare.

SETUP Frames
Track Frame Setup (Circ) 4/5
Track Frame of Schedule: 1
X: 0.00 Y: 0.00 Z: 0.00
W: 0.00 P: 0.00 R: 0.00
Teach Data :
+X dir:RECORDED Enc_cnt: 2356
X: 2241.80 Y: 754.09 Z: 30.00
+Y dir:RECORDED Enc_cnt: 2356
X: 2241.80 Y: 954.09 Z: 30.00
Assist:UINIT
X: 0.00 Y: 0.00 Z: 0.00
Scale (cnt/deg): 8.73

TEACH COMPUTE SCALE

2. Muovere il TCP del robot in una posizione appropriata lungo il convogliatore.


(Questa posizione deve essere facilmente distinguibile, sia che si trovi fisicamente sul convogliatore,
sia che si tratti di un riferimento preso su un pezzo che si muova con il convogliatore).
3. Registrare questa posizione premendo i tasto SHIFT e TEACH simultaneamente.
Lo stato della posizione denominata + X Direction deve passare a RECORDED.
4. Portare il cursore in corrispondenza della posizione contrassegnata dalla dicitura +Y Direction.
5. Allontanare il robot dal pezzo o dal convogliatore in modo che il pezzo o il convogliatore stessi
possano essere mossi senza urtare il robot.
6. Muovere il convogliatore in avanti (cioè nella direzione del normale senso di marcia) per almeno
30 - 40 gradi (il più distante possibile, compatibilmente con la raggiungibilità da parte del robot).
7. Fermare il convogliatore.
8. Muovere il robot nella stessa posizione relativa al convogliatore (o al pezzo) utilizzata quando era
stata registrata la posizione +X Direction.
9. Registrare questa posizione premendo i tasto SHIFT e TEACH simultaneamente. Lo stato della
posizione denominata + Y Direction deve passare a RECORDED.
10. Selezionare con il cursore la posizione Assistant.
11. Muovere il convogliatore in avanti (nel normale senso di marcia) di un angolo pari ad almeno
30 o 40 gradi (maggiore è la distanza tra i punti, più precisa risulta la definizione, compatibilmente
con la loro raggiungibilità da parte del robot).
12. Registrare questa posizione premendo i tasto SHIFT e TEACH simultaneamente.
Lo stato della posizione denominata Assistant deve passare a RECORDED.
13. Per processare tutti i dati di posizioni registrate fin qui e, quindi, calcolare il sistema di coordinate
nominali per la funzione Line Tracking, premere il tasto F4, COMPUTE. Al termine del calcolo, lo
stato delle tre posizioni passerà a PROCESSED e saranno aggiornate le componenti del nuovo
sistema di coordinate nominali per la funzione Line Tracking. La schermata che segue rappresenta
un esempio di visualizzazione.

- 52 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING
SETUP Frames
Track Frame Setup (Circ) 4/5
Track Frame of Schedule: 1
X: 1541.80 Y: 564.09 Z: 30.00
W: 0.00 P: 0.00 R: 0.00
Teach Data :
+X dir:RECORDED Enc_cnt: 2356
X: 2241.80 Y: 754.09 Z: 30.00
+Y dir:RECORDED Enc_cnt: 2356
X: 2241.80 Y: 954.09 Z: 30.00
Assist:RECORDED
X: 2241.80 Y: 1035.09 Z: 30.00
Scale (cnt/deg): 8.73

TEACH COMPUTE SCALE

14. Il valore di scala dell'encoder può essere impostato qui, per questa tabella di parametri di tracking, o
modificando l'elemento Scale nel menu principale di configurazione della funzione Line Tracking.
Se si desidera definire il valore di scala dell'encoder in questo momento, eseguire le operazioni
descritte ai punti che seguono.
15. Portare il cursore in corrispondenza della voce +X dir. Apparirà la scritta SCALE sulla linea dei
comandi associati ai tasti funzione. Calcolare il valore di scala dell'encoder premendo i tasti
funzione SHIFT e SCALE. Il nuovo valore di scala dell'encoder viene aggiornato.

La definizione del sistema di coordinate nominali per la funzione Line Tracking, per mezzo del metodo
dei tre punti, è terminata. Ora si può tornare alla Procedura 3-4 per la configurazione della funzione
Line tracking, Passo 16.

Immissione diretta
Con questo metodo, i valori che definiscono le componenti del sistema di coordinate nominali per la
funzione Line Tracking (x, y, z, w, p, r) vengono inseriti manualmente. Questo metodo è da utilizzare se i
dati da inserire sono una copia di quelli contenuti in un'altra tabella di lavoro.

Procedura 3-7 Inserimento numerico diretto dei valori che definiscono il sistema di
coordinate nominali per la funzione Line Tracking
Condizioni
• L'operatore ha selezionato la voce Nominal Track Frame dal menu SETUP, Tracking.
Vedere la Procedura 3-4, Passo 12.
• Sul display è visualizzata la schermata Track Frame.

Passi
1. Portare il cursore su una delle componenti del sistema di coordinate nominali per la funzione Line
Tracking.
2. Premere il tasto ENTER per selezionare uno dei valori del sistema di coordinate nominali per la
funzione Line Tracking.
3. Immettere un nuovo valore. La variabile di sistema $LNSCH[n].$TRK_FRAME viene direttamente
aggiornata al momento dell'immissione del nuovo valore ed è immediatamente utilizzabile dalla
tabella di lavoro corrente (schedule).
4. Ripetere le operazioni descritte ai Punti da 1 a 3 per ciascuno dei valori (x, y, z, w, p, r) che si
desidera impostare.
La definizione del sistema di coordinate nominali per la funzione Line Tracking, utilizzando il
metodo dell'inserimento numerico diretto, è terminata. Ora si può tornare alla Procedura 3-4 per la
configurazione della funzione Line tracking, Passo 16.

- 53 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

3.3.2 Definizione del fattore di scala dell'encoder (Scale Factor)


Il fattore di scala dell'encoder è il valore di conversione utilizzato per correlare il conteggio degli impulsi
provenienti dall'encoder con il movimento del convogliatore.

Questo valore è un numero decimale (espresso in frazioni di conteggio impulsi per millimetro o grado)
che rappresenta l'avanzamento del convogliatore. Il segno (+/-) del fattore di scala è ESTREMAMENTE
importante, visto che l'encoder potrebbe essere stato cablato nel controllore in modo che fornisca valori di
conteggio in avanti o indietro quando il convogliatore si muove in avanti sul proprio senso di marcia. Il
segno del fattore di scala non deve essere confuso con il valore dato alla direzione dell'asse di tracking
quando il robot è montato su rotaia.
Il fattore di scala dell'encoder può essere definito per autoapprendimento, oltre che per inserimento
numerico diretto. Utilizzare la Procedura 3-8 per definire il fattore di scala con il metodo
dell'autoapprendimento.

AVVISO
Prima di eseguire questa procedura assicurarsi che il TCP del robot sia stato
definito correttamente. Altrimenti, potrebbero verificarsi incidenti al personale o
alle apparecchiature. Per maggiori informazioni, fare riferimento alla Sezione che
descrive la definizione di un sistema di coordinate utensile nel Manuale per
l'operatore del controllore R-30iB / R-30iB Mate (Funzioni di base) (B-83284IT).

Suggerimenti per la registrazione


Durante l'esecuzione di questa procedura, le due posizioni del robot (cioè lo stesso punto preso sul
convogliatore o sul pezzo in due posizioni di convogliatore differenti) e le due posizioni del convogliatore
sono memorizzate internamente dal sistema. Per determinare il fattore di scala dell'encoder, il controllore
calcola la seguente equazione.
variazione nel conteggio degli impulsi
scala =
variazione nella posizione del robot

Sia la distanza tra le posizioni prese sul convogliatore, sia la precisione di posizionamento del robot sono
molto importanti nel calcolo. Il segno di riferimento sul convogliatore o sul pezzo dovrebbe essere
posizionato nel punto più lontano raggiungibile dal robot, sia in una direzione che in quella opposta
(sempre lungo l'asse di movimento del convogliatore stesso).

Il TCP del robot deve essere portato con la stessa precisione nella posizione di riferimento sul
convogliatore o sul pezzo in entrambi i punti utilizzati per l'autoapprendimento. Ciò consentirà di ottenere
la più alta risoluzione e precisione per il calcolo del fattore di scala dell'encoder.

NOTA
Per sistemi che utilizzino la funzione Line Tracking del tipo su rotaia (asse
esterno non integrato), durante l'esecuzione di questa procedura deve essere
cambiata unicamente la posizione della rotaia stessa. In caso contrario il calcolo
risulterà impreciso.

AVVISO
Spostare il robot, o i robots, in modo che non vi siano interferenze nel momento
in cui il convogliatore o i robots vengono mossi. Altrimenti, potrebbero verificarsi
incidenti al personale o alle apparecchiature.

- 54 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

Procedura 3-8 Definizione del fattore di scala per autoapprendimento


Condizioni
• Questa procedura può essere eseguita in fase di configurazione del sistema di coordinate
nominali per la funzione Line Tracking lineare o circolare. Se questa operazione è già stata
eseguita, è possibile ignorare questa procedura. Per la funzione Line Tracking mediante rotaia,
invece, non vi è configurazione del sistema di coordinate nominali per la funzione Line
Tracking e, quindi, l'impostazione del fattore di scala dell'encoder deve essere effettuata in
questo menu.

• L'operatore ha selezionato la voce Scale Factor e poi ha premuto il tasto F2, TEACH, in modo
che sul display sia apparsa la schermata Scale Factor. Fare riferimento alla seguente schermata
(per Line Tracking lineare o mediante rotaia) a titolo di esempio.

SETUP Encoder Scale


3/3
Track Schedule: 1
Track Scale (cnt/mm): 500.000

Start Point: RECORDED


TCP X:2241.80 Y: 754.09 Z: 30.00
Encoder Count: 2356
End Point: RECORDED
TCP X:2241.80 Y: 954.09 Z: 30.00
Encoder Count: 13567

TEACH COMPUTE

Passi
1. Portare il cursore in corrispondenza della voce Start Point. Muovere manualmente il TCP del robot
in una posizione ben definita sul pezzo. Premere i tasti SHIFT e TEACH simultaneamente. Lo stato
dell'elemento Start Point cambierà da UNINIT a RECORDED. La posizione del TCP ed il conteggio
degli impulsi encoder (voce Encoder Count) verranno aggiornati.
2. Muovere il TCP del robot fuori ingombro, così che sia possibile fare avanzare il convogliatore senza
che si verifichino interferenze.
3. Fare avanzare il convogliatore in modo che il pezzo sia trasferito all'estremità dell'area di lavoro del
robot.
4. Portare il cursore in corrispondenza della voce End Point. Muovere manualmente il TCP del robot in
una posizione ben definita sul pezzo. Premere i tasti SHIFT e TEACH simultaneamente. Lo stato
dell'elemento End Point cambierà da UNINIT a RECORDED. La posizione del TCP ed il conteggio
degli impulsi encoder (voce Encoder Count) verranno aggiornati.
5. Premere i tasti SHIFT e COMPUTE simultaneamente. Il fattore di scala dell'encoder viene calcolato
e aggiornato.
6. Muovere il TCP del robot fuori ingombro, così che sia possibile fare avanzare il convogliatore senza
che si verifichino interferenze. La procedura di definizione del fattore di scala dell'encoder è
terminata. Ora si può tornare alla Procedura 3-4 per la configurazione della funzione Line tracking,
Passo 19.

- 55 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

3.3.3 Verifica della corretta configurazione della funzione Line


Tracking
La Figura 3.3.3 illustra in modo schematico come deve essere effettuata la verifica sulla correttezza della
configurazione della funzione Line Tracking. Per avere dettagli su un programma di test completo che
consenta la verifica del funzionamento in Line Tracking, fare riferimento alla Sezione 3.4.

Inizio

Assicurarsi che
l'encoder sia stato
abilitato dal menu
SETUP, Encoders.

Generare i segnali encoder:


-Simulazione
oppure
-Messa in movimento del convogliatore

No
Questo Creare un semplice Sì Controllare che il numero
programma programma di test. Il conteggio di encoder di tracking
non deve degli impulsi
(Tracking Encoder
necessariamente cambia?
Number) visualizzato sia
essere definito quello corretto.
per
funzionamento in
Line Tracking.

Eseguire il
programma di test.

Verificare che il
valore di trigger (Trigger No
Value) visualizzato nel
menu SETUP, Tracking,
sia cambiato.

Fine

Fig. 3.3.3 Verifica della configurazione della funzione Line Tracking

- 56 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

3.4 PROGRAMMI DI ESEMPIO PER LA VERIFICA DELLA


CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING
Questa sezione contiene un programma di test che può essere utilizzato per verificare che la
configurazione della funzione Line Tracking sia stata effettuata correttamente. Utilizzare questo
programma dopo aver verificato la correttezza della configurazione degli encoders (Sezione 3.1.2) e della
funzione Line Tracking (Sezione 3.3.3).

NOTA
Per avere maggiori informazioni sulla creazione e modifica di un programma,
vedere il Capitolo 4.

Questo programma può essere impiegato per controllare il comportamento delle funzioni di base del Line
Tracking. Devono essere definite tre posizioni:
1. Una posizione di fuori ingombro per il robot.
2. Una posizione di approccio del robot da utilizzare per il ciclo di Tracking.
3. Una posizione sul pezzo sul quale dovrà muoversi il robot con il convogliatore in movimento.

3.4.1 Esempio di programma MAIN


Nel programma MAIN mostrato nella Figura 3.4.1 :
• Dati da inserire nell'intestazione (Detail, Next): Schedule 0 (Non tracking)
• Il segnale di presenza pezzo è DI[1].
• Il registro R[1] è disponibile per essere utilizzato.
• I valori di limitazione della finestra di lavoro del robot (BOUND[1]) sono stati impostati in modo
corretto (es. 0 e 1000).
• P[1] è la posizione di fuori ingombro.

Esempio 3.4.1 Programma MAIN


PROG MAIN
/MN
1: ! MUOVE IN POSIZIONE DI HOME
2: J P[1] 50% FINE ;
3: ! ABILITAZIONE DELL'ENCODER
4: LINE[1] ON ;
5: ! ATTESA DI PRESENZA PEZZO
6: WAIT DI[1]=ON ;
7: ! ACQUISIZIONE DEL VALORE DI TRIGGER
8: LINECOUNT[1] R[1] ;
9: ! SCRITTURA DEL VALORE DI TRIGGER
10: SETTRIG LNSCH[1] R[1] ;
11: ! SELEZIONE DEI LIMITI DELLA FINESTRA DI LAVORO
12: SELBOUND LNSCH[1] BOUND[1] ;
13: ! CHIAMATA DEL PROGRAMMA DI TRACKING
14: CALL TRACK ;
15: ! MUOVE IN POSIZIONE DI HOME
16: J P[1] 50% FINE ;
/END

- 57 -
3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING B-83474IT/02

3.4.2 Esempio di sotto-programma TRACK


Nel programma TRACK mostrato nella Figura 3.4.2 :
• Dati da inserire nell'intestazione (Detail, Next): Schedule 1, Cont. Track = FALSE, SELBND=0.
• P[2] è la posizione di approccio del robot al pezzo, tipicamente situata sopra quest'ultimo
(vedere la Figura 3.4.2).
• P[3] è la posizione di riferimento sul pezzo (vedere la Figura 3.4.2).

ATTENZIONE
Non utilizzare l'istruzione PAUSE nel programma che funziona in Line tracking o
in un programma da esso richiamato. Facendo questo, potrebbero verificarsi
movimenti imprevedibili del robot alla ripresa dell'esecuzione.

Esempio 3.4.2 Sotto-programma: TRACK


/PROG TRACK
/MN
1: ! MUOVE ALLA POSIZIONE DI APPROCCIO
2: L P[2] 500mm/sec FINE ;
3: ! MUOVE SUL PEZZO
4: L P[3] 500mm/sec FINE ;
5: ! ATTENDE 5 SECONDI
6: WAIT 5.00(sec) ;
7: ! MUOVE ALLA POSIZIONE DI APPROCCIO
8: L P[2] 500mm/sec FINE ;
/END

Sensore di presenza pezzo Punto di avvicinamento Convogliatore


Pezzo

Punto di riferimento

Senso di marcia del convogliatore

Fig. 3.4.2 Posizioni di approccio e di Tracking

- 58 -
B-83474IT/02 3.CONFIGURAZIONE DELLA FUNZIONE LINE TRACKING

3.4.3 Verifica del fatto che l'esecuzione del programma di test sia
corretta
Quando i programmi MAIN (Esempio 3.4.1) e TRACK (Esempio 3.4.2) vengono eseguiti, il robot
deve:
1. Muoversi nella posizione P[1].
2. Attendere fino a quando un pezzo non avrà oltrepassato il sensore di presenza pezzo e non sarà
entrato nella finestra di lavoro delimitata dai valori contenuti in BOUND[1].
3. Muoversi al punto di approccio P[2].
4. Muoversi nella posizione di riferimento sul pezzo P[3].
5. Restare in quella posizione, rispetto al pezzo e compensando il movimento del convogliatore, per 5
secondi.
6. Muoversi di nuovo alla posizione P[2], allontanandosi così dal pezzo.
7. Tornare nella posizione P[1].

Il robot non si muove come previsto


Se il robot non si muove come previsto,
1. Verificare che il sistema di coordinate nominali per il Line Tracking sia stato calcolato correttamente.
(Ved. Sezione 3.3.1).
2. Verificare che il fattore di scala dell'encoder per la tabella di lavoro 1 sia stato calcolato
correttamente. (Ved. Sezione 3.3.2).
3. Verificare che la distanza dal segnale di presenza pezzo sia stata misurata ed inserita correttamente.
(Vedere la Fig. 3.3 (a)).
4. Confermare che il sistema di tracking fosse sincronizzato correttamente quando è stata eseguita la
registrazione delle posizioni. (Vedere la Procedura 4-3)
5. Verificare che la simulazione dell'encoder sia disabilitata.

Il robot non si muove nelle posizioni di tracking


Se il robot non si muove nelle posizioni di tracking,
1. Verificare che il fattore di scala dell'encoder per la tabella di lavoro 1 sia stato calcolato
correttamente. (Ved. Sezione 3.3.2).
2. Verificare che i valori di limitazione del campo di movimento del robot per la tabella 1 siano corretti,
in particolare se il sistema genera il messaggio di errore TRAK-005 Track Destination Gone.
(Vedere la Fig. 3.3 (b)).
3. Mentre il programma è in esecuzione, richiamare il menu SETUP, Tracking.
a. Verificare che il valore di trigger venga aggiornato una sola volta all'inizio del programma.
b. Verificare che il conteggio degli impulsi encoder venga aggiornato mentre il programma è in
esecuzione.
c. Verificare che il valore del conteggio sia coerente con il tipo di encoder utilizzato.
(Vedere la Procedura 3-4)

SETUP Encoders
1/8
Encoder Number : 1
1 Encoder Axis : 0
2 Encoder Type : INCREMENTAL
3 Encoder Enable : OFF
Current Count (cnts) : 0
4 Multiplier (ITP/update) : 1
5 Average (updates) : 1
6 Stop Threshold (cnt/updt) : 0
7 Simulate : Enable : OFF
8 Rate (cnt/updt) : 0

[ TYPE ] ENCODER [ CHOICE ]

- 59 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

4 CREAZIONE DI PROGRAMMI LINE


TRACKING
4.1 PANORAMICA
Un programma per robot FANUC comprende una serie di comandi, o istruzioni, che specificano come il
robot stesso e altri macchinari si debbano muovere e come debbano eseguire compiti prestabiliti. Per
esempio, un programma può:
1. Muovere il robot in modo appropriato in posizioni prestabilite all'interno della cella di lavoro.
2. Eseguire un'operazione, come la saldatura a punti, la verniciatura, la saldatura ad arco, ecc.
3. Inviare segnali digitali ad altri dispositivi presenti nella cella di lavoro.
4. Riconoscere e rispondere a segnali in ingresso inviati da altri dispositivi presenti nella cella di
lavoro.
5. Tenere memoria del tempo ciclo, del conteggio dei pezzi prodotti o del numero di programma
eseguito.
Questo capitolo descrive come eseguire ciascuna delle seguenti operazioni, in relazione al funzionamento
in Line Tracking.
• Progettare un programma, Sezione 4.2
• Creare e modificare un programma, Sezione 4.3
• Sincronizzare il convogliatore, Sezione 4.3.2
• Risincronizzare il convogliatore, Sezione 4.3.5
• Impostare ed utilizzare posizioni predefinite in un programma, Sezione 4.3.6
• Utilizzare istruzioni di Line Tracking, Sezione 4.5

Progettazione di un programma
Prima di creare un programma, è necessario pianificarne il funzionamento. Ciò comporta la ricerca del
miglior metodo possibile da seguire per svolgere un compito specifico prima di scrivere il programma per
il robot. Questa pianificazione, fatta prima della creazione del programma, sarà di aiuto nella scelta delle
istruzioni più adatte da inserire nel programma stesso.

Creazione di un programma
La creazione di un programma si effettua per mezzo di una serie di menu, che appaiono sulla tastiera di
programmazione, dai quali è possibile selezionare ciascuna istruzione. Se la sequenza del programma
richiede la definizione della posizione attuale del robot, si dovrà muovere il robot nel punto desiderato e
dovrà essere eseguita l'istruzione appropriata.

Modifica di un programma
La modifica di un programma può essere effettuata solo dopo che esso sia stato creato. Le istruzioni di un
programma possono essere cambiate, cancellate, aggiunte, spostate da un punto all'altro del programma,
oppure ricercate all'interno del programma
Se un'istruzione richiede la definizione della posizione attuale del robot, si dovrà muovere il robot nel
punto desiderato e dovrà essere eseguita l'istruzione appropriata.

- 60 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

4.2 PROGETTAZIONE DI UN PROGRAMMA


In questa sezione sono descritte la tecnica di programmazione da utilizzare nelle applicazioni di Line
Tracking, l'organizzazione del programma, l'utilizzazione delle tabelle di lavoro (schedules), alcune
situazioni particolari di programmazione e sono riportati alcuni esempi di programmi.

4.2.1 Programmazione di un tipico sistema che funziona in Line


Tracking
Tipicamente un sistema che funziona in Line tracking consiste di un singolo robot che lavora su un pezzo
in movimento, su un singolo convogliatore, utilizzando una o più tabelle di lavoro, un programma
principale che monitora l'arrivo dei pezzi ed uno o più sotto-programmi che controllano tutti i movimenti
del robot.
Utilizzare la Procedura 4-1 come indicazione di metodo quando si deve effettuare la programmazione di
un sistema che funziona in Line Tracking.

Procedura 4-1 Creazione di un insieme tipico di programmi per il Line tracking


Condizioni
• Tutti gli elementi hardware sono stati configurati correttamente.
• Sono stati definiti tutti i parametri di configurazione degli encoders e del Line Tracking dal menu
SETUP. Tutti i dati di configurazione devono essere impostati prima di iniziare la programmazione.

NOTA
Assicurarsi di impostare i dati contenuti nell'intestazione del programma prima di
iniziare la programmazione.

- 61 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

Passi
1. Per prima cosa, deve essere creato un programma principale di tipo non tracking. Nei dati di
dettaglio dell'intestazione del programma, il numero di tabella di parametri (tracking schedule) deve
essere impostato a 0 per i programmi di tipo non tracking. Fare riferimento alla Sezione 4.3 per
avere dettagli sulla creazione e modifica di un programma.
Questo programma eseguirà le seguenti operazioni:
a. Abilitazione dell'encoder di Line Tracking.
b. Esecuzione di un programma di tipo non tracking per muovere il robot nella propria posizione
di riposo.
c. Monitoraggio del segnale di presenza pezzo.
d. Lettura del conteggio degli impulsi provenienti dall'encoder al momento dell'attivazione del
segnali di presenza pezzo.

NOTA
Il passo 1.d deve essere eseguito immediatamente dopo il rilevamento del
cambio di stato del segnale di presenza pezzo, in modo che la sincronizzazione
tra il robot ed il pezzo stesso in movimento sia corretta.

e. Memorizzazione del conteggio (valore di trigger del pezzo).


f. Selezione di una coppia di limiti per la finestra di inseguimento del robot.
g. Esecuzione di uno o più programmi in Line Tracking che consentiranno al robot di portare a
termine il compito previsto.
h. Esecuzione di un altro programma (di tipo non tracking) che allontani il robot dal convogliatore.
(Questo passo è facoltativo).
i. Ritorno al Passo 1.b per riportare il robot nella propria posizione di riposo ad attendere l'arrivo
di un altro pezzo.

NOTA
Assicurarsi che tutte le istruzioni di Line Tracking utilizzate all'interno di questo
programma specifichino la tabella di parametri corretta e che questa sia la stessa
selezionata mediante i dati di intestazione del programma. Il numero di tabella di
parametri, definito nei dati di dettaglio dell'intestazione del programma, sarà
utilizzato per tutte le istruzioni di movimento in Line Tracking. Questo dato è di
estrema importanza.

2. Muovere il robot in una posizione di riposo per il passo 1. Ciò consente anche l'allontanamento del
robot dal convogliatore per prepararsi ad eseguire il passo successivo, che consiste nella creazione di
uno o più programmi in Line Tracking per eseguire il processo previsto.
3. Visualizzare il menu SETUP, Encoders, per controllare che l'encoder per la funzione Line Tracking
sia abilitato. Infatti, perché il sistema possa eseguire correttamente la sincronizzazione tra robot e
convogliatore prima di registrare le posizioni e le traiettorie, l'encoder deve essere abilitato.
Questo passo deve essere ripetuto ogni volta, prima di creare un programma in Line Tracking. Se
l'encoder non è abilitato al momento della creazione di un programma di Line Tracking, il sistema
richiederà di interrompere le operazioni in corso e di abilitare l'encoder.
4. Ora deve essere creato un sotto-programma di Line Tracking che esegua movimenti sincronizzati
con il convogliatore.
Tra i dati di dettaglio nell'intestazione del sotto-programma di Line Tracking, il numero di tabella di
parametro (tracking schedule) deve essere quello per cui sono stati configurati tutti i parametri prima
della programmazione e a cui fa riferimento il programma principale di tipo non tracking.

- 62 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING
5. Nel momento in cui si inizia la fase di creazione o modifica di qualsiasi programma di Line Tracking,
il sistema richiede l'esecuzione della sincronizzazione tra il convogliatore ed il robot. In genere
questo consiste nel muovere il convogliatore in modo che un pezzo possa attivare il segnale di
presenza pezzo ed entri nella finestra di inseguimento del robot.

NOTA
Per maggiori informazioni sulla sincronizzazione del robot e del convogliatore,
vedere la Sezione 4.2.2.

Il software interno di Line Tracking esegue il monitoraggio del segnale di presenza pezzo, la lettura
e la memorizzazione del valore di conteggio e di trigger che dovranno essere utilizzati durante la
fase di registrazione delle posizioni.
6. Una volta che il pezzo può essere raggiunto dal robot, il convogliatore può essere fermato e possono
essere registrate le posizioni. Il convogliatore può essere mosso in qualsiasi direzione per
riposizionare il pezzo all'interno della finestra di inseguimento del robot durante le fasi di
programmazione.
Ogni volta che viene registrata o modificata (con il tasto TOUCHUP) una posizione, il software di
Line Tracking determina automaticamente la posizione del convogliatore e modifica di conseguenza
la posizione registrata. Grazie a ciò, è possibile eseguire il programma, anche in modo passo-passo,
per controllare la correttezza dei movimenti.

NOTA
Il controllo della posizione del pezzo rispetto alla finestra di inseguimento
specificata nel programma, durante la fase di registrazione delle posizioni, viene
forzato dal valore contenuto nella variabile di sistema $LNSCH[x].$SEL_BOUND.
Questo controllo potrebbe provocare l'interruzione dei movimenti del robot se una
delle posizioni non si trova all'interno dei limiti specificati per la finestra di
inseguimento. Assegnando, però, il valore -1 alla variabile di sistema
$LNSCH[x].$SEL_BOUND, il controllo dei limiti della finestra di inseguimento
sarà disabilitato, facilitando così le operazioni di programmazione.

AVVISO
Controllare di avere selezionato il valore corretto di SELECT BOUND prima di
iniziare la produzione in automatico. Altrimenti, potrebbero verificarsi incidenti al
personale o alle apparecchiature.

La fase di progettazione di un programma tipico per applicazioni di Line Tracking è terminata. Per
maggiori informazioni sulla creazione e modifica di un programma, fare riferimento alla Sezione 4.3.
Per ulteriori dettagli circa le istruzioni di Line Tracking, vedere la Sezione 4.5.

- 63 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

4.2.2 Esempi di programmi


Nelle sezioni seguenti sono illustrati tre programmi di esempio.
• La prima sezione mostra un esempio di programma principale che monitora l'arrivo di pezzi sul
convogliatore, memorizza il valore di trigger e richiama i programmi che eseguono il movimento del
robot. Fare riferimento all'Esempio 4.2.2 (a) .
• Nella seconda sezione è raffigurato un sotto-programma che fa muovere il robot in una posizione di
fuori ingombro non di tipo Line Tracking. Fare riferimento all'Esempio 4.2.2 (b).
• Nella terza sezione è illustrato l'esempio di un sotto-programma che contiene istruzioni di
movimenti in Line Tracking. Fare riferimento all'Esempio 4.2.2 (c).

Esempio di programma Main (Job)


La routine seguente monitora il convogliatore ed esegue le istruzioni di movimento del robot.

Esempio 4.2.2 (a) Programma Main (Job) non in Line Tracking


/PROG MO250020
/MN
1: ! Abilitazione dell'encoder ;
2: LINE[1] ON ;
3: !
4: ! Muove in posizione di riposo(non-tracking)
5: LBL[1] ;
6: CALL MO250021 ;
7: !
8: !
9: ! Attesa presenza pezzo
10: LBL[2] ;
11: WAIT DI[32]=ON ;
12: !
13: ! Lettura conteggio e velocità encoder
14: LINECOUNT[1] R[1] ;
15: LINERATE[1] R[2] ;
16: !
17: ! Verifica il senso di marcia del convogliatore
18: IF R[2]<0, JMP LBL[2] ;
19: !
20: ! Memorizza il valore di trigger
21: SETTRIG LNSCH[1] R[1] ;
22: !
23: ! Seleziona la finestra di inseguimento
24: SELBOUND LNSCH[1] BOUND[1] ;
25: !
26: ! Esegue l'inseguimento
27: CALL MO250022 ;
28: !
29: ! Ripete il ciclo per attesa nuovo pezzo
30: JMP LBL[1]
/POS
/END

- 64 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

Esempio di sotto-programmi
Gli Esempi 4.2.2 (b) e (c) rappresentano possibili sotto-programmi.
Il programma nell'Esempio 4.2.2 (b) muove il robot in una posizione di riposo che non è sincronizzata
con il convogliatore.

Esempio 4.2.2 (b) Movimento nella posizione di riposo


/PROG MO250021
/MN
1:J P[1] 100% FINE ;
/POS
/END

Il programma nell'Esempio 4.2.2 (c) muove il robot in alcune posizioni mentre, nello stesso tempo, si
mantiene sincronizzato con il convogliatore.

Esempio 4.2.2 (c) Movimento sincronizzato con il convogliatore


/PROG MO250022
/MN
1:L P[1] 800mm/sec FINE ;
2: WAIT .50(sec) ;
3:L P[2] 800mm/sec FINE ;
4:L P[3] 800mm/sec CNT100 ;
5:L P[4] 800mm/sec CNT100 ;
6:L P[5] 800mm/sec FINE ;
7:C P[6]
: P[7] 800mm/sec FINE ;
8:C P[8]
: P[9] 800mm/sec CNT100 ;
9:C P[10]
: P[11] 800mm/sec FINE ;
/POS
/END

- 65 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

4.3 CREAZIONE E MODIFICA DI UN PROGRAMMA


L'operatore può creare programmi e modificarne di esistenti per istruire il robot ad eseguire determinate
operazioni. La creazione di un programma comporta i seguenti passi:
• Denominazione del programma
• Definizione delle informazioni di dettaglio
• Definizione delle istruzioni standard
• Aggiunta di istruzioni al programma
La modifica di un programma comporta i seguenti passi:
• Selezione di un programma TPE.
• Modifica delle istruzioni standard
• Inserimento di istruzioni
• Cancellazione di istruzioni
• Copia di istruzioni
• Ricerca di istruzioni
• Rinumerazione di istruzioni
Nella Figura 4.3 sono mostrate schematicamente le fasi di creazione e di modifica di un programma.

Creazione di Modifica di un
un nuovo programma
programma Sezione 4.3.3
Sezione 4.3.1

Denominazione del Selezione del


programma programma

Modificare le istruzioni
standard

Aggiunta o modifica
di istruzioni

NO
Terminato?

SÌ FINE

Fig. 4.3 Creazione e modifica di un programma

- 66 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

4.3.1 Creazione di un nuovo programma


Quando si crea un nuovo programma, è necessario:
• Denominare il programma ed inserire le informazioni nella sua intestazione.
• Definire le informazioni di dettaglio per il programma (fare riferimento alla Sezione 4.5):
• Definire se è un programma principale oppure un sotto-programma
• Impostare tutti i dati relativi alla verniciatura, se applicabile
• Modificare le istruzioni standard Questo comprende la modifica delle istruzioni di movimento e
qualsiasi istruzione specifica per l'applicazione.
• Aggiungere istruzioni di movimento al programma
• Inserire istruzioni di saldatura ad arco, di erogazione, di manipolazione, di verniciatura, di saldatura
a punti, ecc.
Utilizzare la Procedura 4-2 per creare un programma.

Denominazione del programma


Il nome del programma può essere inserito in tre modi differenti:
• Words - Si utilizzano alcuni prefissi preimpostati per formare il nome del programma. In funzione
del software applicativo caricato nel controllore, le parole proposte possono variare.
• Upper Case - Il nome viene formato selezionando lettere maiuscole e numeri.
• Lower Case - Il nome viene formato selezionando lettere minuscole e numeri. Per il nome del
programma, gli eventuali caratteri minuscoli inseriti vengono automaticamente convertiti in
maiuscoli.
Opzioni Il sistema consente anche la sovrascrittura, l'inserimento o la cancellazione del nome del
programma o del commento. Sul display sarà visualizzata la dicitura Insert oppure Overwrite. La
funzione Clear permette di rimuovere il testo presente nel campo dati corrente.
La lunghezza totale del nome del programma non deve eccedere 36 caratteri. Il nome può essere
composto da qualsiasi combinazione di caratteri maiuscoli, minuscoli e numeri. Il nome del programma
dovrebbe essere definito in modo che indichi il proprio compito.

NOTA
Per formare il nome del programma, non utilizzare il carattere tratto basso da
solo (_), né i simboli @ e *.

Definizione delle informazioni di dettaglio


Le informazioni di dettaglio per l'intestazione del programma comprendono:
• Data di creazione
• Data dell'ultima modifica
• Programma di cui il presente è una copia
• Numero di posizioni e dimensioni del programma
• Nome del programma
• Sotto tipo
• Commento
• Maschera di selezione del gruppo di assi
• Protezione da scrittura

- 67 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

Definizione delle informazioni relative alle istruzioni standard


Le istruzioni di movimento fanno sì che il robot si muova, con determinate caratteristiche dinamiche, in
una specifica area nella cella di lavoro. Quando si crea un programma, è possibile definire, in anticipo, il
modo in cui si desidera che il robot si muova quando il programma esegue un'istruzione di movimento.
Ciò può essere fatto specificando le istruzioni di movimento standard.
Dopo aver definito le istruzioni di movimento standard, è possibile inserirle nel programma. La selezione
dell'istruzione di movimento che sarà inserita in modo standard nel programma avviene per mezzo dello
spostamento del cursore all'interno della lista delle istruzioni di movimento standard disponibili. Le
istruzioni di movimento standard possono essere variate e definite in qualsiasi momento durante la
creazione o la modifica di un programma.

Aggiunta di istruzioni
Nel programma possono essere aggiunte anche istruzioni che non siano comprese tra quelle di movimento
standard. Per inserire queste istruzioni, selezionare il tipo di istruzione desiderato ed eventualmente
completare la sintassi dell'istruzione se necessario.
Tutte le istruzioni possono essere aggiunte con la stessa modalità. Le istruzioni di movimento, però,
richiedono l'inserimento di alcuni dati specifici. Per avere ulteriori informazioni relativamente all'aggiunta
di istruzioni di movimento e di altro tipo, fare riferimento al Capitolo "Istruzioni di Movimento" nel
Manuale per l'operatore del controllore R-30iB / R-30iB Mate (Funzioni di base) (B-83284IT).

Procedura 4-2 Creazione di un nuovo programma


Condizioni
• L'area di lavoro del robot deve essere sgombra da personale e da oggetti non necessari.
• I parametri di configurazione degli encoders e della funzione Line Tracking devono essere stati tutti
impostati correttamente. (Vedere le Sezioni 3.1 e 3.3).

Denominazione del programma


1. Premere il tasto SELECT.
2. Premere il tasto F2, CREATE.

1 Words
2 Upper Case
3 Lower Case
4 Options -- Insert --
Select
--- Create Teach Pendant Program ---
Program Name [ ]
-- More --
Press ENTER for next item
JOB PROC TEST MM_

3. Inserire il nome del programma:


a. Muovere il cursore per selezionare il metodo di inserimento del nome del programma:
Words, Upper Case, oppure Lower Case.
b. Premere i tasti funzione (Fx) corrispondenti ai caratteri da inserire.
La funzione dei tasti Fx dipende dal metodo di inserimento del nome prescelto al Passo 3.a.
Per cancellare un carattere, premere il tasto BACK SPACE.
Per esempio, scegliendo il modo Upper Case (maiuscole) o Lower Case (minuscole), premere
un tasto funzione che corrisponda alla prima lettera del gruppo. Premere lo stesso tasto finché il
carattere desiderato non compare nel nome del programma. Premere il tasto cursore a destra per
spostare il cursore di uno spazio. Continuare ad immettere caratteri finché non sarà stato
completato l'inserimento del nome.

- 68 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING
c. Al termine premere il tasto ENTER. Apparirà una schermata simile alla seguente.

1 Words
2 Upper Case
3 Lower Case
4 Options -- Insert --
Select
--- Create Teach Pendant Program ---
Program Name [PROC742 ]
-- End --
Select function

4. Per visualizzare le informazioni di intestazione in modo più dettagliato, premere il tasto F2,
DETAIL. Apparirà una schermata simile alla seguente.

Program Detail
Creation date: ##-xxx-##
Modification Date: ##-xxx-##
Copy source: [ ]
Positions: 10 Size 17 Byte
1 Program Name [ PROC742]
2 Sub Type: [PROCESS ]
3 Comment: [ ]
4 Group mask: [1,*,*,*,* ]
5 Write protect: [ON ]
6 Ignore Pause: [OFF ]

Per passare direttamente alla scrittura del programma, senza consultare le informazioni contenute
nell'intestazione del programma, premere il tasto F1, END, e saltare alla Definizione delle Istruzioni
di Movimento Standard in questa procedura.

NOTA
Nel caso in cui il software applicativo sia PaintTool, devono essere inserite tutte
le informazioni di dettaglio nell'intestazione del programma.

5. Se si desidera cambiare il nome del programma, portare il cursore sul campo dati del nome e
premere il tasto ENTER.
a. Muovere il cursore per selezionare il metodo di inserimento del nome del programma:
Words, Upper Case, oppure Lower Case.
b. Premere i tasti funzione (Fx) corrispondenti ai caratteri da inserire.
La funzione dei tasti Fx dipende dal metodo di inserimento del nome prescelto al Passo 5.a.
Per cancellare un carattere, premere il tasto BACK SPACE.
6. Per selezionare il tipo di programma, portare il cursore sulla voce Sub Type e poi premere il tasto F4,
CHOICE. Apparirà una schermata simile alla seguente.

Sub Type
1 None
2 Job
3 Process
4 Macro
Program Detail
1 Program Name [ PROC742]
2 Sub Type: [PROCESS ]
3 Comment: [ ]
4 Group mask: [1,*,*,*,* ]
5 Write protect: [ON ]

- 69 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

a. Selezionare il tipo di programma tra None, Macro, Cond.


b. Premere il tasto ENTER.
7. Per inserire un commento, portare il cursore sul campo dati del commento e premere il tasto
ENTER.
a. Selezionare il tipo di caratteri da inserire.
b. Premere i tasti funzione appropriati per inserire il commento.
c. Al termine premere il tasto ENTER.
Per esempio, scegliendo il modo Upper Case (maiuscole), premere un tasto funzione che
corrisponda alla prima lettera del gruppo. Premere quel tasto fino a quando non appare sul
display la lettera che si intende inserire. Premere il tasto cursore a destra per spostare il cursore
di uno spazio. Continuare ad immettere caratteri finché non sarà stato completato l'inserimento
del commento.
8. Per impostare la maschera di selezione del gruppo di assi utilizzato nel programma su cui si sta
lavorando, muovere il cursore in corrispondenza del gruppo di assi da abilitare o disabilitare. Per un
singolo programma possono essere utilizzati più gruppi di assi, ma solo due di essi possono eseguire
movimenti cartesiani. La prima posizione nella maschera di selezione del gruppo di assi corrisponde
al gruppo 1. I gruppi selezionabili sono 5.
a. Per abilitare un gruppo di assi, premere il tasto F4, 1.
b. Per disabilitare un gruppo di assi, premere il tasto F5, *.

NOTA
Se nel sistema non sono presenti gruppi multipli di assi, sarà possibile
selezionare solo il gruppo 1 oppure, inserendo * nella prima posizione, nessun
gruppo.

NOTA
Dopo aver impostato la maschera di selezione del gruppo di assi, e se sono già
state inserite istruzioni di movimento nel programma, la maschera di selezione
del gruppo di assi non può più essere modificata per quel programma.

9. Per impostare la protezione da scrittura, portare il cursore sul campo Write Protect.
a. Per abilitare la protezione da scrittura, premere il tasto F4, ON.
b. Per disabilitare la protezione da scrittura, premere il tasto F5, OFF.
10. Per impostare la funzione grazie alla quale il programma non viene messo in pausa da un allarme,
portare il cursore sul campo Ignore Pause.
a. Per abilitare la funzione, premere il tasto F4, ON.
b. Per disabilitare la funzione, premere il tasto F5, OFF.
11. Per visualizzare i dati di intestazione riguardanti la funzione Line Tracking, premere il tasto F3,
NEXT (oppure F2, PREV).
12. Impostare il numero di coppia di limiti per la finestra di inseguimento per la funzione Line Tracking
ad un valore compreso tra 1 e 8. Il numero 1 è il valore standard.

NOTA
Se si inserisce il numero 0, il programma non sarà di tracking.

13. Impostare la voce Continue Track at Program End (Continua la sincronizzazione alla fine del
programma) a TRUE (vero) o FALSE (falso).
• Se si desidera che il robot continui a restare sincronizzato con il convogliatore dopo aver
terminato l'esecuzione del programma, premere il tasto F4, TRUE.
• Se, invece, il robot deve interrompere la sincronizzazione al termine del programma, premere il
tasto F5, FALSE.

- 70 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

NOTA
Se questo elemento viene impostato a FALSE, il tipo di posizionamento del robot
è simile a FINE, anche se è stato programmato CNT, alla transizione tra
sotto-programma e programma principale.

14. La voce Selected Boundary indica quale coppia di valori limite per la definizione della finestra di
inseguimento saranno utilizzati per il programma. Al momento dell'esecuzione del programma, il
valore inserito andrà a sovrascrivere quello attivo.
• Se il numero impostato alla voce Selected Boundary è 0 (come nel caso standard), il valore
attivo non sarà sovrascritto al momento dell'esecuzione del programma.
• Se il numero inserito alla voce Selected Boundary è maggiore di 0, il valore attivo sarà
aggiornato automaticamente. Una volta terminata l'esecuzione del programma, il valore di
Selected Boundary attivo sarà ripristinato a quello contenuto nella tabella di parametri.
Per esempio, se il valore corrente della variabile di sistema $LNSCH[1].$SEL_BOUND = 1 ed un
programma di Line Tracking ha la voce Selected Boundary = 6, la variabile di sistema
$LNSCH[1].$SEL_BOUND viene impostata a 6. Al termine dell'esecuzione del programma, la
variabile tornerà ad assumere il valore 1.

NOTA
Se, però, la variabile di sistema $LNCFG.$RSTR_BNDS = FALSE, il numero di
Selected Boundary non sarà ripristinato al valore iniziale al termine
dell'esecuzione del programma.

15. Per tornare alla schermata di dettaglio o per visualizzare altre informazioni contenute
nell'intestazione del programma, premere il tasto F3, NEXT (oppure F2, PREV) fino a quando non
appare sul tasto F1 la dicitura END.
16. Premere il tasto F1, END. Ora il convogliatore ed il robot devono essere sincronizzati prima di poter
inserire istruzioni di movimento. Vedere la sezione 4.3.2.

Modifica di un programma in Background Editing


Quando si deve muovere il robot in manuale, la tastiera di programmazione deve essere abilitata
(ON). Se non è possibile abilitare la tastiera di programmazione perché è in esecuzione un
programma, oppure se la tastiera viene disabilitata mentre è in corso la scrittura di un programma, le
modifiche devono essere effettuate in Background Editing.
Modificare un programma in Background Editing significa che le istruzioni di movimento saranno
inserite nel programma, ma le posizioni non saranno registrate.
Creando o modificando un programma in Background Editing, è poi possibile tornare ad inserire le
istruzioni una volta che si renda possibile l'abilitazione della tastiera di programmazione. Allora sarà
anche possibile registrare o modificare i dati di posizione per le istruzioni di movimento. Vedere la
Sezione 4.3.3, Modifica di un Programma, per ulteriori informazioni.
17. Per definire istruzioni di movimento standard:
a. Premere e tenere premuto il pulsante di uomo morto e portare il selettore di abilitazione della
tastiera di programma sulla posizione ON.
b. Premere il tasto F1, POINT. Comparirà una lista di istruzioni di movimento predefinite.

NOTA
Se le istruzioni visualizzate nella lista sono già quelle desiderate, non occorre
modificarle.

c. Premere il tasto F1, ED_DEF.


d. Portare il cursore in corrispondenza dell'istruzione di movimento predefinita da modificare.
e. Portare il cursore sul componente interessato tra quelli compresi nell'istruzione selezionata.

- 71 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

f. Utilizzare i tasti appropriati per effettuare la modifica e premere il tasto ENTER.


Se appare la scritta CHOICE, premere il tasto F4 per visualizzare l'elenco dei valori possibili
per il componente selezionato.
Per esempio, per cambiare il valore di velocità, portare il cursore sul numero 100. Qui inserire
un nuovo valore e premere il tasto ENTER. Ora sarà visualizzato il nuovo valore. Ogni volta
che sarà inserito questo tipo di istruzione di movimento nel programma, il valore di velocità
sarà quello impostato per l'istruzione predefinita.
g. Ripetere i Passi da 17.d a 17.f per ogni istruzione di movimento standard che si desidera
ridefinire.
h. Una volta terminata la modifica delle istruzioni di movimento standard, portare il cursore in
corrispondenza dell'istruzione che dovrà diventare quella corrente, e premere il tasto F5,
DONE.
i. Per effettuare il salvataggio delle istruzioni di movimento predefinite, fare riferimento al
Capitolo "Salvataggio di files" nel Manuale per l'operatore del controllore R-30iB / R-30iB
Mate (Funzioni di base) (B-83284IT).
18. Per registrare le posizioni utilizzando le definizioni contenute nell'istruzione di movimento standard
corrente
a. Muovere il robot nella posizione opportuna nella cella di lavoro, all'interno dei limiti della
finestra di inseguimento per la funzione Line Tracking. Per avere ulteriori informazioni su
come configurare i limiti di movimento del robot nella finestra di inseguimento per la funzione
Line tracking, vedere la Sezione 3.3.
b. Premere il tasto SHIFT e poi premere il tasto F1, POINT, tenendo sempre premuto il tasto
SHIFT. L'istruzione sarà automaticamente aggiunta al programma.

ATTENZIONE
Non utilizzare sistemi di coordinate utente diversi da WorldFrame
(User Frame = 0) quando si registrano posizioni per un programma di Line
Tracking. Il sistema comunque non consente questa operazione e genera una
segnalazione di errore.

19. Per registrare le posizioni utilizzando una delle altre tre istruzioni di movimento predefinite
a. Muovere il robot nella posizione in cui si vuole memorizzare l'istruzione di movimento.
b. Premere il tasto F1, POINT.
c. Selezionare con il cursore la nuova istruzione di movimento predefinita.
d. Premere il tasto ENTER. L'istruzione di movimento selezionata diventa quella corrente e viene
allo stesso tempo registrata nel programma.
20. Per inserire altre istruzioni non di movimento, premere il tasto NEXT e poi il tasto F1, [INST].
Selezionare il tipo di istruzione che si desidera utilizzare ed eventualmente completare la sintassi
dell'istruzione mediante l'inserimento dei dati richiesti dal sistema.
Fare riferimento alle sezioni precedenti in questo capitolo per avere informazioni dettagliate su
ciascuna istruzione.
21. Portare il selettore di abilitazione della tastiera di programmazione sulla posizione OFF e rilasciare il
pulsante di uomo morto.

- 72 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

4.3.2 Sincronizzazione del robot e del convogliatore


In questa sezione è descritto il procedimento da seguire per sincronizzare il robot ed il convogliatore tra
loro. La sincronizzazione stabilisce la posizione (relativa al sistema di coordinate nominali per il Line
Tracking) di un pezzo sul convogliatore, cosicché possano essere registrate o eseguite le istruzioni che
fanno muovere il robot in Line Tracking.

Procedura 4-3 Sincronizzazione del robot e del convogliatore


Condizioni
• La sincronizzazione deve essere effettuata all'interno del programma durante le operazioni
automatiche. Tipicamente si ottiene utilizzando le istruzioni LINECOUNT e SETTRIG.
• Si sta lavorando su un programma appena creato.

NOTA
Il processo di sincronizzazione viene eseguito automaticamente ogni volta che si
accede al programma per apportarvi eventuali modifiche. Apparirà una
schermata simile alla seguente.

| The current part detect |


| trigger value is |
| NOT VALID! |
| Must Resynchronize the |
| tracking system! |
| |
| OK
|
| |

1. Selezionare la voce OK. Apparirà una schermata simile alla seguente.

| Stop the part when it is |


| at a convenient location |
| in the robot workspace. |
| |
| Press <ENTER> when done. |
| |
| |
| |

2. Muovere il convogliatore nella posizione desiderata, dopo che il pezzo ha attivato il segnale di
presenza pezzo ed è entrato nella finestra di inseguimento.
3. Quando il convogliatore ha raggiunto la posizione desiderata, premere il tasto ENTER.
Apparirà una schermata simile alla seguente.

EDIT
[END]

[INST] STAT TOUCHUP [EDCMD]

4. Ora è possibile inserire istruzioni di movimento al programma. Vedere la sezione 4.3.3.


- 73 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

4.3.3 Modifica di un programma


Un programma può essere modificato in qualsiasi momento.
La modifica di un programma comporta i seguenti passi
• Selezione di un programma
• Modifica delle istruzioni di movimento
• Modifica di istruzioni diverse da quelle di movimento
• Inserimento di istruzioni
• Cancellazione di istruzioni
• Copia di istruzioni o altri elementi di un programma
• Ricerca e sostituzione di istruzioni o altri elementi di un programma
• Rinumerazione delle posizioni dopo che siano state aggiunte, cancellate o spostate istruzioni di
movimento.

Selezione di un programma
La selezione di un programma consiste nella scelta del suo nome nell'elenco dei programmi presenti nella
memoria del controllore. Per maggiori informazioni sul caricamento di programmi, fare riferimento alla
Sezione che descrive la selezione di un programma nel Manuale per l'operatore del controllore R-30iB /
R-30iB Mate (Funzioni di base) (B-83284IT).

Modifica delle posizioni e delle istruzioni di movimento


La modifica delle istruzioni di movimento solitamente comporta il cambiamento di uno o più elementi
che compongono le istruzioni stesse. Ciò che si modifica con maggiore frequenza sono i dati di posizione.

Modifica di istruzioni diverse da quelle di movimento


La modifica delle istruzioni non di movimento solitamente comporta il cambiamento di uno o più
elementi che compongono tali istruzioni.

Inserimento di istruzioni
L'inserimento di istruzioni consiste nel posizionare un determinato numero di nuove istruzioni tra quelle
già esistenti nel programma. Quando si inserisce un'istruzione, il numero di linea di quelle successive
viene aggiornato automaticamente.

Cancellazione di istruzioni
La cancellazione di istruzioni da un programma comporta la loro rimozione permanente. Quando si
cancella un'istruzione, il numero di linea di quelle successive viene aggiornato automaticamente.

Copia di istruzioni
La copia avviene selezionando un gruppo di istruzioni, eseguire la copia ed inserire il gruppo di istruzioni
copiate in una o più posizioni nello stesso programma oppure in un altro.

Ricerca e sostituzione di Istruzioni


La ricerca e sostituzione di istruzioni consistono nel trovare specifiche istruzioni all'interno del
programma ed, eventualmente, nel sostituirle con altre. Si utilizza questa funzione, ad esempio, quando
sono stati cambiati dati di configurazione che possono influire sull'esecuzione del programma. Un altro
esempio di utilità è la possibilità di localizzare velocemente una specifica area di un programma molto
lungo.

- 74 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

Rinumerazione delle posizioni


Questa funzione riassegna il numero di indice alle posizioni registrate nel programma. Quando si
inseriscono posizioni in un programma, il numero di indice ad esse assegnato dal sistema è il primo non
utilizzato, indipendentemente dalla linea di programma. Quando si cancellano istruzioni di movimento, le
posizioni rimanenti mantengono inalterato il loro numero di indice. La rinumerazione avviene in modo
che tutte le posizioni nel programma risultino avere un numero di indice sequenziale.
Utilizzare la Procedura 4-4 per modificare un programma.

Procedura 4-4 Modifica di un programma


Condizioni
• L'area di lavoro del robot deve essere sgombra da personale e da oggetti non necessari.
• Il programma è già stato creato e tutte le informazioni di dettaglio nell'intestazione sono state
impostate correttamente. (Procedura 4-2).
Passi
1. Premere il tasto SELECT.
2. Visualizzare l'elenco di programmi desiderato:
a. Premere il tasto F1, TYPE.
b. Selezionare il tipo di programma da visualizzare:
• La voce All consente di avere l'elenco di tutti i tipi di programma.
• La voce Jobs consente la visualizzazione dei programmi di tipo Job.
• La voce Processes consente di visualizzare solo i programmi di tipo Process.
• La voce TP Programs fa apparire l'elenco di tutti i programmi TPE.
• Se appare nella lista delle scelte, la voce KAREL consente di visualizzare i soli
programmi scritti in linguaggio KAREL.
• La voce Macro fa apparire l'elenco dei programmi Macro.
3. Portare il cursore in corrispondenza del nome di programma da modificare.
4. Premere il tasto ENTER.
5. Premere e tenere premuto il pulsante di uomo morto ed portare il selettore di abilitazione della
tastiera di programma sulla posizione ON.
6. Il sistema richiederà la sincronizzazione del convogliatore.
Vedere la Sezione 4.3.5 per avere informazioni su come sincronizzare il convogliatore ed il robot.
7. Per correggere e modificare istruzioni di movimento:
a. Portare il cursore sulla linea di programma in cui è presente l'istruzione che deve essere
modificata.
b. Per cambiare solo i dati della posizione, muovere il robot nella posizione desiderata e premere,
mantenendolo premuto, il tasto SHIFT e poi il tasto F5, TOUCHUP.

AVVISO
Cambiando il tipo di movimento da lineare a joint, il valore della velocità viene
automaticamente convertito da mm/sec a %. Controllare che il valore di velocità
sia corretto prima di eseguire l'istruzione, altrimenti potrebbero verificarsi
situazioni di grave pericolo.

- 75 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

c. Per cambiare altri elementi dell'istruzione di movimento, selezionarli con il cursore ed


utilizzare i tasti funzione per inserire le modifiche.
• Premere i tasti Fx che riportino una dicitura che indichi la loro funzione in quel momento.
• Nel caso in cui non fossero visualizzate scritte in corrispondenza dei testi funzione,
premere il tasto F4, CHOICE, e selezionare un valore dal menu.
• Per modificare i dati di una posizione, portare il cursore sul suo numero di indice e
premere il tasto F5, POSITION. I dati della posizione vengono visualizzati in coordinate
cartesiane oppure in angoli joint. Selezionare il dato che si desidera modificare ed inserire
il nuovo valore utilizzando i tasti numerici. Per effettuare variazioni di tipo diverso,
utilizzare i tasti funzione descritti nell'elenco qui sotto.
• Per commutare il gruppo di assi, premere il tasto F1, GROUP. Questo è possibile solo in
sistemi che siano configurati in gruppi multipli di assi.
• Per visualizzare gli elementi degli assi estesi, premere il tasto F2, PAGE. Questo è
possibile solo se nel sistema sono presenti assi ausiliari nello stesso gruppo che
comprende il robot.
• Per commutare la configurazione del polso da F (flip) o N (non-flip o normale), premere il
tasto F3, CONFIG, e poi i tasti freccia in alto o freccia in basso.
• Per cambiare il formato della posizione da coordinate cartesiane ad angoli joint o
viceversa, premere il tasto F5, REPRE, selezionando poi il tipo di coordinate prescelto. La
conversione della posizione avviene automaticamente.
• Al termine della fase di modifica, premere il tasto F4, DONE.
d. Ripetere i Passi da 7.a a 7.c per ogni istruzione di movimento che si desidera ridefinire.
8. Per modificare le istruzioni di altro tipo
a. Portare il cursore sulla linea di programma in cui è presente l'istruzione che deve essere
modificata.
b. Selezionare con il cursore l'elemento da modificare e premere il tasto appropriato.
• Premere i tasti Fx che riportino una dicitura che indichi la loro funzione in quel momento.
• Nel caso in cui non fossero visualizzate scritte in corrispondenza dei testi funzione,
premere il tasto F4, CHOICE, e selezionare un valore dal menu.
c. Ripetere i Passi 8.a e 8.b per ogni istruzione che si desidera modificare.
9. Per inserire istruzioni
a. Scegliere il punto in cui si desidera inserire le istruzioni. Portare il cursore sulla linea
immediatamente successiva a quel punto. Il cursore deve trovarsi sul numero di linea. Per
esempio, se si desidera effettuare l'inserimento di un'istruzione tra le linee 5 e 6, portare il
cursore sulla linea 6.
b. Premere il tasto NEXT, >, in modo che sia visualizzata la dicitura EDCMD sopra il tasto
funzione F5. Le diciture poste in corrispondenza dei tasti da F1 a F4 possono variare in
funzione dell'applicazione.
c. Premere il tasto F5, EDCMD.
d. Selezionare la voce 1, Insert.
e. Immettere il numero di linee da inserire e premere il tasto ENTER. Per ogni linea inserita, il
sistema scrive nel programma una linea vuota. Le altre linee del programma vengono
rinumerate automaticamente.
f. Selezionare con il cursore ciascuna delle linee vuote ed inserire le istruzioni desiderate.

- 76 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING
10. Per cancellare istruzioni
a. Portare il cursore sulla linea di programma in cui è presente l'istruzione che deve essere
cancellata. Se si devono cancellare più linee, selezionare con il cursore la prima della serie e
poi muoverlo verso il basso per selezionare anche le altre.

ATTENZIONE
L'operazione di cancellazione provoca la rimozione permanente delle linee dal
programma. Assicurarsi di voler davvero cancellare le linee selezionate prima di
confermare l'azione, altrimenti esiste il rischio che vadano perdute istruzioni utili
alla corretta esecuzione del programma.

b. Premere il tasto NEXT, >, in modo che sia visualizzata la dicitura EDCMD sopra il tasto
funzione F5. Le diciture poste in corrispondenza dei tasti da F1 a F4 possono variare in
funzione dell'applicazione.
c. Premere il tasto F5, EDCMD.
d. Selezionare la voce 2, Delete.
e. Per cancellare una serie di linee contigue, selezionarle con il cursore. Le linee selezionate per la
cancellazione vengono visualizzate con lo sfondo scuro.
f. Cancellare la linea o le linee:
• Se non si vuole cancellare la linea o le linee selezionate, premere il tasto F5, NO.
• Per confermare l'intenzione di cancellare la linea o le linee selezionate, premere il tasto F4,
YES.

NOTA
Le istruzioni possono essere copiate ed inserite all'interno dello stesso
programma o da un programma ad un altro.

11. Per copiare ed inserire istruzioni


a. Premere il tasto NEXT, >, in modo che sia visualizzata la dicitura EDCMD sopra il tasto F5.
Le diciture poste in corrispondenza dei tasti da F1 a F4 possono variare in funzione
dell'applicazione.
b. Premere il tasto F5, EDCMD.
c. Selezionare la voce 3, COPY.
d. Portare il cursore sulla prima linea da copiare.
e. Premere il tasto F2, COPY.
f. Muovere il cursore per selezionare la serie di linee da copiare. Le linee selezionate per la copia
vengono visualizzate con lo sfondo scuro.
g. Premere di nuovo il tasto F2, COPY. I dati copiati vengono memorizzati internamente nel
controllore.
h. Scegliere il punto in cui si desidera inserire le istruzioni copiate. Portare il cursore sulla linea
immediatamente successiva a quel punto. Il cursore deve trovarsi sul numero di linea.
i. Premere il tasto F5, PASTE.
j. Premere il tasto funzione che corrisponda al modo in cui si desidera sia eseguito l'inserimento
delle linee copiate:
• LOGIC (F2) - inserisce le linee esattamente come erano in origine, non scrive i dati di
posizione e nemmeno il numero di indice delle posizioni stesse.
• POS_ID (F3) - inserisce le linee esattamente come erano in origine, e mantiene invariato il
numero di indice delle posizioni.
• POSITION (F4) - inserisce le linee esattamente come erano in origine, e rinumera le
posizioni copiate utilizzando i numeri di indice disponibili. Sono anche trasferiti tutti i dati
di posizione.
• CANCEL (F5) - non effettua l'inserimento, ma mantiene memorizzate internamente le
linee copiate in modo che possano essere inserite in un altro momento o altrove.

- 77 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

• R-LOGIC (NEXT+F2) - inserisce le linee in ordine inverso rispetto a come erano in


origine, non scrive i dati di posizione e nemmeno il numero di indice delle posizioni
stesse.
• R-POS-ID (NEXT+F3) - inserisce le linee in ordine inverso rispetto a come erano in
origine e mantiene invariati i numeri di indice delle posizioni.
• R-POSITION (NEXT+F4) - inserisce le linee in ordine inverso rispetto a come erano in
origine e rinumera le posizioni copiate utilizzando i numeri di indice disponibili.
k. Ripetere i Passi da 11.i a 11.j per inserire lo stesso gruppo di istruzioni per quante volte è
necessario.
l. Una volta terminata la fase di copia di istruzioni, premere il tasto PREV.

12. Per ricercare istruzioni


a. Selezionare con il cursore una qualsiasi linea di programma.
b. Premere il tasto NEXT, >, in modo che sia visualizzata la dicitura EDCMD sopra il tasto F5.
Le diciture poste in corrispondenza dei tasti da F1 a F4 possono variare in funzione
dell'applicazione.
c. Premere il tasto F5, EDCMD.
d. Selezionare la voce 4, Find.
e. Selezionare il tipo di istruzione da cercare.
f. Quando il sistema lo richiede, immettere i dati necessari. La ricerca parte dalla posizione in cui
si trova il cursore in avanti. Se la ricerca ha esito positivo, l'elemento trovato viene evidenziato.
a. Per continuare la ricerca (della stessa istruzione), premere il tasto F4, NEXT.
h. Al termine della fase di ricerca, premere il tasto F5, EXIT.
i. Premere il tasto PREV.
13. Per sostituire istruzioni
a. Selezionare con il cursore una qualsiasi linea di programma.
b. Premere il tasto NEXT, >, in modo che sia visualizzata la dicitura EDCMD sopra il tasto F5.
Le diciture poste in corrispondenza dei tasti da F1 a F4 possono variare in funzione
dell'applicazione.
c. Premere il tasto F5, EDCMD.
d. Selezionare la voce 5, Replace.
e. Selezionare l'istruzione che si intende sostituire dalla lista che appare sul display.
Inserire i dati che occorrono per specificare in modo completo l'istruzione.
Il sistema cerca l'istruzione e, se la trova, la evidenzia.
f. Selezionare l'elemento con cui deve essere sostituito quello evidenziato.
g. Decidere come deve essere sostituita l'istruzione:
• Per sostituire l'istruzione esistente con quella nuova, premere il tasto F3, YES.
Il sistema richiede se si intende continuare la ricerca.
• Per non eseguire la sostituzione nel punto in cui è stata trovata l'istruzione, bensì cercare la
successiva, premere il tasto F4, NEXT; il sistema cercherà nel programma la presenza di
un'altra istruzione come quella specificata.
• Per interrompere l'operazione di sostituzione, premere il tasto F5, EXIT.
h. Premere il tasto PREV.
14. Per rinumerare le posizioni
a. Selezionare con il cursore una qualsiasi linea di programma.
b. Premere il tasto NEXT, >, in modo che sia visualizzata la dicitura EDCMD sopra il tasto F5.
Le diciture poste in corrispondenza dei tasti da F1 a F4 possono variare in funzione
dell'applicazione.
c. Premere il tasto F5, EDCMD.
d. Selezionare la voce 6, Renumber.
e. Decidere se rinumerare le posizioni:
• Se non si desidera rinumerare le posizioni, premere il tasto F5, NO.
• Se si desidera rinumerare le posizioni, premere il tasto F4, YES.
15. Una volta finito, portare il selettore di abilitazione della tastiera di programmazione sulla posizione
OFF e rilasciare il pulsante di uomo morto.
- 78 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

4.3.4 Modifiche di programmi in Background Editing


Per modificare un programma mantenendo la tastiera di programmazione abilitata, è possibile utilizzare la
funzione di Background Editing. Essa può essere impiegata anche quando è in esecuzione un altro
programma.
Se la variabile di sistema $BACKGROUND è FALSE, la tastiera di programmazione deve essere abilitata
perché sia possibile effettuare modifiche ai programmi. Se, invece, la variabile è TRUE, non è necessario
abilitare la tastiera di programmazione per svolgere queste operazioni.
Durante le fasi di modifica in Background Editing, è possibile
• Aggiungere nuove istruzioni.
• Aggiungere nuove istruzioni di movimento.
La posizione registrata sarà quella attuale del robot.
• Se il robot sta eseguendo un'istruzione di movimento in un altro programma, la posizione registrata
nel programma che si sta modificando sarà quella nella quale si trova il robot nel momento in cui
viene registrata l'istruzione.
• Se il robot non sta eseguendo un'istruzione di movimento in un altro programma, la posizione scritta
nel programma che si sta modificando è quella attuale del robot.
• Modificare istruzioni esistenti.
Durante il Background Editing, non è possibile muovere il robot. Infatti, il movimento del robot è
ammesso solo se la tastiera è abilitata.
Se si aggiungono istruzioni di movimento ad un programma in Background Editing, ci si deve ricordare
di modificare i dati di posizione utilizzando la funzione TOUCHUP prima di eseguire il programma
modificato.
Se si desidera avere maggiori informazioni circa le variabili di sistema che regolano il Background
Editing, fare riferimento al Software Reference Manual. Per avere maggiori informazioni sulla
creazione e modifica di programmi, fare riferimento al Capitolo che descrive la modifica di programmi in
Background Editing nel Manuale per l'operatore del controllore R-30iB / R-30iB Mate (Funzioni di base)
(B-83284IT).
Utilizzare la Procedura 4-5 per modificare un programma in Background Editing.

- 79 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

Procedura 4-5 Modifica di un programma in Background Editing


Condizioni
• L'area di lavoro del robot deve essere sgombra da personale e da oggetti non necessari.
• Il programma è già stato creato e tutte le informazioni di dettaglio nell'intestazione sono state
impostate correttamente. (Procedura 4-2).

Passi
1. Impostare la variabile di sistema $BACKGROUND a TRUE, se necessario.
a. Premere il tasto MENU.
b. Selezionare la voce SYSTEM.
c. Premere il tasto F1, TYPE.
d. Selezionare la voce Variables.
e. Selezionare con il cursore la variabile di sistema $BACKGROUND.
• Se il valore è TRUE, proseguire al Passo 2.
• Se il valore è FALSE, andare al Passo 1.f.
f. Premere il tasto F4, TRUE.
2. Premere il tasto SELECT.
3. Visualizzare l'elenco di programmi desiderato:
a. Premere il tasto F1, TYPE.
b. Selezionare il tipo di programma da visualizzare:
• La voce All consente di avere l'elenco di tutti i tipi di programma.
• La voce TP Programs fa apparire l'elenco di tutti i programmi TPE.
• Se appare nella lista delle scelte, la voce KAREL consente di visualizzare i soli
programmi scritti in linguaggio KAREL.
• La voce Macro fa apparire l'elenco dei programmi Macro.
4. Portare il cursore in corrispondenza del nome di programma da modificare.
5. Premere il tasto ENTER.
6. Senza abilitare la tastiera di programmazione, aggiungere un'istruzione al programma.
7. Apparirà la prima richiesta di conferma. Portare il cursore sulla voce YES e premere il tasto
ENTER.
8. Apparirà la seconda richiesta di conferma. Premere il tasto ENTER. All'inizio del programma sarà
visualizzata la scritta "<<BACKGROUND>>".
9. Modificare il programma. Vedere la Procedura 4-4.
10. Per terminare la fase di modifica in Background Editing:
a. Premere il tasto NEXT, >.
b. Premere il tasto F5, EDCMD.
c. Selezionare la voce End_edit. All'inizio del programma la scritta "<<BACKGROUND>>" non
sarà più visualizzata.

- 80 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

4.3.5 Risincronizzazione del robot e del convogliatore


In questa sezione è descritto il procedimento da seguire per risincronizzare il robot ed il convogliatore tra
loro. Questa operazione deve essere fatta quando il sistema informa che il valore di trigger non è valido.
La sincronizzazione stabilisce la posizione (relativa al sistema di coordinate nominali per la funzione Line
Tracking) di un pezzo sul convogliatore, cosicché possano essere modificate o eseguite le istruzioni che
fanno muovere il robot in Line Tracking.
In questa sezione è anche descritta una procedura da seguire nel caso in cui si verificassero errori mentre
si esegue la risincronizzazione tra robot e convogliatore.

Procedura 4-6 Risincronizzazione del robot e del convogliatore


Condizioni
• La risincronizzazione deve essere effettuata all'interno del programma durante le operazioni
automatiche. Tipicamente si ottiene utilizzando le istruzioni LINECOUNT e SETTRIG.
• Si sta modificando un programma per il quale il valore di trigger non è valido.

NOTA
La fase di risincronizzazione viene automaticamente attivata ogni volta che si
accede ad un programma per effettuare modifiche ed il valore di trigger non è
valido. Apparirà una schermata simile alla seguente.

[END]
| |
| The current part detect |
| trigger value MAY NOT
|
be valid.
| |
Resynchronize the
| |
tracking system?
| |
| YES NO |
| |

1. Rispondere YES o NO alla richiesta del sistema.


• Selezionare NO se si è sicuri che il valore di trigger attualmente in memoria nel sistema sia
corretto.
• Selezionare YES se non si è sicuri che il valore di trigger attualmente in memoria nel sistema
sia corretto.
Se al momento della selezione del programma da modificare era attiva la simulazione
dell'encoder per la funzione Line Tracking, apparirà una schermata simile alla seguente.

[END]
| |
| Move a new part past the |
| part detect switch and |
| into the robot workspace. |
| |
| |
| OK |
| |

- 81 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

2. In base a quanto richiesto dal sistema, muovere il convogliatore con il pezzo.


3. Selezionare la voce OK. Apparirà una schermata simile alla seguente.

[END]
| |
| Stop the part when it is |
| at a convenient location |
| in the robot workspace. |
| |
Press <ENTER> when done.
| |
| |
| |

4. Come indicato dal sistema, fermare il convogliatore in una posizione conveniente al raggiungimento
del pezzo da parte del robot.
5. Premere il tasto ENTER. Apparirà una schermata simile alla seguente.

EDIT
[END]
[INST] STAT TOUCHUP
[EDCMD]

Procedura 4-7 Possibili errori durante la risincronizzazione


Questa procedura descrive gli errori che potrebbero verificarsi mentre si sta eseguendo la
risincronizzazione tra il robot ed il convogliatore.

NOTA
Se la risincronizzazione non riesce per qualsiasi motivo, il sistema genera un
messaggio di errore. Dopo avere avuto notifica del messaggio, l'operatore
riceverà la richiesta di premere il tasto ENTER. La sessione di modifica del
programma verrà interrotta ed il display tornerà a visualizzare la schermata di
selezione dei programmi. Questo evita che siano registrate posizioni errate.
Questo comportamento sarà causato da tutti gli errori riportati in questa
procedura.

[END]
| |
| Tracking simulation is |
| currently enabled.
|
| |
Press <ENTER> to
| |
simulate a new part
| |
detect trigger value.
| |
| OK |

- 82 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING
1. Come richiesto dal sistema nella schermata sopra, dato che non si sta utilizzando il convogliatore
reale, premere il tasto ENTER per simulare un nuovo valore di trigger al momento in cui il pezzo si
presenta davanti al sensore.

AVVISO
Le posizioni non devono mai essere registrate quando il convogliatore è simulato.
Altrimenti, potrebbero verificarsi incidenti al personale o alle apparecchiature.

• Durante la fase di risincronizzazione, il sistema effettua internamente diversi controlli.


• Se il risultato di tutti i controlli è positivo, sarà visualizzato il programma sul display.
• Se, invece, uno dei controlli non dà risultato positivo, il sistema richiederà all'operatore di
eseguire una delle seguenti operazioni.
• Se, quando è stato attivato il segnale di presenza pezzo, il convogliatore si stava muovendo in
senso contrario, apparirà una schermata simile alla seguente.

[END]
| |
| WARNING: A trigger was just |
| generated while conveyor
|
was moving BACKWARDS!
| |
| |
Exit the program and
| |
re-enter it to re-sync!
| |
| OK |

Questo può accadere durante la programmazione, se il convogliatore viene mosso indietro per eseguire la
sincronizzazione.
• Se l'encoder associato con la tabella di parametri per la funzione Line Tracking specifica non è
abilitato, appare una schermata simile alla seguente.

[END]
| |
| WARNING: The selected |
| encoder is currently
|
turned OFF!
| |
| |
Enable the encoder then
| |
return and re-sync!
| |
| OK |

- 83 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

L'abilitazione dell'encoder è importante poiché il valore del conteggio degli impulsi è utilizzato durante la
registrazione e l'esecuzione del programma.
• Se uno o più parametri nella tabella di parametri per la funzione Line Tracking specificata non sono
impostati al valore corretto (per esempio il numero di encoder, il fattore di scala, il numero di
ingresso digitale per il segnale di presenza pezzo), appare una schermata simile alla seguente.

[END]
| |
| WARNING: Selected tracking |
| schedule has not been
|
properly initialized.
| |
| |
Initialize the schedule
| |
then return and re-sync!
| |
| OK |

Il segnale di presenza pezzo non si attiva


• Se entro un certo tempo (circa 2 minuti) non si ha l'attivazione del segnale di presenza pezzo, appare
una schermata simile alla seguente.

[END]
| |
| PART DETECT TIMEOUT!!! |
| A part detect was not
|
observed within the time-
| |
out period (120 seconds).
| |
| Exit the program and
|
| re-enter it to re-sync! |
| OK |

Questa situazione può verificarsi a causa di fermate o bassa velocità del convogliatore o perché il sensore
di presenza pezzo non funziona correttamente. In questi casi, il tempo di time-out evita al sistema di
rimanere all'infinito in condizioni di attesa del segnale.

- 84 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

4.3.6 Impostazione ed utilizzo di posizioni predefinite in un


programma
L'impostazione delle posizioni predefinite, come quella di Home, quella di manutenzione, ecc., comporta
la creazione di un programma che contenga istruzioni di movimento che portino il robot nella posizione
desiderata. Per alcune applicazioni, il nome dei programmi che portano il robot in posizione di fuori
ingombro o di manutenzione è anch'esso predefinito.
Utilizzare posizioni predefinite in un programma comporta la necessità di eseguire istruzioni CALL
Program.
La Procedura 4-8 descrive come si effettua l'impostazione di posizioni predefinite.
La Procedura 4-9 descrive l'utilizzo delle posizioni predefinite in un programma.

Procedura 4-8 Impostazione di posizioni predefinite


Condizioni
• L'area di lavoro del robot deve essere sgombra da personale e da oggetti non necessari.

Passi
1. Premere il tasto SELECT.
2. Selezionare il nome predefinito del programma che si intende utilizzare. Per esempio, se si desidera
creare un programma per la posizione di fuori ingombro, selezionare HOME.
3. Una volta finito di inserire il nome del programma, premere il tasto ENTER.
4. Premere i tasti funzione appropriati per inserire il commento.
5. Al termine premere il tasto ENTER.
6. Se si desidera specifica un gruppo di assi, premere il tasto F5, MORE. Premere il tasto funzione che
corrisponde al gruppo di assi desiderato. Al termine premere ENTER.
7. Se si desidera modificare il nome o il commento del programma, premere il tasto F2, NO.
Selezionare la voce 4, Options, per modificare il nome o il commento del programma.
Premere il tasto ENTER una volta terminata l'operazione.
• OVRWRT - Sostituisce i caratteri presenti con quelli che vengono inseriti.
• INSERT - Inserisce i nuovi caratteri nella posizione in cui si trova il cursore.
• CLEAR - Cancella tutto il nome o commento.

NOTA
Se, in qualsiasi momento, si intendesse tornare a visualizzare la schermata di
sezione dei programmi, premere il tasto PREV.

8. Aggiungere istruzioni di movimento al programma per muovere il robot nella posizione desiderata.
Mantenere bassa la velocità di movimento per evitare l'insorgere di rischi per il personale e per i
macchinari.

- 85 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

Procedura 4-9 Utilizzo di posizioni predefinite in un programma


Condizioni
• Le posizioni predefinite sono state impostate. (Vedere la Procedura 4-8).

Passi
1. Premere il tasto SELECT.
2. Selezionare il programma in cui si desidera utilizzare le posizioni predefinite e premere il tasto
ENTER.
3. Posizionare il cursore sulla linea precedente quella in cui di intende muovere il robot nella posizione
predefinita.
4. Inserire una linea per l'istruzione. Vedere la sezione 4.3.3.
5. Premere il tasto NEXT, in modo che sia visualizzata la dicitura INST sopra il tasto F1.
6. Premere il tasto F1, INST.
7. Selezionare la voce 6, CALL.
8. Selezionare la voce 1, CALL program.
9. Selezionare il programma che contiene l'istruzione che fa muovere il robot nella posizione
predefinita desiderata.
• Per la posizione di fuori ingombro, selezionare il programma HOME.
• Per la posizione di by-pass, se registrata, selezionare il programma BYPASS.
• Per la prima posizione speciale (PaintTool), selezionare SPECIAL1.
• Per la seconda posizione speciale (PaintTool), selezionare SPECIAL2.

4.4 ESECUZIONE IN MODO T1 DI UN PROGRAMMA DI LINE


TRACKING
Quando un programma di line tracking è in fase di creazione o di modifica, ed il selettore modale è posto
nella posizione T1, il comportamento del robot è il seguente:
• Se il convogliatore non si sta muovendo, ed un programma di line tracking è in esecuzione con una
velocità relativa pari a 100%, la velocità del robot è quella programmata, se essa rientra nei limiti di
sicurezza propri della modalità T1. La velocità di sicurezza in modo T1 è definita essere 250 mm/sec
per il punto di centro utensile (TCP) e il 10% della velocità massima di ogni singolo asse in joint. Se
la velocità programmata eccede quella di velocità in modo T1, il movimento del robot sarà eseguito
alla velocità di sicurezza in T1. Con valori inferiori di velocità relativa, la velocità del robot è ridotta
proporzionalmente in funzione dell'impostazione della velocità relativa.
• Se il convogliatore si sta muovendo, e si tenta di eseguire un programma di line tracking, il robot
non si muove. Il sistema genera l'allarme LNTK-041 "Encoder is moved in T1 mode".
• Se un programma di line tracking è in esecuzione con una velocità relativa qualsiasi, ed il
convogliatore inizia a muoversi, il movimento del robot viene immediatamente interrotto. Il sistema
genera l'allarme "LNTK-041 Encoder is moved in T1 mode".

- 86 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

4.5 ISTRUZIONI PER LA FUNZIONE LINE TRACKING


Queste istruzioni sono utilizzate per consentire l'esecuzione di programmi in Line Tracking.

NOTA
Qualsiasi valore modificato da un'istruzione di Line Tracking durante l'esecuzione
di un programma, andrà a variare la configurazione dell'encoder e della funzione
Line Tracking stessa.

Istruzione DEFENC
L'istruzione DEFENC definisce il numero di encoder corrente. Esegue una copia dei valori, contenuti
nella variabile di sistema strutturata $LNSNRSCH, in un'altra variabile di sistema, $ENC_STAT, per
configurare i parametri dell'encoder.

Direct:
Numero encoder(1-8) Direct:
Numero di tabella di parametri (schedule) (1-8)
Indiretto: R[x] Indiretto: R[x]
Numero dell'encoder Numero di tabella di parametri (schedule)
= contenuto nel registro numerico = contenuto di R[x]

Fig. 4.5 (a) Istruzione DEFENC

Istruzione GONE_TIME

Indiretto: R[x] Diretto: Diretto : Indiretto: R[x]


Numero di tabella Posizione
di parametri Indiretto:
Indiretto: R[x] R[x]
dove il numero del
registro posizione =
R[x]

Fig. 4.5 (b) Istruzione GONE_TIME

Quando l'istruzione GONE_TIME viene eseguita, il registro x ritorna il numero di secondi che mancano
alla posizione contenuta nel PR z prima che essa esca dai limiti della finestra di inseguimento specificata
nella tabella y dei parametri per la funzione line tracking, per la quale il valore di conteggio encoder
(trigger), al momento in cui si è presentato il pezzo davanti al sensore sul convogliatore, è contenuto nel
registro numerico u. Quando questa istruzione viene eseguita, il sistema utilizza, per il calcolo del tempo
utile rimasto, la velocità del convogliatore rilevata al momento dell'esecuzione. Se la velocità del
convogliatore aumenta dopo l'avvenuta esecuzione dell'istruzione GONE_TIME, il tempo ottenuto non
risulta corretto. Se, al momento dell'esecuzione dell'istruzione GONE_TIME, il convogliatore è fermo, il
tempo ottenuto è un valore molto grande, ma non infinito.
Questa istruzione può essere utilizzata per monitorare se il pezzo rischia di trovarsi al di fuori della
finestra di inseguimento prima che il robot possa raggiungerlo. Per esempio,

1 GONE_TIME[10] LNSCH[1] PR[1] TRIG[20]


2 IF R[10]<R[12] JUMP LBL[2]
3 CALL PICK_PART
4 LBL[2]:

- 87 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

Il registro numerico R[12] contiene il tempo medio necessario ad eseguire il programma PICK_PART. Il
valore di trigger per il pezzo è contenuto nel registro numerico R[20]. Questa tecnica può anche essere
utilizzata per determinare se il programma dispone del tempo necessario a pre-ruotare l'utensile mentre il
robot è in attesa che il pezzo entri nella finestra di inseguimento (nel caso in cui si tratti di un'applicazione
con sistema di visione). In questo modo, il robot non perde tempo a ruotare l'utensile mentre si muove
verso il pezzo.

Istruzione LINE
L'istruzione LINE consente di abilitare l'encoder per la funzione Line Tracking.

Diretto: ON – attiva l'encoder


Numero encoder (1-8)
Indiretto: R[x] OFF – disattiva l'encoder
Numero dell'encoder = contenuto nel registro numerico R[x]
Fig. 4.5 (c) Istruzione LINE

Istruzione LINESIM
L'istruzione LINESIM consente di configurare ed abilitare la simulazione dell'encoder per la funzione
Line Tracking. Prima di eseguire l'istruzione LINESIM, è necessario che l'encoder sia già abilitato. La
velocità per la simulazione è espressa in numero di impulsi per periodo di aggiornamento del conteggio.

ON
Diretto: Attiva la Indiretto: R[x]
Numero tabella di parametri (1-8) simulazione dove la velocità del
Indiretto: R[x] OFF convogliatore per la
Numero dell'encoder Disattiva la simulazione
= contenuto nel registro numerico R[x] simulazione = contenuto di R[x]

Fig. 4.5 (d) Istruzione LINESIM

Istruzione LINECOUNT
L'istruzione LINECOUNT memorizza il conteggio corrente degli impulsi provenienti dall'encoder per la
funzione Line Tracking. Questa istruzione deve essere eseguita immediatamente dopo l'attivazione del
segnale di presenza pezzo per registrare la posizione del convogliatore.

Diretto:
Numero di tabella di parametri
(schedule) (1-8) Indiretto: R[x]
dove il conteggio impulsi
Indiretto: R[x]
Numero encoder
= contenuto di R[x]
= contenuto di R[x]

Fig. 4.5 (e) Istruzione LINECOUNT

- 88 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

Istruzione LINERATE
L'istruzione LINERATE memorizza la velocità, espressa in impulsi encoder per periodo di
aggiornamento del conteggio, di movimento del convogliatore.

Diretto: Indiretto: R[x]


Numero encoder (1-8) velocità attuale del convogliatore
Indiretto: R[x] = contenuto di R[x]
Numero dell'encoder
= contenuto nel registro numerico R[x]
Fig. 4.5 (f) Istruzione LINERATE

Istruzione LINESTOP
L'istruzione LINESTOP fornisce lo stato di convogliatore fermo basandosi sulla velocità attuale misurata
e sulla soglia di arresto (Stop Threshold).

Diretto:
Indiretto: R[x]
Numero encoder (1-8) indica se l'encoder è fermo o in movimento:
Indiretto: R[x] 1 = fermo, 0 = in movimento
Numero dell'encoder =
contenuto nel registro
numerico R[x]

Fig. 4.5 (g) Istruzione LINESTOP

Istruzione SETTRIG
L'istruzione SETTRIG memorizza il valore di trigger nella tabella di parametri specificata. Fare
riferimento al Capitolo che tratta la configurazione della funzione Line Tracking per ulteriori
informazioni sulle tabelle di parametri (schedules). Il registro indicato nell'istruzione SETTRIG
tipicamente contiene il valore del conteggio degli impulsi memorizzato con una precedente istruzione
LINECOUNT.

Diretto:
Numero di tabella di Indiretto: R[x]
parametri (schedule) (1-8) dove il numero di finestra di
Indiretto: R[x] inseguimento = R[x]
Numero di tabella di parametri (schedule)
= contenuto di R[x]
Fig. 4.5 (h) Istruzione SETTRIG

- 89 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

Istruzione SETBOUND
L'istruzione SETBOUND imposta i valori utilizzati come limiti dell'area di movimento del robot nella
finestra di inseguimento per la funzione Line Tracking, basandosi sulle posizioni, definite rispetto a
WorldFrame, memorizzate nei due Registri Posizione specificati nell'istruzione stessa. Fare riferimento al
Capitolo che tratta la configurazione della funzione Line Tracking per ulteriori informazioni sulle tabelle
di parametri (schedules).

Diretto:
Numero di
Diretto: Diretto : Diretto :
finestra di
Numero di tabella di parametri Posizione Posizione
inseguimento
(schedule) (1-8) Indiretto: Indiretto:
(1-10)
Indiretto: R[x] R[x] R[x]
Indiretto: R[x]
Numero di tabella di parametri dove il numero
dove il numero di dove il numero
(schedule) del registro
finestra di del registro
= contenuto di R[x] posizione = R[x]
inseguimento = posizione
R[x] = R[x]

Fig. 4.5 (i) Istruzione SETBOUND

Istruzione SELBOUND
L'istruzione SELBOUND seleziona la coppia di valori utilizzati per limitare il movimento del robot
nell'area di inseguimento in Line Tracking. Fare riferimento al Capitolo che tratta la configurazione della
funzione Line Tracking per ulteriori informazioni sulle tabelle di parametri (schedules).

Diretto:
Numero di tabella di Diretto:
parametri (schedule) (1-8) Numero di finestra di
inseguimento (1-10)
Indiretto: R[x]
Numero di tabella di lavoro
= contenuto nel registro numerico R[x] Indiretto: R[x]
numero della finestra di
inseguimento = R[x]

Fig. 4.5 (j) Istruzione SELBOUND

Dopo essere state opportunamente impostate, le tabelle di parametri per la funzione Line Tracking
possono essere utilizzate in un programma di tipo Job o Process. Ogni programma di tipo Process utilizza
una sola tabella di parametri per la funzione Line Tracking. Il numero di tabella viene selezionato al
momento della creazione del programma o per mezzo della schermata DETAIL. L'istruzione
SELBOUND è poi utilizzata nel programma di tipo Job per determinare la coppia di valori utilizzati per
limitare il movimento del robot nell'area di inseguimento in Line Tracking. La schermata che segue
rappresenta un esempio di visualizzazione.

1:SELBOUND LNSCH[1] BOUND[1]


2:CALL PROC1001
3:SELBOUND LNSCH[2] BOUND[1]
4:CALL PROC1002
5:SELBOUND LNSCH[1] BOUND[2]
6:CALL PROC1003

In questo esempio, al programma PROC1002 deve essere associata la tabella 2 di parametri per la
funzione Line Tracking, mentre gli altri programmi utilizzano la tabella 1.

- 90 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

STOP_TRACKING
L'istruzione STOP_TRACKING è utilizzata in un programma di line tracking per interrompere
momentaneamente la sincronizzazione del robot con il convogliatore. Il robot rimane fermo fino a quando
l'esecuzione del programma raggiunge il successivo movimento in tracking e la destinazione di quel
movimento entra nella finestra di inseguimento.

NOTA
La funzione STOP_TRACKING non è utilizzabile quando la funzione di Line
Tracking è di tipo circolare. Quando la funzione di Line Tracking è di tipo
circolare, l'istruzione STOP_TRACKING non ha alcun effetto.

Per esempio:
1:L P[1] 1000mm/sec CNT100
2:WAIT DI[10]=ON
3:L P[2] 1000mm/sec CNT100

Nel programma illustrato sopra, una volta che il robot raggiunge la posizione P[1], esso continua a
inseguire la posizione P[1] fino a quando l'istruzione WAIT viene soddisfatta e la posizione P[2] entra
nella finestra di inseguimento. Dopo che la posizione P[2] entra nella finestra di inseguimento, il robot
inizia a muoversi verso di essa. Se il programma viene modificato come segue:

1:L P[1] 1000mm/sec CNT100


2:STOP_TRACKING
3:WAIT DI[10]=ON
4:L P[2] 1000mm/sec CNT100

In questa versione del programma, quando il robot raggiunge la posizione P[1], si arresta. Il suo
movimento non riparte fino a quando la condizione di attesa non viene soddisfatta e la posizione P[2]
entra nella finestra di inseguimento. Solo allora, il robot inizia a muoversi verso la posizione P[2].

- 91 -
4.CREAZIONE DI PROGRAMMI LINE TRACKING B-83474IT/02

ACCUTRIG LNSCH
L'istruzione ACCUTRIG LNSCH attiva una routine ad interrupt veloce per impostare un clock di sistema
quando viene attivato il segnale di presenza pezzo. L'istruzione LINECOUNT utilizza questo clock di
sistema per memorizzare il conteggio degli impulsi.
L'istruzione ACCUTRIG LNSCH deve essere utilizzata nel programma prima che esso si ponga in attesa
dell'attivazione del segnale di presenza pezzo. Per esempio,

1:ACCUTRIG LNSCH[1]
2:WAIT DI[1]=OFF
3:WAIT DI[1]=ON
4:LINECOUNT[1] R[1]
5:SETTRIG LNSCH[1] R[1]

Perché possa essere utilizzata l'istruzione ACCUTRIG, deve essere impostata la seguente variabile di
sistema:
$LNCFG.$SLC_PT_TRIG=TRUE

Perché la nuova impostazione possa avere l'effetto desiderato, è necessario spegnere e riaccendere il
controllore. Se non si intende utilizzare l'istruzione ACCUTRIG, la variabile di sistema deve essere
lasciata al valore FALSE.

Diretto:
Numero di tabella di
parametri (schedule) (1-8)
Indiretto: R[x]
Numero di tabella di lavoro = contenuto nel registro numerico R[x]

Fig. 4.5 (k) Istruzione ACCUTRIG LNSCH

- 92 -
B-83474IT/02 4.CREAZIONE DI PROGRAMMI LINE TRACKING

Istruzione TRKUFRAME
L'istruzione TRKUFRAME imposta il sistema di coordinate utente per la funzione Line tracking nella
tabella di parametri prendendo i valori contenuti nel registro posizione.

Diretto: Diretto: Sistema di


Numero di tabella di coordinate utente per la
parametri (schedule) funzione Line Tracking
Indiretto: R[x] nel registro posizione
Numero di tabella di lavoro Indiretto: R[x]
= contenuto nel registro numerico R[x] indice del registro
posizione = R[x]

Fig. 4.5 (l) Istruzione TRKUFRAME

Istruzione VISUFRAME
L'istruzione VISUFRAME imposta il sistema di coordinate utente per la funzione Line tracking nella
tabella di parametri prendendo i valori contenuti nel registro posizione. La posizione contenuta nel
registro definisce il sistema di coordinate utente per la funzione Line Tracking con riferimento a
WorldFrame.

Diretto: Sistema di
coordinate utente per la
funzione Line Tracking
Diretto: definito dal registro
Numero di tabella di posizione rispetto a
parametri (schedule) (1-8) WorldFrame
Indiretto: R[x] Indiretto: R[x]
Numero di tabella di lavoro indice del registro
= contenuto nel registro numerico R[x] posizione = R[x]
Fig. 4.5 (m) Istruzione VISUFRAME

- 93 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5 TECNICHE AVANZATE DI
PROGRAMMAZIONE
5.1 ESEMPIO DI POSIZIONI PER FINESTRE DI
INSEGUIMENTO MULTIPLE
Questo esempio prende in esame la verniciatura di una scocca di automobile. La lavorazione viene
suddivisa in tre zone, o finestre, all'interno dell'area di lavoro del robot. In questo contesto, una coppia di
valori definisce i limiti della finestra di inseguimento del robot per ciascuna zona.
Fare riferimento alla Fig. 5.1.

LIMITE 1 LIMITE 1
SUPERIORE INFERIORE
Regione 1

SENS

LIMITE 2 LIMITE 2
SUPERIORE INFERIORE Regione 2

SENS

LIMITE 3 LIMITE 3
SUPERIORE INFERIORE Regione 3

Fig. 5.1 Posizioni nelle finestre di inseguimento


- 94 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
In questo esempio, la scocca viene verniciata in tre zone:
• Il cofano motore nella parte frontale
• La parte superiore
• Il vano bagagli nella parte posteriore
Nella Fig. 5.1, le aree contrassegnate con i numeri 1, 2 e 3 rappresentano le tre finestre di inseguimento
corrispondenti. Nella figura in questione, la dicitura SUPERIORE indica il limite della finestra di
inseguimento nella direzione contraria a quella del senso di marcia del convogliatore, mentre
INFERIORE indica indica il limite della finestra di inseguimento nel senso di marcia del convogliatore.
La prima parte della scocca viene verniciata utilizzando la finestra di inseguimento 1, la seconda con la
finestra di inseguimento 2, la terza con la finestra di inseguimento 3. In ognuno di questi casi il software
per il Line Tracking non genera alcun movimento del robot fino a quando la posizione da raggiungere non
entra all'interno della finestra di inseguimento appropriata. Questo assicura la raggiungibilità della
posizione in qualunque situazione.
L'Esempio 5.1 illustra un possibile programma in Line Tracking che richiama l'esecuzione dei cicli di
verniciatura relativi alle tre sezioni della scocca mostrata in Fig. 5.1.

Esempio 5.1 Programma principale che richiama altri programmi per verniciare una vettura
/PROG PAINT CAR
/MN
1: LINE[1] ON ;
2: LBL[1] ;
3: CALL HOME ; -- muove in pos. riposo (non-Tracking)
4: WAIT DI[32]=ON ; -- attesa presenza pezzo
5: LINECOUNT[1] R[1] ;
6: SETTRIG LNSCH[1] R[1] ;
7: SELBOUND LNSCH[1] BOUND[1] ; -- selezione della zona 1
8: CALL CAR_FRNT ; -- verniciatura della parte frontale
(Tracking)
9: SELBOUND LNSCH[1] BOUND[2] ; -- selezione della zona 2
10: CALL CAR_TOP ; -- verniciatura della parte superiore
(Tracking)
11: SELBOUND LNSCH[1] BOUND[3] ; -- selezione della zona 3
12: CALL CAR_BACK ; -- verniciatura della parte posteriore
(Tracking)
13: JMP LBL[1] ;
/POS
/END

In questo esempio, deve essere presa nella dovuta considerazione la possibilità di continuare
l'inseguimento del convogliatore a programma terminato. Per i sotto-programmi di Line Tracking
CAR_FRNT e CAR_TOP, la voce CONTINUE TRACKING AT END OF PROGRAM, nelle
informazioni di dettaglio del programma, deve essere impostata TRUE. Per il sotto-programma
CAR_BACK, invece, deve essere impostata FALSE.
Ciò consente al robot di continuare l'inseguimento del convogliatore mentre sono in corso le varie
lavorazioni intermedie, ma di fermarsi al termine dell'esecuzione dell'ultimo sotto-programma di Line
Tracking, prima di riportarsi nella posizione di riposo.

- 95 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.2 GESTIONE DELLE CODE DI PEZZI IN LINE TRACKING


In molti casi, può rendersi necessario implementare l'inserimento in coda dei valori di trigger dei vari
pezzi che man mano si presentano davanti al robot sul convogliatore.

5.2.1 Utilizzo di un solo programma


Per esempio, si supponga che in una linea di produzione sia presente un convogliatore che si muove ad
una velocità di 50mm/sec e l'interasse tra due pezzi consecutivi sia di 2 metri. Ne deriva che si ha il
passaggio di un pezzo davanti al robot ogni 40 secondi:
40 sec * 50mm/sec = 2000mm o 2 metri.
Se, in questo esempio, il sensore di presenza pezzo è posizionato alla distanza di 1 metro prima del limite,
in direzione opposta al verso del convogliatore, della finestra di lavoro, il pezzo impiega 20 secondi per
transitare dalla posizione in cui si trova il sensore e quella in cui il robot può iniziare la sua lavorazione.
Inoltre, il robot impiega solo 15 secondi per completare il ciclo.
In questo esempio, il robot ha sufficiente tempo per completare il proprio ciclo e poi tornare a monitorare
il sensore di presenza pezzo. La sequenza temporale delle operazioni fin qui descritte è descritta nella
Tabella 5.2.1.
Tabella 5.2.1 Sequenza temporale di esecuzione del ciclo
Tempo Azione correttiva

0 Il pezzo viene rilevato dal sensore

20 Il pezzo entra all'interno della finestra di inseguimento del robot ed il robot inizia il ciclo di lavorazione.

35 Il robot termina il proprio ciclo e torna ad attendere il pezzo successivo.

Siccome l'intervallo tra un pezzo ed il successivo è di 40 secondi, il monitoraggio dell'arrivo dei pezzi può
essere effettuato con un unico programma. Infatti il robot ha comunque 5 secondi di tempo in più per
attendere il rilevamento della presenza del pezzo successivo. Al passaggio di ciascun pezzo in prossimità
del sensore, il programma memorizza la posizione del convogliatore, per mezzo dell'istruzione
LINECOUNT, per poi copiarla nella tabella di parametri per il Line Tracking appropriata, per mezzo
dell'istruzione SETTRIG.

- 96 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.2.2 Utilizzo di due programmi


Se, rispetto all'esempio precedente, si suppone che sul convogliatore siano trasportati il doppio dei pezzi,
distanziati tra loro di 1 metro, che si presentano quindi davanti al robot ad intervalli di 20 secondi,
facendo riferimento alla sequenza temporale descritta in precedenza, il robot non ha tempo sufficiente ad
eseguire il ciclo di lavorazione e, contemporaneamente, monitorare l'arrivo di ciascun pezzo. Ciò è
dovuto al fatto che l'esecuzione dell'intera sequenza ha una durata di 35 secondi per ciascun pezzo. Però,
siccome il tempo impiegato per eseguire il proprio ciclo è di soli 15 secondi, è ancora possibile per il
robot completare la lavorazione su tutti i pezzi.
In questo caso, è necessario utilizzare un secondo programma che possa consentire di separare il processo
di lavorazione dal monitoraggio dell'arrivo dei pezzi. La logica che rileva la presenza dei pezzi di fronte
al sensore è richiesta per memorizzare la posizione del convogliatore (sempre utilizzando l'istruzione
LINECOUNT), ma questa volta i valori letti non possono essere inviati immediatamente alla tabella di
parametri per la funzione Line Tracking. Essi devono essere temporaneamente immagazzinati per poter
essere utilizzati solo dopo che il robot ha completato l'esecuzione del ciclo precedente. Solo in quel
momento il valore del conteggio encoder associato al pezzo successivo può essere copiato nella tabella di
parametri per la funzione Line Tracking.

Interblocco software per il monitoraggio del sensore di presenza pezzo


Data la necessità, per applicazioni di questo tipo, di avere due programmi in esecuzione contemporanea e
separata, uno per rilevare l'arrivo dei pezzi, l'altro per eseguire il ciclo di produzione del robot, è
ugualmente necessario utilizzare una logica che coordini le due operazioni. L'interblocco software
garantisce che il valore di trigger sia sempre aggiornato correttamente prima che il robot inizi il proprio
ciclo.
I modi per realizzare questa tecnica di interblocco software sono vari. In questo caso, il programma
principale, che esegue il ciclo del robot, informa l'altro programma, che monitora il segnale di presenza
pezzo, quando è pronto a ricevere il valore di trigger successivo. Il programma di monitoraggio del
segnale di presenza pezzo informa il programma principale quando è disponibile un nuovo valore di
trigger per un pezzo in arrivo.
L'Esempio 5.2.2 (b) descrive un possibile programma principale che inizializza il sistema, mette in
esecuzione una task per il monitoraggio del sensore di presenza pezzo e richiama i programmi di
movimento.

- 97 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

Indicizzazione con registro numerico per il monitoraggio del sensore di


presenza pezzo
In un altro esempio, entrambi i programmi utilizzano l'indicizzazione con registro numerico per
memorizzare i valori di trigger di pezzi multipli. In questo caso, il programma per il rilevamento
dell'arrivo dei pezzi aggiorna il valore di un registro che viene utilizzato per puntare al registro nel quale
deve essere memorizzato il successivo valore di trigger.
Il programma che esegue il ciclo di lavoro del robot inizia ciascuna elaborazione effettuando prima la
lettura del valore ricavato dal registro indice. Successivamente, copia il valore di trigger dal registro
indicizzato (specificando ancora il valore nel registro indice) nella tabella di parametri per la funzione
Line Tracking appropriata.
L'Esempio 5.2.2 (a) illustra un programma di monitoraggio del segnale di presenza pezzo che viene
eseguito a partire dal programma principale mostrato nell'Esempio 5.2.2 (b).
In questo esempio, il programma consente la gestione di una coda di valori di trigger di 10 pezzi,
memorizzando ogni valore di conteggio impulsi letto al momento dell'attivazione del segnale di presenza
per ciascun pezzo. Se il numero massimo di pezzi consentito tra il sensore di presenza pezzo ed il limite
inferiore della finestra di inseguimento, in qualsiasi momento, eccede le dimensioni della coda (cioè il
numero di registri numerici necessari per memorizzare i valori consecutivi di trigger), aumentare il
numero di registri numerici interessati.

NOTA
La maschera di selezione dei gruppi di assi utilizzati dal programma di
rilevamento della presenza del pezzo non deve comprendere alcun gruppo,
poiché esso non avrà mai il controllo del movimento della macchina e dovrà,
invece, essere eseguito contemporaneamente al programma che esegue il ciclo
di lavorazione.

Esempio 5.2.2 (a) Programma per il monitoraggio del segnale di presenza pezzo (SUBPRG1)
/MN
1: LBL[30] ; -- Rilevazione ciclica della presenza del pezzo
2: R[R[1]]=0 ;
3: WAIT DI[1]=ON+ ; -- Attesa presenza pezzo
4: LINECOUNT[1] R[3] ;
5: R[R[1]]=R[3] ;
6: R[3]=0;
7: ;
8: R[4]=R[1]+1 ; -- CALCOLO REGISTRO SUCCESSIVO
9: IF R[4]<20, JMP LBL[20] ;
10: R[4]=10;
11: LBL[20] ;
12: ;
13: WAIT R[2]<>R[4]; -- TUTTI I REGISTRI SONO MEMORIZZATI
14: R[1]=R[4] ; -- AGGIORNAMENTO INDICE
15: ;
16: JMP LBL[30] ;
/POS
/END

- 98 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
Esempio 5.2.2 (b) Programma principale
/MN
1: LBL[1] ;
2: R[3]=0;
3: R[1]=10; -- Inizializzazione registri con valori
trigger
4: LBL[2] ;
5: R[R[1]]=0 ;
6: R[1]=R[1]+1 ;
7: IF R[1]<20, JMP LBL[2] ;
8: ;
9: R[1]=10; -- Inizializzazione registro indice
10: R[2]=10;
11: ;
12: LINE[1] ON ; -- Impostazione Tracking
13: ;
14: RUN SUBPRG1 ; -- Esecuzione programma monitoraggio trigger
15: ;
16: LBL[10] ; -- Ciclo principale
17: ;
18: CALL HOME ; -- Movimento in posizione stazionaria
19: ;
20: WAIT R[1]<>R[2] ; -- Attesa presenza pezzo
21: SETTRIG LNSCH[1] R[R[2]] ;
22: ;
23: CALL SUB_L1 ; -- Chiamata programma in Line Tracking
24: CALL SUB_C1 ;
25: ;
26: R[2]=R[2]+1 ; -- Incremento registro indice
27: IF R[2]<20, JMP LBL[15] ;
28: R[2]=10;
29: ;
30: LBL[15] ;
31: JMP LBL[10] ; -- Torna all'inizio del ciclo principale
/POS
/END

- 99 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.3 LINE TRACKING CON CONVOGLIATORI MULTIPLI


(DOPPIO LINE TRACKING)
La funzione Line Tracking supporta fino a otto encoders di sincronizzazione con altrettanti convogliatori.
L'applicazione di Line Tracking più tipica prevede che un pezzo sia manipolato mentre si muove su un
unico convogliatore. Però, possono presentarsi situazioni in cui, per esempio, un pezzo debba essere
spostato da un convogliatore ad un altro, o ad altri. Anche questa tipologia di applicazione può essere
gestita dalla funzione Line Tracking, ma richiede che siano considerati diversi aspetti specifici.
• Ciascun encoder deve essere impostato correttamente, così come le tabelle di parametri per la
funzione Line Tracking.
• Siccome in ogni tabella di parametri è possibile specificare le caratteristiche di un solo encoder, la
presenza di più convogliatori comporta la necessità di utilizzare più tabelle di parametri per la
funzione Line Tracking. Ogni tabella di parametri deve essere compilata con la massima attenzione.
Questa operazione comprende l'impostazione, tra gli altri elementi, del sistema di coordinate
nominali e del fattore di scala, per ciascuno degli encoders.
• Siccome solo una tabella di parametri può essere associata a ciascun programma di Line Tracking
(per mezzo dei dati di dettaglio nell'intestazione del programma stesso), un sistema in cui siano
presenti più encoders richiede che siano creati programmi separati, ognuno contenente i movimenti
per un encoder specifico.
• Questa situazione richiede che sia implementata l'elaborazione contemporanea dell'arrivo dei vari
pezzi su ognuno dei convogliatori, per garantire che i valori di trigger, per ciascun pezzo, siano
inviati in modo corretto alle tabelle di parametri utilizzate per i diversi processi.
• Quando il robot deve eseguire in modo continuo istruzioni di movimento riferite a tabelle di
parametri diverse, eseguire l'istruzione STOP_TRACKING, oppure una normale istruzione di
movimento, prima di iniziare il movimento successivo in Line Tracking.

5.3.1 Line Tracking con due convogliatori


In questo manuale è descritto il caso di applicazione della funzione Line Tracking con due soli
convogliatori. Questa configurazione comprende:
• Monitoraggio dei segnali provenienti da entrambi i sensori di presenza pezzo, tramite i programmi
MONITOR1 e MONITOR2.
• Attesa di pezzi presenti su entrambi i convogliatori.
• Verifica della correttezza dell'inseguimento del convogliatore, con i programmi CONV_1 e
CONV_2.
Il processo di implementazione seguente deve essere eseguito per verificare il buon funzionamento
dell'applicazione Line Tracking con due convogliatori:
• Verificare la correttezza del comportamento della funzione Line Tracking per il convogliatore 1
individualmente, utilizzando i programmi di esempio illustrati in questa Sezione.
• Verificare la correttezza del comportamento della funzione Line Tracking per il convogliatore 2
individualmente, utilizzando i programmi di esempio illustrati in questa Sezione.
• Utilizzare i programmi CONV_1 e CONV_2 rispettivamente.
• Eseguire il programma per il monitoraggio dei segnali per verificare che i valori di trigger siano
visualizzati nei registri numerici previsti, mentre avviene il transito dei pezzi.
• Eseguire il programma principale e verificare che il ciclo applicativo complessivo funzioni in modo
corretto.

- 100 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.3.2 Programmi di esempio


I seguenti programmi rappresentano un esempio di applicazione della funzione Line Tracking con due
convogliatori.
Questo programma attende che si presenti un pezzo su uno dei due convogliatori. I pezzi sono trattati con
la logica "primo arrivato, primo servito". Questo programma non alterna l'elaborazione tra i due
convogliatori. Però, alterna l'attesa dei pezzi tra un convogliatore e l'altro. Per questi motivi, il
programmatore deve prepararsi a gestire i casi descritti qui di seguito.

• Aumento considerevole del numero di pezzi


Siccome questo programma non alterna l'elaborazione tra i convogliatori, è possibile che il ciclo di
lavoro su un convogliatore non sia ancora terminato quando si presenta un pezzo sull'altro
convogliatore. In questo caso, diminuire la frequenza di arrivo dei pezzi sui convogliatori.

• Aumento della velocità di avanzamento dei convogliatori


Siccome i pezzi si muovono velocemente, è possibile che l'esecuzione dei movimento del robot sia
molto impegnativa per il sistema e potrebbe verificarsi il superamento dei limiti software. In questo
caso, modificare la posizione del robot rispetto al convogliatore, oppure diminuire la velocità di
avanzamento dei pezzi.

Programma per il monitoraggio del segnale di presenza pezzo


Questo programma monitora in modo continuo i segnali di presenza pezzo provenienti da entrambi i
convogliatori. In questo esempio, la coda dei valori di trigger può contenere al massimo 10 pezzi. Quando
il sistema riceve un segnale di presenza pezzo da uno dei due convogliatori, il programma per il
monitoraggio legge il conteggio degli impulsi e lo memorizza in uno dei 9 registri (per ciascun
convogliatore) in ordine sequenziale. Per esempio, se l'ultimo pezzo transitato era stato memorizzato nel
registro R[10], il valore di trigger di quello successivo sarà scritto nel registro R[11]. Il Programma per il
Ciclo di Lavoro (a cui fa riferimento l'Esempio 5.3.2 (c)) utilizza questi valori di trigger per iniziare il
ciclo di lavorazione sui rispettivi pezzi.

NOTA
Quando si esegue questo programma, bisogna tenere presente le seguenti
condizioni:
• L'esecuzione di questo programma viene attivata a partire dal programma
principale.
• Per questo programma la voce Ignore Pause deve essere ON.
• La maschera di selezione dei gruppi di assi deve contenere tutti "*".

Esempio 5.3.2 (a) Programma per il monitoraggio del sensore di presenza pezzo (MONITOR 1)
/MN
1: LBL[20] ;
2: R[1]=10; -- R[10]-[19] utilizzati per encoder 1
3: LBL[30] ; -- Ciclo principale
4: R[R[1]]=0 ;
5: WAIT DI[1]=ON+ ; -- Attesa presenza pezzo
6: LINECOUNT[1] R[3] ;
7: R[R[1]]=R[3] ;
8: R[3]=0;
9: R[1]=R[1]+1 ; -- Incremento registro indice
10: IF R[1]>19, JMP LBL[20] ;
11: JMP LBL[30] ; -- Torna all'inizio del ciclo principale
/POS
/END

- 101 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

Esempio 5.3.2 (b) Programma per il monitoraggio del sensore di presenza pezzo (MONITOR 2)
/MN
1: LBL[20] ;
2: R[2]=20; -- R[20]-[29] utilizzati per encoder 2
3: LBL[30] ; -- Ciclo principale
4: R[R[2]]=0 ;
5: WAIT DI[2]=ON+ ; -- Attesa presenza pezzo
6: LINECOUNT[2] R[5] ;
7: R[R[2]]=R[5] ;
8: R[5]=0;
9: R[2]=R[2]+1 ; -- Incremento registro indice
10: IF R[2]>29, JMP LBL[20] ;
11: JMP LBL[30] ; -- Torna all'inizio del ciclo principale
/POS
/END

Programma di esecuzione del ciclo


Il programma illustrato nell'Esempio 5.3.2 (c) attende che si presenti un pezzo su uno dei due
convogliatori. I pezzi sono trattati con la logica "primo arrivato, primo servito". Questo programma non
alterna l'elaborazione tra i due convogliatori. Però, alterna l'attesa dei pezzi tra un convogliatore e l'altro.

Esempio 5.3.2 (c) Programma per il ciclo di lavoro sul pezzo (PART)
1: R[4]=10; -- Registro per il confronto con
quello scritto da Monitor1
2: R[6]=20; -- Registro per il confronto con
quello scritto da Monitor2
3: LINE[1] ON ;
4: LINE[2] ON ;
5: CALL_PROG HOME; -- Il programma HOME non è in Line
Tracking
6: LBL[10] ;
7: WAIT R[1]<>R[4] TIMEOUT, LBL[20];-- TIMEOUT = $WAITTMOUT = 10 (100 ms)
8: JMP LBL[100] ;
9: LBL[20] ;
10: WAIT R[2]<>R[6] TIMEOUT, LBL[10];
11: JMP LBL[200] ;
12: LBL[100] ;
13: SETTRIG LNSCH[1] R[R[4]];
14: SELBOUND LNSCH[1] BOUND[1] ;
15: CALL_PROG CONV_1; -- CONV_1 è un programma in Line
Tracking
16: CALL_PROG CLEAR_1; -- CLEAR_1 non è per Line Tracking
17: R[4]=R[4]+1 ;
18: IF R[4]<=19, JMP LBL[10];
19: R[4]=10;
20: JMP LBL[10] ;
21: LBL[200] ;
22: SETTRIG LNSCH[2] R[R[6]];
23: SELBOUND LNSCH[2] BOUND[1] ;
24: CALL_PROG CONV_2; -- CONV_2 è un programma in Line
Tracking
25: CALL_PROG CLEAR_2; -- CLEAR_2 non è per Line Tracking
26: R[6]=R[6]+1 ;
27: IF R[6]<=29, JMP LBL[20];
28: R[6]=20;
29: JMP LBL[20] ;
/POS
/END

- 102 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

Programmi per la Verifica dei Sotto-Programmi in Line Tracking


Il programma descritto nell'Esempio 5.3.2 (d) verifica che il robot insegua il pezzo correttamente per 2
secondi. I programmi CONV_1 e CONV_2 devono avere esattamente la stessa struttura, ma le posizioni
in essi contenute devono essere riferite ai rispettivi convogliatori.

NOTA
Per questo programma, l'encoder per la funzione Line Tracking deve essere
abilitato.

Esempio 5.3.2 (d) Programmi CONV_1 e CONV_2 per la verifica dei sotto-programmi in Line Tracking
1: L P[1:Approccio] CNT75;
2: L P[2:Punto di lavoro] FINE;
3: WAIT 2.00(sec); -- Il tempo è per poter provare
4: L P[1:Approccio] CNT100;
/POS
/END

Programmi per la Gestione del Processo CLEAR_1 e CLEAR_2


Il programma mostrato nell'Esempio 5.3.2 (d) commuta la destinazione dei movimenti tra il convogliatore
1 e 2. I programmi CLEAR_1 e CLEAR_2 devono essere di tipo non-Tracking. Inoltre, questi programmi
devono avere esattamente la stessa struttura, ma le posizioni in essi contenute devono essere riferite ai
rispettivi convogliatori.

Esempio 5.3.2 (e) Programmi per la Gestione del Processo CLEAR_1 e CLEAR_2
1: L P[1:Posizione sicura] CNT75;
2: L P[2:Fuori ingombro convogliatore] FINE;
/POS
/END

Le linee contenenti le istruzioni CALL CLEAR_1 e CALL CLEAR_12, nell'esempio 5.3.2 (c)
Programma per il ciclo di lavoro sul pezzo, possono essere sostituite dall'istruzione STOP_TRACKING.

STOP_TRACKING;

Programma principale
Il programma raffigurato nell'Esempio 5.3.2 (f) attiva l'esecuzione del programma per il monitoraggio
(Esempio 5.3.2 (a) e (b)), esecuzione che avviene contemporaneamente a quella del programma che
realizza il ciclo (Esempio 5.3.2 (c)).

Esempio 5.3.2 (f) Programma principale che inizia l'esecuzione del programma di monitoraggio
e quelli di gestione del ciclo di lavoro
1: RUN_PROG MONITOR1
2: RUN_PROG MONITOR2
3: CALL_PROG PART
/POS
/END

- 103 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.4 PRECISIONE PER ALTE VELOCITÀ DI INSEGUIMENTO


Quando l'applicazione richiede che il robot utilizzi la massima precisione possibile di inseguimento,
anche a velocità del convogliatore relativamente elevate, è possibile utilizzare uno dei metodi seguenti:
• Variabile per la regolazione della precisione statica
• Variabili per la regolazione della precisione dinamica

5.4.1 VARIABILE PER LA REGOLAZIONE DELLA PRECISIONE


STATICA
Il primo metodo descritto per regolare in modo fine la precisione di inseguimento è quello di intervenire
sulla variabile che modifica la precisione statica.
Per effettuare la regolazione, utilizzare il procedimento seguente:
1. Creare un programma di Line Tracking. Per esempio,
L P [1] 500mm/sec FINE
WAIT 30.00 (sec)

NOTA
Registrare la posizione P[1] dopo che il pezzo ha attivato il segnale di presenza
pezzo con il convogliatore che si muova a bassa velocità.

2. Eseguire il programma di Line Tracking alla massima velocità di produzione.


3. Dopo che il robot si muove alla posizione (P[1]), arrestare il convogliatore ma mantenere il
programma in esecuzione.
4. Verificare che il robot sia bene allineato alla posizione corretta (P[1]). Se il robot non è allineato
correttamente con la posizione P[1], modificare la variabile di sistema $LNCFG_GRP.$IO_DELAY,
come descritto nella Figura 5.4.1.

Senso di marcia del convogliatore


Se il robot si ferma in Se il robot si ferma in
quest'area quando il quest'area quando il
convogliatore si ferma, convogliatore si ferma,
aumentare il valore contenuto diminuire il valore contenuto
nella variabile nella variabile
$LNCFG_GRP.$IO_DELAY. $LNCFG_GRP.$IO_DELAY.

Fig. 5.4.1 Modifica della variabile di sistema $LNCFG_GRP.$IO_DELAY

Per esempio, se il robot è spostato di 3 mm e la velocità del convogliatore è di 500 mm/sec, allora,
≅ 66(ms)
(ms)
Quindi, modificare il valore contenuto nella variabile $LNCFG_GRP.$IO_DELAY di 6 ms.
5. Ripetere i Passi da 2 a 4 finché il robot non sarà allineato alla posizione P[1].

- 104 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

NOTA
Sebbene la variabile di sistema $LNCFG_GRP.$IO_DELAY sia parte della
variabile di sistema $LNCFG_GRP[], il fatto che sia riferita ad un gruppo di assi si
verifica solo quando è utilizzata l'istruzione ACCUTRIG. Quando si utilizza
l'istruzione ACCUTRIG, il valore della variabile di sistema
$LNCFG_GRP.$IO_DELAY viene letta dalla variabile di sistema
$LNCFG_GRP[g], dove g indica il gruppo specificato nella tabella di parametri
per la funzione Line Tracking. Se l'istruzione ACCUTRIG non è eseguita, il
sistema utilizza il valore contenuto nella variabile di sistema
$LNCFG_GRP.$IO_DELAY.
Inoltre, quando si utilizza l'istruzione ACCUTRIG, il valore contenuto nella
variabile di sistema $LNCFG_GRP[g].$IO_DELAY può essere modificato di 1
ITP in direzione negativa e 5 ITP in direzione positiva, dove con ITP si intende il
tempo di interpolazione del robot. La variabile di sistema che contiene questo
valore è di sola lettura ($SCR.$ITP_TIME). Eventuali variazioni più grandi non
producono effetti. Se l'istruzione ACCUTRIG non viene utilizzata, la variabile di
sistema $LNCFG_GRP[g].$IO_DELAY può essere modificata senza limitazioni.

NOTA
Effettuare la regolazione statica della variabile di sistema
$LNCFG_GRP[g].$IO_DELAY in caso di utilizzo della funzione Line Tracking, poi
procedere alla regolazione statica mediante posizioni di riferimento se si utilizza
un sistema di visione in Line Tracking. Per avere ulteriori dettagli, fare riferimento
alla Sezione 4.6.1 nel manuale per l'operatore del sistema iRVision in
applicazioni di Line Tracking (B-83304EN-4).

La regolazione statica fine può essere effettuata utilizzando la variabile di sistema


$ENC_IODELAY[numero encoder] invece della variabile $LNCFG_GRP[g].$IO_DELAY. Prima di
effettuare la regolazione, eseguire le seguenti impostazioni.
• Impostare la variabile di sistema $ENC_IOD_ENB[numero encoder] a TRUE.
• Impostare la variabile di sistema $ENC_IODELAY[numero encoder] a 0.
Modificare il valore facendo riferimento alla Sezione 5.4.1, VARIABILE PER LA REGOLAZIONE
DELLA PRECISIONE STATICA.

- 105 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.4.2 VARIABILI PER LA REGOLAZIONE DELLA PRECISIONE


DINAMICA
Per modificare in modo corretto le variabili di precisione dinamica, è necessario prima aver definito il
valore della variabile per la precisione statica (Sezione 5.4.1). Dopo aver impostato la variabile per la
precisione statica, si devono modificare le seguenti due variabili:
• $LNCFG_GRP[ ]. $SRVO_DELAY
• $LNCFG_GRP[ ]. $SOFT_DELAY
Queste variabili lavorano in coppia. Per effettuare la regolazione, utilizzare il procedimento seguente:
1. Eseguire il programma di Line Tracking alla massima velocità di produzione e non arrestare il
convogliatore.
2. Verificare il corretto mantenimento dell'allineamento del robot con la posizione corrente mentre il
convogliatore è in movimento ed il programma è in esecuzione. Se il robot non è allineato
correttamente con la posizione P[1], modificare le variabili di sistema
$LNCFG_GRP[ ].$SRVO_DELAY e $LNCFG_GRP[ ].$SOFT_DELAY, come descritto nella
Figura 5.4.2.

Senso di marcia del convogliatore

Se il robot rimane in quest'area Se il robot rimane in quest'area


quando il convogliatore si sta quando il convogliatore si sta
muovendo, aumentare il valore muovendo, diminuire il valore
contenuto nelle variabili contenuto nelle variabili
$SRVO_DELAY e $SRVO_DELAY e
$SOFT DELAY. $SOFT DELAY.

Fig. 5.4.2 Modifica delle variabili


$LNCFG_GRP[ ].$SRVO_DELAY e $LNCFG_GRP[ ].$SOFT_DELAY

3. Osservare il movimento alla posizione mentre è in esecuzione l'istruzione WAIT.


Se la precisione non è sufficiente, ripetere i Passi 1 e 2.

- 106 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.5 COORDINATE UTENTE PER LA FUNZIONE LINE


TRACKING

5.5.1 Panoramica
Per compensare le variazioni che si hanno durante la produzione sulla posizione e l'orientamento di un
pezzo, il sistema consente di utilizzare un sistema di coordinate utente (User Frame) per la funzione Line
Tracking.
In generale,
- Un sensore di posizione monodimensionale consente di rilevare e correggere lo scostamento in
traslazione (∆Y), in direzione perpendicolare a quella del convogliatore.
- Un sensore di posizione bidimensionale (telecamera) consente di rilevare e correggere lo scostamento
in roto-traslazione (∆X, ∆Y e ∆R).

NOTA
Se il sensore di visione impiegato è fornito da FANUC, non attivare la funzione
descritta in questa sezione, bensì utilizzare la funzione di Line Tracking con
sistema di visione iRVision.
Se si impiega un sensore di posizione monodimensionale per correggere lo
scostamento in una direzione. è possibile utilizzare le istruzioni Offset o Tool
Offset in sostituzione della funzione descritta in questa sezione.

Se si utilizza un sistema di coordinate per la funzione Line Tracking definita dall'utente, i dati di
posizione vengono registrati con riferimento alle coordinate utente impostate sul pezzo. Il programmatore
deve solo spostare le coordinate utente in funzione del valore di scostamento di ciascun pezzo, così che il
robot possa avvicinarsi ad esso sempre nello stesso modo.

La definizione delle coordinate utente può essere una delle seguenti.


• TRKUFRAME
Il sistema di coordinate utente/pezzo è definito rispetto al sistema di coordinate nominale.
Preferire questo tipo di sistema di coordinate se si utilizza un sensore di posizione mono o
bidimensionale per rilevare lo scostamento del pezzo (rispetto al pezzo standard).
In un programma TP, utilizzare l'istruzione TRKUFRAME.
• VISUFRAME
Il sistema di coordinate utente/pezzo è definito rispetto al sistema di coordinate WorldFrame
del robot.
Preferire questo tipo di sistema di coordinate se si utilizza un sensore di posizione mono o
bidimensionale per rilevare lo scostamento del pezzo rispetto alle coordinate WorldFrame.
In un programma TP, utilizzare l'istruzione VISUFRAME.

Per poter impiegare la funzione che rende disponibile il sistema di coordinate utente per la funzione Line
Tracking, devono essere impostati due elementi nel menu di configurazione della funzione stessa.
• Impostare la voce Use Tracking Uframe a YES (lo standard è NO).
• Impostare l'elemento Vision Uframe Dist (distanza del sistema di coordinate utente dal sistema di
visione) al valore corretto (quello predefinito è 0), in modo che l'istruzione VISUFRAME possa
funzionare come previsto.
Per maggiori informazioni circa la configurazione della funzione Line Tracking, far riferimento alla
relativa sezione di questo Manuale.

NOTA
In una tabella di parametri per la funzione Line Tracking è ammesso l'utilizzo solo
di una delle due istruzioni TRKUFRAME o VISUFRAME.
- 107 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.5.2 TERMINOLOGIA UTILIZZATA RELATIVAMENTE ALLE


COORDINATE UTENTE PER LA FUNZIONE LINE TRACKING
Per poter utilizzare con successo un sistema di coordinate utente per la funzione Line Tracking, è
necessario prima conoscere e ben comprendere la relazione esistente tra tutti i sistemi di coordinate che
entrano in gioco quando un robot lavora in Line Tracking. La Figura 5.5.2 mostra la relazione esistente
tra i sistemi di coordinate del robot rispetto al convogliatore.

Telecamera

Senso di marcia del convogliatore

PRTRK Sistema dinamico


Nominal Framedi
Sistema di coordinate utente/pezzo coordinate nominali per
la funzione Line Tracking

Sistema di coordinate nominali


per la funzione Line Tracking

Segnale di
presenza pezzo

World Frame
World Frame

Fig. 5.5.2 Coordinate utente/pezzo per la funzione Line Tracking


e relazione esistente tra i sistemi di coordinate

- 108 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
Le differenze tra i vari sistemi di coordinate sono descritte con la seguente terminologia:

Tabella 5.5.2 Terminologia utilizzata per i sistemi di coordinate utente/pezzo per la funzione Line Tracking
Terminologia Descrizione

Tracking Frame Consiste nel sistema di coordinate definito in fase di configurazione della tabella di dati per la
(sistema di funzione Line Tracking. Durante il movimento del convogliatore, questo sistema di coordinate
coordinate di non si muove. Fare riferimento ad altre sezioni di questo manuale per ulteriori informazioni.
Tracking)

Nominal Frame Indica il sistema di coordinate per la funzione Line Tracking attivo al momento
(sistema dinamico dell'esecuzione del programma. Questo sistema di coordinate si mantiene parallelo a quello
di coordinate nominale e si muove insieme al convogliatore. (Se la funzione che consente di definire un
nominali per la sistema di coordinate utente/pezzo per Line Tracking è disabilitata, i dati di posizione
funzione Line presenti nel programma vengono registrati rispetto a queste coordinate).
Tracking)

User/Part Frame Descrive le coordinate dell'oggetto che si muove sul convogliatore ed è definito dall'utente.
(Sistema di Se si intende compensare lo scostamento rotazionale, è necessario impostare l'origine di
coordinate questo sistema di coordinate nella posizione di riferimento, per il sensore di posizione, sul
utente/pezzo) pezzo.

World Frame Indica il sistema di coordinate standard per il robot.

PRTRK Contiene i dati relativi ad un sistema di coordinate utente/pezzo rispetto alle coordinate
nominali, in forma di matrice. I valori variano al variare di ciascun pezzo. Questi dati sono
immagazzinati in un registro posizione.

PRVIS Contiene i dati relativi ad un sistema di coordinate utente/pezzo rispetto alle coordinate
WorldFrame, in forma di matrice. I valori variano al variare di ciascun pezzo. Questi dati sono
immagazzinati in un registro posizione. Questo sistema di coordinate è utilizzato solo per
l'istruzione VISUFRAME.

L1 Indica la distanza, in millimetri, dal punto di rilevamento del pezzo, come specificato nella
tabella dei parametri per la funzione Line Tracking. Se questo elemento viene impostato al
valore rappresentato dalla distanza tra robot e sensore di presenza pezzo, L1 può essere
descritta come nella Fig. 5.5.2.

L2 Indica la distanza percorsa dal pezzo dopo aver attivato il segnale di presenza pezzo.
Può essere calcolata con la seguente formula:

Conteggio encoder - Valore di trigger


Fattore di scala dell'encoder

- 109 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.5.3 Impostazioni per l'istruzione TRKUFRAME


Se si utilizza l'istruzione TRKUFRAME, è necessario calcolare i valori da scrivere nel registro posizione
PRTRK (sistema di coordinate utente rispetto a coordinate nominali) per ciascun pezzo e memorizzarli in
un registro posizione.
Si ipotizzi un sistema come quello descritto di seguito;
• Il convogliatore è posizionato come indicato nella Fig. 5.5.2. In questo caso, l'orientamento del
sistema di coordinate per la funzione Line Tracking è ruotato di 90 gradi attorno all'asse Z. (In altre
parole, la direzione del convogliatore è parallela all'asse +Y delle coordinate WorldFrame, mentre la
direzione verticale, rispetto alla superficie del convogliatore, è parallela all'asse +Z delle coordinate
WorldFrame).
• Un sensore di posizione bidimensionale rileva lo scostamento del pezzo rispetto a quello campione.
Lo scostamento è di rototraslazione (∆X,∆Y e ∆R). (I valori che definiscono lo scostamento sono
rappresentati rispetto al sistema di coordinate nominali).
Se il calcolo del PRTRK sul pezzo campione viene effettuato anticipatamente, sarà necessario soltanto
aggiungere ad esso lo scostamento in modo da ottenere i dati da memorizzare nel PRTRK per ciascun
pezzo. (Vedere l'Esempio 5.5.5 (a)).
Con la Procedura 5-1 è possibile calcolare i dati da scrivere nel PRTRK per il pezzo campione.

Procedura 5-1 Calcolo dei dati del PRTRK relativi al pezzo campione per l'istruzione
TRKUFRAME
Passi
1. Far transitare il pezzo campione davanti al sensore di presenza pezzo e poi fermare il convogliatore
in una posizione nella quale il robot possa agevolmente raggiungere il pezzo stesso.
2. Leggere i valori mostrati alle voci Encoder Count, Trigger Value, Enc Scale Factor, Part Detect
Dist., Tracking Frame nella schermata del menu SETUP, Tracking.
3. Calcolare L2 utilizzando l'equazione specificata nella Tabella 5.5.2.
4. Calcolare L1 - L2.
5. Sommare - (L1 - L2) alla componente Y dell'origine del sistema di coordinate per la funzione Line
Tracking (Tracking frame) per spostare quest'ultimo di - (L1 - L2) lungo la sua direzione x. (Notare
che questo calcolo su basa sul fatto che l'orientamento del sistema di coordinate per la funzione Line
Tracking sia ruotato di 90 gradi attorno all'asse Z. Se questa condizione non è soddisfatta,
modificare il calcolo in modo appropriato).
Il sistema di coordinate risultante è quello nominale attuale nella posizione corrente del pezzo
(notare che il convogliatore in questo momento è fermo).
6. Definire un sistema di coordinate utente sull'oggetto (pezzo). Se si intende compensare solo l'effetto
dello scostamento di traslazione (∆Y), è possibile definire l'origine del sistema di coordinate utente
in qualunque punto si desideri. Se, invece, si intende compensare anche lo scostamento rotazionale,
(∆R), l'origine del sistema di coordinate utente deve essere definita nella posizione di riferimento per
il sensore (telecamera) sul pezzo.
Portare il TCP del robot nell'origine del sistema di coordinate utente selezionato. Prendere nota della
posizione del TCP rispetto alle coordinate WorldFrame.

- 110 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
7. Sottrarre ciascun elemento del sistema di coordinate nominali dal corrispondente elemento del
sistema di coordinate utente, così da determinare il registro posizione PRTRK per l'istruzione
TRKUFRAME. (Sistema di coordinate utente relativo alle coordinate nominali).
Il PRTRK può essere calcolato mediante la seguente espressione.
Sistema di coordinate utente = u e sistema di coordinate nominali = n .
PRTRK(X,Y,Z,W,P,R) = {Yu - Yn, -(Xu - Xn), Zu - Zn, 0, 0, 0 }

NOTA:
• Il calcolo delle coordinate X e Y è fondato sulla condizione che la direzione del convogliatore
sia parallela all'asse +X del sistema di coordinate WorldFrame. Se questa condizione non è
soddisfatta, modificare il calcolo opportunamente.
• Il fatto che le coordinate W e P siano entrambe a zero, si basa sulla condizione che la direzione
verticale del convogliatore sia parallela all'asse +Z del sistema di coordinate WorldFrame. In
questo caso, la coordinata R può essere definita a piacere, per cui è stata impostata a zero
nell'espressione sopra riportata.

NOTA
Se la direzione verticale del convogliatore non è parallela all'asse Z del sistema
di coordinate WorldFrame, il registro posizione PRTRK non può essere calcolato
con la semplice sottrazione descritta fin qui. In questo caso, il calcolo del registro
posizione deve essere effettuato mediante operazioni tra matrici, magari
utilizzando programmi in linguaggio KAREL.

8. Ora il PRTRK relativo al pezzo campione è calcolato.


Memorizzare i valori ottenuti in un registro posizione.

5.5.4 Impostazioni per l'istruzione VISUFRAME


Se, per definire i dati del PRVIS (sistema di coordinate utente/pezzo rispetto alle coordinate WorldFrame),
si utilizza un sistema di visione, il programmatore deve utilizzare l'istruzione VISUFRAME e non
l'istruzione TRKUFRAME.
Per questa istruzione, deve essere specificata L 2 , che rappresenta la distanza percorsa dal pezzo tra il
segnale di presenza pezzo ed il punto in cui il sistema di visione rileva e memorizza l'immagine del pezzo
stesso. Il valore deve essere misurato dall'utente e inserito alla voce Vision Uframe Dist. nel menu
SETUP, Tracking.
Il sistema di visione calcolerà automaticamente il PRVIS e passerà i valori ricavati al registro posizione
appropriato. Eseguire l'istruzione VISUFRAME, con questo registro posizione, all'interno di un
programma (fare riferimento all'Esempio 5.5.5 (b)) in modo che il software della funzione Line Tracking
converta automaticamente il PRVIS nel PRTRK (sistema di coordinate utente/pezzo rispetto a quelle
nominali).

- 111 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.5.5 Esempio di programma che utilizzi un sistema di coordinate


utente con la funzione Line Tracking e sua esecuzione
Se è abilitato l'utilizzo del sistema di coordinate utente per la funzione Line Tracking, impiegare
l'istruzione TRKUFRAME per impostare queste coordinate.
L'Esempio 5.5.5 (a) illustra un programma che fornisce un esempio di utilizzo dell'istruzione
TRKUFRAME.

In questo esempio, i registri posizione PR[1], [2] e [3] sono utilizzati per i seguenti scopi:
PR[1]: PRTRK. Viene aggiornato da ciascun pezzo durante l'esecuzione del programma.
PR[2]: Rappresenta PRTRK per il pezzo campione. Questo registro NON è aggiornato durante l'esecuzione
del programma.
PR[3]: Contiene lo scostamento rispetto al pezzo campione (generato dal sensore di visione). Viene
aggiornato da ciascun pezzo durante l'esecuzione del programma.

Nel programma OFFSET1 il sensore rilava lo scostamento rispetto al pezzo campione e scrive i valori
nelle coordinate X, Y e R del registro posizione PR[3]. Questo programma viene creato dall'utente sulla
base delle specifiche del sensore.

Esempio 5.5.5 (a) Programma che utilizza l'istruzione TRKUFRAME


1: LINE[1] ON ; -- Attivazione dell'encoder;
2: LBL[1];
3: CALL HOME1; -- Movimento del robot in posizione di Home
4: WAIT DI[27]=ON ; -- Attesa presenza pezzo
5: LINECOUNT[1] R[1] ; -- Memorizzazione conteggio encoder in
registro
6: SETTRIG LNSCH[1] R[1] ; -- Scrittura del conteggio encoder in tabella
7: SELBOUND LNSCH[1] BOUND[1] ; -- Selezione di una coppia di limiti per la
finestra di inseguimento del robot.
8:
9: ! Impostazione del sistema di coordinate per la funzione Line Tracking
10: CALL OFFSET1; -- generazione dell'offset e scrittura in
PR[3]
11: PR[1]=PR[2]+PR[3]; -- calcolo di PRTRK e scrittura in PR[1]
12: TRKUFRAME LNSCH[1] PR[1]; -- Impostazione del sistema di coordinate per
la funzione Line Tracking
13:
14: CALL LNTK1; -- Richiama un programma in Line Tracking
15: JMP LBL[1] -- Ripetizione del processo

Se è abilitato l'utilizzo del sistema di coordinate utente con sistema di visione per la funzione Line
Tracking, impiegare l'istruzione VISUFRAME per impostare queste coordinate.
L'Esempio 5.5.5 (b) illustra un programma che fornisce un esempio di utilizzo dell'istruzione
VISUFRAME.

In questo esempio, il registri posizione PR[1] è utilizzato per il seguente scopo:


PR[1]: PRVIS (scostamento calcolato dalla telecamera). Viene aggiornato da ciascun pezzo durante
l'esecuzione del programma.

Nel programma VOFFSET1 il sensore rileva lo scostamento nella posizione del pezzo (PRVIS ) e lo scrive
nel registro posizione PR[1]. Questo programma viene creato dall'utente sulla base delle specifiche del
sensore.

- 112 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
Esempio 5.5.5 (b) Programma che utilizza l'istruzione VISUFRAME
1: LINE[1] ON ; -- Attivazione dell'encoder;
2: LBL[1];
3: CALL HOME1; -- Movimento del robot in posizione di Home
4: WAIT DI[27]=ON ; -- Attesa presenza pezzo
5: LINECOUNT[1] R[1] ; -- Memorizzazione conteggio encoder in
registro
6: SETTRIG LNSCH[1] R[1] ; -- Scrittura del conteggio encoder in tabella
7: SELBOUND LNSCH[1] BOUND[1] ; -- Selezione di una coppia di limiti per la
finestra di inseguimento del robot.
8:
9: ! Impostazione del sistema di coordinate per la funzione Line Tracking
10: CALL VOFFSET1; -- generazione dell'offset con visione e
scrittura in PR[1]
11: VISUFRAME LNSCH[1] PR[1]; -- Impostazione del sistema di coordinate
per la funzione Line Tracking
12:
13: CALL LNTK1; -- Richiama un programma in Line Tracking
14: JMP LBL[1] -- Ripetizione del processo

NOTA
Per ciascuna tabella di parametri per la funzione Line Tracking è possibile
utilizzare una sola delle due istruzioni TRKUFRAME e VISUFRAME.

Negli Esempi 5.5.5 (a) e (b), il programma HOME1 non è per Line Tracking, mentre il programma
LNTK1 lo è, come descritto sotto;

Esempio 5.5.5 (c) Programma che utilizza la funzione Line Tracking (LNTK1)
1: L P[1] 1000mm/sec FINE; -- Movimento sopra il pezzo
2: L P[2] 1000mm/sec FINE; -- Movimento alla posizione P[2]
3: WAIT 1.00(sec); -- Attesa di un secondo
4: L P[3] 1000mm/sec FINE; -- Movimento alla posizione P[3]
5: L P[4] 1000mm/sec FINE; -- Movimento alla posizione P[4]
6: L P[5] 1000mm/sec FINE; -- Movimento alla posizione P[5]
7: L P[2] 1000mm/sec FINE; -- Movimento alla posizione P[2]
8: L P[1] 1000mm/sec FINE; -- Movimento sopra il pezzo

- 113 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.5.6 Registrazione ed esecuzione di un programma che utilizza un


sistema di coordinate utente con la funzione Line Tracking
Dopo aver completato le impostazioni (Sezioni 5.5.3 e 5.5.4), è possibile registrare ed eseguire un
programma che utilizzi il sistema di coordinate utente per la funzione Line Tracking, come mostrato nella
Procedura 5-2.

Procedura 5-2 Registrazione ed esecuzione di un programma che utilizzi il sistema


di coordinate utente per la funzione Line Tracking
Passi
1. Creare il programma principale, come mostrato nell'Esempio 5.5.5 (a) o nell'esempio 5.5.5 (b).
A questo punto, il sotto programma potrebbe essere senza alcuna istruzione.
2. Eseguire il programma principale, dalla prima linea fino a quella che precede l'istruzione CALL.
Durante questa fase, far transitare un pezzo davanti al sensore di presenza pezzo e poi fermare il
convogliatore in una posizione nella quale il robot possa agevolmente raggiungere il pezzo stesso.
3. Registrare le posizioni che il robot dovrà raggiungere nel programma di Line Tracking.
4. Avviare il convogliatore ed eseguire il programma principale a partire dalla prima linea.
5. Esiste una limitazione sulla compensazione rotazionale (∆R) e in standard questa limitazione è pari a
5 gradi. Quando la compensazione supera questo valore, il sistema genera l'allarme “LNTK-037
Rotation diff exceeds limit” all'inizio del movimento in Line Tracking. Se necessario, modificare il
limite per mezzo della seguente variabile di sistema;
$LNSCH[numero di tabella].$UFRM_RT_LIM (valore standard 5 gradi)
Non modificare questa variabile se la funzione di Tracking utilizzata è del tipo Rail (Sezione 5.5.7).

- 114 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
Esempi di compensazioni di traiettorie sono illustrati nelle figure seguenti.
La compensazione in traslazione (∆Y) è illustrata nella Fig. 5.5.6 (a), mentre quella di rototraslazione
(∆R) è mostrata nella Fig. 5.5.6 (b). La linea tratteggiata rappresenta la traiettoria originale, mentre quella
continua indica la traiettoria modificata.

∆Y

Fig. 5.5.6 (a) Compensazione della traiettoria in direzione Y

∆R

Fig. 5.5.6 (b) Compensazione della traiettoria in rotazione R

- 115 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.5.7 Utilizzo delle istruzioni TRKUFRAME e VISUFRAME per la


funzione Line Tracking mediante rotaia
Il concetto di base della funzione Line Tracking per robot montato su rotaia è lo stesso rispetto a quello
descritto per un robot montato a pavimento, con la differenza che il robot si muove lungo un asse
ausiliario lineare integrato (normalmente lungo l'asse Y) ed il sistema di coordinate per la funzione Line
Tracking coincide con il sistema WorldFrame del robot. Vedere la Fig. 5.5.7.
Utilizzare la procedura descritta nelle Sezioni 5.5.3 e 5.5.4. Determinare il PRTRK per l'istruzione
TRKUFRAME o il PRVIS per l'istruzione VISUFRAME e memorizzarli in un registro posizione.

Senso di marcia del convogliatore


Telecamera

Sistema di coordinate utente/pezzo

PRTRK
Sistema di coordinate
Nominal Frame
nominali per la funzione

Sensore di
presenza pezzo

PRVIS
Sistema di coordinate per la funzione
Line Tracking/WorldFrame

Fig. 5.5.7 Coordinate utente/pezzo per la funzione di Tracking su rotaia


e relazione esistente tra i sistemi di coordinate

- 116 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.6 MONITORAGGIO SEGNALE DI PRESENZA PEZZO AD


ALTA FREQUENZA

5.6.1 Panoramica
La funzione opzionale che gestisce i segnali HDI per la funzione Line Tracking (J831) consente di
ottenere una elevata precisione nel rilevamento della presenza del pezzo quando il convogliatore si muove
ad alte velocità. Questa funzione utilizza i segnali HDI (ingressi ad alta velocità) in sostituzione
dell'ingresso digitale standard normalmente selezionato per il rilevamento della presenza del pezzo.
Per poter utilizzare i segnali HDI per la funzione Line Tracking, è necessario
• Abilitare le variabili di sistema che attivano i segnali HSDI per la funzione Line Tracking
• Modificare il programma rispetto a quello sviluppato per il caso in cui non si utilizzano i segnali
HSDI.

5.6.2 Abilitazione della funzione


Quando nel controllore è presente l’opzione software per la gestione dei segnali HSDI, il sistema crea una
nuova variabile di sistema, denominata $HSLTENBL. Per abilitare la funzione, questa variabile di
sistema deve essere impostata a TRUE. Un’ulteriore variabile di sistema, denominata
$LNCFG.$HSDI_FLAG[numero porta], è utilizzata per abilitare e disabilitare la funzione dinamicamente.
Per esempio, quando quest’ultima variabile viene impostata a TRUE, lo stato del segnale HSDI viene
rilevato ed elaborato; quando, invece, è impostata a FALSE, il segnale HSDI viene ignorato.
Per abilitare la gestione dei segnali HSDI per la funzione Line Tracking, utilizzare la Procedura 5-3.

Procedura 5-3 Abilitazione della gestione dei segnali HSDI per la funzione Line
Tracking
Condizioni
• L’opzione software A05B-2500-J831 è stata caricata nel controllore.
• L'opzione software System Trigger è presente nel controllore.
• Il sensore hardware di presenza del pezzo è connesso al segnale HSDI1.
(Fare riferimento all'Appendice B).
• Il controllore R-30iB supporta un massimo di 5 ingressi ad alta velocità, localizzati nella porta
JRL8.
• Il controllore R-30iB Mate supporta un massimo di 2 ingressi ad alta velocità, localizzati nella
porta CRL3.

NOTA
Nel controllore R-30iB Mate, l'interfaccia per i segnali HDI non è disponibile se la
scheda Main è di tipo A (A20B-8200-0790) o B (A20B-8200-0791). I segnali HDI
sono disponibili con la scheda Main di tipo C (A20B-8200-0792) nel controllore
R-30iB Mate. Per ulteriori dettagli, fare riferimento alla Tabella 5.6.2 (a).

- 117 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

Tabella 5.6.2 (a) Requisiti hardware per la scheda Main del controllore R-30iB Mate
(Interfaccia per segnali HDI)

Disponibilità
Codice di
Scheda Main dell'interfaccia Commenti
ordinazione
per i segnali HDI

Scheda Main A20B-8200-0790 Non disponibile • La scheda Main nella colonna di sinistra è inclusa nei
tipo A seguenti codici di ordinazione.
A05B-2650-H001, A05B-2661-H001 (R-30iB Mate)
A05B-2655-H001, A05B-2662-H001 (R-30iB Mate
(versione compatta))
Scheda Main A20B-8200-0791 Non disponibile • La scheda Main nella colonna di sinistra è inclusa nei
tipo B seguenti codici di ordinazione.
A05B-2650-H002, A05B-2661-H002 (R-30iB Mate)
A05B-2655-H002, A05B-2662-H002 (R-30iB Mate
(versione compatta))
Scheda Main A20B-8200-0792 Disponibile • La scheda Main nella colonna di sinistra è inclusa nei
tipo C seguenti codici di ordinazione.
A05B-2650-H003, A05B-2661-H003 (R-30iB Mate)
A05B-2655-H003, A05B-2662-H003 (R-30iB Mate
(versione compatta))

Passi
1. Premere il tasto MENU.
2. Premere il tasto NEXT, >.
3. Selezionare la voce SYSTEM.
4. Premere il tasto F1, TYPE.
5. Selezionare la voce Variables.
6. Portare il cursore in corrispondenza delle seguenti variabili di sistema ed impostare il loro valore
come prescritto
• $HSLTENBL = TRUE
• $LNCFG.$HSDI_ENABLE = TRUE
7. Spegnere e riaccendere il controllore per attivare i nuovi valori.
8. Utilizzare il menu di configurazione per definire l'identificativo della porta HSDI.
9. Spegnere e riaccendere il controllore per attivare i nuovi valori.
SETUP Encoders
9/9
Encoder Number : 1
1 Encoder Axis : 1
2 Encoder Type : Serial INC
3 Encoder Enable : OFF
Current Count (cnts) : 0
4 Multiplier (ITP/update) : 1
5 Average (updates) : 1
6 Stop Threshold (cnt/updt) : 0
7 Simulate : Enable : OFF
8 Rate (cnt/updt) : 0
9 HDI port Id : 1

[ TYPE ] ENCODER

NOTA
Se nel controllore è presente l'opzione software HSDI (J831) ed il programma che
utilizza la funzione Line Tracking effettua il monitoraggio della presenza del pezzo
con un segnale di ingresso digitale standard, impostare la variabile di sistema
$LNCFG.$HSDI_ENABLE a FALSE. In caso contrario, potrebbe risultare
impossibile modificare il programma che utilizza la funzione Line Tracking.
- 118 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.6.3 Modifica del programma che utilizza la funzione Line Tracking


per l’utilizzo dei segnali HSDI
Dopo aver impostato a TRUE le variabili che abilitano la gestione dei segnali HDI, è possibile apportare
le necessarie modifiche ai programmi che funzionano in Line Tracking affinché essi possano utilizzare la
funzione. Nell'Esempio 5.6.3 (a) è illustrato un programma standard in Line Tracking che non utilizza la
funzione di monitoraggio ad alta frequenza del segnale di trigger.

Esempio 5.6.3 (a) Programma principale che non utilizza la gestione dei segnali HSDI
1: J P[1] 50% FINE -- Movimento del robot in posizione di Home
2: LINE[1] ON -- Abilitazione dell'encoder
3: WAIT DI[1] ON -- Attesa presenza pezzo
4: LINECOUNT[1] R[1] -- Estrazione del valore di trigger
5: SETTRIG LNSCH[1] R[1] -- Scrittura del valore di trigger nella tabella
6: SELBOUND LNSCH[1] BOUND[1] -- Selezione dei limiti della finestra
di inseguimento
7: CALL TRACK -- Chiamata del programma in Line Tracking
8: J P[1] 50% FINE -- Movimento del robot in posizione di Home

L'Esempio 5.6.3 (b) mostra lo stesso programma che, però, include le istruzioni che utilizzano la funzione
di monitoraggio ad alta frequenza del segnale di trigger. Le parti di programma modificate sono
contrassegnate dalle linee tratteggiate.

Esempio 5.6.3 (b) Programma principale che utilizza la gestione dei segnali HSDI
1: J P[1] 50% FINE -- Movimento del robot in posizione di
Home
2: LINE[1] ON -- Abilitazione dell'encoder
3: ! ------------------------------
4: $HDI_FLAG[1] = 1 -- Abilitazione della porta 1 dei
segnali HSDI
5: WAIT $ENC_STAT[1].$ENC_HSDI = 1 -- Attesa presenza pezzo
6: ! ------------------------------
7: LINECOUNT[1] R[1] -- Estrazione del valore di trigger
8: SETTRIG LNSCH[1] R[1] -- Scrittura del valore di trigger nella
tabella
9: SELBOUND LNSCH[1] BOUND[1] -- Selezione dei limiti della finestra
di inseguimento
10: CALL TRACK -- Chiamata del programma in Line
Tracking
11: J P[1] 50% FINE -- Movimento del robot in posizione di
Home

- 119 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

Differenze esistenti tra i due programmi


L’istruzione WAIT nell'Esempio 5.6.3 (b), che utilizza la gestione dei segnali HSDI per rilevare la
presenza del pezzo, è in attesa che il valore contenuto nella variabile di sistema
$ENC_STAT[1].$ENC_HSDI diventi 1 (TRUE), invece di attendere che si attivi un segnale di ingresso
digitale. Anche se la tabella di parametri per la funzione Line Tracking richiamata contiene
l’informazione che l’ingresso di presenza pezzo è un normale segnale digitale, qualsiasi ingresso digitale
viene ignorato.
Inoltre è stata aggiunta l'istruzione $LNCFG.$HSDI_FLAG = 1 nell'Esempio 5.6.3 (b). Impostando
questa variabile di sistema al valore 1, la gestione dei segnali HSDI viene abilitata e, quindi, il sistema
elabora l’ingresso specificato. Quando, invece, questa variabile assume il valore 0, l’ingresso viene
ignorato. Questa variabile viene impostata a 0 non appena il sistema rileva la presenza del pezzo, in modo
da evitare che l’ingresso venga elaborato quando ancora l’esecuzione del programma non è ritornata
all’istruzione WAIT.

NOTA
Durante la fase di registrazione dei programmi che funzionano in Line Tracking,
quando il sistema effettua la sincronizzazione con il convogliatore, utilizza
automaticamente l’ingresso HDI numero 1 per la rilevare la presenza del pezzo.
Perciò non è necessario modificare il valore della variabile di sistema
$LNCFG.$HSDI_FLAG[numero porta].

Limitazioni
Per la gestione dei segnali HSDI vigono le seguenti limitazioni:
• L’istruzione ACCUTRIG non può essere utilizzata contemporaneamente alla gestione dei segnali
HDI.
• La regolazione della previsione statica di inseguimento, mediante la variabile di sistema
$LNCFG_GRP[1].$IO_DELAY è possibile (fare riferimento alla Sezione 5.4.1), ma solo per il
gruppo di assi 1. Le variabili di sistema $LNCFG_GRP[2].$IO_DELAY,
$LNCFG_GRP[3].$IO_DELAY, e così via, vengono ignorate. Non esistono limitazioni all’entità
della regolazione effettuata con la variabile di sistema $LNCFG_GRP[1].$IO_DELAY.
• La regolazione statica fine può essere effettuata utilizzando la variabile di sistema
$ENC_IODELAY[numero encoder] invece della variabile $LNCFG_GRP[g].$IO_DELAY.
Prima di effettuare la regolazione, eseguire le seguenti impostazioni.
• Impostare la variabile di sistema $ENC_IOD_ENB[numero encoder] a TRUE.
• Impostare la variabile di sistema $ENC_IODELAY[numero encoder] a 0.
Modificare il valore facendo riferimento alla Sezione 5.4.1, VARIABILE PER LA REGOLAZIONE
DELLA PRECISIONE STATICA.
• Il controllore R-30iB supporta un massimo di 5 ingressi ad alta velocità, localizzati nella porta JRL8.
• Il controllore R-30iB Mate supporta un massimo di 2 ingressi ad alta velocità, localizzati nella porta
CRL3.

- 120 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.7 NON ESECUZIONE DI MOVIMENTI VERSO POSIZIONI


FUORI FINESTRA
La funzione che non esegue movimenti verso posizioni che non siano comprese nella finestra di
inseguimento consente di non interrompere la produzione nel caso in cui il robot non abbia tempo
sufficiente per raggiungere un pezzo che abbia ormai oltrepassato il limite definito per l'operatività della
macchina per la funzione Line Tracking. Ciò permette di aumentare la cadenza produttiva ed elimina la
necessità per l'utilizzatore di gestire con propria programmazione una situazione anomala come questa.
Per abilitare la funzione è necessario agire sulle seguenti variabili di sistema:
• $LNCFG_GRP[].$SKIP_OBNDMV :
Abilita la funzione per la non esecuzione di movimenti verso posizioni che non siano comprese nella
finestra di inseguimento.
• $LNCFG_GRP[].$SKP_ADJ_MS :
Specifica il limite di tempo, in millisecondi, oltre il quale si applica la non esecuzione.
• $LNCFG_GRP[].$SKP_FLG_NO :
Specifica il numero di Flag che viene attivato quando si verifica la condizione di non esecuzione.
Quando la funzione è abilitata, il sistema non esegue le istruzioni di movimento che provocherebbero
l'uscita del robot dalla finestra di inseguimento definita per la funzione Line Tracking. Tipicamente, un
programma di prelievo di un pezzo da un convogliatore contiene tre istruzioni di movimento in Line
Tracking: posizione di approccio sopra il pezzo (P1), posizione di presa (P2), posizione sopra il pezzo a
presa avvenuta (P3). A seconda della sequenza temporale in cui sono eseguiti i movimenti, e se la
funzione è abilitata, si potrebbero verificare quattro casi:
• Quando parte l'esecuzione del programma, la posizione P1 si trova già oltre il limite della finestra di
inseguimento. In questo caso, il sistema non esegue alcuna delle tre istruzioni di movimento.
• Quando parte l'esecuzione del programma, la posizione P1 è ancora entro i limiti, le posizioni P2 e
P3 si troveranno oltre i limiti della finestra di inseguimento quando il robot inizierà a muoversi verso
di esse. In questo caso, il sistema raggiungerà la posizione P1, ma non eseguirà le istruzioni di
movimento verso le posizioni P2 e P3.
• Quando parte l'esecuzione del programma, le posizioni P1 e P2 si trovano entro i limiti della finestra
di inseguimento. Però, quando il robot raggiunge le posizioni P1 e P2, ma prima che esso inizi il
movimento verso la posizione P3, quest'ultima si trova oltre i limiti della finestra di inseguimento. In
questo caso il sistema non eseguirà il movimento verso la posizione P3.
• Il sistema può raggiungere tutte le tre posizioni, poiché si trovano entro i limiti della finestra di
inseguimento.
Per un programma che esegua prese singole, il sistema rilascerà il pezzo dopo averlo prelevato, cosicché
la non esecuzione dei movimenti verso posizioni che si trovano oltre i limiti della finestra di inseguimento
comporta unicamente il movimento del robot nella posizione di deposito non in Line Tracking. In questo
caso non esiste alcun problema.
Se il programma esegue prelievi multipli, il sistema attende o esegue la presa del pezzo successivo
quando sarà stato prelevato quello precedente. Con la funzione di non esecuzione abilitata, il robot
potrebbe trovarsi nella posizione P1 (condizione 2), oppure nella posizione P3 (condizione 3), quando
potrebbe attivarsi la non esecuzione delle istruzioni di movimento che abbiano come destinazione una
posizione che ha ormai oltrepassato i limiti della finestra di inseguimento.
Questa funzione comporta la non esecuzione dei soli movimenti verso posizioni che si trovano oltre i
limiti della finestra di inseguimento. Essa non garantisce l'assoluta eliminazione dell'allarme "destination
gone". Se il movimento precedente è di tipo Line Tracking, il robot potrebbe rimanere in inseguimento
del convogliatore mentre attende l'arrivo del pezzo successivo, se l'utilizzatore non ha utilizzato
l'istruzione STOP_TRACKING.

- 121 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

Il robot non deve rimanere fermo nella posizione P2, perché questo comporterebbe il blocco del flusso dei
pezzi sul convogliatore.
Per evitare che si verifichi questo problema, la variabile di sistema $LNCFG_GRP[].$SKP_ADJ_MS
deve essere impostata ad un valore che consenta di avere un margine di tempo sufficiente. Questo
parametro deriva dal programma creato dall'utilizzatore. Il valore da inserire nella variabile di sistema
$LNCFG_GRP[].$SKP_ADJ_MS deve essere ricavato dividendo la distanza esistente tra le posizioni P2
e P3 per la velocità programmata per raggiungere la posizione P3.
Quando il sistema determina se la posizione P2 si trova entro i limiti dell'area di inseguimento, utilizza il
valore ricavato per calcolare se il robot ha tempo sufficiente per raggiungere la posizione P3. Se il tempo
calcolato risulta insufficiente per raggiungere la posizione P3, il sistema attiva la non esecuzione anche
per il movimento verso la posizione P2. Il software regola internamente il tempo calcolato in base alla
velocità relativa selezionata.
Quando la variabile di sistema $LNCFG_GRP[].$SKP_FLG_NO contiene un numero valido di Flag, il
software attiva questo segnale per indicare che si è verificata la condizione di non esecuzione. Il
programma dell'utilizzatore può impostare a propria volta questo Flag per determinare se il robot possa
effettuare la presa del pezzo oppure no. Il programma dell'utilizzatore può anche richiedere al robot
successivo di eseguire la presa del pezzo che ha oltrepassato i limiti della finestra di inseguimento.
Siccome il sistema effettua solo l'attivazione (passaggio a ON) del Flag specificato, è compito del
programma dell'utilizzatore disattivarlo dopo averlo elaborato.
Dato che la funzione comporta la non esecuzione delle istruzioni di movimento verso posizioni che si
trovino oltre i limiti della finestra di lavoro, in questi casi non vengono eseguite o monitorate nemmeno le
relative istruzioni aggiuntive al movimento.

- 122 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.8 MONITORAGGIO DEI LIMITI SOFTWARE


Prima che sia eseguito un movimento di Line Tracking, il sistema controlla se l'ultimo asse del robot
rimane entro i propri limiti software oppure no. Se risulta che l'ultimo asse raggiunge i propri limiti
software durante il movimento, il sistema provvede a cambiare la direzione di movimento dell'asse in
questione. Questa funzione è attiva se sono soddisfatte le seguenti condizioni:
• Il valore contenuto della variabile di sistema
$LNCFG_GRP[numero gruppo].$LMT_CHK_ENB è TRUE (in standard è FALSE).
• Il tipo di movimento è:
• Line Tracking
• Lineare
• RS_WORLD
A supporto di questa funzione, il software utilizza le seguenti variabili di sistema:
• Il valore contenuto della variabile di sistema $LNCFG_GRP[numero gruppo].$LMT_CHK_ENB,
per l'abilitazione e disabilitazione della funzione (in standard è FALSE).
• $LNCFG_GRP[num grp].$LMT_CHK_UL Margine verso il limite software superiore
(in standard è 20 gradi)
• $LNCFG_GRP[num grp].$LMT_CHK_LL Margine verso il limite software inferiore
(in standard è 20 gradi)
Per esempio, se i limiti software dell'asse J6 di un robot sono -360° e +360°, ed entrambe le variabili di
sistema $LMT_CHK_UL e $LMT_CHK_LL contengono il valore 20 (gradi), quando la posizione di
destinazione prevede che l'asse J6 si debba muovere in un'area che eccede l'escursione tra -340° e +340°,
la direzione di movimento dell'asse stesso viene automaticamente modificata.

NOTA
La verifica dei limiti software funziona nei casi di movimenti in Line Tracking seguenti.
• Movimento da una posizione di un programma che utilizza la funzione Line
Tracking ad una contenuta in un altro programma, anch'esso di Line Tracking.
• Movimento da una posizione di un programma che non utilizza la funzione Line
Tracking ad una contenuta in un altro programma, anch'esso di Line Tracking.

La verifica dei limiti software non funziona nei casi di movimenti normali seguenti.
• Movimento da una posizione di un programma che utilizza la funzione Line
Tracking ad una contenuta in un altro programma, non in Line Tracking.
La verifica dei limiti software non è attivata quando viene aggiunta l'istruzione ‘WJNT'
alla prima istruzione di movimento successiva ad una di movimento in Line Tracking,
oppure quando il bit 18 (262144) della variabile di sistema $LNCFG.$COMP_SW è
impostato a 1.

- 123 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.9 ENCODER IN RETE ETHERNET

5.9.1 Panoramica
Un tipico sistema di Line Tracking utilizza uno o più convogliatori per movimentare pezzi che devono
essere manipolati da uno o più robot. Quando sullo stesso convogliatore lavorano più robots, ciascuno di
essi necessita di conoscere la posizione del pezzo sul convogliatore stesso. Per la trasmissione a tutti i
robots degli impulsi provenienti dall'encoder del convogliatore, è necessario utilizzare un multiplexer.

L'opzione software Ethernet Encoder usufruisce della connessione dei robots in rete Ethernet, in
sostituzione del multiplexer, per fornire ad essi i dati provenienti dall'encoder installato sul convogliatore.
La funzione Ethernet Encoder prevede l'esistenza di un controllore Master (quello a cui è fisicamente
collegato l'encoder) e di controllori Slave. Il controllore Master trasmette i dati generati dall'encoder ai
controllori Slave per mezzo della rete Ethernet.

La funzione Ethernet Encoder consente di ottenere i seguenti benefici:

• Non è necessario alcun multiplexer.


• Per i controllori Slave, non sono necessari i cavi di collegamento con l'encoder del convogliatore.
• Per i controllori Slave, non è necessario l'impiego di alcuna scheda di interfaccia con l'encoder del
convogliatore.
• La configurazione complessiva del sistema è più semplice.

Quando nel controllore è presente l'opzione software Ethernet Encoder, la configurazione dell'hardware
del sistema è la seguente.

Controllore R-30iB R-30iB


CONTROLLORE

CONTROLLORE R-30iB
Ethernet
Ethernet

Encoder #1
Encoder #1

CONTROLLORE R-30iB

CONTROLLORE R-30iB

Fig. 5.9.1 Configurazione dell'hardware quando nel controllore


è presente l'opzione software Ethernet Encoder

- 124 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.9.2 Spiegazione della terminologia


Quando nel controllore è presente l'opzione software Ethernet Encoder, si utilizzano espressioni come
Master e Slave. Si parla di controllore Master, controllore Slave, encoder Master, encoder Slave. La
descrizione di queste definizioni, fornita nei punti seguenti, è mirata a rendere più semplice la loro
comprensione e ad evitare l'insorgere di equivoci.

Controllore Master e controllore Slave


La comunicazione tra diversi controllori in rete Ethernet avviene per mezzo di un protocollo, chiamato
“ROS interface packet over Ethernet (RIPE)”, che considera la rete dei robots come un anello (Robot
Ring). Il controllore Master è da intendere come Master del protocollo RIPE e, quindi, dell'anello di
robots. In un anello di robots, è presente un controllore Master e diversi controllori Slave.

Encoder Mater e encoder Slave


Un encoder Master è un encoder collegato ad un controllore. Le informazioni generate da questo tipo di
encoder vengono trasmesse agli altri controllori connessi tra loro in rete Ethernet. Il controllore che riceve
i dati può riferirli all'encoder Master che se fosse collegato ad esso. L'encoder a cui si fa riferimento con
l'opzione software Ethernet Encoder è definito come encoder Slave.

Quando si utilizza l'opzione Ethernet Encoder, l'encoder Master non deve essere necessariamente
connesso al controllore Master. Però si consiglia comunque di collegare l'encoder Master al controllore
Master, poiché questa soluzione consente di ridurre i volumi di comunicazione in rete.

5.9.3 Limitazioni
• Ciascun controllore può supportare fino a quattro encoders Master.
• In una rete di robot ad anello (robot ring - RIPE) l'opzione Ethernet Encoder può supportare fino a
quattro controllori.
• Un controllore supporta solo una rete ad anello RIPE.
• Per le versioni software 7DC2/06 o precedenti, le versioni 7DC1 o 7DD0, tutti i controllori
configurati nella rete ad anello necessitano della funzione Ethernet Encoder. Per le versioni 7DC2/07
o più recenti, solo il controllore che utilizza l'opzione Ethernet Encoder necessita che la funzione sia
presente nel controllore.
• Quando si utilizza una rete ad anello RIPE, le versioni del software presente sui vari controllori
interessati alla comunicazione devono essere le stesse.
• La variabile di sistema $SCR.$ITP_TIME deve contenere lo stesso valore per tutti i controllori.
Impostare il valore più alto tra quelli forniti dai vari controllori.
• Gli encoders utilizzati per la funzione Servo Convogliatore non devono essere impiegati con
l'opzione Ethernet Encoder.
• Il tempo impiegato per la comunicazione genera una differenza tra il conteggio degli impulsi
prodotti dall'encoder Master e quello prodotto dagli encoder Slave. Questa differenza è convertita in
un tempo compreso tra circa +/- 2ms, in confronto all'utilizzo di un multiplexer.

- 125 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.9.4 Creazione di una rete di robots


5.9.4.1 Collegamento del cavo di rete al robot
L'opzione Ethernet Encoder utilizza una rete Ethernet. Questa rete deve essere isolata, in modo che non
sia influenzata dal traffico di dati originato da altre reti di stabilimento.
Nel controllore R-30iB sono disponibili due porte Ethernet. Grazie a ciò, lo stesso controllore può
appartenere a due diverse reti. Se un controllore deve essere collegato ad una rete esterna, per esempio
quella di fabbrica, si consiglia di utilizzare la porta 1 per questa rete esterna e la porta 2 per la
comunicazione tra robots, come illustrato nella figura sotto.

ローカルのネットワーク
Rete locale
Rete locale
(ポート2で接続)
(Collegata alla porta 2)
(Collegata alla porta 2)

Rete
Rete di fabbrica
di fabbrica
工場のネットワーク
(Collegata allaporta
(Collegata alla
(ポート1で接続)
porta1)1)

Quando si utilizza la porta 1, collegare il cavo Ethernet al connettore CD38A sulla scheda MAIN.
Quando si utilizza la porta 2, collegare il cavo Ethernet al connettore CD38B sulla scheda MAIN.

NOTA
Se il controllore del robot non è collegato ad alcuna rete esterna, è possibile
utilizzare la porta che si preferisce.

- 126 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.9.4.2 Aspetti da considerare nella creazione di una rete


Quando si crea una rete, vi sono alcuni aspetti da tenere in debita considerazione.
Conformarsi a quanto prescritto qui di seguito.

• Come indicato nella Sezione 5.9.4.1, Collegamento del cavo di rete al robot, in un controllore sono
disponibili due porte Impostare l'indirizzo IP e la maschera di selezione della sotto-rete per la porta a
cui si fa riferimento nella Sezione 5.9.4.3, Impostazione dell'indirizzo IP.
• Quando si imposta l'indirizzo IP, è necessario che ciascun controllore sia denominato in modo
differente.
• Gli indirizzi IP che siano utilizzati per la comunicazione tra robots devono essere consecutivi. Per
esempio, se quattro robot sono parte di una rete e si utilizza la porta 2, l'indirizzo IP della porta 2 di
ciascun controllore deve essere impostato a 172.16.0.1, 172.16.0.2, 172.16.0.3 e 172.16.0.4.
• Se si utilizza l'encoder Ethernet, l'indirizzo IP del controllore a cui l'encoder è collegato deve essere
il primo numero. In base all'esempio precedente, l'indirizzo IP della porta 2 per il controllore
collegato all'encoder deve essere impostato a 172.16.0.1.
• Caso in cui vi siano solo due controllori. L'utilizzo di uno switch è facoltativo. Senza switch, è
necessario utilizzare un cavo Ethernet incrociato, invece di uno normale. In questo caso, inserire
ciascun connettore del cavo direttamente nella porta Ethernet nei due controllori. Quando si utilizza
uno switch, il metodo da adottare è il seguente.
• Caso in cui vi siano più di due controllori. Ogni controllore necessita di un cavo Ethernet. Collegare
un'estremità del cavo alla porta Ethernet nel controllore e l'altra alla porta Ethernet dello switch.

5.9.4.3 Impostazione dell'indirizzo IP


L'indirizzo IP per ciascun controllore viene impostato con la seguente procedura:

1. Premere il tasto MENU sulla tastiera di programmazione.


2. Selezionare la voce 6, SETUP.
3. Selezionare la voce Host Comm.
4. Selezionare la voce TCP/IP e premere il tasto ENTER.
5. Immettere, alla voce Robot Name, il nome che si desidera assegnare al controllore.

ATTENZIONE
Per la definizione del nome del robot, è possibile utilizzare unicamente caratteri
alfabetici, numerici ed il segno meno. Il primo carattere deve obbligatoriamente
essere alfabetico. Il segno meno non deve essere utilizzato come ultimo
carattere. Non devono essere inseriti spazi.

- 127 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

1. Immettere l'indirizzo IP del controllore del robot alla voce Port#1 IP addr.

ATTENZIONE
Nell'indirizzo IP non devono essere inseriti spazi o 0.
Se si inseriscono spazi o 0 nell'indirizzo IP, la comunicazione non funziona.

2. Immettere la maschera di selezione della sotto-rete.


3. Immettere l'indirizzo IP dell'eventuale Router alla voce Router IP addr.
4. Premere il tasto F3, PORT, e selezionare la porta desiderata.
5. Impostare l'indirizzo IP e la maschera di selezione della sotto-rete nello stesso modo descritto ai
passi 7 e 8 della procedura.
6. Spegnere e riaccendere il controllore.

ATTENZIONE
Se non si spegne e riaccende il controllore, la configurazione non viene eseguita
correttamente. Spegnere e riaccendere il controllore.

Esempio di impostazione della Porta 1

Esempio di impostazione della Porta 2

ATTENZIONE
Se vengono utilizzate entrambe le porte 1 e 2, esse devono essere configurate
su due reti differenti. Per esempio, quando la maschera di selezione della
sotto-rete è 255.255.0.0 e l'indirizzo IP è 172.16.0.1, l'indirizzo della rete è 172.16
e l'indirizzo dell'host è 0.1. Se l'indirizzo IP assegnato alle porte 1 e 2 identifica lo
stesso indirizzo di rete, il sistema genera l'allarme “HOST-179 IP Address
mis-configuration” all'accensione del controllore. Poi, solo la porta 1 è ritenuta
valida, mentre la porta 2 viene disabilitata.

- 128 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.9.4.4 Configurazione della rete ad anello dei robots


La comunicazione tra diversi controllori in rete Ethernet avviene per mezzo di un protocollo, chiamato
“ROS interface packet over Ethernet (RIPE)”, che considera la rete dei robots come un anello (Robot
Ring).
Per avere informazioni dettagliate circa il protocollo “ROS interface packet over Ethernet”, fare
riferimento al Manuale Ethernet Function OPERATOR’S MANUAL B-82974EN.

Master e Slave
In un anello di robots, è presente un controllore Master e diversi controllori Slave. Quando si utilizza
l'opzione Ethernet Encoder, l'encoder Master non deve essere necessariamente connesso al controllore
Master. Però si consiglia comunque di collegare l'encoder Master al controllore Master, poiché questa
soluzione consente di ridurre i volumi di comunicazione in rete.

Prima di tutto, configurare i controllori Slave. Configurare il controllore Master quando è completata
l'impostazione dei parametri per i controllori Slave. Dopo aver terminato la configurazione del controllore
Master, tutti i controllori vengono automaticamente spenti e riaccesi e la fase di configurazione finisce.
La procedura dettagliata è la seguente.

Configurazione dei controllori Slave


Configurare i controllori Slave effettuando le operazioni descritte nella procedura seguente.
1. Premere il tasto MENU sulla tastiera di programmazione.
2. Selezionare la voce 6, SETUP.
3. Selezionare la voce Host Comm.
4. Selezionare la voce RIPE e premere il tasto ENTER.

5. Premere il tasto F2, SLAVE, e visualizzare la schermata “ROS Ethernet Packet (Slave)”, illustrata
qui di seguito. Quando la schermata per la configurazione del controllore Slave è aperta e la dicitura
in corrispondenza del tasto funzione F2 è MASTER, questa procedura non è necessaria.

- 129 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

6. Impostare l'elemento “Master IP address” con l'indirizzo IP del controllore Master per la porta
utilizzata per la comunicazione con la rete ad anello.

7. Impostare l'elemento Member Index. Impostare l'indirizzo IP della porta utilizzata per la
comunicazione nella rete ad anello, come descritto nella Sezione 5.9.4.3, Impostazione dell'indirizzo
IP, ad un numero che sia consecutivo nella serie, la quale deve iniziare con l'indirizzo IP del
controllore Master. Immettere il numero progressivo sulla base di questo indirizzo IP. Come
conseguenza di questa impostazione, il sistema configura automaticamente l'elemento Slave IP addr
(indirizzo IP del controllore Slave) e verifica che l'indirizzo IP visualizzato e quello definito per il
controllore corrente sia lo stesso.
8. Completare la procedura descritta sopra e premere il tasto F3, AUTO. Apparirà una schermata simile
alla seguente. Il sistema richiede all'operatore se il controllore in questione debba essere spento e
riacceso dopo avere ricevuto i dati. Premere il tasto F3, YES, per confermare l'operazione.

9. Eseguire la procedura descritta sopra per tutti i controllori Slave. A tutti i controllori Slave è
consentito attendere di ricevere i dati provenienti dal controllore Master.

- 130 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

Configurazione del controllore Master


Dopo aver completata la configurazione di tutti i controllori Slave, effettuare quella per il controllore
Master, come descritto nella procedura seguente.
1. Premere il tasto MENU sulla tastiera di programmazione.
2. Selezionare la voce 6, SETUP.
3. Selezionare la voce Host Comm.
4. Selezionare la voce RIPE e premere il tasto ENTER.
5. Quando appare la schermata “ROS Ethernet Packet (Slave)”, premere il tasto F2, MASTER, in modo
che sia visualizzata la schermata seguente. Quando la schermata per la configurazione del controllore
Master è aperta e la dicitura in corrispondenza del tasto funzione F2 è SLAVE, questa procedura non
è necessaria.

6. Impostare l'elemento “Master IP addr” con l'indirizzo IP del controllore Master per la porta utilizzata
per la comunicazione con la rete ad anello. Questo è l'indirizzo IP per il controllore corrente.

- 131 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

7. Impostare l'elemento “Number of Members” al numero di controllori che fanno parte della rete ad
anello.
8. Modificare il valore “Update Interval” (intervallo di aggiornamento) se necessario.
Questo valore rappresenta l'intervallo di tempo da considerare per verificare che il robot sia in linea.
9. Completare la procedura descritta sopra e premere il tasto F3, AUTO.
Apparirà una schermata simile alla seguente.

10. Il sistema visualizza il messaggio “Put all SLAVES in AUTO mode” . In funzione della precedente
configurazione dei controllori Slave, tutti i controllori Slave sono autorizzati a ricevere i dati generati
dal controllore Master, pertanto è possibile premere il tasto F4, CONTINUE. Apparirà una schermata
simile alla seguente.

11. I nomi dei robots ed i loro indirizzi IP per tutti i controllori che fanno parte della rete ad anello
vengono visualizzati parte inferiore della schermata. Il sistema richiede all'operatore di spegnere e
accendere il controllore per attivare le nuove impostazioni; pertanto, premere il tasto F4,
CONTINUE. A questo punto, tutti i controllori vengono spenti e riaccesi e la configurazione può
dirsi terminata.

ATTENZIONE
Dopo avere completato la configurazione della rete ad anello dei robots, non
modificare il nome del robot, né quello dell'host. Questi nomi devono sempre
rimanere gli stessi. Se si desidera modificarli, è necessario ripetere la procedura
di configurazione dei robots dall'inizio.

- 132 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.9.5 Configurazione dell'encoder Ethernet


La configurazione dell'encoder Ethernet può essere effettuata dall'apposito menu di impostazione.

Configurazione dell'encoder Master


Le impostazioni seguenti devono essere effettuate sul controllore connesso fisicamente all'encoder
utilizzato per la condivisione in rete Ethernet.

ATTENZIONE
Si consiglia di collegare l'encoder, utilizzato per la condivisione in rete Ethernet,
al controllore Master della rete ad anello dei robots.

1. Premere il tasto MENU sulla tastiera di programmazione.


2. Selezionare la voce 6, SETUP.
3. Selezionare la voce Encoders.
4. Selezionare la voce Encoder Axis. Impostare il numero di asse utilizzato per l'encoder Ethernet. Il
numero deve essere compreso tra 1 e 32. Per esempio, in caso di un asse di inseguimento, impostare
la voce Encoder Axis a 1. Se la funzione Line Tracking prevede l'impiego di due assi di
inseguimento, impostare la voce Encoder Axis a 1 per l'encoder 1 e a 2 per l'encoder 2.
5. Impostare la voce "Ethernet Master RIPE Id" immettendo il valore specificato come ordine
progressivo del robot in questione nella rete ad anello. In una rete ad anello di robots, ciascun
controllore ha un proprio indice identificativo univoco. Questo indice è contenuto nella variabile di
sistema $PH_ROSIP.$MY_INDEX. Il controllore il cui indice progressivo per la rete ad anello è 1, è
il controllore Master della rete stessa.

ATTENZIONE
La voce “Ethernet Master RIPE Id” specifica l'indice progressivo per la rete ad
anello assegnato al controllore connesso all'encoder Master.

6. Alla voce “Ethernet Master Encoder”, impostare il numero dell'encoder.


7. Una volta immessi i valori desiderati, è necessario spegnere e riaccendere il controllore. Se, però, si è
in presenza di più di un encoder che debba essere configurato per la condivisione in rete Ethernet, è
possibile attendere il completamento delle impostazioni per tutti gli encoders e, poi, spegnere e
riaccendere il controllore.

Per esempio, se si desidera impostare l'encoder 1 per il controllore 1 nella rete ad anello
($PH_ROSIP.$MY_INDEX = 1) come encoder Master, specificare il valore 1 alla voce “Ethernet Master
RIPE Id” e alla voce “Ethernet Master Encoder”. Il sistema visualizza la schermata relativa al controllore
Master. Il menu di configurazione degli encoders è visualizzato come indicato qui di seguito.

SETUP Encoders
10/10
Encoder Number : 1
1 Encoder Axis : 1
2 Encoder Type : Serial INC
3 Encoder Enable : ON
Current Count (cnts) : 0
4 Multiplier (ITP/update) : 1
5 Average (updates) : 1
6 Stop Threshold (cnt/updt) : 0
7 Simulate : Enable : OFF
8 Rate (cnt/updt) : 0
9 Ethernet Master RIPE Id : 1
10 Ethernet Master Encoder : 1

[ TYPE ] ENCODER

- 133 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

Configurazione dell'encoder Slave


La configurazione descritta qui deve essere eseguita per il controllore sul quale si intende utilizzare
l'encoder condiviso in Ethernet. Qualsiasi encoder in qualunque controllore può essere definito come
encoder Slave dell'encoder Master.

1. Premere il tasto MENU sulla tastiera di programmazione.


2. Selezionare la voce 6, SETUP.
3. Selezionare la voce Encoders.
4. Specificare, alle voci “Ethernet Master RIPE Id” e “Ethernet Master Encoder”, il valore impostato
per l'encoder Master condiviso in rete Ethernet.
5. Una volta immessi i valori desiderati, è necessario spegnere e riaccendere il controllore. Se, però, si è
in presenza di più di un encoder che debba essere configurato per la condivisione in rete Ethernet, è
possibile attendere il completamento delle impostazioni per tutti gli encoders e, poi, spegnere e
riaccendere il controllore.

Per esempio, se l'encoder Master è stato impostato come descritto nell'esempio della procedura nella
stessa rete ad anello di robots, è possibile richiamare il menu di configurazione degli encoders ed
impostare il valore 1 per entrambe le voci “Ethernet Master RIPE Id” e “Ethernet Master Encoder”.

SETUP Encoders
10/10
Encoder Number : 1
1 Encoder Axis : 0
2 Encoder Type : Serial INC
3 Encoder Enable : ON
Current Count (cnts) : 0
4 Multiplier (ITP/update) : 1
5 Average (updates) : 1
6 Stop Threshold (cnt/updt) : 0
7 Simulate : Enable : OFF
8 Rate (cnt/updt) : 0
9 Ethernet Master RIPE Id : 1
10 Ethernet Master Encoder : 1

[ TYPE ] ENCODER

- 134 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.9.6 Verifica della configurazione


Per verificare se la configurazione sia stata effettuata in modo corretto, è possibile eseguire le operazioni
descritte qui di seguito.

1. Richiamare il menu di configurazione dell'encoder Master sul controllore a cui questo encoder è
collegato.
2. Muovere fisicamente il convogliatore e verificare che il valore contenuto nell'elemento “current
count” cambi in modo corretto. Se si desidera effettuare questa verifica con il convogliatore fermo,
utilizzare la funzione Simulate. Impostare la voce "Simulate: Enable:” a ON e la voce "Rate" a 10 e
verificare che il valore contenuto nell'elemento “current count” cambi in modo corretto.

SETUP Encoders
8/10
Encoder Number : 1
1 Encoder Axis : 1
2 Encoder Type : Serial INC
3 Encoder Enable : ON
Current Count (cnts) : 4560
4 Multiplier (ITP/update) : 1
5 Average (updates) : 1
6 Stop Threshold (cnt/updt) : 0
7 Simulate : Enable : ON
8 Rate (cnt/updt) : 10
9 Ethernet Master RIPE Id : 1
10 Ethernet Master Encoder : 1

[ TYPE ] ENCODER

3. Richiamare il menu di configurazione per l'encoder Slave. Il valore dell'elemento “current count”
dell'encoder Slave deve cambiare in modo continuo in conseguenza della variazione del conteggio
generato dall'encoder Master. Se il valore non si modifica, verificare la configurazione dell'encoder
condiviso in rete Ethernet.

SETUP Encoders
1/10
Encoder Number : 1
1 Encoder Axis : 0
2 Encoder Type : Serial INC
3 Encoder Enable : ON
Current Count (cnts) : 4560
4 Multiplier (ITP/update) : 1
5 Average (updates) : 1
6 Stop Threshold (cnt/updt) : 0
7 Simulate : Enable : OFF
8 Rate (cnt/updt) : 0
9 Ethernet Master RIPE Id : 1
10 Ethernet Master Encoder : 1

[ TYPE ] ENCODER

- 135 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

4. Fermare il convogliatore e verificare che il valore mostrato alla voce “current count” interrompa a
propria volta qualsiasi variazione. Se la simulazione dell'encoder è abilitata, impostare la voce
"Simulate: Enable a OFF e verificare che il valore mostrato alla voce “current count” interrompa a
propria volta qualsiasi variazione.

SETUP Encoders
7/10
Encoder Number : 1
1 Encoder Axis : 1
2 Encoder Type : Serial INC
3 Encoder Enable : ON
Current Count (cnts) : 7560
4 Multiplier (ITP/update) : 1
5 Average (updates) : 1
6 Stop Threshold (cnt/updt) : 0
7 Simulate : Enable : OFF
8 Rate (cnt/updt) : 10
9 Ethernet Master RIPE Id : 1
10 Ethernet Master Encoder : 1

[ TYPE ] ENCODER

5. Richiamare il menu di configurazione dell'encoder Slave e verificare che la voce “current count” non
si modifichi. Verificare che la voce “current count” per l'encoder Master e per l'encoder Slave abbia
lo stesso valore. Se i valori sono gli stessi, la configurazione è corretta. Se i valori non sono gli stessi,
verificare la configurazione dell'encoder condiviso in rete Ethernet.

SETUP Encoders
1/10
Encoder Number : 1
1 Encoder Axis : 0
2 Encoder Type : Serial INC
3 Encoder Enable : ON
Current Count (cnts) : 7560
4 Multiplier (ITP/update) : 1
5 Average (updates) : 1
6 Stop Threshold (cnt/updt) : 0
7 Simulate : Enable : OFF
8 Rate (cnt/updt) : 0
9 Ethernet Master RIPE Id : 1
10 Ethernet Master Encoder : 1

[ TYPE ] ENCODER

- 136 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.10 FUNZIONE LINE TRACKING CON SERVO


CONVOGLIATORE

5.10.1 Panoramica
La funzione Line Tracking con Servo convogliatore utilizza un asse esteso del robot per azionare un
convogliatore. Per questo motivo, il robot può sincronizzarsi con il convogliatore in modo preciso. Questa
funzione richiede che nel controllore siano presenti le opzioni software Line Tracking e Line Tracking
con Servo Convogliatore.
La funzione Line Tracking con Servo Convogliatore include le opzioni software Multi Motion Group e
Continuous Turn. Queste due opzioni sono utilizzate per mettere in movimento un asse ausiliario del
robot in una modalità tipica di un convogliatore. Per il controllo dell'asse esteso, è anche necessaria
l'opzione Independant Axis.

5.10.2 Configurazione
La funzione di Line Tracking con Servo convogliatore può essere configurata eseguendo le operazioni
descritte qui di seguito.
5.10.2.1 Configurazione dell'asse ausiliario indipendente
5.10.2.2 Configurazione del Servo convogliatore
5.10.2.3 Creazione di un programma TP per il controllo del Servo convogliatore
5.10.2.4 Configurazione dei parametri per la funzione Line Tracking
5.10.2.5 Esempio di programma TP

5.10.2.1 Configurazione dell'asse ausiliario indipendente


Con la funzione Line Tracking con Servo convogliatore, è possibile utilizzare un asse esteso come se
fosse una linea di trasporto di pezzi. L'operatore deve effettuare la configurazione dell'asse indipendente
dal menu ROBOT MAINTENANCE in fase di Controlled Start.

Procedura: Controlled Start


Passi
1 Riaccendere il controllore premendo e tenendo premuti i tasti PREV e NEXT.
Trascorso un certo tempo, apparirà una schermata simile alla seguente.

------- CONFIGURATION MENU -------

1. Hot start
2. Cold start
3. Controlled Start
4. Maintenance

Select >3

2. Selezionare la voce 3, Controlled Start, e premere il tasto ENTER.


Al termine di una fase di caricamento di files, appare il menu dell'avviamento controllato.

- 137 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

Procedura: Robot Maintenance


Passi
1. Premere il tasto MENU. Selezionare la voce 9, MAINTENANCE, e premere il tasto ENTER.
Appare la schermata denominata ROBOT MAINTENANCE.

CTRL START MENU


1/1
MENUS
1 Tool SetUp
2 S/W INSTALL
3 S/W VERSION
4 Variables
5 File
6 ALARM
7 Port Init
8 MEMORY
9 MAINTENANCE
0 -- NEXT --
[ TYPE ]

2. Selezionare la voce “Independent Axes” e premere il pulsante F4, Manual.

ROBOT MAINTENANCE
1/10
Setup Robot System Variables

Group Robot Library/Option Ext Axes


1 M-3iA/6S 0
2 Independent Axes 0

[ TYPE ] ORD NO AUTO MANUAL

3. Appare la schermata “Independent Axes Setup Menu”. Se si desidera aggiungere un asse,


selezionare la voce 2, Add Axis. Premere il tasto 2 ed il tasto ENTER. Appare il menu per la
selezione del motore. Una volta terminata la configurazione dell'asse, si ritorna al menu di
configurazione dell'asse indipendente. Una volta terminata la configurazione dell'asse, immettere il
valore 4, EXIT.

*** Group 2 Total Axes Installed = 0


1. Display/Modify Nobot Axis 1~4
2. Add Axis
3. Delete Axis
4. EXIT
Select Item? 2

NOTA
Per la seguente procedura, fare riferimento alle specifiche meccaniche dell'unità
per cui è previsto il motore.

- 138 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
4. Selezionare un servo motore utilizzato come asse indipendente. Selezionare la voce 1, Standard
Method, e selezionare gli elementi MOTOR SIZE e MOTOR TYPE.

-- MOTOR SELECTION

1: Standard Method
2: Enhanced Method
3: Direct Entry Method
Select==> 1

MOTOR SIZE (Beta standard, Beta is) MOTOR TYPE

80. biS0.2 84. biS1 88. biS12 1. /2000 11. /4000


81. biS0.3 85. biS2 89. biS22 2. /3000 12. /5000
82. biS0.4 86. biS3 13. /6000
83. biS0.5 87. biS6 Select==> 11
0. Next page
Select==> 85

Per esempio, se si desidera selezionare il motore βiS2/4000i, immettere i valori 85 e 11.

5. Selezionare il limite di corrente per il servo amplificatore.


Se il limite di corrente per il servo amplificatore è 20A, selezionare la voce 10.

CURRENT LIMIT FOR AMPLIFIER

2. 4A 10. 20A
5. 40A 12. 160A
80A

Select==> 10

6. Il tipo di asse indipendente da selezionare è il 2, Rotary Axis.

-- INDEPENDENT AXES TYPE –


1. Linear Axis
2. Rotary Axis

Select? 2

- 139 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

7. Specificare il numero di giri del motore che corrisponde ad un passo del convogliatore. Con questa
impostazione, il convogliatore avanza di un passo quando l'asse indipendente compie una rotazione
di 360 gradi.

Passo: La distanza di cui si deve muovere il convogliatore per avanzare di un passo.


Contenitore: Una parte di convogliatore divisa in distanza costante.

11Pitch
Passo

Conveyer
Convogliatore

Bucket
Contenitore

Fig. 5.10.2.1 (a) Contenitore e Passo

-- GEAR RATIO --
Enter Gear Ratio?

Se il convogliatore ruota N volte ed il motore che lo aziona ruota M volte, il rapporto di riduzione
può essere calcolato nel seguente modo. Immettere il valore di calcolato.

M
M
riduzione =
Rapporto diGearRatio
NN×x Number
Numero diofcontenitori
Buckets

- Il rapporto di riduzione può anche essere calcolato partendo dai valori impostati (numero di
denti dell'ingranaggio del motore, ecc.) durante la configurazione del Servo convogliatore. In
questo caso, il rapporto di riduzione può essere calcolato nel modo seguente.

Denti ingranaggio di ingresso


Rotor Input Gear Teeth × Conveyer
rotore x Denti cinghia convogliatore
Belt Teeth
riduzione =
Rapporto di GearRatio
Motor Gear
Denti Teeth × Rotor
ingranaggio Output
motore Gear
x Denti Teeth × Number
ingranaggio of Flight
uscita rotore x

8. Selezionare la voce 2, No Change per l'impostazione della velocità suggerita come velocità Joint
massima.

--MAX JOINT SPEED SETTING --


Suggested Speed = 800.000(deg/s)
(Calculated with Max Motor Speed)

Enter (1:Change, 2:No Change)? 2

- 140 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
9. Selezionare la direzione di rotazione del motore.
Immettere il valore 1:
TRUE, se la posizione Joint del convogliatore aumenta quando il motore gira in direzione positiva.
Immettere il valore 2:
FALSE, se la posizione Joint del convogliatore diminuisce quando il motore gira in direzione
positiva.

-- MOTOR DIRECTION
INDEPENDENT AXES 1 Motion Sign = TRUE
Enter (1:TRUE, 2:FALSE)?

Guardando il motore dalla parte frontale della flangia, la rotazione positiva è quella in senso orario.

Rotazione
positiva

albero

Fig. 5.10.2.1 (b) Rotazione di un motore in direzione positiva

10. Immettere i limiti software per l'asse.


Specificare 180 gradi per il limite software superiore e -180 per quello inferiore.

-- UPPER LIMIT --
Enter Upper Limit ( deg)? 180

--LOWER LIMIIT--
Enter Lower Limit ( deg)? -180

11. Immettere il valore della posizione di masterizzazione per l'asse.


Specificare la posizione in cui è possibile effettuare la masterizzazione, all'interno dell'escursione
dell'asse. Normalmente la posizione è 0 gradi.

--MASTER POSITION –
Enter Master Position (deg)?

- 141 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

12. Specificare le costanti che definiscono il tempo di accelerazione/decelerazione.


Specificare, prima, il tempo di accelerazione per il primo stadio (acc_time1).
La voce “Default acc_time1” indica il valore predefinito.

-- ACC/DEC TIME --
Default Value of acc_time1 = 384(ms)
Enter (1:Change, 2:No Change)?

Se si desidera modificare il valore, immettere il valore 1, Change, e specificare il nuovo valore.


Se non si intende modificare il valore, immettere il valore 2, No Change.

Enter Accel Time 1 (ms)?


Poi, specificare il tempo di accelerazione per il secondo stadio (acc_time2).
La voce “Default acc_time2” indica il valore predefinito.
Specificare un valore che sia la metà di acc_time1.

Default value of acc_time2 = 192 (ms)


Enter (1:Change, 2:No Change)?

Se si desidera modificare il valore, immettere il valore 1, Change, e specificare il nuovo valore.


Se non si intende modificare il valore, immettere il valore 2, No Change.

Enter Accel Time 2 (ms)?

13. Immettere il tempo minimo di accelerazione. Quando viene eseguito un movimento, se il tempo
calcolato di accelerazione e decelerazione è inferiore a quello specificato, il suo valore viene limitato
a quello indicato qui.

-- MIN_ACCEL TIME --
Default Value of min_acctime = 384(ms)
Enter (1:Change, 2:No Change)?

Il valore min_acctime deve essere la somma di acc_time1 e acc_time2. Immettere il valore 1,


Change, e specificare il nuovo valore.

Enter Minimum Accel Time (ms)?

- 142 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
14. Specificare il rapporto di inerzia. Questo valore rappresenta il rapporto tra l'inerzia complessiva del
carico e quella del rotore. Il rapporto di inerzia deve essere compreso tra 1.0 e 5.0. Se non si immette
alcun valore, il sistema imposta automaticamente 0.

-- LOAD RATIO --
Load
Load Inertia ++ Motor
Inertia Motor Inertia
Inertia
Load Ratio =
Load Ratio
Motor Inertia
Motor Inertia

Enter Load Ratio -> (0:None 1->5:Valid)

15. Immettere il numero del servo amplificatore.

--SELECT AMP NUMBER--


Enter amplifier number (1-56)?

16. Selezionare il tipo di servo amplificatore.

-- SELECT AMP TYPE --


1. A06B-6107 series 6 axes amplifier
2. A06B-6117 series Alpha i amp. or
A06B-6130 series Beta i amp.

Select?

17. Immettere il numero del freno.

--BRAKE SETTING --
Enter Brake Number (0~16)?

18. Selezionare il tipo di controllo dei freni (Servo Timeout). La funzione di controllo dei freni attiva un
freno automaticamente quando un asse non si muove per un certo tempo.

--SERVO TIMEOUT --
Servo off is Disable
Enter (1:Enable, 2:Disable)?

Se si immette il valore 1, Enable, è poi necessario definire il tempo di ritardo sull'attivazione del
freno (Servo Off Time). Il tempo di ritardo sull'attivazione del freno deve essere compreso tra 0 e 30
secondi.

-- SERVO TIMEOUT VALUE --


Enter Servo Off Time? (0.0~30.0)

- 143 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

19. Dopo aver completato le impostazioni descritte sopra, appare il menu di configurazione dell'asse
indipendente. Immettere il valore 4, EXIT, e terminare la fase di configurazione.

*** Group 2 Total Axes Installed = 0


1. Display/Modify Nobot Axis 1~4
2. Add Axis
3. Delete Axis
4. EXIT
Select Item? 4

20. Una volta terminata la configurazione dell'asse, premere il tasto FCTN per visualizzare il menu delle
funzioni ausiliarie. Selezionare la voce 1, START(COLD) e premere il tasto Enter, così da attivare
un avviamento freddo (Cold Start).

ROBOT MAINTENANCE
1/10
FUNCTION
Setup Robot System Variables
1 START(COLD)
2 RESTORE/BACKUP
Group Robot Library/Option Ext Axes
3 PRINT SCREEN
1 M-3iA/6S 0
4 UNSIM ALL I/O
2 Independent Axes 0

[ TYPE ] ORD NO AUTO MANUAL

- 144 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.10.2.2 Configurazione del Servo convogliatore


IL Servo convogliatore può essere configurato eseguendo le operazioni descritte qui di seguito.
La configurazione dell'encoder e quella della funzione Continuous Turn vengono aggiornate
automaticamente quando si effettua l'impostazione del servo convogliatore.

NOTA
La funzione di servo convogliatore per Line Tracking utilizza i Flag dal 131 al 138
e, per questo motivo, non devono essere impiegati per altri usi. Un bit di tipo flag
(F[ ]) è una porta I/O interna che può essere letta o impostata ad un valore.

Procedura 1-1 Configurazione del Servo Convogliatore


Passi
1. Premere il tasto MENU.
2. Selezionare la voce SETUP.
3. Premere il tasto F1, TYPE.
4. Selezionare la voce Indexers. Apparirà la schermata seguente.

SETUP Indexers
1/7
Indexer Number: 1
1 Encoder Number: 0
2 Indexer Type FANUC
3 Index Advance Trigger DI: 1
4 Delay move after trig (ms): 0
5 Indexer Ready DO: 1
6 Tracking Schedule: 1
7 Create Index program: Detail

[ TYPE ] DETAIL INDEX [CHOICE]

5. Portare il cursore in corrispondenza della voce “Encoder Number” ed immettere il numero di


encoder utilizzato per il servo convogliatore.
6. Portare il cursore sull'elemento “Indexer Type” e selezionare la voce “FANUC”.
7. Portare il cursore in corrispondenza della voce “Index Advance Trigger DI” ed immettere l'indice
del segnale di ingresso digitale utilizzato per mettere in movimento il servo convogliatore.
8. Portare il cursore in corrispondenza della voce “Delay move after trig (ms)” ed immettere il tempo
di ritardo che deve trascorrere prima che il servo convogliatore si muova dopo la ricezione del
segnale di partenza.
9. Portare il cursore in corrispondenza della voce “Indexer Ready DO”. Se si desidera attivare un
segnale di uscita digitale all'inizio dell'esecuzione del programma TP che controlla il Servo
Convogliatore, immettere il numero di indice del segnale stesso. Fare riferimento al programma TP
per il Servo Convogliatore (INDXG*.TP).
10. Portare il cursore in corrispondenza della voce “Tracking Schedule” ed immettere il numero della
tabella di parametri per la funzione Line Tracking utilizzata per il servo convogliatore.

11. Portare il cursore sull'elemento “Indexer Type” e premere il tasto F2, DETAIL, oppure premere il
tasto ENTER. Apparirà la schermata seguente. Siccome in questo menu non è presente la scritta
TYPE in corrispondenza del tasto funzione F1, non è possibile selezionare altri menu di
configurazione. Per tornare al menu precedente, premere il tasto PREV.

- 145 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

SETUP Indexer axis


1/7
Indexer 1: FANUC motor UNINIT
Encoder Number : 0
1 Robot Group: 2
Axis: 1
2 Motor Gear teeth 1
3 Rotor input Gear teeth 1
4 Rotor output Gear teeth 1
5 Conveyor belt teeth 1
6 Number of Flight 1
7 Index Distance (mm) 10.000

EXEC

12. Portare il cursore in corrispondenza della voce “Robot Group” ed immettere il numero di gruppo di
assi che comprende quello utilizzato per il servo convogliatore.
13. Portare il cursore in corrispondenza delle voci “Motor Gear teeth”, “Rotor input Gear teeth”, “Rotor
output Gear teeth” e “Conveyer belt teeth” e specificare ciascuno dei valori richiesti. Nella figura
seguente è rappresentata la relazione che intercorre tra questi elementi.

Motore
Motor Ingresso
Rotor al rotore
Input Uscita del
Rotor rotore
Output
(Rotor Input) (Rotor Output)

Conveyer
Convogliatore

Fig. 5.10.2.2 Relazione che intercorre tra motore, rotore e convogliatore

La configurazione è anche possibile partendo dalla relazione esistente tra il numero di rivoluzione
del motore ed il numero di rivoluzioni del convogliatore. Se il convogliatore ruota N volte ed il suo
motore ruota M volte, la configurazione deve essere effettuata come segue. M e N devono essere
numeri interi, senza parte decimale.
a. Immettere il valore N, dalla funzione Continuous Turn, alla voce “Motor Gear teeth”
b. Immettere il valore M, dalla funzione Continuous Turn, alla voce “Rotor input Gear teeth”
c. Immettere il valore 1 alle voci “Rotor output Gear teeth” e “Conveyer belt teeth”.
14. Portare il cursore in corrispondenza della voce “Number of Flight” ed immettere il numero di
contenitori sul Servo Convogliatore.
15. Portare il cursore in corrispondenza della voce “Index Distance” e specificare la lunghezza di un
passo del Servo Convogliatore.
16. Una volta completato l'operazione descritta al Passo precedente, premere il tasto F2, EXEC, e
spegnere e riaccendere il controllore.

NOTA
A seguito delle impostazioni descritte sopra, vengono anche eseguite le
configurazioni della funzione Continuous Turn per il Servo Convogliatore e quella
dell'encoder utilizzato per questa funzione.
- 146 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.10.2.3 Creazione del programma TP per il controllo del Servo


Convogliatore
Per la messa in movimento del Servo Convogliatore per la funzione Line Tracking, è necessario creare un
programma TP, poiché il Servo Convogliatore stesso è configurato come asse esteso del robot. Eseguendo
le operazioni descritte ai passi seguenti, il sistema crea il programma TP standard che controlla il
movimento del Servo Convogliatore in risposta all'attivazione di un segnale digitale di ingresso. Questo
programma TP viene denominato INDXG*.TP, dove * indica il numero di gruppo di assi di cui fa parte il
Servo Convogliatore.

Procedura: Creazione del programma TP per il controllo del Servo Convogliatore


Passi
SETUP Indexers
7/7
Indexer Number: 1
1 Encoder Number: 0
2 Indexer Type FANUC
3 Index Advance Trigger DI: 1
4 Delay move after trig (ms): 0
5 Indexer Ready DO: 1
6 Tracking Schedule: 1
7 Create Index program: Detail

[ TYPE ] DETAIL INDEX [CHOICE]

NOTA
Prima di generare il programma per il controllo del Servo Convogliatore,
impostare, dal menu SYSTEM, Motion, Payload, il massimo carico applicato al
robot durante il movimento di inseguimento del convogliatore.

1. Portare il cursore in corrispondenza della voce “Create Index program” nel menu “SETUP Indexers”
e premere il tasto F2, DETAIL, oppure premere il tasto ENTER. Apparirà la schermata seguente.
Siccome in questo menu non è presente la scritta TYPE in corrispondenza del tasto funzione F1, non
è possibile selezionare altri menu di configurazione. Per tornare al menu precedente, premere il tasto
PREV.

SETUP Indexer Motn


4/4
FANUC Indexer: 1
1 Index Speed (part/min) 100
2 Index Dwell (ms): 0
3 Indexer Register start 60
4 Generate Index program

- 147 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

2. Portare il cursore in corrispondenza della voce “Index Speed (part/min)” ed immettere la velocità del
Servo Convogliatore. Specificare la quantità di passi che il Servo Convogliatore deve eseguire in un
minuto.
3. Portare il cursore in corrispondenza della voce “Index Dwell” e specificare il tempo di sosta del
Servo Convogliatore. Il diagramma di velocità del Servo Convogliatore è diverso in funzione del
valore immesso. Fare riferimento alle figure seguenti.
Se il Servo Convogliatore deve muoversi a passo, il valore da immettere alla voce “Index Dwell”
deve essere uguale o superiore a 0. Se il Servo Convogliatore deve muoversi in continuo a velocità
costante, il valore da immettere alla voce “Index Dwell” è -1.
Il tempo di movimento del convogliatore per ciascun passo è calcolato a partire dall'elemento Index
Speed.
Caso in cui il valore dell'elemento Index Dwell sia uguale o superiore a 0:
Tempo di movimento del convogliatore per ciascun passo [msec] =
(60 * 1000 / Index Speed) - Index Dwell

Caso in cui il valore dell'elemento Index Dwell sia uguale a -1:


Tempo di movimento del convogliatore per ciascun passo [msec] =
(2 * 60 * 1000 / Index Speed)

Ingresso
Indexdigitale
Advance
Avanzamento
Trigger DI
passo

Time
Tempo

Velocity
Velocità

Tempo
Indexdi Dwell
fermo

Time
Tempo
Movement Time of Conveyer
Tempo di movimento per Pitch
del convogliatore per ciascun passo

Fig. 5.10.2.3 (a) Andamento della velocità quando l'elemento Index Dwell è uguale o superiore a 0

Ingresso digitale
Index Advance
Avanzamento
Trigger DI
passo

Time
Tempo

Velocità
Velocity

Time
Tempo
Tempo diTime
Movement movimento del convogliatore
of Conveyer per Pitch
per ciascun passo

Fig. 5.10.2.3 (b) Andamento della velocità quando l'elemento Index Dwell è uguale a -1

- 148 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
4. Portare il cursore in corrispondenza della voce "Indexer Register start" ed immettere il numero di
indice di partenza del registro utilizzato nel programma TP che controlla il Servo Convogliatore. Nel
programma TP sono utilizzati due registri.
Per esempio, se la voce "Indexer Register start" è impostata a 60, vengono utilizzati i registri R[60] e
R[61]. Il registro R[60] è utilizzato per definire il numero del segnale di uscita digitale. Questo
segnale viene utilizzato per verificare se il convogliatore termina il suo movimento alla posizione
iniziale. Il registro R[61] è utilizzato per contare il numero di passi del convogliatore. Fare
riferimento all'esempio rappresentato dal programma INDXG*.TP.
5. Una volta effettuate le impostazioni descritte sopra, portare il cursore in corrispondenza della voce
“Generate Index program” e premere il tasto F2, Create. Se la configurazione è corretta, il sistema
visualizza la dicitura "Done" e crea il programma INDXG*.TP, dove * indica il numero di gruppo di
assi nel quale si trova il Servo Convogliatore.

SETUP Indexer Motn


4/4
FANUC Indexer: 1
1 Index Speed (part/min) 100
2 Index Dwell (ms): 0
3 Indexer Register start 60
4 Generate Index program
Create Replace
NOTA
- Non modificare il programma INDXG*.TP direttamente perché è quello predefinito dal sistema.
Per modificarlo, crearne una copia avente un nome diverso.
- In base alle impostazioni effettuate, il sistema potrebbe visualizzare il messaggio “Part Rate exceeds
allowable value” (la cadenza di arrivo dei pezzi è eccessiva). Questo messaggio indica che
l'accelerazione, calcolata per il convogliatore sulla base dei dati definiti per la creazione del
programma TP, eccede i limiti previsti per le capacità del convogliatore o del robot. In questo caso il
programma INDXG*.TP non viene creato. Modificare le impostazioni (voci Index Speed, Index
Dwell) in modo che l'accelerazione diminuisca.
- Se il programma INDXG*.TP esiste già e si preme il tasto F2, Create, il sistema visualizza il
messaggio “Index Program already exist”. In questo caso il programma INDXG*.TP non viene
creato. Se si desidera procedere con la creazione del programma, premere il tasto SHIFT ed il tasto
F3, Replace. Se le impostazioni sono corrette, il programma INDXG*.TP esistente viene sovrascritto
da quello creato sulla base dei dati definiti.
- Se si preme solo il tasto F3, Replace, il sistema visualizza il messaggio “Hold Shift & Replace
to replace program” (premere i tasti Shift e Replace per sovrascrivere il programma). In questo
caso il programma INDXG*.TP non viene sovrascritto.
- Se il programma INDXG*.TP è utilizzato in fase di modifica, il sistema non ha la possibilità di
aggiornarlo. In questo caso, il sistema visualizza un messaggio di errore e la scritta "Done" non
appare.
- In funzione delle impostazioni effettuate, il sistema potrebbe visualizzare il messaggio
“Part Rate exceed allowable value” alla pressione dei tasti SHIFT e F3, Replace.
Modificare le impostazioni in modo che l'accelerazione risulti più bassa.

- 149 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

Esempio di programma
Qui di seguito è riportato un esempio di programma INDXG*.TP.
Esempio di programma INDXG*.TP.
1:J P[1] 50% CNT0 ; Movimento alla posizione P[1] iniziale.
2: IF R[60:G2 Ready DO]=0,JMP LBL[3] ;
3: DO[R[60]]=ON ; L'uscita digitale specificata dal registro R[60]
viene attivata
4: LBL[3] ;
5: R[61:G2 cur slot ID]=0 ; Azzeramento del registro R[61]
6: LBL[1] ;
7: $INDEXER[1].$INDEX_MV=1 ; Impostazione per attesa del segnale trigger
in ingresso
8:J P[2] 180msec CNT100 INC ACC66 ; Avanzamento di un passo
9: $INDEXER[1].$INDEX_MV=0 ; Impostazione per attesa del segnale trigger
in ingresso
10: R[61:G2 cur slot ID]=R[61:G2 cur slot ID]+1; Conteggio del numero di passi
11: IF R[61:G2 cur slot ID]=32,JMP LBL[2] ; Se il convogliatore completa una rotazione,
salta alla LBL[2]
12: JMP LBL[1] ;
13: LBL[2] ;
14:J P[1] 100% CNT100 ; Movimento alla posizione P[1] per correggere
l'errore di iterazione
15: R[61:G2 cur slot ID]=0 ; Azzeramento del registro R[61]
16: JMP LBL[1] ;

/POS
P[1:""]{
GP2:
UF : 0, UT : 1,
J1= 0 deg
};
P[2:""]{
GP2:
UF : 0, UT : 1,
J1= 360.000 deg
};

- Alla linea 1, il convogliatore si porta nella posizione iniziale P[1].


- Il segnale di uscita digitale viene attivato, per verificare se il convogliatore termina il
movimento nella posizione iniziale, tramite le istruzioni comprese tra le linee 2 e 4.
- Alla linea 8, il convogliatore avanza di un passo. In altre parole, l'asse esteso utilizzato come
Servo Convogliatore esegue un movimento di 360 gradi.
- Le istruzioni $INDEXER[*].$INDEX_MV=1 alla linea 7 e $INDEXER[*].$INDEX_MV=0
alla linea 9 sono impostazioni relative al segnale digitale di ingresso per l'esecuzione di un
passo (* è il numero di Servo convogliatore). L'istruzione di movimento alla linea 8 non viene
eseguita fino a quando lo stato del segnale di ingresso digitale non cambia da OFF a ON.
- L'istruzione IF alla linea 11 verifica se il convogliatore ha eseguito una rivoluzione. In questo
caso di esempio, il convogliatore completa una rivoluzione ogni 32 passi.
- Alla linea 14, il convogliatore si muove alla posizione P[1] per correggere l'errore di iterazione.
Questa linea viene eseguita ogni volta che il convogliatore completa una rivoluzione.
- I registri R[60] e R[61] sono utilizzati come specificato alla voce “Indexer Register start”.
Il registro R[60] è utilizzato per definire il numero del segnale di uscita digitale. Questo segnale
viene utilizzato per verificare se il convogliatore termina il suo movimento alla posizione
iniziale. Il registro R[61] è utilizzato per contare il numero di passi del convogliatore.

- 150 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.10.2.4 Configurazione dei parametri per la funzione Line Tracking


La configurazione delle tabelle di parametri per la funzione Line Tracking con Servo Convogliatore è
identica a quella descritta per la normale funzione Line Tracking. Fare riferimento alle sezioni, in questo
manuale, che descrivono la configurazione delle tabelle di parametri per la funzione Line Tracking.

5.10.2.5 Esempio di programma principale


Fondamentalmente, le modalità di programmazione sono le stesse descritte per la normale funzione di
Line Tracking. Però è necessario eseguire il programma TP per il movimento del convogliatore in
modalità multi-tasking. Nel programma di esempio seguente, il programma CNVY.TP, che controlla il
movimento del Servo Convogliatore, viene eseguito alla linea 3. La creazione del programma TP per il
controllo del movimento del Servo Convogliatore (INDXG*.TP) è possibile seguendo le istruzioni
riportate nella Procedura intitolata "Creazione del programma TP per il controllo del Servo
Convogliatore" nella Sezione 5.10.2.3.

Esempio di programma principale


1: J P[1] 100% FINE ;
2: LINE[1] ON ;
3: RUN CNVY; Viene attivata l'esecuzione del programma CNVY.TP per il
movimento del Servo Convogliatore
4: LBL[1] ;
5: WAIT DI[2]=ON ;
6: LINECOUNT[1] R[1] ;
7: SETTRIG LNSCH[1] R[1] ;
8: CALL TRACK ; Viene eseguito il programma TRACK.TP per i movimenti in
Line Tracking
9: CALL NORM ; Viene eseguito il programma NORM.TP per i movimento
non in Line Tracking
10: JMP LBL[1] ;

- L'istruzione di movimento alla linea 1 porta il robot nella posizione iniziale.


- Alla linea 3, l'istruzione RUN attiva l'esecuzione in multi-tasking del programma CNVY.TP.
- Alla linea 5, il programma attende che un pezzo si presenti sul convogliatore. l'ingresso digitale
DI[2] è utilizzato per rilevare la presenza del pezzo.
- Alle linee 6 e 7, il sistema legge il valore del conteggio impulsi dell'encoder del convogliatore e
lo scrive nella tabella di parametri per la funzione Line Tracking, prima che abbiano inizio i
movimenti in inseguimento.
- Alla linea 8, viene richiamata l'esecuzione del programma TRACK.TP per i movimenti in Line
Tracking.
- Alla linea 9, viene richiamata l'esecuzione del programma NORM.TP per i movimenti non in
Line Tracking.

- 151 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.10.3 Funzioni per il Line Tracking con Servo Convogliatore


5.10.3.1 Variabile di sistema per la regolazione dell'errore dinamico
Quando si utilizza la funzione Line Tracking con Servo Convogliatore, il parametro da modificare per
regolare l'errore dinamico del movimento in inseguimento è il seguente, non le variabili di sistema
$LNCFG_GRP[].$SOFT_DELAY, $SRVO_DELAY.
Fare anche riferimento alla Sezione 5.4, PRECISIONE PER ALTE VELOCITÀ DI INSEGUIMENTO, in
questo manuale.

$SLTK_GRP[gruppo di assi in cui è il Servo Convogliatore].$SRVO_DELAY

5.10.3.2 Attesa dell'arresto del Servo Convogliatore


Questa funzione è disabilitata in standard. Quando questa funzione è disabilitata, il robot inizia/termina i
movimenti in Line Tracking indipendentemente dal movimento del Servo Convogliatore. Per questo
motivo, per esempio, se il robot inizia un movimento in Line Tracking mentre il Servo Convogliatore è in
fase di accelerazione, l'accelerazione del robot aumenta per consentire alla macchina di inseguire il
convogliatore, ed il movimento risultante potrebbe divenire molto aggressivo.
Quando questa funzione è abilitata, il robot inizia/termina i movimenti in Line Tracking mentre il
convogliatore si ferma. Con questa impostazione, l'accelerazione all'inizio/fine del movimento in Line
Tracking viene limitata.

NOTA
Se si desidera abilitare questa funzione, è necessario impostare l'elemento Index
Dwell ad un valore uguale o superiore a 0 e creare di nuovo il programma TP per il
controllo del Servo Convogliatore. Se non si specifica un tempo di arresto per il
Servo Convogliatore, non è possibile iniziare/terminare i movimenti in Line
Tracking del robot.

I bits 1 e 2 della variabile di sistema $INDX_TRACK[numero di tabella di parametri Line Tracking]


consentono di commutare questa funzione. Se si intende abilitarla, impostare questi bits come descritto
nella procedura seguente.

NOTA
Se l'impostazione di questa funzione viene modificata, il programma TP per il
controllo del Servo Convogliatore deve essere creato di nuovo.

- 152 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

Procedura: Configurazione della funzione di attesa dell'arresto del Servo


Convogliatore
Passi
1. Impostazione del bit 1 della variabile di sistema $INDX_TRACK[numero di tabella di parametri
Line Tracking]
1.1 Dividere il valore contenuto nella variabile di sistema $INDX_TRACK[numero di tabella di
parametri Line Tracking] per 2 e verificare l'impostazione corrente al prossimo passo.
- Se la parte intera del valore risultante è un numero Dispari, il bit 1 è TRUE.
- Se la parte intera del valore risultante è un numero Pari, il bit 1 è FALSE.
1.2 Modificare il valore della variabile di sistema $INDX_TRACK[numero di tabella di parametri Line
Tracking] in funzione dell'impostazione corrente.
- Se il bit 1 è TRUE e si desidera cambiarlo in FALSE, sottrarre 2 al valore della variabile di
sistema $INDX_TRACK[numero di tabella di parametri Line Tracking].
- Se il bit 1 è FALSE e si desidera cambiarlo in TRUE, sommare 2 al valore della variabile di
sistema $INDX_TRACK[numero di tabella di parametri Line Tracking].

2. Impostazione del bit 2 della variabile di sistema $INDX_TRACK[numero di tabella di parametri


Line Tracking]
2.1 Dividere il valore contenuto nella variabile di sistema $INDX_TRACK[numero di tabella di
parametri Line Tracking] per 4 e verificare l'impostazione corrente al prossimo passo.
- Se la parte intera del valore risultante è un numero Dispari, il bit 2 è TRUE.
- Se la parte intera del valore risultante è un numero Pari, il bit 2 è FALSE.
2.2 Modificare il valore della variabile di sistema $INDX_TRACK[numero di tabella di parametri Line
Tracking] in funzione dell'impostazione corrente.
- Se il bit 2 è TRUE e si desidera cambiarlo in FALSE, sottrarre 4 al valore della variabile di
sistema $INDX_TRACK[numero di tabella di parametri Line Tracking].
- Se il bit 2 è FALSE e si desidera cambiarlo in TRUE, sommare 4 al valore della variabile di
sistema $INDX_TRACK[numero di tabella di parametri Line Tracking].

3. Una volta effettuate le impostazioni descritte sopra, spegnere e riaccendere il controllore.

- 153 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

5.10.3.3 Programmi KAREL per la funzione Line Tracking con Servo


Convogliatore
La funzione Line Tracking con Servo Convogliatore dispone dei seguenti programmi KAREL. Questi
programmi rendono possibile la lettura del conteggio degli impulsi ed il suo salvataggio ad ogni
avanzamento del Servo Convogliatore. Possono anche essere utilizzate le funzioni che gestiscono la linea
di scarto e l'arresto del convogliatore.

- SLTKINIT
- SLTKREST
- SLTKPSHQ
- SLTKPOPQ
- SLTKDELQ
- SLTKRSTQ
- SLTKGTPP

In questa sezione sono descritti i programmi KAREL e le funzioni che gestiscono la linea di scarto e
l'arresto del convogliatore.

NOTA
Per utilizzare i programmi KAREL è necessario impostare la variabile di sistema
$KAREL_ENB a 1.

NOTA
La funzione che consente l'utilizzo della linea di distribuzione ed il programma
SLTKGTPP è disponibile a partire dalle versioni software 7DC1/19, 7DC2/15.
SLTKINIT
Questo programma cancella i valori di conteggio letti dall'encoder e memorizzati in coda. Solitamente
questo programma è richiamato una sola volta alla prima esecuzione del ciclo di produzione.

Argomento1: Specificare il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.
Argomento2: Specificare il numero di registro posizione in cui è memorizzata la posizione iniziale
del convogliatore.
Argomento3: Specificare il numero di registro posizione.

Nel registro posizione specificato con l'argomento 3 viene scritta la distanza tra la posizione corrente del
convogliatore e quella iniziale. Il valore è compreso tra 0 e 360 gradi. Questo registro è disponibile per la
modifica della posizione del convogliatore alla partenza del ciclo.

- 154 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

SLTKREST
Siccome il passo del Servo Convogliatore è costante, il conteggio dell'encoder può essere a distanza
costante. Questo programma è utilizzato per l'impostazione di un valore di riferimento per il trigger.
Quando il programma SLTKREST viene richiamato, il conteggio dell'encoder viene salvato come valore
di riferimento di trigger. Questo programma deve essere richiamato una volta dopo che il Servo
Convogliatore si muove alla posizione iniziale.

Argomento1: Specificare il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.

Nel caso seguente, nel registro posizione PR[2] viene scritta la distanza tra la posizione attuale del
convogliatore e quella iniziale definita con il programma SLTKINIT alla linea 1. Successivamente, il
convogliatore si muove alla posizione iniziale e quella di riferimento per il trigger viene salvata dal
programma SLTKREST.

1: CALL SLTKINIT(1,1,2) ; inizializzazione e impostazione del PR


2: J PR[2] 50% CNT0 INC ; Movimento alla posizione iniziale
3: CALL SLTKREST(1) ; Impostazione della posizione di riferimento
per il trigger

Direzione diMoving
avanzamento
Directiondel convogliatore
of Conveyer
SLTKINIT:Init.
SLTKINIT: Inizializzazione dei dati
Information about pervalue.
Trigger il valore di trigger
e impostazione del registro
and Set Position Register. posizione

Conveyer Il convogliatore
Convogliatore Conveyer moves tosiInitial
muove Pos.alla posizione iniziale
La distanza
Moving di is
distance movimento
within one ricade
pitch. in un passo

Conveyer
Convogliatore SLTKREST: Imposta
SLTKREST: Setla posizione
Reference di for
Pos. riferimento
trigger. per il trigger
Posizione iniziale
Initial Pos. ofdel convogliatore
Conveyer = posizione
= Reference Pos. for di riferimento per il trigger
Trigger

Fig. 5.10.3.3 (a) Programmi SLTKINIT, SLTKREST

- 155 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

SLTKPSHQ
Questo programma viene utilizzato per salvare il valore di trigger dopo che il convogliatore è avanzato
per un numero di passi.

Argomento1: Specificare il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.
Argomento2: Specificare il numero di passi.

Se si desidera modificare il numero memorizzabile di valori di trigger, cambiare il valore della seguente
variabile di sistema e spegnere e riaccendere il controllore.
$SLTKSCH[n].$QUE_SIZE: Il valore predefinito è 20, il massimo è 100.
Il valore "n" indica il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.

NOTA
Quando il numero memorizzato di valori di trigger diventa uguale al valore
contenuto nella variabile di sistema $SLTKSCH[n].$QUE_SIZE, il valore di trigger
salvato meno recentemente viene rimosso dalla coda.

Questo programma deve essere richiamato dopo che il convogliatore è avanzato di un certo numero di
passi. Quando questo programma viene richiamato, esso calcola il valore di trigger in base a quello di
riferimento ed al numero di passo specificato e lo salva. Il valore di trigger di riferimento viene salvato,
per primo, come un valore di trigger.
Per esempio, se il convogliatore avanza di un passo ed il valore di trigger viene salvato una volta,
l'argomento 2 deve essere impostato a 1. Se il convogliatore avanza di due passi ed il valore di trigger
viene salvato una volta, l'argomento 2 deve essere impostato a 2. La figura seguente illustra il caso in cui i
valori di trigger siano salvati quando il convogliatore avanza di quattro passi.

Direzione di avanzamento
Moving Direction del convogliatore
of Conveyer

1 pitch SLTKPSHQ(1,1):
SLTKPSHQ(1,1):Save trigger value
Salvataggio del every
valoreone
di pitch.
trigger ad ogni passo.
1 2 3 4 Vengono salvati
Four trigger valuesquattro valori di trigger
are saved

Conveyer
Convogliatore
PosizionePos.
Reference di riferimento
for Trigger per il valore di trigger

SLTKPSHQ(1.2):Save
SLTKPSHQ(1,2): Salvataggio del every
trigger value valoretwo
di trigger
pitches.ogni due passi.
1 2
Vengono
Two salvatiare
trigger values due valori di trigger
saved

Conveyer
Convogliatore
Reference Pos.
Posizione for Triggerper il valore di trigger
di riferimento

Fig. 5.10.3.3 (b) Programma SLTKPSHQ

- 156 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

SLTKPOPQ
Questo programma viene utilizzato per ricavare un valore di trigger salvato in precedenza. Quando questo
programma viene richiamato, è possibile estrarre il valore di trigger memorizzato meno recentemente. Se
l'operazione riesce con successo, il valore di trigger viene rimosso dalla coda e non è più possibile
recuperarlo.
Argomento1: Specificare il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.
Argomento2: Specificare un registro numerico nel quale scrivere il valore di trigger.
Argomento3: Specificare un registro numerico nel quale avere lo stato dell'operazione. Se il
programma SLTKPOPQ non può restituire un valore di trigger, il registro indicato
assume un valore diverso da zero.

La figura seguente illustra il caso in cui siano salvati quattro valori di trigger.
Direzione di avanzamento
Moving Direction del convogliatore
of Conveyer
SLTKPOPQ(1,1,2): Estrazione
SLTKPOPQ(1,1,2): Get the oldest del valore
trigger di “4”.
value trigger meno recente (4)
1 2 3 4 “4”Ilisvalore 4 è il meno
the oldest.

Conveyer
Convogliatore PosizionePos.
di riferimento
Reference for Trigger per il valore di trigger
Dopo l'estrazione, il valore 4 viene eliminato.
La is
“4” volta successiva,
removed after it isil got.
programma SLTKPOPQ
estrae
“3” is gotil by
valore 3.
SLTKPOPQ next time.
1 2 3

Conveyer
Convogliatore PosizionePos.
Reference di riferimento
for Trigger per il valore di trigger

Fig. 5.10.3.3 (c) Programma SLTKPOPQ

SLTKDELQ
Questo programma viene utilizzato per rimuovere dalla coda un valore di trigger salvato in precedenza.
Non è possibile recuperare il valore di trigger, rimosso dalla coda, con il programma SLTKPOPQ.

Argomento1: Specificare il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.
Argomento2: Specificare il numero di trigger da rimuovere dalla coda.

Per esempio, se l'argomento 2 è il valore 2, il programma SLTKDELQ elimina il secondo valore di


trigger, in questo esempio 2, partendo da quello più recente.

Direzione
Moving di avanzamento
Direction of Conveyerdel convogliatore

1 2 3 4

Convogliatore
Conveyer
SLTKDELQ(1,2)
Delete theilspecified
Elimina valore ditrigger
triggervalue
specificato
Fig. 5.10.3.3 (d) Programma SLTKDELQ

- 157 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

SLTKRSTQ
Questo programma disattiva il segnale di uscita digitale utilizzato per fermare il convogliatore.
Fare riferimento alla descrizione della funzione di ARRESTO DEL CONVOGLIATORE più avanti.

Argomento1: Specificare il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.

SLTKGTPP
Questo programma è utilizzato per calcolare la distanza, lungo l'asse X del sistema di coordinate per la
funzione Line Tracking, tra l'origine delle coordinate stesse e la posizione corrispondente al valore di
trigger meno recente.

Argomento1: Specificare il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.
Argomento2: Specificare un numero di registro in cui memorizzare la distanza misurata a partire
dall'origine del sistema di coordinate per la funzione Line Tracking.
Argomento3: Specificare un registro numerico nel quale avere lo stato dell'operazione. Se
l'esecuzione del programma SLTKGTPP termina correttamente, il valore scritto nel
registro di stato dell'operazione è 0. Se, invece, il programma SLTKGTPP non riesce a
calcolare la distanza, il valore scritto nel registro di stato dell'operazione diventa
diverso da zero, mentre quello presente nel registro indicato con l'argomento 2 non
viene aggiornato.

La figura seguente illustra il caso in cui siano salvati quattro valori di trigger.
Per esempio, se il valore di trigger meno recente è 4, il programma calcola la distanza corrispondente al
valore di trigger 4.

Direzione di avanzamento del convogliatore


Moving Direction of Conveyer Posizione lungo l'asse X del sistema di
The position along
coordinate per laXfunzione
axis of tracking frame
Line Tracking.

Sistema di coordinate per


Tracking
la funzione Frame
Line Tracking 1 2 3 4

Conveyer
Convogliatore
$SENS_X
Posizione
Reference di riferimento
Pos. for Trigger per il valore di trigger

Fig. 5.10.3.3 (e) Programma SLTKGTPP

Se il valore di trigger 4 viene cancellato con il programma SLTKDELQ, il valore 3 diventa quello meno
recente. Quindi, il programma SLTKGTPP calcola la distanza corrispondente al valore di trigger 3.

Direzione di avanzamento
Moving del convogliatore
Direction of Conveyer Posizione lungo l'asse X del sistema di
The positionper
coordinate along X axis of tracking
la funzione frame
Line Tracking.

Sistema di coordinate per la


Tracking
funzione Frame
Line Tracking 1 2 3 4

Conveyer
Convogliatore
$SENS_X
PosizionePos.
Reference di riferimento
for Trigger per il valore di trigger

Fig. 5.10.3.3 (f) Programmi SLTKGTPP e SLTKDELQ

- 158 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE
Se è stata definita la linea di scarto (Discard Line) ed il valore di trigger 4 la oltrepassa, non è più
possibile calcolarne la distanza dall'origine delle coordinate per la funzione Line Tracking. In questo caso,
il programma SLTKGTPP calcola la distanza corrispondente al valore di trigger 3.

Direzione di avanzamento
Movingdel convogliatore
Direction of Conveyer Posizione lungo l'asse X del sistema di
The positionper
coordinate along X axis of tracking
la funzione frame
Line Tracking.

Sistema di coordinate per la


Tracking
funzione Frame
Line Tracking 1 2 3 4

Conveyer
Convogliatore
$SENS_X Discard
DiscardLine
Line (Linea di scarto)
PosizionePos.
Reference di riferimento
for Trigger per il valore di trigger

Fig. 5.10.3.3 (g) Programma SLTKGTPP e linea di scarto (Discard Line)

Se è abilitata la funzione di arresto del convogliatore ed il valore di trigger 4 oltrepassa la linea di scarto,
il sistema attiva un'uscita digitale che deve essere utilizzata per fermare il convogliatore. Quando il
convogliatore viene fermato perché il valore di trigger 4 ha oltrepassato la linea di scarto, è possibile
estrarre il valore 4 dalla coda. Quindi, il programma SLTKGTPP calcola la distanza corrispondente al
valore di trigger 4.

Direzione di avanzamento del convogliatore


Moving Direction of Conveyer Posizione lungo l'asse X del sistema di
The positionper
coordinate along X axis of tracking
la funzione frame
Line Tracking.

Sistema di coordinate per


Tracking
la funzione Frame
Line Tracking 1 2 3 4

Conveyer
Convogliatore
$SENS_X DiscardLine
Line (Linea di scarto)
Discard
PosizionePos.
Reference di riferimento
for Trigger per il valore di trigger

Fig. 5.10.3.3 (h) Programma SLTKDELQ e funzione di arresto del convogliatore

- 159 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

LINEA DI SCARTO
Se la posizione di un pezzo sul convogliatore, calcolata in base al valore di trigger corrispondente,
oltrepassa la linea di scarto, è possibile istruire il sistema a rimuovere dalla coda il valore di trigger
interessato. La linea di scarto deve essere impostata con riferimento al limite inferiore, il più a valle del
robot in direzione di avanzamento del convogliatore, della finestra di inseguimento.

Per poter utilizzare questa funzione, è necessario impostare le seguenti variabili di sistema.
$SLTKSCH[n].$SLQ_ENABLE: TRUE
$SLTKSCH[n].$DISCARD_BND: Specifica la distanza della linea di scarto, misurata a partire
dal limite inferiore della finestra di inseguimento. L'unità di
misura è millimetri.
$SLTKSCH[n].$SENS_X: Specifica la distanza esistente tra l'origine e la posizione di
riferimento lungo l'asse X del sistema di coordinate per la
funzione Line Tracking. L'unità di misura è millimetri.
Il valore "n" indica il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.

Se il valore contenuto nella variabile di sistema $DISCARD_BND è negativo, la linea di scarto è


posizionata a monte del limite inferiore della finestra di inseguimento. Normalmente, la variabile di
sistema $DISCARD_BND deve essere impostata ad un valore negativo. Se la posizione di un pezzo sul
convogliatore, calcolata in base al valore di trigger corrispondente, oltrepassa la linea di scarto, il
programma SLTKPOPQ non ha la possibilità di estrarre il valore di trigger dalla coda. Il sistema utilizza
il valore di trigger salvato meno recentemente per verificare se questa funzione ne provoca l'eliminazione.
Nel caso seguente, siccome la posizione corrispondente al valore di trigger 4 ha oltrepassato la linea di
scarto, esso viene eliminato dalla coda. Fatto ciò, il sistema verifica se la posizione corrispondente al
valore di trigger 3 debba o meno essere scartata a propria volta.

Moving Direction
Direzione di avanzamento of Conveyer
del convogliatore DISCARD LINE
LINEA DI SCARTO
Il valorethe
Discard 4 viene eliminato
trigger perché ha
value”4”
oltrepassato la linea di
that passes the Discard Line.scarto.
Sistema di coordinate per la
Tracking
funzione Frame
Line Tracking 1 2 3 4

Conveyer
Convogliatore Up-stream
Limite su- Down-stream
Limite inferiore
boundary
periore della boundary
della finestra di inseguimento
finestra di
$SENS_X inseguimento $DISCARD_BND<0
Reference
PosizionePos. for Trigger per il valore di trigger
di riferimento

Fig. 5.10.3.3 (i) Linea di scarto

- 160 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

ARRESTO DEL CONVOGLIATORE


Se la posizione di un pezzo sul convogliatore, rispetto al valore di trigger corrispondente, oltrepassa la
linea di scarto, il segnale di uscita digitale specificato viene attivato. Quando questo segnale è ON, il
segnale di ingresso digitale, definito alla voce “Index Advance Trigger DI”, che provoca l'avanzamento
del convogliatore, non deve essere attivato. La linea di scarto deve essere impostata in modo che il
movimento in Line Tracking possa essere completato nella posizione in cui il convogliatore si ferma.

Per poter utilizzare questa funzione, è necessario impostare le seguenti variabili di sistema.
$SLTKSCH[n].$SLQ_ENABLE: TRUE
$SLTKSCH[n].$DISCARD_BND: Specifica la distanza della linea di scarto, misurata a partire
dal limite inferiore della finestra di inseguimento. L'unità di
misura è millimetri.
$SLTKSCH[n].$SENS_X: Specifica la distanza esistente tra l'origine e la posizione di
riferimento lungo l'asse X del sistema di coordinate per la
funzione Line Tracking. L'unità di misura è millimetri.
$SLTKSCH[n].$STOPBELT: TRUE
$SLTKSCH[n].$STOP_DONUM: Specificare il numero del segnale di uscita digitale utilizzato
per l'arresto del convogliatore.
Il valore "n" indica il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.

Quando la funzione di arresto del convogliatore è abilitata e la posizione del pezzo sul convogliatore,
calcolata in base al valore di trigger corrispondente, è oltre la linea di scarto, il valore di trigger viene
mantenuto valido. Se il segnale di uscita digitale per l'arresto del convogliatore è ONO, è possibile
estrarre il valore di trigger con il programma SLTKPOPQ. Se si desidera cambiare lo stato del segnale di
uscita digitale da ON a OFF, è necessario utilizzare il programma SLTKRSTQ. Una volta che questo
programma è stato eseguito, il sistema verifica se il valore di trigger successivo indica una posizione che
si trova oltre la linea di scarto.
Nel caso seguente, siccome la posizione corrispondente al valore di trigger 4 ha oltrepassato la linea di
scarto, il segnale di uscita digitale viene attivato. In base allo stato del segnale di uscita digitale, è
necessario arrestare il convogliatore. Il valore di trigger 4 può essere estratto dalla coda con il programma
SLTKPOPQ. Quando il movimento in Line Tracking alla posizione di destinazione corrispondente al
valore di trigger 4 viene completato, il segnale di uscita digitale viene disattivato con il programma
SLTKRSTQ. In base allo stato del segnale di uscita digitale, è possibile fare ripartire il convogliatore.
Una volta eseguito il programma SLTKRSTQ, il sistema verifica se la posizione corrispondente al valore
di trigger 3 debba o meno essere scartata a propria volta.

Quando il valore
When di trigger
“4” passes 4 oltre
Discard Line,
Direzione di avanzamento del convogliatore
Moving Direction of Conveyer
passaDO
la linea
is ONdi scarto,
Conveyer STOP

Sistema di coordinate per


Tracking Frame
la funzione Line Tracking 1 2 3 4

Conveyer
Convogliatore Up-stream
Limite Down-stream
Limite inferiore
boundary
superiore boundary
della finestra di inseguimento
della finestra
$SENS_X di $DISCARD_BND<0
inseguiment
Posizione di riferimentoReference
per il valore
Pos.difor
trigger
Trigger LINEA DI SCARTO
DISCARD LINE

Fig. 5.10.3.3 (j) Arresto del convogliatore

NOTA
Con lo stesso Servo Convogliatore non è possibile utilizzare entrambe le funzioni
Linea di Scarto e Arresto del Convogliatore.

- 161 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

LINEA DI DISTRIBUZIONE
Fino a quando la posizione di un pezzo sul convogliatore, calcolata in base al valore di trigger
corrispondente, non oltrepassa la linea di distribuzione, il programma SLTKPOPQ non ha la possibilità di
estrarre il valore di trigger dalla coda. La linea di distribuzione deve essere impostata con riferimento al
limite superiore, il più a monte del robot in direzione di avanzamento del convogliatore, della finestra di
inseguimento.

Per poter utilizzare questa funzione, è necessario impostare le seguenti variabili di sistema.
$SLTKSCH[n].$ALLOC_ENB: TRUE
$SLTKSCH[n].$ALLOC_BND: Specifica la distanza della linea di distribuzione, misurata a
partire dal limite superiore della finestra di inseguimento.
L'unità di misura è millimetri.
$SLTKSCH[n].$SENS_X: Specifica la distanza esistente tra l'origine e la posizione di
riferimento lungo l'asse X del sistema di coordinate per la
funzione Line Tracking. L'unità di misura è millimetri.
Il valore "n" indica il numero di tabella di parametri per la funzione Line Tracking che utilizza
il Servo Convogliatore.

Se il valore assegnato alla variabile di sistema $ALLOC_BND è negativo, la linea di distribuzione si


trova a monte del limite superiore della finestra di inseguimento. Normalmente, la variabile di sistema
$ALLOC_BND deve essere impostata ad un valore negativo. Fino a quando la posizione di un pezzo sul
convogliatore, calcolata in base al valore di trigger corrispondente, non oltrepassa la linea di distribuzione,
il programma SLTKPOPQ non ha la possibilità di estrarre il valore di trigger dalla coda.
Nel caso seguente, siccome la posizione corrispondente al valore di trigger 4 ha oltrepassato la linea di
distribuzione, esso può essere estratto dalla coda con il programma SLTKPOPQ.
Direzione di avanzamento del convogliatore
Moving Direction of Conveyer Corresponding Position. to
Posizione corrispondente al “4”
valore di trigger 4.

Sistema di coordinate per


Tracking
la funzione Frame
Line Tracking 1 2 3 4

Conveyer
Convogliatore Up-stream boundary
Limite superiore
della finestra di inseguimento
$SENS_X $ALLOC_BND<0
Posizione di riferimento perReference
il valore Pos. for Trigger
di trigger Linea di distribuzione
Distribution Line (Distribution Line)

Fig. 5.10.3.3 (k) Linea di distribuzione

- 162 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

Esempio di programma
Qui di seguito vengono descritti alcuni esempi di programmi utilizzati per il controllo del Servo
Convogliatore.

- Il numero della tabella di parametri per la funzione Linea Tracking è 1.


- La posizione iniziale del convogliatore è memorizzata nel registro posizione PR[1].
- Il valore di trigger viene salvato ogni volta che il convogliatore avanza di due passi.

Nel programma principale, l'inizializzazione dei valori di trigger viene effettuata con la chiamata al
programma SLTKINIT. Dopo questa operazione, il programma CNVY.TP, che controlla il movimento
del convogliatore, viene eseguito in multi-tasking.

Esempio di programma principale


1:J P[1] 100% FINE ;
2: LINE[1] ON ;
3: CALL SLTKINIT(1,1,2) ; Inizializzazione dei valori di trigger e impostazione del registro
posizione PR[2]
4: RUN CNVY; Viene attivata l'esecuzione del programma CNVY.TP per il
movimento del Servo Convogliatore
5: LBL[1] ;
6: WAIT .10(sec) ;
7: CALL SLTKPOPQ(1,1,2) ; Estrazione del valore di trigger dalla coda
8: IF R[2]<>0,JMP LBL[1] ; Se l'estrazione del valore di trigger dalla coda non riesce,
salta alla LBL[1]
9: SETTRIG LNSCH[1] R[1] ; Il registro R[1] contiene il valore di trigger
10: CALL TRACK ; Viene eseguito il programma TRACK.TP per i movimenti in
Line Tracking
11: CALL SLTKRSTQ(1) ; Disattivazione del segnale di uscita digitale per l'arresto del
convogliatore
12: CALL NORM ; Viene eseguito il programma NORM.TP per i movimento non
in Line Tracking
13: JMP LBL[1] ;

- Alla linea 3, i valori di trigger vengono inizializzati con il programma SLTKINIT e viene
scritta, nel registro posizione PR[2], la distanza tra la posizione corrente e quella descritta dal
registro posizione PR[1].
- Alla linea 4, viene attivata l'esecuzione in multi-tasking del programma CNVY.TP, che
controlla il movimento del Servo Convogliatore.
- Tra le linee 5 e 8, il programma richiede l'estrazione di un valore di trigger dalla coda, con il
programma SLTKPOPQ, ogni 100msec. Alla linea 8, il valore contenuto nel registro R[2]
consente di verificare se l'estrazione del trigger dalla coda è stata effettuata correttamente. Se
l'estrazione del valore di trigger dalla coda non è riuscita, l'esecuzione del programma salta alla
linea 5.
- Alla linea 11, se il segnale di uscita digitale utilizzato per l'arresto del convogliatore è ON, esso
viene disattivato con il programma SLTKRSTQ.

- 163 -
5.TECNICHE AVANZATE DI PROGRAMMAZIONE B-83474IT/02

Nel programma TP che controlla il movimento del Servo Convogliatore, viene estratto dalla coda un
valore di trigger ogni 2 passi, con il programma SLTKPSHQ. Il registro R[3] è utilizzato per contare il
numero di passi ed il programma SLTKPSHQ viene eseguito in funzione del valore contenuto in R[3].

Esempio di programma - CNVY.TP


1:J PR[2] 50% CNT0 INC ; Movimento alla posizione iniziale
2: CALL SLTKREST(1) ; Impostazione della posizione di riferimento per il
trigger
3: IF R[60:G2 Ready DO]=0,JMP LBL[3] ;
4: DO[R[60]]=ON ; L'uscita digitale specificata dal registro R[60] viene
attivata
5: LBL[3] ;
6: R[61:G2 cur slot ID]=0 ; Azzeramento del registro R[61]
7: R[3]=0 ; R[3] è il contatore utilizzato per il programma
SLTKPSHQ
8: LBL[1] ;
9: $INDEXER[1].$INDEX_MV=1 ; Impostazione per attesa del segnale trigger in
ingresso
10:J P[2] 180msec CNT100 INC ACC66 ; Avanzamento di un passo
11: $INDEXER[1].$INDEX_MV=0 ; Impostazione per attesa del segnale trigger in
ingresso
12: R[61:G2 cur slot ID]=R[61:G2 cur slot ID]+1; Conteggio del numero di passi
13: R[3]=R[3]+1 ; Conteggio del numero di passi
14: IF R[61:G2 cur slot ID]=32,JMP LBL[2] ;
15: JMP LBL[4] ; Salta alla LBL[4] (linea 19)
16: LBL[2] ;
17:J PR[1] 100% CNT100 ; Movimento alla posizione memorizzata nel PR[1]
per correggere l'errore di iterazione
18: R[61:G2 cur slot ID]=0 ; Azzeramento del registro R[61]
19: LBL[4] ;
20: IF R[3]<2,JMP LBL[1] ; Verifica che il convogliatore sia avanzato di 2 passi
21: CALL SLTKPSHQ(1,2) ; Quando il convogliatore è avanzato di 2 passi, il
valore di trigger viene salvato dal programma
SLTKPSHQ
22: R[3]=0 ; Azzeramento del registro R[3]
23: JMP LBL[1] ;
/POS
P[2:""]{
GP2:
UF : 0, UT : 1,
J1= 360.000 deg
};

- Siccome il registro posizione PR[2] contiene la distanza tra la posizione corrente e quella
descritta nel registro posizione PR[1], alla linea 1, il convogliatore si muove dalla posizione
corrente a quella memorizzata in PR[1].
- Alla linea 2, la posizione di riferimento per il trigger viene memorizzata dal programma
SLTKREST.
- Il registro R[3] è il contatore per il programma SLTKPSHQ.
Alle linee 7, 13, 22, il registro R[3] viene inizializzato, incrementato e azzerato.
- Alla linea 17, il convogliatore si muove alla posizione descritta dal PR[1] per correggere
l'errore di iterazione. Questa linea viene eseguita ogni volta che il convogliatore completa una
rivoluzione.
- Alla linea 20, il numero passi viene verificato. Quando il convogliatore avanza di 2 passi, il
valore di trigger viene salvato con il programma SLTKPSHQ.
- Se si desidera modificare il numero di passi per ciascun trigger, sostituire il valore 2 alle linee
20 e 21 con uno nuovo.
- 164 -
B-83474IT/02 5.TECNICHE AVANZATE DI PROGRAMMAZIONE

5.10.4 Limitazioni delle funzioni per il Line Tracking con Servo


Convogliatore
- La funzione Line Tracking con Servo Convogliatore richiede che nel controllore sia presente
l'opzione software Line Tracking.
- Il robot e l'asse ausiliario utilizzato per azionare il Servo Convogliatore devono essere configurati in
gruppi di assi diversi.
- Allo stesso controllore è possibile aggiungere fino a 4 Servo Convogliatori.
(G1: Robot, G2-G5:Servo Convogliatore)
- La funzione Line Tracking con Servo Convogliatore può essere utilizzata insieme alla funzione Line
Tracking tradizionale. Però, se si desidera continuare un movimento in Line Tracking dopo un altro
movimento dello stesso tipo, riferito ad una tabella di parametri per Line Tracking diversa, è
necessario eseguire un movimento non in inseguimento prima di ripetere il ciclo.
- La funzione Line Tracking con Servo Convogliatore supporta gli ingressi HSDI e l'istruzione
ACCUTRIG.
- Non è possibile utilizzare il sistema di visione sul Servo Convogliatore.
(Per convogliatori tradizionali, l'impiego della visione in Line Tracking è consentito).
- Il robot non può utilizzare la funzione Continuous Turn.
- La funzione Original Path Resume è disabilitata.
- Non è possibile eseguire un programma TP la cui maschera di selezione dei gruppi di assi abiliti sia
quello che comprende il robot e quello con il Servo Convogliatore.
- In un programma di Line Tracking, se si utilizza l'interpolazione WristJoint (Wjnt), applicarla a tutte
le istruzioni di movimento oppure a nessuna. Se nel programma sono presenti istruzioni con
interpolazione Wjnt e altre senza, la traiettoria del TCP può scostarsi notevolmente da quella
prevista.
- La funzione di servo convogliatore per Line Tracking utilizza i Flag dal 131 al 138 e, per questo
motivo, non devono essere impiegati per altri usi. (Un bit di tipo flag (F[ ]) è una porta I/O interna
che può essere letta o impostata ad un valore).

- 165 -
APPENDICE
A.LIMITAZIONI RIGUARDANTI IL CONVOGLIATORE E
B-83474IT/02 APPENDICE LA PRECISIONE DI INSEGUIMENTO

A LIMITAZIONI RIGUARDANTI IL
CONVOGLIATORE E LA PRECISIONE DI
INSEGUIMENTO
A.1 LIMITE DI VELOCITÀ DEL CONVOGLIATORE
Il limite di massima velocità del convogliatore indica quanto rapidamente il pezzo sul convogliatore possa
spostarsi nell'area di lavoro del robot in un'applicazione di Line Tracking.
La velocità del convogliatore può essere limitata a causa di quella del robot oppure dal tempo necessario
ad eseguire una lavorazione specifica. La velocità del convogliatore può anche essere limitata dalla
massima tolleranza (imposta dal processo) applicabile alla precisione di inseguimento. La velocità
massima per il convogliatore può essere calcolata utilizzando l'equazione seguente.
ErroreMaxmm
Vel.Conv.Maxmm/sec
ITPsec
Per esempio, per ottenere un errore di inseguimento inferiore a +/- 4mm per un robot il cui tempo di
interpolazione ($SCR.$ITP_TIME) sia pari a 8 msec, la massima velocità ammissibile per il
convogliatore è:

500(mm/sec) = 4mm/8msec

Una velocità di convogliatore pari a 12 m/min o 200 mm/sec è, per molti processi produttivi, vicina a
quella massima consentita. Ciò non toglie, però, che alcune applicazioni possano essere implementate con
successo anche se la velocità è più alta.
Quando si utilizza l'istruzione ACCUTRIG, l'errore di inseguimento è mantenuto entro +/- un periodo di
clock del sistema (2 ms) e, quindi, il convogliatore può muoversi ad una velocità più elevata. A limitare la
velocità del convogliatore rimane, comunque, anche il processo in sè. Vedere la sezione 4.5.

A.2 LIMITE DI ACCELERAZIONE DEL CONVOGLIATORE


I limiti di accelerazione e decelerazione che si applicano al convogliatore determinano la rapidità con la
quale esso è in grado di variare la propria velocità durante le fasi di produzione in Line Tracking con
robot. Tipicamente il robot deve poter accelerare con rapidità doppia rispetto al convogliatore.
L'accelerazione massima per il convogliatore può essere calcolata utilizzando l'equazione seguente.
Accel.Conv.Max AccelRobMin
mm/sec

Per esempio:
400mm/sec2
200mm/sec2

Il valore di 200 mm/sec2 è un limite tipico.

- 169 -
A.LIMITAZIONI RIGUARDANTI IL CONVOGLIATORE
E LA PRECISIONE DI INSEGUIMENTO APPENDICE B-83474IT/02

A.3 PRECISIONE DI INSEGUIMENTO


Con precisione di inseguimento si intende definire l'errore massimo di posizionamento del robot rispetto
ad un pezzo che si sta muovendo su un convogliatore. La precisione di inseguimento è funzione della
sincronizzazione tra l'attivazione del sensore di presenza del pezzo e la lettura e scrittura del valore di
conteggio dell'encoder utilizzato per la funzione Line Tracking.
Il pezzo può attivare il sensore di presenza in qualsiasi momento e non essere sincronizzato con il ciclo di
interpolazione del robot in alcun modo. Il controllore del robot rileva la presenza del pezzo all'interno di
ogni ciclo di interpolazione. Se si utilizza l'istruzione ACCUTRIG, il controllore effettuerà il
monitoraggio del segnali di presenza pezzo entro ogni periodo di clock del sistema (2 msec). Vedere la
sezione 4.5.
In ogni caso, anche nelle condizioni più favorevoli, il controllore potrebbe impiegare fino ad un periodo
di interpolazione ($SCR.$ITP_TIME) in più per eseguire l'operazione di scrittura del valore di trigger
nella tabella di dati per la funzione Line Tracking. Il valore letto è quello rilevato durante l'ultimo
aggiornamento del conteggio encoder.
Per questo motivo potrebbe verificarsi un ritardo nella sincronizzazione pari a fino 2 volte il tempo di
interpolazione; il ritardo potrebbe essere ancora superiore se il valore di moltiplicatore è superiore a 1.
L'errore massimo di inseguimento può essere calcolato con la seguente equazione.

ErroreDist.mm = Vel.Conv.mm/sec * 2 * ITP_sec

Per esempio:
3.2mm = 200mm/sec *2 * 8msec

Quando si utilizza l'istruzione ACCUTRIG, il software registra il clock di sistema quando viene attivato il
sensore di presenza pezzo. Poi, il sistema stesso ricalcola il valore che il conteggio encoder aveva in base
al momento in cui era trascorso il tempo di clock. Perciò la formula diventa:

ErroreDist.mm = Vel.Conv.mm/sec * 2 * TempoClockSistema_msec

Per esempio:
0.8mm = 200mm/sec *2 * 2msec

Però, siccome la posizione in Line Tracking può essere modificata regolando i tempi di precalcolo, il
valore di precisione di inseguimento può essere espressa entro +/- 1 ms. La precisione di inseguimento
può essere calcolata utilizzando la seguente equazione.

+/-Precisione.mm = Vel.Convmm/sec *1ms

Per esempio:
0.2mm = 200mm/sec *1ms

NOTA
Viene sempre utilizzato il valore più grande di ErroreDist.

NOTA
Il software applicativo PaintTool disabilita la funzione ACCUTRIG.

La precisione di inseguimento può anche essere limitata dalla risoluzione dell'encoder che si sta
utilizzando, inclusi eventuali ingranaggi di riduzione presenti. La risoluzione risulta da una combinazione
del fattore di scala dell'encoder e della velocità del convogliatore. La risoluzione dell'encoder può essere
calcolata utilizzando l'equazione seguente.

- 170 -
A.LIMITAZIONI RIGUARDANTI IL CONVOGLIATORE E
B-83474IT/02 APPENDICE LA PRECISIONE DI INSEGUIMENTO

Risoluzione impulsi/aggiornamento = Fattore di scala impulsi/mm * Velocità convogliatore mm/sec *


Periodo di aggiornamento sec/aggiornamento
Per esempio, in un sistema in cui il fattore di scala dell'encoder è 10 impulsi/mm ed il tempo di
interpolazione, e, quindi, di aggiornamento del conteggio dell'encoder stesso, è pari a 20 msec, la
risoluzione, per una velocità del convogliatore di 200 msec/aggiornamento, è:

40impulsi/lettura=10impulsi/mm * 200mm/sec * 0.020sec/lettura

Per esempio, in un sistema in cui è utilizzata l'istruzione ACCUTRIG, il fattore di scala dell'encoder è 10
impulsi/mm ed il tempo di aggiornamento del conteggio dell'encoder stesso, è pari a 4 msecs, la
risoluzione, per una velocità del convogliatore di 200 impulsi/aggiornamento, è:

4 impulsi/lettura = 10 impulsi/mm * 200 mm/sec * 0.002 sec/lettura

NOTA
Mantenere la risoluzione dell'encoder sopra i 10 impulsi/lettura.
Valori che si aggirano intorno a 40 o 50 sono considerati ottimali.

A.4 RISOLUZIONE DELL'ENCODER


Quando i movimenti in Line Tracking del robot sono troppo bruschi, una possibile ragione è una bassa
risoluzione dell'encoder. Un altro possibile motivo potrebbe essere la non sufficiente lunghezza del filtro
per la funzione Line Tracking.
• Implementazione di una soluzione meccanica:
Aggiungere un ingranaggio tra il motore e l'encoder per innalzare la risoluzione dell'encoder ad un
valore accettabile. Un valore di risoluzione accettabile è >40 impulsi/aggiornamento.

• Implementazione di una soluzione software:


Abilitare l'ingranaggio software impostando a 1 il bit 3 della variabile di sistema
$LNCFG.$COMP_SW (aggiungere il valore 8, se il bit era 0). Poi spegnere e riaccendere il
controllore. Dopo questa operazione, siccome il rapporto di riduzione non sarà più lo stesso, è
necessario ricalcolare il fattore di scala nella tabella di dati per la funzione Line Tracking,
utilizzando la funzione del tasto F2, TEACH, nel menu SETUP, Tracking. Fare riferimento alla
Sezione 3 per ulteriori informazioni. Oppure, reimmettere il fattore di scala (impulsi/mm o
impulsi/deg) nella tabella di parametri per la funzione Line Tracking che utilizza l'encoder in
questione, moltiplicando il valore precedente per quello contenuto nella variabile di sistema
$ENC_SCALE[x], dove x sta per il numero di encoder.

Soluzione alla non sufficiente lunghezza del filtro per la funzione Line
Tracking
Il filtro per la funzione Line Tracking viene utilizzato dal sistema quando il robot parte da una posizione
stazionaria per dirigersi verso il pezzo che si muove sul convogliatore. La lunghezza del filtro rappresenta
il tempo che il robot ha per raggiungere il pezzo sul convogliatore. Quando il filtro non è sufficientemente
lungo, il robot è pesante e la velocità del convogliatore è elevata, l'accelerazione a cui il robot è sottoposto
è eccessiva. Il movimento appare molto brusco se il robot è in grado di accelerare come istruito dal
controllore. Se, invece, l'accelerazione definita dal controllore supera il limite imposto dall'unità
meccanica, il sistema genera un'allarme di avvenuta collisione.
Per questo motivo, se il robot è di grosse dimensioni e la velocità del convogliatore è elevata, è possibile
aumentare il valore contenuto nella variabile di sistema $LNSCH[].$TRK_FLTR_LN (standard 7,
massimo 40) fino a 15 o 20.

- 171 -
B.SCHEMI COSTRUTTIVI APPENDICE B-83474IT/02

B SCHEMI COSTRUTTIVI
B.1 PANORAMICA
In questa sezione sono riportati gli schemi elettrici riferiti al cablaggio dell'interfaccia con i segnali di
ingresso veloci (HDI) e con gli encoders per la funzione Line Tracking.
I segnali HDI sono utilizzati da alcune opzioni software.
Normalmente non è consentito il loro impiego come normali I/O.

R-30iB

JRL8

R-30iB

Scheda
Main MAIN
board
Scheda MAIN
JRL8
1 Reserved
Riservato 11
11 HDI0
2 Reserved
Riservato 12 0V
3 Reserved
Riservato 13 HDI1
4 Reserved
Riservato 14 0V
5 Reserved
Riservato 15 HDI2
6 Reserved
Riservato 16 0V
7 Reserved
Riservato 17 HDI3
8 Reserved
Riservato 18 0V
9 Reserved
Riservato 19 HDI4
10 Reserved
Riservato 20 0V

Fig. B.1 (a) Interfaccia per segnali HDI nel controllore R-30iB

- 172 -
B-83474IT/02 APPENDICE B.SCHEMI COSTRUTTIVI

JRL8
11
HDI0
12
0V
13
HDI1
14
0V
15
HDI2
16
0V
17
HDI3
18
0V
19
HDI4
20
0V
1-10

Schermatura
Shield

Piastra
Ground di terra
plate

Connettori consigliati:
Recommended cable connector:
PCR-E20FA (Honda Tsushin Kogyo)
FI30-20S (Hirose Electric)
FCN-247J020-G/E (Fujitsu)
52622-2011 (Molex Japan)

Fig. B.1 (b) Connessione del cavo per segnali HDI nel controllore R-30iB

R-30iB Mate

CRL3

R-30iB Mate

Scheda MAIN
Main board

CRL3

1 HDI0 2 HDI1
3 0V 4 0V

Fig. B.1 (c) Interfaccia per segnali HDI nel controllore R-30iB Mate
- 173 -
B.SCHEMI COSTRUTTIVI APPENDICE B-83474IT/02

CRL3
1
HDI0
3
0V
2
HDI1
4
0V

Schermatura
Shield

Piastra
Grounddiplate
terra

Connettori
Recommendedconsigliati:
cable connector:
DF11-4DS-2C (Hirose Electric)

Fig. B.1 (d) Connessione del cavo per segnali HDI nel controllore R-30iB Mate

R-30iB

DRIVER
liL/liH FILTER
FILTRO RICEVITORE
RECEIVER
DRIVER

VH/VL
SHIELD
SCHERMATURA

Campo di lavoro in tensione


Tensione in ingresso Vin: da -3.6 a +10 V
Caratteristiche d'ingresso
Unità Simbolo Specifica Unità Nota
Livello alto tensione d'ingresso VH Da 3.6 a 11.6 V
Livello basso tensione d'ingresso VL Da 0 a 1.0 V
Livello alto corrente d'ingresso liH 2 max mA Vin= 5 V
11 max mA Vin= 10 V
Livello basso corrente d'ingresso liL -8.0 max mA Vin= 0 V
Durata dell'impulso in ingresso 20 min ms
Ritardo sui segnali d'ingresso 0.02 (max) ms

NOTA
1 Il segno (+) di IiH/IiL rappresenta la direzione di flusso nel ricevitore. Il segno (-) di IiH/IiL
rappresenta la direzione di flusso dal ricevitore.
2 Un segnale di ingresso HDI è considerato allo stato 1 quando la tensione d'ingresso è al
di sotto del livello minimo, 0 quando la tensione d'ingresso è al livello alto.
Fig. B.1 (e) Specifiche dei segnali di ingresso veloci (HDI)

NOTA
Nel controllore R-30iB Mate, l'interfaccia per o segnali HDI non è disponibile se la scheda
Main è di tipo A (A20B-8200-0790) o B (A20B-8200-0791). I segnali HDI sono disponibili
con la scheda Main di tipo C (A20B-8200-0792) nel controllore R-30iB Mate. Per ulteriori
dettagli, fare riferimento alla Tabella 5.6.2 (a).

- 174 -
B-83474IT/02 APPENDICE C.ENCODER FANUC A860-0301-T001~T004

C ENCODER FANUC A860-0301-T001~T004


C.1 REQUISITI HARDWARE
Tabella C.1 (a) Requisiti hardware (R-30iB: Encoder incrementale A860-0301-T001 - T004)
Componenti Controllore R-30iB - Controllore R-30iB -
necessari Armadio di tipo A Armadio di tipo B Commenti
Hardware

Scheda di A20B-8101-0421 A20B-8101-0421 • La scheda di interfaccia per la funzione


interfaccia per (Slot per mini-schede a (Mini slot a doppia Line Tracking, nella colonna di sinistra,
la funzione Line doppia larghezza) larghezza) è inclusa nei seguenti codici di
Tracking oppure oppure ordinazione.
A20B-8101-0601 A20B-8101-0601 A05B-2600-J035, A05B-2660-J035
(Mini slot a larghezza (Mini slot a larghezza (Armadio tipo A/B, mini slot a larghezza
singola) singola) doppia)
A05B-2600-J036, A05B-2660-J036
(Armadio tipo A/B, mini slot a larghezza
singola)
A05B-2600-J037
(Armadio tipo B, mini slot s larghezza
singola)

• In sostituzione della scheda di


interfaccia per la funzione Line Tracking,
è possibile impiegare l'unità di
rilevamento separata (SDU) (A02B-
0323-C205).
NOTA: L'unità SDU comporta
l'esecuzione di alcuni lavori di
adattamento per il suo montaggio
all'interno dell'armadio elettrico.
(Vedere le Fig. 2.1.1 da (f) a (m)).

Cavo in fibra A66L-6001-0023 A66L-6001-0023 • Il cavo in fibra ottica nella colonna di


ottica (FSSB) sinistra è incluso nei seguenti codici di
ordinazione.
A05B-2600-J035, A05B-2660-J035
(Armadio tipo A/B, mini slot a larghezza
doppia)
A05B-2600-J036, A05B-2660-J036
(Armadio tipo A/B, mini slot a larghezza
singola)
A05B-2600-J037
(Armadio tipo B, mini slot a larghezza
singola)

- 175 -
C.ENCODER FANUC A860-0301-T001~T004 APPENDICE B-83474IT/02

Componenti Controllore R-30iB - Controllore R-30iB -


necessari Armadio di tipo A Armadio di tipo B Commenti
Hardware

Cavo encoder per A20B-8101-0421 per A20B-8101-0421 • L'encoder incrementale FANUC A860-
(mini slot a doppia (mini slot a doppia 0301-T001 - T004 non può essere
larghezza): larghezza): collegato alla porta per l'encoder sulla
A05B-2601-J380 (7M) A05B-2603-J380 (7M) scheda Main.
A05B-2601-J381 (14M) A05B-2603-J381 (14M)
A05B-2601-J382 (20M) A05B-2603-J382 (20M)
A05B-2601-J383 (30M) A05B-2603-J383 (30M)
A05B-2660-J380 (7M)
A05B-2660-J381 (14M)
A05B-2660-J382 (20M)
A05B-2660-J383 (30M)

per A20B-8101-0601 per A20B-8101-0601


(Mini slot a larghezza (Mini slot a larghezza
singola) (un encoder): singola) (un encoder):
A05B-2601-J370 (7M) A05B-2603-J370 (7M)
A05B-2601-J371 (14M) A05B-2603-J371 (14M)
A05B-2601-J372 (20M) A05B-2603-J372 (20M)
A05B-2601-J373 (30M) A05B-2603-J373 (30M)
A05B-2660-J370 (7M)
A05B-2660-J371 (14M)
A05B-2660-J372 (20M)
A05B-2660-J373 (30M)

Cavo per per A20B-8101-0421 per A20B-8101-0421 • Quando si utilizzano più robots per
multiplexer (mini slot a doppia (mini slot a doppia inseguire un pezzo su un convogliatore,
larghezza): larghezza): utilizzare il cavo di collegamento tra
A05B-2601-J385 (7M) A05B-2603-J385 (7M) multiplexer e controllore, oppure
A05B-2601-J386 (14M) A05B-2603-J386 (14M) utilizzare la funzione (opzionale) di
A05B-2601-J387 (20M) A05B-2603-J387 (20M) condivisione dell'encoder in rete
A05B-2601-J388 (30M) A05B-2603-J388 (30M) Ethernet (A05B-2600-R762).
A05B-2660-J385 (7M)
A05B-2660-J386 (14M)
A05B-2660-J387 (20M)
A05B-2660-J388 (30M)

per A20B-8101-0601 per A20B-8101-0601


(Mini slot a larghezza (Mini slot a larghezza
singola) singola):
A05B-2601-J375 (7M) A05B-2603-J375 (7M)
A05B-2601-J376 (14M) A05B-2603-J376 (14M)
A05B-2601-J377 (20M) A05B-2603-J377 (20M)
A05B-2601-J378 (30M) A05B-2603-J378 (30M)
A05B-2660-J375 (7M)
A05B-2660-J376 (14M)
A05B-2660-J377 (20M)
A05B-2660-J378 (30M)

Cavo di A05B-2451-K102 (7M)


collegamento A05B-2451-K103 (14M)
dell'encoder al
multiplexer

- 176 -
B-83474IT/02 APPENDICE C.ENCODER FANUC A860-0301-T001~T004
Fare riferimento alle Fig. C.2 da (a) a (c) per avere informazioni relative ai segnali degli encoder, e alle
immagini contenenti informazioni relative alle loro dimensioni.
Fare riferimento alla Fig. C.3 da (a) a (f) per avere informazioni circa le dimensioni, le connessioni e
l'installazione delle unità separate di interfaccia per gli encoders.

Tabella C.1 (b) Requisiti hardware (R-30iB Mate: Encoder incrementale A860-0301-T001 - T004)
Controllore
Componenti Controllore
R-30iB Mate
necessari R-30iB Mate Commenti
(versione compatta)

Hardware

Scheda di A20B-8101-0601 A20B-8101-0601 • La scheda di interfaccia per la funzione


interfaccia per la (Mini slot a larghezza (Mini slot a larghezza Line Tracking, nella colonna di sinistra, è
funzione Line singola) singola) inclusa nei seguenti codici di ordinazione.
Tracking A05B-2650-J035, A05B-2661-J035 (R-
30iB Mate, mini slot a larghezza singola)
A05B-2655-J035, A05B-2662-J035 (R-
30iB Mate, (versione compatta), mini slot
a larghezza singola)

Cavo in fibra A66L-6001-0026 A66L-6001-0023 • Il cavo in fibra ottica nella colonna di


ottica (FSSB) sinistra è incluso nei seguenti codici di
ordinazione.
A05B-2650-J035, A05B-2661-J035 (R-
30iB Mate, mini slot a larghezza singola)
A05B-2655-J035, A05B-2662-J035 (R-
30iB Mate, (versione compatta), mini slot
a larghezza singola)

Cavo encoder A20B-8101-0601 (mini A20B-8101-0601 (mini • L'encoder incrementale FANUC A860-
slot a larghezza singola) slot a larghezza singola) 0301-T001 - T004 non può essere
(un encoder) : (un encoder) : collegato alla porta per l'encoder sulla
A05B-2650-J200 (7M) A05B-2655-J200 (7M) scheda Main.
A05B-2650-J201 (14M) A05B-2655-J201 (14M)
A05B-2650-J202 (20M) A05B-2655-J202 (20M) • Con il controllore R-30iB Mate, il
A05B-2661-J200 (7M) A05B-2662-J200 (7M) multiplexer non può essere utilizzato. Se
A05B-2661-J201 (14M) A05B-2662-J201 (14M) si desidera utilizzare più robots con
A05B-2661-J202 (20M) A05B-2662-J202 (20M) l'encoder FANUC αA1000S, dotare il
controllore della funzione opzionale per la
per A20B-8101-0601 A20B-8101-0601
condivisione via Ethernet dell'encoder
(Mini slot a larghezza (Mini slot a larghezza
(A05B-2660-R762).
singola) singola)
(Due encoders) : (Due encoders) :
A05B-2650-J210 (7M) A05B-2655-J210 (7M)
A05B-2650-J211 (14M) A05B-2655-J211 (14M)
A05B-2650-J212 (20M) A05B-2655-J212 (20M)
A05B-2661-J210 (7M) A05B-2662-J210 (7M)
A05B-2661-J211 (14M) A05B-2662-J211 (14M)
A05B-2661-J212 (20M) A05B-2662-J212 (20M)

Fare riferimento alle Fig. C.2 da (a) a (c) per avere informazioni relative ai segnali degli encoder, e alle
immagini contenenti informazioni relative alle loro dimensioni.
Fare riferimento alla Fig. C.3 da (a) a (f) per avere informazioni circa le dimensioni, le connessioni e
l'installazione delle unità separate di interfaccia per gli encoders.

- 177 -
C.ENCODER FANUC A860-0301-T001~T004 APPENDICE B-83474IT/02

C.2 FIGURE

Nome del segnale Numero Pin


Numero di Pin
Nome del segnale
310A20-29P
A A
*A D
B B
*B E
Z F
*Z G
C1 -
C2 -
C4 -
C8 -
+5V C, J, K
0V N, P, T
Schermatura
Schermatura H
OH1
OH2
REQ
+6VA
0VA
Fig. C.2 (a) Connessione dei segnali dell'encoder incrementale FANUC (A860-0301-T001)

Voce Specifica
Tensione di alimentazione 5 (V) 5%

Assorbimento in corrente Fino a 0.35 (A)

Intervallo di temperature di lavoro da 0 a +60°C

Frequenza massima di risposta 100x 10³ (Hz)

Inerzia dell'albero di ingresso Fino a 5x 10-³ (kg m²)

Coppia di spunto all'albero di ingresso Fino a 0.8 (Nm)

Radiale 20 (N)
Carichi nominali
Assiale 10 (N)

Tolleranza sul diametro dell'albero 0.02x 10-³ (m)

Peso Circa 2.0 (kg)


Fig. C.2 (b) Specifiche dell'encoder incrementale FANUC (A860-0301-T001)

- 178 -
B-83474IT/02 APPENDICE C.ENCODER FANUC A860-0301-T001~T004

Fig. C.2 (c) Dimensioni dell'encoder incrementale FANUC (A860-0301-T001)

- 179 -
C.ENCODER FANUC A860-0301-T001~T004 APPENDICE B-83474IT/02

C.3 ISTRUZIONI PER IL COLLEGAMENTO

Scheda di interfaccia per l’encoder di Line Tracking


Encoder
(mini slot a doppia larghezza) A20B-8101-0421
A860-0301-T001 - T004

JF21
JF22
Cavo encoder
R-30iB (armadio tipo A) : COP10B
A05B-2601-J380 - J383
A05B-2660-J380 - J383
R-30iB (armadio tipo B) :
A05B-2603-J380 - J383 COP10A

Fig. C.3 (a) Connessione dei cavi alla scheda di interfaccia per la funzione Line Tracking
A05B-2600-J035, A05B-2660-J035 (un encoder FANUC)

Scheda di interfaccia per l’encoder di Line Tracking


(mini slot a larghezza singola) A20B-8101-0601
Encoder
A860-0301-T001 - T004

JRF3

Cavo encoder
R-30iB (armadio tipo A) : COP10B
A05B-2601-J370 - J373
A05B-2660-J370 - J373
R-30iB (armadio tipo B) :
A05B-2603-J370 - J373

Fig. C.3 (b) Connessione dei cavi alla scheda di interfaccia per la funzione Line Tracking
A05B-2600-J036, A05B-2660-J036 o A05B-2600-J037 (un encoder FANUC)

- 180 -
B-83474IT/02 APPENDICE C.ENCODER FANUC A860-0301-T001~T004

Scheda di interfaccia per l’encoder di Line Tracking


(mini slot a larghezza singola) A20B-8101-0601
Encoder
A860-0301-T001 - T004

JRF3

Cavo encoder
R-30iB Mate : COP10B
A05B-2650-J200 - J202
A05B-2661-J200 - J202
Controllore R-30iB Mate (versione compatta) :
A05B-2655-J200 - J202
A05B-2662-J200 - J202

Fig. C.3 (c) Connessione dei cavi alla scheda di interfaccia per la funzione Line Tracking
A05B-2650-J035, A05B-2655-J035, A05B-2661-J035 o A05B-2662-J035 (un encoder FANUC)

Scheda di interfaccia per l’encoder di Line Tracking


(mini slot a larghezza singola) A20B-8101-0601
Encoder
A860-0301-T001 - T004

JRF3

COP10B
Cavo encoder
R-30iB Mate :
A05B-2650-J210 - J212
A05B-2661-J210 - J212
Controllore R-30iB Mate (versione compatta) :
A05B-2655-J210 - J212
A05B-2662-J210 - J212

Fig. C.3 (d) Connessione dei cavi alla scheda di interfaccia per la funzione Line Tracking
A05B-2650-J035, A05B-2655-J035, A05B-2661-J035 o A05B-2662-J035 (due encoders FANUC)

- 181 -
C.ENCODER FANUC A860-0301-T001~T004 APPENDICE B-83474IT/02

Pulse
Multiplexer multiplexer
segnali encoder
Pulsecoder
Encoder Scheda di interfaccia
Linecon l'encoder
tracking di Line
interface Tracking
board
A16B-1212-0290
A8600-0301-T001 to T004 A20B-8101-0421

JF21
JF22
Pulsecoder to Multiplexer cable Multiplexer cable
Cavo di collegamento Cavo per multiplexer
A05B-2451-K102, -K103 R-30iB / A-cabinet: COP10B
dell'encoder al multiplexer R-30iB (armadio tipo A) :
A05B-2451-K102, -K103 A05B-2601-J385- J388
A05B-2601-J385 to J388
R-30iB
R-30iB / B-cabinet:
(armadio tipo B) : COP10A
A05B-2603-J385
A05B-2603-J385- J388
to J388

Scheda di interfaccia con


Line l'encoder
tracking di Line
interface Tracking
board
Encoder MultiplexerPulse
segnali encoder
multiplexer
Pulsecoder A20B-8101-0601
A16B-1212-0290
A8600-0301-T001 to T004

JRF3

Pulsecoder to Multiplexer cable Multiplexer cable


Cavo di collegamento Cavo per multiplexer
A05B-2451-K102, -K103 R-30iB / A-cabinet:
dell'encoder al multiplexer R-30iB (armadio tipo A) : COP10B
A05B-2601-J375 to J378
A05B-2451-K102, -K103 A05B-2601-J375
R-30iB / B-cabinet:- J378
R-30iB (armadio tipo
A05B-2603-J375 to B) :
J378
A05B-2603-J375 - J378

Fig. C.3 (e) Multiplexer per i segnali encoder e cavi di collegamento 1


(Encoder FANUC, A860-0301-T001 - T004)

NOTA
Se la scheda di interfaccia per la funzione Line Tracking non può essere
utilizzata, oppure non è disponibile, è possibile impiegare l'unità SDU illustrata
nelle Fig. 2.1.1 da (f) a (n).

- 182 -
B-83474IT/02 APPENDICE C.ENCODER FANUC A860-0301-T001~T004

Parte laterale

Robot

Robot

Robot
Multiplexer segnali encoder
Encoder
Pulsecoder
A860-0301-T001
to T004

Line tracking
Scheda interface
di interfaccia board
per l’encoder di Line Tracking
A20B-8101-0421
A20B-8101-0421 A20B-8101-0601
A20B-8101-0601
A-cabinet:
Armadio tipo A: A-cabinet
Armadio tipo A
A05B-2601-J385 to J388 A05B-2601-J375 to J378
A05B-2601-J385
B-cabinet: - J388 A05B-2601-J375
B-cabinet:- J378
Armadio tipo B:
A05B-2603-J385 Armadio tipoA05B-2603-J375
to J388 B: to J378
A05B-2603-J385 - J388 A05B-2603-J375 - J378

Fig. C.3 (f) Connessione dei cavi al multiplexer 2 (encoder FANUC, A860-0301-T001 - T004)

NOTA
Per ogni multiplexer possono essere collegati fino ad un massimo di 4 cavi.

- 183 -
B-83474IT/02 INDICE ALFABETICO

INDICE ALFABETICO

FUNZIONE LINE TRACKING CON SERVO


<A> CONVOGLIATORE ............................................... 137
Abilitazione della funzione .......................................... 117 Funzioni per il Line Tracking con
Aspetti da considerare nella creazione di una rete ....... 127 Servo Convogliatore ................................................ 152
Attesa dell'arresto del Servo Convogliatore ................. 152
<G>
<C> GESTIONE DELLE CODE DI PEZZI IN LINE
COLD START (Avviamento freddo) ............................. 36 TRACKING ............................................................... 96
Collegamento del cavo di rete al robot ......................... 126
Configurazione ............................................................. 137 <H>
CONFIGURAZIONE DEGLI ENCODERS .................. 25 HARDWARE .................................................................. 4
Configurazione dei parametri per la funzione HARDWARE E SOFTWARE ........................................ 4
Line Tracking ........................................................... 151
Configurazione del Servo convogliatore ...................... 145 <I>
CONFIGURAZIONE DELLA FUNZIONE Impostazione del numero dell'encoder .......................... 32
LINE TRACKING ............................................... 25, 38 Impostazione dell'indirizzo IP ..................................... 127
Configurazione della rete ad anello dei robots ............. 129 Impostazione ed utilizzo di posizioni predefinite
Configurazione dell'asse ausiliario indipendente ......... 137 in un programma ........................................................ 85
Configurazione dell'encoder Ethernet .......................... 133 Impostazioni per l'istruzione TRKUFRAME .............. 110
COORDINATE UTENTE PER LA FUNZIONE Impostazioni per l'istruzione VISUFRAME ................ 111
LINE TRACKING ................................................... 107 Informazioni per la configurazione degli encoders........ 25
Creazione del programma TP per il controllo Installazione................................................................... 19
del Servo Convogliatore ........................................... 147 ISTRUZIONI PER IL COLLEGAMENTO ................ 180
CREAZIONE DI PROGRAMMI LINE TRACKING ... 60 ISTRUZIONI PER LA FUNZIONE
Creazione di un nuovo programma ................................ 67 LINE TRACKING ..................................................... 87
Creazione di una rete di robots ..................................... 126
CREAZIONE E MODIFICA DI UN PROGRAMMA .. 66 <L>
Limitazioni ............................................................ 24, 125
<D> Limitazioni delle funzioni per il Line Tracking
Definizione del fattore di scala dell'encoder con Servo Convogliatore.......................................... 165
(Scale Factor) ............................................................. 54 LIMITAZIONI RIGUARDANTI IL
Definizione del sistema di coordinate nominali CONVOGLIATORE E LA PRECISIONE DI
per la funzione Line Tracking INSEGUIMENTO ................................................... 169
(Nominal Tracking Frame) ......................................... 47 LIMITE DI ACCELERAZIONE DEL
DESCRIZIONE DELLA FUNZIONE CONVOGLIATORE ............................................... 169
LINE TRACKING ....................................................... 1 LIMITE DI VELOCITÀ DEL CONVOGLIATORE .. 169
LINE TRACKING CON CONVOGLIATORI
<E> MULTIPLI (DOPPIO LINE TRACKING) ............. 100
ENCODER FANUC A860-0301-T001~T004 ............. 175 Line Tracking con due convogliatori ........................... 100
ENCODER IN RETE ETHERNET ............................. 124
ESECUZIONE IN MODO T1 DI UN <M>
PROGRAMMA DI LINE TRACKING ..................... 86 Modifica del programma che utilizza la funzione
Esempi di programmi ..................................................... 64 Line Tracking per l’utilizzo dei segnali HSDI ......... 119
ESEMPIO DI POSIZIONI PER FINESTRE DI Modifica di un programma ............................................ 74
INSEGUIMENTO MULTIPLE ................................. 94 Modifiche di programmi in Background Editing ........... 79
Esempio di programma che utilizzi un sistema di MONITORAGGIO DEI LIMITI SOFTWARE ........... 123
coordinate utente con la funzione Line Tracking MONITORAGGIO SEGNALE DI PRESENZA
e sua esecuzione ....................................................... 112 PEZZO AD ALTA FREQUENZA .......................... 117
Esempio di programma MAIN ....................................... 57
Esempio di programma principale ............................... 151 <N>
Esempio di sotto-programma TRACK ........................... 58 NON ESECUZIONE DI MOVIMENTI VERSO
POSIZIONI FUORI FINESTRA ............................. 121
<F>
FIGURE ....................................................................... 178
i-1
INDICE ALFABETICO B-83474IT/02

<P> <T>
Panoramica ........................................... 107, 117, 124, 137 TECNICHE AVANZATE
PANORAMICA ................................................. 1, 60, 172 DI PROGRAMMAZIONE ........................................ 94
PRECISIONE DI INSEGUIMENTO ........................... 170 TERMINOLOGIA UTILIZZATA
PRECISIONE PER ALTE VELOCITÀ DI RELATIVAMENTE ALLE COORDINATE
INSEGUIMENTO .................................................... 104 UTENTE PER LA FUNZIONE
PROGETTAZIONE DI UN PROGRAMMA ................ 61 LINE TRACKING ................................................... 108
Programmazione di un tipico sistema che TRACKING CARTESIANO .......................................... 2
funziona in Line Tracking .......................................... 61 Tracking CIRCOLARE ................................................... 3
Programmi di esempio ................................................. 101 TRACKING CON SINGOLO ASSE (ROTAIA) ............ 2
PROGRAMMI DI ESEMPIO PER LA VERIFICA Tracking LINEARE ......................................................... 3
DELLA CONFIGURAZIONE DELLA
FUNZIONE LINE TRACKING................................. 57 <U>
Programmi KAREL per la funzione Line Tracking Utilizzo delle istruzioni TRKUFRAME e
con Servo Convogliatore .......................................... 154 VISUFRAME per la funzione Line Tracking
mediante rotaia......................................................... 116
<R> Utilizzo di due programmi ............................................. 97
Registrazione ed esecuzione di un programma che Utilizzo di un solo programma ...................................... 96
utilizza un sistema di coordinate utente con la
funzione Line Tracking ............................................ 114 <V>
REQUISITI HARDWARE ...................................... 4, 175 Variabile di sistema per la regolazione dell'errore
Risincronizzazione del robot e del convogliatore........... 81 dinamico .................................................................. 152
RISOLUZIONE DELL'ENCODER ............................. 171 VARIABILE PER LA REGOLAZIONE DELLA
PRECISIONE STATICA ......................................... 104
<S> VARIABILI PER LA REGOLAZIONE DELLA
SCHEMI COSTRUTTIVI ............................................ 172 PRECISIONE DINAMICA ..................................... 106
Sincronizzazione del robot e del convogliatore.............. 73 Verifica del fatto che l'esecuzione del programma
SOFTWARE .................................................................. 24 di test sia corretta ....................................................... 59
Spiegazione della terminologia .................................... 125 Verifica della configurazione ...................................... 135
Verifica della corretta configurazione degli encoders ... 56
Verifica della correttezza della
configurazione dell'encoder ....................................... 35

i-2
B-83474IT/02 EDIZIONI

EDIZIONI
Edizione Data Contenuto
• Aggiunta del controllore R-30iB Mate
• Aggiunta dell'encoder FANUC αA1000S
02 Ott. 2013 • Aggiunta della Sezione 3.1.2 per l'impostazione del numero dell'encoder
• Modificate le specifiche per alcune funzioni
• Correzione di alcuni errori
01 Ott. 2012

r-1

Potrebbero piacerti anche