Indice

MDO_P1P20F - 023 : Manuale dell'operatore

1. Informazioni

1.1 Release

Il presente documento è valido integralmente salvo errori od omissioni.

Documento: mdo_p1p20f-023
Descrizione: Manuale operatore p1p20f-023
Redattore: Omar Sbalchiero
Approvatore Gabriele Bazzi
Link: https://www.qem.eu/doku/doku.php/strumenti/qmoveplus/j1p20/p1p20f-023/mdo_p1p20f-023
Lingua: Italiano
Release documento Descrizione Note Data
01 Nuovo manuale 18/05/2021

1.1.1 Specificazioni

I diritti d'autore di questo manuale sono riservati. Nessuna parte di questo documento, può essere copiata o riprodotta in qualsiasi forma senza la preventiva autorizzazione scritta della QEM.

QEM non presenta assicurazioni o garanzie sui contenuti e specificatamente declina ogni responsabilità inerente alle garanzie di idoneità per qualsiasi scopo particolare. Le informazioni in questo documento sono soggette a modifica senza preavviso. QEM non si assume alcuna responsabilità per qualsiasi errore che può apparire in questo documento.

Marchi registrati :

2. Descrizione

La applicazione P1P20F - 023 è realizzata per permettere la programmazione di sequenze di posizionamenti di una coppia di assi.

Sono disponibili per la programmazione più di 50 istruzioni elementari e di facile comprensione. La composizione delle sequenze e la scelta delle istruzioni è realizzabile tramite il terminale operatore attraverso alcune pagine di selezione. Di seguito riportiamo le caratteristiche principali del software.

Tipi di comando:

3. Start-Up

Premendo il tasto si accede alla funzione di Homing.

3.2 Homing

Per avviare la procedura di homing è necessario :

4. Pagina Principale

4.1 Manuale

Questo tasto è visibile solamente se a livello di SETUP la macchina è stata configurata per poter saltare l'operazione di homing.
Se premuto per più di un secondo azzera il conteggio del relativo asse.

4.2 Automatico

Questo tasto permette di abilitare il funzionamento della macchina per eseguire a STEP la sequenza in ciclo. Questo selettore non funziona se la macchina è in stato automatico ON.
Se premuto per più di un secondo, questo tasto esegue un RESTART del programma selezionato.
Questo tasto non funziona se la macchina è in stato automatico ON.

Permettono di scorrere i passi del programma selezionato.
Questi tasti non funzionano se la macchina è in stato automatico ON.

4.3 Descrizione dei pulsanti

Sezione Pagina Allarmi
Sezione di diagnostica I/O
Sezione Programmi di Lavoro
Sezione procedura di Homing
Abilitazione sequenza a “Step”
Sezione Dati Macchina

5. Stati macchina

La macchina è in fase di homing.
La macchina in manuale
macchina in automatico - ciclo automatico fermo
macchina in automatico - ciclo automatico in corso
macchina in allarme

6. Tasti Funzione e Led

Tasto Icona Funzione Led Tasto Icona Funzione Led
F1 Manuale - F6 Pagina allarmi -
F2 Automatico - F7 Pagina precedente -
F3 Homing - - - - -

7. Utilizzo

7.1 Programmazione

E' possibile accedere alla sezione dei programmi di lavoro solo se non è in esecuzione un programma.

Per accedere alla sezione dei programmi di lavoro, premere il tasto

Alla pagina di programmazione è possibile avere accesso solamente quando lo stato macchina non è in automatico ON.
La pagina di programmazione permette di compilare una sequenza di istruzioni e di salvarla in una determinata zona della memoria.

Descrizione dei vari campi:

Questo campo modificabile stabilisce la zona di memoria di dove viene salvato il programma che si sta scrivendo. Il campo consente di inserire un valore da 1 a 100.
In questa area viene visualizzata la sequenza in programmazione. Su ogni riga e possibile inserire un comando, il quale può comprendere fino a 3 variabili per la sua esecuzione, modificabili toccando sopra il valore di sfondo blu scuro.
I passi impostabili per ogni sequenza sono al massimo 100.

