Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente | ||
software:devices:gear [2017/06/19 09:48] – [gearden] qem209 | software:devices:gear [2025/01/17 10:09] (versione attuale) – [Table] qem215 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | PRELIMINARE/ | ||
+ | ====== DEVICE GEAR ====== | ||
+ | |||
+ | ====== - Introduzione ====== | ||
+ | |||
+ | |||
+ | Il device interno GEAR permette di controllare un asse slave in modo che segua un asse master secondo un determinato rapporto di trasmissione. Il device GEAR funziona solamente con assi controllati da device ANPOS2. \\ | ||
+ | Le principali caratteristiche del device sono: | ||
+ | |||
+ | * Impostazione rapporto di trasmissione con numeratore/ | ||
+ | * Comando degli assi indipendente quando la sincronizzazione è disattiva | ||
+ | * Disattivazione sincronizzazione con rampa di frenata | ||
+ | * Gestione di device di gruppo | ||
+ | |||
+ | |||
+ | ===== - Dichiarazione del device ===== | ||
+ | ==== - Dichiarazione ==== | ||
+ | |||
+ | Per poter usufruire del device è necessario eseguirne la dichiarazione nell' | ||
+ | |||
+ | <code QCL> | ||
+ | ; | ||
+ | ; Dichiarazione device interni | ||
+ | ; | ||
+ | INTDEVICE | ||
+ | ... | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Dove: | ||
+ | |||
+ | ^Nome campo ^ Descrizione ^ Esempio ^ Altro ^ | ||
+ | | < | ||
+ | | GEAR | Parola chiave che identifica il device GEAR | - | - | | ||
+ | | REF_ANPOS2(AxeMaster) | Riferimento al device ANPOS2 per l'asse Master | AxeM | Vedi nota (1) | | ||
+ | | REF_ANPOS2(AxeSlave) | Riferimento al device ANPOS2 per l'asse Slave | AxeS | Vedi nota (1) | | ||
+ | |||
+ | :info: Si possono dichiarare più slave, fino ad un massimo di 9 FIXME.\\ Es: <code QCL> | ||
+ | ; | ||
+ | ; Dichiarazione device interni | ||
+ | ; | ||
+ | INTDEVICE | ||
+ | ... | ||
+ | < | ||
+ | </ | ||
+ | ===== - Descrizione del funzionamento ===== | ||
+ | |||
+ | ==== - Funzionamento ==== | ||
+ | |||
+ | Il funzionamento del device è illustrato dal seguente schema a blocchi: | ||
+ | |||
+ | {{software: | ||
+ | |||
+ | ===== - Elenco Parametri ===== | ||
+ | |||
+ | ==== commandCode ==== | ||
+ | {{template> | ||
+ | |shortdescr=| | ||
+ | |dim=| | ||
+ | |default=-| | ||
+ | |accesstype=| | ||
+ | |um=| | ||
+ | |id=| | ||
+ | |range=| | ||
+ | |wrcond=| | ||
+ | |longdescr=}} | ||
+ | ---- | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | ==== gearref ==== | ||
+ | {{template> | ||
+ | |shortdescr=Riferimento rapporto di trasmissione | | ||
+ | |dim=Byte| | ||
+ | |default=-| | ||
+ | |accesstype=Read - Write| | ||
+ | |um=-| | ||
+ | |id=| | ||
+ | |range=0÷1| | ||
+ | |wrcond= -| | ||
+ | |longdescr=Indica il riferimento al quale applicare il rapporto di trasmissione master/ | ||
+ | * 0: Posizione comandata master | ||
+ | * 1: Posizione reale master}} | ||
+ | |||
+ | ---- | ||
+ | < | ||
+ | |||
+ | ==== gearfactor ==== | ||
+ | {{template> | ||
+ | |shortdescr=Riferimento rapporto di trasmissione | | ||
+ | |dim=Byte| | ||
+ | |default=-| | ||
+ | |accesstype=Read - Write| | ||
+ | |um=-| | ||
+ | |id=| | ||
+ | |range=| | ||
+ | |wrcond= -| | ||
+ | |longdescr=Indica il rapporto di trasmissione master/ | ||
+ | |||
+ | ---- | ||
+ | < | ||
+ | |||
+ | ==== gearoffset ==== | ||
+ | {{template> | ||
+ | |shortdescr=| | ||
+ | |dim=| | ||
+ | |default=| | ||
+ | |accesstype=| | ||
+ | |um=| | ||
+ | |id=| | ||
+ | |range=| | ||
+ | |wrcond= | | ||
+ | |longdescr=}} | ||
+ | |||
+ | ---- | ||
+ | < | ||
+ | |||
+ | ==== qdoIndex ==== | ||
+ | {{template> | ||
+ | |shortdescr=indice per la configurazione | | ||
+ | |dim=| | ||
+ | |default=| | ||
+ | |accesstype=| | ||
+ | |um=| | ||
+ | |id=| | ||
+ | |range=| | ||
+ | |wrcond= | | ||
+ | |longdescr= sempre 1 FIXME}} | ||
+ | |||
+ | ---- | ||
+ | < | ||
+ | |||
+ | ==== qdoSubIndex ==== | ||
+ | {{template> | ||
+ | |shortdescr= sotto indice per la configurazione| | ||
+ | |dim=| | ||
+ | |default=| | ||
+ | |accesstype=| | ||
+ | |um=| | ||
+ | |id=| | ||
+ | |range=| | ||
+ | |wrcond= | | ||
+ | |longdescr= }} | ||
+ | |||
+ | ---- | ||
+ | < | ||
+ | |||
+ | ==== qdoData ==== | ||
+ | {{template> | ||
+ | |shortdescr= valori principali per la configurazione| | ||
+ | |dim=| | ||
+ | |default=| | ||
+ | |accesstype=| | ||
+ | |um=| | ||
+ | |id=| | ||
+ | |range=| | ||
+ | |wrcond= | | ||
+ | |longdescr=}} | ||
+ | |||
+ | ---- | ||
+ | < | ||
+ | ==== wrncode ==== | ||
+ | {{template> | ||
+ | |shortdescr=Codice di identificazione warning| | ||
+ | |dim = Byte | | ||
+ | |default= 0 | | ||
+ | |accesstype= Read | | ||
+ | |um= - | | ||
+ | |id= 4 | | ||
+ | |range= | | ||
+ | |wrcond= - | | ||
+ | |longdescr=Indica il tipo di warning rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.}} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== wrnpar ==== | ||
+ | {{template> | ||
+ | |shortdescr=ID del parametro che ha provocato il warning.| | ||
+ | |dim = Byte | | ||
+ | |default= 0 | | ||
+ | |accesstype= Read | | ||
+ | |um= - | | ||
+ | |id= 5 | | ||
+ | |range= | | ||
+ | |wrcond= - | | ||
+ | |longdescr=Indica quale parametro ha provocato il warning rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.}} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== wrnvalue ==== | ||
+ | |||
+ | {{template> | ||
+ | |shortdescr=Codice di identificazione della causa del warning| | ||
+ | |dim = Byte | | ||
+ | |default= 0 | | ||
+ | |accesstype= Read | | ||
+ | |um= - | | ||
+ | |id= 6 | | ||
+ | |range= - | | ||
+ | |wrcond= - | | ||
+ | |longdescr=Indica la causa del warning rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.}} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== errcode ==== | ||
+ | |||
+ | {{template> | ||
+ | |shortdescr=Codice di identificazione dell' | ||
+ | |dim = Byte | | ||
+ | |default= 0 | | ||
+ | |accesstype= Read | | ||
+ | |um= - | | ||
+ | |id= 7 | | ||
+ | |range= - | | ||
+ | |wrcond= - | | ||
+ | |longdescr=Indica il tipo di errore rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.}} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== errpar ==== | ||
+ | |||
+ | {{template> | ||
+ | |shortdescr=ID del parametro che ha provocato l' | ||
+ | |dim = Byte | | ||
+ | |default= 0 | | ||
+ | |accesstype= Read | | ||
+ | |um= - | | ||
+ | |id= 8 | | ||
+ | |range= - | | ||
+ | |wrcond= - | | ||
+ | |longdescr=Indica il parametro che ha provocato l' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== errvalue ==== | ||
+ | |||
+ | {{template> | ||
+ | |shortdescr=Codice di identificazione della causa dell' | ||
+ | |dim = Byte | | ||
+ | |default= 0 | | ||
+ | |accesstype= Read | | ||
+ | |um= - | | ||
+ | |id= 9 | | ||
+ | |range= - | | ||
+ | |wrcond= - | | ||
+ | |longdescr= Indica il tipo di causa dell' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ===== - Elenco Stati ===== | ||
+ | |||
+ | ==== st_gearon ==== | ||
+ | {{template> | ||
+ | |shortdescr=Stato di sincronismo attivo| | ||
+ | |default= 0| | ||
+ | |id= 10 | | ||
+ | |longdescr=Indica che è attivo il sincronismo master/ | ||
+ | |||
+ | * 0 = sincronismo master/ | ||
+ | * 1 = sincronismo master/ | ||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ==== st_gearchg ==== | ||
+ | {{template> | ||
+ | |shortdescr=Stato di cambiamento denominatore rapporto master/ | ||
+ | |default= 0| | ||
+ | |id= 11 | | ||
+ | |longdescr=Indica che è stato modificato il denominatore del rapporto master slave ma non è ancora attivo. | ||
+ | |||
+ | * 0 = rapporto master/ | ||
+ | * 1 = denominatore rapporto master/ | ||
+ | |||
+ | }} | ||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ==== st_warning ==== | ||
+ | {{template> | ||
+ | |shortdescr=Presenza di un warning.| | ||
+ | |default= 0| | ||
+ | |id= 12 | | ||
+ | |longdescr=Indica lo stato di warning del device, per riconoscere il tipo di warning si deve fare riferimento alle variabili // | ||
+ | |||
+ | 0 = warning non presente.\\ | ||
+ | 1 = warning presente.\\ | ||
+ | |||
+ | }} | ||
+ | --- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== st_error ==== | ||
+ | {{template> | ||
+ | |shortdescr=Presenza di un errore.| | ||
+ | |default= 0| | ||
+ | |id= 13 | | ||
+ | |longdescr=Indica lo stato di errore del device, per riconoscere il tipo di errore si deve far riferimento alle variabili //errcode// e // | ||
+ | |||
+ | 0 = errore non presente.\\ | ||
+ | 1 = errore presente.\\ | ||
+ | |||
+ | }} | ||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ===== - Elenco Comandi ===== | ||
+ | |||
+ | ==== GEARON ==== | ||
+ | {{template> | ||
+ | |cond=st_error=0, | ||
+ | |shortdescr=Attiva la sincronizzazione | | ||
+ | |id= 14 | | ||
+ | |longdescr=Attiva la sincronizzazione tra gli assi con il rapporto master/ | ||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== GEAROFF ==== | ||
+ | {{template> | ||
+ | |cond=st_error=0 | | ||
+ | |shortdescr=Disattiva la sincronizzazione | | ||
+ | |id= 14 | | ||
+ | |longdescr=Disattiva la sincronizzazione tra gli assi con il rapporto master/ | ||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== RSERR ==== | ||
+ | {{template> | ||
+ | |cond= - | | ||
+ | |shortdescr= Reset dello stato di errore.| | ||
+ | |id= 15 | | ||
+ | |longdescr=Azzera lo stato di errore (// | ||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== RSWRN ==== | ||
+ | {{template> | ||
+ | |cond= - | | ||
+ | |shortdescr= Reset dello stato di warning.| | ||
+ | |id= 16 | | ||
+ | |longdescr=Azzera lo stato // | ||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== READQDO ==== | ||
+ | {{template> | ||
+ | |cond= - | | ||
+ | |shortdescr= | | ||
+ | |id= | | ||
+ | |longdescr=}} | ||
+ | ---- | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== WRITEQDO ==== | ||
+ | {{template> | ||
+ | |cond= - | | ||
+ | |shortdescr= Scrive la configurazione nel device| | ||
+ | |id= | | ||
+ | |longdescr=Scrive nel device i valori impostati su qdoIndex, qdoSubIndex e qdoData.}} | ||
+ | ---- | ||
+ | |||
+ | < | ||
+ | ===== - Errori e Warnings ===== | ||
+ | |||
+ | ==== - Errors ==== | ||
+ | Quando il device non riesce ad eseguire le operazioni derivanti da una non corretta programmazione da parte dell' | ||
+ | La seguente tabella specifica i valori assunti da // | ||
+ | ^// | ||
+ | |0|Nessun errore.| | ||
+ | |1|Errore dati: Sono presenti valori fuori range nei parametri.| | ||
+ | |2|Errore di configurazione.| | ||
+ | |||
+ | Per mezzo dei parametri // | ||
+ | Il parametro //errpar// indica sempre l'ID del parametro che ha causato l' | ||
+ | Invece attualmente il parametro // | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== - Warnings ==== | ||
+ | Quando l' | ||
+ | Il device, inoltre, rende disponibili, | ||
+ | Tali informazioni e lo stato di warning // | ||
+ | La seguente tabella specifica i valori assunti da // | ||
+ | |||
+ | ^ // | ||
+ | | 0 | Nessun warning. | ||
+ | | 1 | Impostazione dato fuori range. | ||
+ | | 2 | Variazione parametro non accettata. | ||
+ | | 3 | Comando non accettato: le condizioni di esecuzione non sono rispettate. | ||
+ | | 8 | Disallineamento massimo superato | ||
+ | |||
+ | Per mezzo dei parametri // | ||
+ | Il parametro //wrnpar// indica sempre l'ID del parametro che ha causato il warning.\\ | ||
+ | Il parametro // | ||
+ | |||
+ | ^ wrnvalue ^ descrizione ^ | ||
+ | | 1 | Il denominatore del rapporto master/ | ||
+ | | 2 | Il riferimento dell' | ||
+ | | 3 | Asse slave in emergenza. Attivazione gear non possibile | | ||
+ | |||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | documentation | ||
+ | </ | ||
+ | |||
+ | ===== - Configurazione ===== | ||
+ | |||
+ | **Accorgimenti: | ||
+ | - **Dichiarazione device**: <code QCL> | ||
+ | CONST | ||
+ | | ||
+ | | ||
+ | | ||
+ | INTDEVICE | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | - **Sospendere esecuzione Gantry**: <code QCL> | ||
+ | ; Gantry1 = nome device GEAR | ||
+ | Gantry1.qdoIndex = 1 | ||
+ | Gantry1.qdoSubIndex = 10 | ||
+ | Gantry1.qdoData = 0 ; 1: Resume and 0: Suspend | ||
+ | Gantry1.WRITEQDO | ||
+ | </ | ||
+ | - **Settare l'asse master**: <code QCL> | ||
+ | ; Set the master axis | ||
+ | Gantry1.qdoIndex = 1 | ||
+ | Gantry1.qdoSubIndex = 3 | ||
+ | Gantry1.qdoData = AXE_X ; | ||
+ | Gantry1.WRITEQDO | ||
+ | </ | ||
+ | - **Selezionare l'asse che si vuole comandare come slave**: <code QCL> | ||
+ | ; Select the first slave of the gear device. | ||
+ | ; The selected axis is used to assign gearing settings and thresholds | ||
+ | Gantry1.qdoIndex = 1 | ||
+ | Gantry1.qdoSubIndex = 1 ;1 perchè dichiarato come primo slave nella dichiarazione del device GEAR | ||
+ | Gantry1.qdoData = AXE_Y ; | ||
+ | Gantry1.WRITEQDO | ||
+ | |||
+ | ; *** Nel caso in cui si volesse selezionare l'asse Z come slave: | ||
+ | Gantry1.qdoIndex = 1 | ||
+ | Gantry1.qdoSubIndex = 2 ;2 perchè dichiarato come secondo slave nella dichiarazione del device GEAR | ||
+ | Gantry1.qdoData = AXE_Z ; | ||
+ | Gantry1.WRITEQDO | ||
+ | </ | ||
+ | - **Settare l'asse slave**: <code QCL> | ||
+ | ; Inform the gantry that the selected axis should be managed as slave | ||
+ | Gantry1.qdoIndex = 1 | ||
+ | Gantry1.qdoSubIndex = 4 ; GEAR_QDO_SUBINDEX_IS_SLAVE | ||
+ | Gantry1.qdoData = TRUE ; TRUE to set it as slave and FALSE to not handle it. | ||
+ | Gantry1.WRITEQDO | ||
+ | </ | ||
+ | - **Impostare i fattori di conversione**: | ||
+ | ; Set the factors for the selected slave | ||
+ | Gantry1.gearfactor = 1.0 ; | ||
+ | Gantry1.gearref = 1 ; | ||
+ | </ | ||
+ | - **Impostare il valore di massimo disallineamento per mandare in allarme il device**: <code QCL> | ||
+ | ; Set the alignment threshold for the selected slave in the units set to the anpos2 devices (In this case um) | ||
+ | Gantry1.qdoSubIndex = 2 | ||
+ | Gantry1.qdoData = 100 ;[Um] Se la differenza di posizione tra master e slave supera 100 [Um] il device va in allarme | ||
+ | Gantry1.WRITEQDO | ||
+ | </ | ||
+ | - **Abilitare il gantry**: <code QCL> | ||
+ | Gantry1.qdoSubIndex = 10 | ||
+ | Gantry1.qdoData = 1 ; 1: Resume and 0: Suspend | ||
+ | Gantry1.WRITEQDO | ||
+ | Gantry1.RSWRN | ||
+ | Gantry1.GEARON | ||
+ | </ |