Permettono di scorrere i passi del programma selezionato.
Override modificabile per limitare la velocità nei posizionamenti manuali.
I posizionamenti manuali possono essere eseguiti sia tramite i relativi ingressi di Jog, sia tramite i tasti freccia presenti sul controllo sotto il display sulla sinistra.
Accesso alla pagina degli allarmi e relativo storico.

Questo tasto rappresenta un selettore di modalità jog in questa pagina di programmazione:
N : normale, i comandi di jog si comportano come di norma, l'asse si muove finché non viene rilasciato il comando.
100 : i comandi di jog eseguono dei posizionamenti a quota attuale +/- 100.
10 : i comandi di jog eseguono dei posizionamenti a quota attuale +/- 10.
1 : i comandi di jog eseguono dei posizionamenti a quota attuale +/- 1.
Inserisce una istruzione vuota sul passo attualmente selezionato, spostando tutte le istruzioni successive e incrementano il loro indice di 1.
Cancella il passo attualmente selezionato, spostando tutte le istruzioni successive e decrementano il loro indice di 1.
Tramite questo tasto è possibile andare a selezionare una delle istruzioni disponibili dal programma, su relative pagine. L'istruzione selezionata verrà caricata sul passo evidenziato.
Inserisce sul passo selezionato una istruzione di posizionamento X, caricando come quota obiettivo il valore attuale dell'asse.
Inserisce sul passo selezionato una istruzione di posizionamento Y, caricando come quota obiettivo il valore attuale dell'asse.
Inserisce sul passo selezionato una istruzione di posizionamento contemporaneo di X e Y, caricando come quote obiettivo i valori attuali degli assi.
Questo tasto permette di copiare una sequenza da una zona di memoria ad un'altra.
Questo tasto permette di eliminare totalmente una sequenza da una zona di memoria.

Per i valori inseriti in sequenza esiste una procedura di verifica per controllare non ci siano errori in compilazione; questa procedura viene eseguita ogni volta che si utilizzano i tasti di scorrimento dei passi e ogni volta che una azione comporta il passaggio ad una diversa schermata sul display. Se la verifica rileva degli errori, viene visualizzata sulla barra in alto, a fianco del simbolo dello stato della macchina, una bandierina gialla . Toccando questo simbolo si ha accesso ad una pagina di messaggistica, la quale mostra l'errore che ha generato questa anomalia.

7.1.1 Libreria delle istruzioni

Tramite il tasto si accede a questa serie di pagine relative alla selezione del comando da inserire in sequenza sul passo selezionato.

Le istruzioni disponibili sono suddivise in 5 categorie. Tramite i tasti e è possibile scorrere queste diverse schermate, e toccando su una istruzione si ritorna direttamente sulla pagina di programmazione, inserendo l'istruzione scelta sul passo corrente.
Il significato di tutte le istruzioni verrà descritto nel prossimo capitolo.

7.1.2 Copia di una sequenza

Tramite il tasto si accede alla pagina che permette di copiare interamente una sequenza da una zona di memoria ad un'altra.

Premendo si conferma la copia della sequenza.
Se l'indice selezionato come sequenza di destinazione rappresenta una sequenza già esistente in memoria, viene mostrato un messaggio di allerta riguardo a questa condizione.


7.1.3 Cancellazione di una sequenza

Tramite il tasto si accede alla pagina che permette di cancellare interamente una sequenza da una zona di memoria.

Premendo si conferma la cancellazione della sequenza.


7.1.4 Anomalie sulla sequenza

Tramite il simbolo si accede alla pagina che raccoglie tutti i messaggi riguardanti errori e segnalazioni sull'inserimento di istruzioni in una sequenza.


Per ogni anomalia viene assegnata una data e un'ora, un indice di errore e su par1 viene visualizzato l'eventuale passo dove si è verificato.

I messaggi visualizzati sono:

VELX:E' stata impostata una vel. nulla Su comando VELX non è stata assegnata nessun valore di velocità.
VELY:E' stata impostata una vel. nulla Su comando VELY non è stata assegnata nessun valore di velocità.
CALL: Funzione non esistente Su comando CALL, il valore inserito non rappresenta nessuna funzione.
GOTO: Passo non esistente Su comando GOTO, il valore inserito è un indice rappresentante nessuna istruzione.
JMPSUB: programma non esistente Su comando JMPSUB, il valore inserito è un indice rappresentante una sequenza inesistente.
JMPPRG: programma non esistente Su comando JMPPRG, il valore inserito è un indice rappresentante una sequenza inesistente.
Ingresso non programmabile Su comando WAITIS, WAITID, WAITION, WAITIOFF, IFION, IFIOFF il valore inserito è un indice rappresentante un ingresso non programmabile.
Uscita non programmabile Su comando ON, OFF, TON, TOFF, BLINK il valore inserito è un indice rappresentante una uscita non programmabile.
Registro inesistente Su comando XN, YN, XYN, XYNI, ASSQX, ASSQY, SOMMAVX, SOMMAVY il valore inserito è un indice rappresentante un registro di variabili non esistente
Variabile locale inesistente Su comando IFEQ, ASSV, SOMMA, SOMMAVX, SOMMAVY il valore inserito è un indice rappresentante una variabile non esistente.
Eseguire la procedura di HOMING Questo messaggio non riguarda alcuna istruzione. Viene visualizzato quando si cerca di avviare una sequenza, senza aver fatto ancora la procedura di HOMING

Le azioni possibili sono:

Se premuto per più di un secondo, questo tasto permette di eliminare tutte le segnalazioni registrate.
Permettono di scorrere le anomalie registrate nelle diverse pagine.

7.2 Dati macchina


In questa pagina vengono visualizzate tutte e 5 le variabili locali di appoggio alla sequenza in corso.
Il tasto permette di accedere all'area tecnica di configurazione della macchina tramite una password

7.3 Allarmi

Tramite il tasto , il simbolo oppure il tasto funzione si accede alla pagina che visualizza la lista di allarmi attuali.


Per ogni allarme viene assegnata una data e un'ora, un indice di errore e due parametri per eventualmente specificare nel dettaglio l'anomalia visualizzata.


Gli allarmi che si possono verificare sono:

Finecorsa HW massimo X Superato il finecorsa hardware di corsa massima per l’asse X.
Finecorsa HW minimo X Superato il finecorsa hardware di corsa minima per l’asse X.
Finecorsa HW massimo Y Superato il finecorsa hardware di corsa massima per l’asse Y.
Finecorsa HW minimo Y Superato il finecorsa hardware di corsa minima per l’asse Y.
Emergenza manuale Mancanza dell'ingresso di emergenza.
Errore di inseguimento X L’asse X ha avuto un errore di inseguimento (foller) superiore al maxfoller. Possibile fuga dell’asse.
Errore di inseguimento Y L’asse Y ha avuto un errore di inseguimento (foller) superiore al maxfoller. Possibile fuga dell’asse.
Passo non eseguibile Tentativo di eseguire un passo non programmato correttamente.
Su par1 viene visualizzato l'indice di sequenza in errore.
Su par2 viene visualizzato l'indice del passo in errore.


Le azioni possibili sono:

o Ad ogni pressione elimina l'ultimo allarme presente in lista.
Se premuto per più di un secondo, elimina tutti gli allarmi in lista..
Permettono di scorrere gli allarmi presenti nelle diverse pagine.
Permette di entrare nella pagina di storico degli allarmi.


7.3.1 Storico degli allarmi



In questa pagina vengono archiviati tutti gli allarmi che si sono verificati nel funzionamento della macchina.

Le azioni possibili sono:

Se premuto per più di un secondo, elimina tutte le segnalazioni dallo storico.
Permettono di scorrere le segnalazioni presenti nelle diverse pagine.


7.4 Diagnostica

Per accedere alla diagnostica, dalla pagina di Principale premere il tasto

Viene visualizzata la seguente pagina:

Da questa pagina è possibile accedere alle varie sezioni di diagnostica presenti:

Ingressi digitali
Uscite digitali
Conteggi
Uscite analogiche

Per tornare alla Pagina Principale premere il tasto

7.4.1 Ingressi digitali

Per accedere alla pagina di diagnostica degli Ingressi Digitali, premere il tasto

Viene visualizzata la seguente pagina:

Per tornare al menù di DIAGNOSTICA premere il tasto

7.4.2 Uscite digitali

Per accedere alla pagina di diagnostica delle Uscite Digitali, premere il tasto

Viene visualizzata la seguente pagina:

Forzatura delle uscite

Per accedere alla funzione di forzatura delle uscite:

  1. Indirizzare il tasto verso → Funzione attiva
  2. Premere sull'uscita per attivarla. Ripremere per disattivarla.
  3. Indirizzare il tasto verso → Funzione disattiva
  4. All'uscita dalla pagina la funzione si disattiva automaticamente.

Per tornare al menù di DIAGNOSTICA premere il tasto

7.4.3 Conteggi

Per accedere alla pagina di diagnostica dei Conteggi, premere il tasto

Viene visualizzata la seguente pagina:


Viene visualizzato per ogni asse il conteggio in impulsi encoder.
In piccolo viene inoltre visualizzato il valore del conteggio in unità di misura, e sulla destra vengono visualizzati i registri relativi ai valori istantanei di feed-forward, parte proporzionale, parte integrale ed errore di inseguimento.

Per tornare al menù di DIAGNOSTICA premere il tasto

7.4.4 Uscite analogiche

Per accedere alla pagina di diagnostica delle Uscite analogiche, premere il tasto

Viene visualizzata la seguente pagina:


Viene visualizzato per ogni asse il valore della tensione in uscita, espressa in decimi di Volts.

Per tornare al menù di DIAGNOSTICA premere il tasto

8. Istruzioni programmabili

A seguire vengono descritte tutte le istruzioni utilizzabili in sequenza.
La colonna T prende i seguenti significati:

8.1 Posizionamento degli assi

Istruzione T Argomento/i Descrizione
S Quota X Muove l'asse X dalla posizione in cui si trova alla posizione “Quota X” specificata numericamente.
S n Muove l'asse X dalla posizione in cui si trova alla posizione memorizzata nel registro il cui indice è contenuto nella variabile locale n.
S Quota Y Muove l'asse Y dalla posizione in cui si trova alla posizione “Quota Y” specificata numericamente.
S n Muove l'asse Y dalla posizione in cui si trova alla posizione memorizzata nel registro il cui indice è contenuto nella variabile locale n.
S Quota X, Quota Y Muove l'asse X,Y dalla posizione in cui si trovano alla posizione “Quota X, Quota Y” in modo contemporaneo: l'asse che percorre lo spazio più lungo mantiene la sua velocità impostata e l'altro asse si adegua di conseguenza.
S nX, nY Muove l'asse X,Y dalla posizione in cui si trovano alla posizione memorizzata nei registri il cui indice è contenuto nelle variabili locali nX e nY.
S Quota X, Quota Y Muove un utensile vincolato ai due assi alle quote specificate in modo interpolato.
S nX, nY Muove l'asse X,Y in modo interpolato dalla posizione in cui si trovano alla posizione memorizzata nei registri il cui indice è contenuto nelle variabili locali nX e nY.
S - Arresta in rampa l'asse X.
S - Arresta in rampa l'asse Y.
M Vel X Imposta una velocità assoluta (Vel X) per l'asse X.
M Vel X Imposta una velocità percentuale (Vel X) per l'asse X.
M Vel Y Imposta una velocità assoluta (Vel Y) per l'asse Y.
M Vel Y Imposta una velocità percentuale (Vel Y) per l'asse Y.
M Vel I Imposta una velocità assoluta (Vel I) per il posizionamento interpolato.
S - Comando di ricerca di zero dell'asse X da sequenza con la modalità impostata in setup.
S - Comando di ricerca di zero dell'asse Y da sequenza con la modalità impostata in setup.

I posizionamenti degli assi vengono eseguiti tramite un profilo trapezoidale con una fase di accelerazione lineare, una fase a velocità costante e una fase di decelerazione lineare.
Le istruzioni per il posizionamento degli assi si dividono in:

8.1.1 Posizionamenti singoli

I posizionamenti singoli consistono nel posizionare un asse singolo (X o Y) alla quota specificata nel passo programmato oppure alla quota contenuta nel registro con indice specificato. La velocità di posizionamento per default è quella massima dell’asse in questione.



8.1.2 Posizionamenti multipli

I posizionamenti multipli si suddividono in:


Nei posizionamenti multipli gli assi partono dalla posizione in cui si trovano e raggiungono la posizione con coordinate specificate come argomento. Tali coordinate possono essere espresse direttamente come valore oppure possono essere contenute in uno dei registri predisposti per ogni asse.
I posizionamenti multipli contemporanei vengono realizzati muovendo alla massima velocità l’asse che deve compiere più spazio, mentre l’asse che deve compiere meno spazio si adegua posizionandosi con una velocità inferiore. In tal modo il posizionamento dei due assi si conclude in modo quasi contemporaneo. Si dice “quasi” dato che non si tiene conto della parte di accelerazione e di decelerazione e quindi il posizionamento risultante può non risultare perfettamente rettilineo tra il punto di partenza e il punto di arrivo (vedi figura di esempio). La velocità di posizionamento per default è quella massima.


I posizionamenti multipli interpolati vengono realizzati calcolando le velocità da assegnare ai due assi in modo che la velocità di posizionamento risultante di un ipotetico utensile vincolato ai due assi sia quella specificata tramite l’istruzione VELXYI. Se non viene specificata la velocità di interpolazione, per default si utilizza la velocità minima tra le due velocità massime degli assi. In questo posizionamento viene tenuto conto anche delle fasi di accelerazione e di decelerazione del posizionamento.
Queste due fasi vengono modificate in modo che entrambi gli assi concludano la accelerazione (o decelerazione) nello stesso istante. In questo modo la traiettoria tra punto di partenza e punto di arrivo risulta essere rettilinea (vedi figura).


8.2 Settaggio delle uscite

Istruzione T Argomento/i Descrizione
M n Attiva l'uscita “n”.
M n Disattiva l'uscita “n”.
M n, V Lampeggia l'uscita “n” con un periodo di lampeggio pari al valore “V” espresso in ms.
M n, V Attiva l'uscita “n” dopo un periodo di attesa pari al valore “V” espresso in ms.
M n, V Disattiva l'uscita “n” dopo un periodo di attesa pari al valore “V” espresso in ms.


8.3 Attese di eventi

Istruzione T Argomento/i Descrizione
M - Abilita l'attesa che gli assi concludano sempre il posizionamento prima di passare al passo successivo, è abilitato di default.
M - Abilita l'attesa che l'asse X concluda sempre il posizionamento prima di passare al passo successivo.
M - Abilita l'attesa che l'asse Y concluda sempre il posizionamento prima di passare al passo successivo.
M - Disabilita le funzioni WAITSXY, WAITSX e WAITSY.
S - Attende il concludersi del posizionamento in corso per l'asse X prima di passare al passo successivo. (Versione singola dell'istruzione WAITSX)
Questa istruzione viene utilizzata quando l'attesa della conclusione del posizionamento dell'asse X è disattivata.
S - Attende il concludersi del posizionamento in corso per l'asse Y prima di passare al passo successivo. (Versione singola dell'istruzione WAITSY)
Questa istruzione viene utilizzata quando l'attesa della conclusione del posizionamento dell'asse Y è disattivata.
S Quota X Attende che l'asse X abbia raggiunto una quota maggiore di quella impostata.
Questa istruzione viene utilizzata quando l'attesa della conclusione del posizionamento dell'asse X è disattivata.
S Quota X Attende che l'asse X abbia raggiunto una quota minore di quella impostata.
Questa istruzione viene utilizzata quando l'attesa della conclusione del posizionamento dell'asse X è disattivata.
S Quota Y Attende che l'asse Y abbia raggiunto una quota maggiore di quella impostata.
Questa istruzione viene utilizzata quando l'attesa della conclusione del posizionamento dell'asse Y è disattivata.
S Quota Y Attende che l'asse Y abbia raggiunto una quota minore di quella impostata.
Questa istruzione viene utilizzata quando l'attesa della conclusione del posizionamento dell'asse Y è disattivata.
S n Attende il fronte di salita dell'ingresso “n”.
S n Attende il fronte di discesa dell'ingresso “n”.
S n Attende lo stato ON (contatto chiuso) dell'ingresso “n”.
S n Attende lo stato OFF (contatto aperto) dell'ingresso “n”.
S Timer Attende lo scadere di un Timer impostato come argomento dell'istruzione.


8.4 Gestione sequenza passi

Istruzione T Argomento/i Descrizione
M - E' il comando che conclude la sequenza in corso.
S n Richiama una funzione “custom” memorizzata nel codice QCL. L'applicativo di norma non ha nessuna di queste funzioni, ma esiste già un task vuoto per la eventuale gestione di queste procedure.
S n Salta dal passo dove si trova al passo “n”.
S n Salta ad un programma (sequenza) “n”. Una volta terminato il programma richiamato, l'esecuzione ritorna al programma chiamante.
S n Salta ad un programma (sequenza) “n”. Una volta terminato non ritorna al programma chiamante. Nel momento in cui si chiama un programma, vengono impostati tutti quanti i parametri di default: velocità, modalità di attesa dei posizionamenti, … .
S n, V, N Confronto tra due valori: quello contenuto nella variabile locale “n” e quello inserito con valore “V”. Se sono uguali salta al passo “N”.
S In, N Salta al passo “N” se l'ingresso “In” è un contatto chiuso.
S In, N Salta al passo “N” se l'ingresso “In” è un contatto aperto.


Nelle figure seguenti riportiamo una esemplificazione grafica delle due istruzioni “JMPSUB n” e “JMPPRG n”.

Una sequenza può essere richiamata con JMPSUB da un’altra sequenza ed essa a sua volta può richiamarne un’altra. Questo annidamento non è infinito ma può essere ripetuto per un massimo di 5 volte.

8.5 Gestione delle variabili

Istruzione T Argomento/i Descrizione
S n, Quota X Assegna la quota per l'asse X al registro “n” relativo all'asse X.
S n, Quota Y Assegna la quota per l'asse Y al registro “n” relativo all'asse Y.
S n, V Assegna il valore “V” alla variabile locale “n”. Se il valore deve essere utilizzato per essere sommato ad un registro di un asse con una delle istruzioni SOMMAVn, bisogna inserire il valore senza il punto decimale (Es. se devo sommare 10,5 ad un registro, devo usare l'istruzione “ASSV 105” e in seguito devo usare l'istruzione “SOMMAVX 1 1”)..
S n, V Somma alla variabile locale “n” il valore “V”.
S n, R Somma algebricamente il valore contenuto nella variabile locale “n” al registro Resimo dell'asse X.
S n, R Somma algebricamente il valore contenuto nella variabile locale “n” al registro Resimo dell'asse Y.
M - Abilità l'uso delle quote incrementali per l'asse X.
M - Abilità l'uso delle quote incrementali per l'asse Y.
M - Abilità l'uso delle quote assolute per l'asse X.
M - Abilità l'uso delle quote assolute per l'asse Y.

Per ogni asse sono disponibili 100 “registri”, cioè 100 celle di memoria utilizzate unicamente per contenere quote a cui posizionare gli assi. Ogni registro viene individuato nel passo attraverso il suo indice (da 1 a 100, quindi). Per ogni sequenza programmata inoltre sono disponibili 5 “variabili locali” utilizzate per contenere dei valori utili, tipo conta-pezzi. Si può far riferimento a una di queste variabili locali attraverso il suo indice (da 1 a 5).


Per assegnare un valore ad un registro si utilizzano le istruzioni:


Per assegnare un valore ad una variabile locale si utilizza l’istruzione:



9. Esempi di programmazione

9.1 Esempio 1: Generico

Riportiamo una sequenza programmata in cui viene ripetuta una serie di posizionameni e di settaggi di uscite per un numero di 5 volte impostato nella prima variabile locale:

Passo Istruzione Argomenti Commenti
1 ASSV 1, 4 V1 = 4
2 XY 0.0, 0.0 Start di X e Y a 0, 0
3 XY 100.0, 50.0 Start di XY a 100, 50
4 ON 1 Attiva uscita “scendipinza”
5 WAITIS 1 Attende fronte di salita ing. “pinza scesa”
6 ON 2 Attiva uscita “chiudipinza”
7 WAITIS 2 Attende fronte di salita ing. “pinza chiusa”
8 X 50.0 Start di X a 50
9 NOWAITSXY Disabilita attesa posizionamenti
10 WAITX< 75.0 Attesa quota di X < 75
11 Y 90.0 Start di Y a 90”
12 WAITSXY Riabilita attesa posizionamenti
13 OFF 2 Disattiva uscita “chiudipinza”
14 WAITIOFF 2 Attende stato OFF dell'ing. “pinza chiusa”
15 OFF 1 Disattiva uscita “scendipinza”
16 WAITOFF 1 Attende stato OFF dell'ing. “pinza scesa”
17 SOMMA 1, -1 Somma -1 a V1 (Sottrae 1 a V1)
18 IFEQ 1, 1, 20 Se V1 è uguale a 1 salta al passo 20
19 GOTO 2 altrimenti salta al passo 2
20 END Fine sequenza



9.2 Esempio 2: Registri

Questo esempio esegue sempre dei posizionamenti, ma utilizzando i registri per gli assi X e Y.

Passo Istruzione Argomenti Commenti
1 ASSV 1, 0 V1 = 0
2 ASSQX 1, 4000.0 RX[1] = 4000 , registro delle X con indice 1
3 ASSV 2, 1 V2 = 1 , salvo su V2 l'indice del registro asse X
4 ASSQY 2, 2000.0 RX[2] = 2000 , registro delle Y con indice 2
5 ASSV 3, 2 V3 = 2 , salvo su V3 l'indice del registro asse Y
6 ASSV 4, -2000 V4 = -2000
7 ASSV 5, -1000 V5 = -1000
8 VELXYI 100000 Imposta la velocità per movimenti interpolati a 100000
9 XYI 0.0, 0.0 Start di X e Y a 0, 0 in modo interpolato
10 TON 1, 1000 Attiva uscita 1 dopo un secondo
11 XN 2 Start di X a registro asse X con indice V2 (RX[V2])
12 YN 3 Start di Y a registro asse Y con indice V3 (RY[V3])
13 TOFF 1, 500 Disattiva uscita 1 dopo 500 ms
14 SOMMA 1, 1 Incrementa di 1 il valore in V1
15 SOMMAVX 4, 1 Somma il valore in V4 (-200.0) al registro asse X con indice 1 (RX[1]).
Decrementa ogni volta di 200 la quota obiettivo.
16 SOMMAVY 5, 2 Somma il valore in V5 (-100.0) al registro asse Y con indice 2 (RX[2]).
Decrementa ogni volta di 100 la quota obiettivo.
17 WAITIT 5000 Attende un tempo di 5
18 IFEQ 1, 5, 20 Se V1 è uguale a 5 salta al passo 20
19 GOTO 9 altrimenti salta al passo 9
20 END Fine sequenza


Il vantaggio di usare i registri, è dato dal fatto che è possibile compilare una serie di quote obiettivo al loro interno e scorrere queste attraverso il semplice incremento di variabili locali, usate in questo caso come indice di registro.


9.3 Esempio 3: Attesa posizionamenti

In questo esempio viene riproposto il funzionamento delle attese dei posizionamenti.

Passo Istruzione Argomenti Commenti
1 VELX% 20 Imposta la velocità dell'asse X al 20%
2 VELY% 20 Imposta la velocità dell'asse Y al 20%
3 XY 0.0, 0.0 Start di X e Y a 0, 0
4 NOWAITSXY Disabilita attesa posizionamenti
5 X 5000.0 Start di X a 5000
6 WAITX> 2000.0 Attesa quota di X > 2000
7 Y 3000.0 Start di Y a 3000
8 WAITY Attende che Y sia arrivato a 3000
9 Y -2000.0 Start di Y a -2000
10 WAITY< 1000 Attesa quota di Y < 1000
11 WAITSX Abilita attesa posizionamenti per asse X
12 X -1000 Start di X a -1000
13 WAITSY Abilita attesa posizionamenti per asse Y
14 GOTO 3 Salta al passo 3


Da notare che se abbiamo disattivato l'attesa del posizionamento, e vogliamo che un posizionamento sia invece completato abbiamo 2 modalità per farlo:

  1. Inserire WAITX o WAITY, nell'istruzione successiva al posizionamento.
    In questo caso l'attesa viene controllata solo per questa istruzione.
  2. Inserire WAITSX, WAITSY o WAITSXY, nell'istruzione precedente al posizionamento.
    Questa modalità invece disattiva l'attesa anche per le istruzioni a seguire.


9.4 Esempio 4: JMPSUB

Questo ultimo esempio vuole infine dare una descrizione della istruzione di JMPSUB.

PROGRAMMA 10

Passo Istruzione Argomenti Commenti
1 VELX% 50 Imposta la velocità dell'asse X al 50%
2 VELY% 50 Imposta la velocità dell'asse Y al 50%
3 VELXYI 60000 Imposta la velocità per movimenti interpolati a 60000
4 WAITSXY Abilita attesa posizionamenti
5 JMPSUB 12 Salta al programma 12
6 GOTO 4 Salta al passo 4


PROGRAMMA 11

Passo Istruzione Argomenti Commenti
1 NOWAITSXY Disabilita attesa posizionamenti
2 JMPSUB 13 Salta al programma 13


PROGRAMMA 12

Passo Istruzione Argomenti Commenti
1 XYI 0.0, 0.0 Start di X e Y a 0, 0 in modo interpolato
2 X 1000.0 Start di X a 1000
3 Y 1000.0 Start di Y a 1000
4 JMPSUB 11 Salta al programma 11


PROGRAMMA 13

Passo Istruzione Argomenti Commenti
1 X 5000.0 Start di X a 5000
2 WAITX> 3000.0 Attesa quota di X > 3000
3 Y 5000.0 Start di Y a 5000
4 WAITY Attende che Y sia arrivato a 5000


Il programma 10 è quello principale e viene utilizzato per inizializzare le velocità e per l'attivazione dell'attesa posizionamenti.

Il programma 10 va poi a chiamare il programma 12, il quale esegue una serie di posizionamenti con attesa.

Il programma 12 va poi a chiamare il programma 11, il quale disattiva l'attesa posizionamenti.

Il programma 11 va poi a chiamare il programma 13, il quale esegue dei posizionamenti senza attesa e attende che Y sia fermo.

A questo punto il programma 13 termina e torna sul 11 e poi 12, i quali terminano a loro volta. Si ritorna infine al programma 10 il quale esegue un salto a un passo precedente (di riattivazione attesa posizionamenti) e tutto riparte nuovamente.


10. Assistenza

Per poterti fornire un servizio rapido, al minimo costo, abbiamo bisogno del tuo aiuto.

Segui tutte le istruzioni fornite nel manuale MIMAT Se il problema persiste, compila il “Modulo richiesta assistenza” nella pagina Contatti del sito www.qem.it.
I nostri tecnici otterranno gli elementi essenziali per comprendere il tuo problema.

Riparazione

Per poterVi fornire un servizio efficente, Vi preghiamo di leggere e attenerVi alle indicazioni qui riportate

Spedizione

Si consiglia di imballare lo strumento con materiali in grado di assorbire eventuali cadute.

Utilizzare l'imballo originale: deve proteggere lo strumento durante il trasporto. Allega:
1. Una descrizione dell'anomalia;
2. Parte dello schema elettrico in cui è inserito lo strumento
3. Programmazione dello strumento (setup, quote di lavoro, parametri…).
Una descrizione approfondita del problema ci consentirà di identificare e risolvere rapidamente il tuo problema.
Un accurato imballaggio eviterà ulteriori inconvenienti.