software:devices:epicpos

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
software:devices:epicpos [2019/08/29 17:01] – modifica esterna 127.0.0.1software:devices:epicpos [2020/07/13 15:11] (versione attuale) qem103
Linea 2: Linea 2:
  
  
-===== Introduzione =====+====== - Introduzione ======
  
   * Il device interno EPICPOS é uno tool residente nella CPU che permette di gestire il movimento di un asse meccanico con un comando analogico a rampe epicicloidali.   * Il device interno EPICPOS é uno tool residente nella CPU che permette di gestire il movimento di un asse meccanico con un comando analogico a rampe epicicloidali.
Linea 14: Linea 14:
  
  
-===== Installazione =====+===== Installazione =====
  
-==== Dichiarazione device nel file di configurazione (.CNF) ====+==== Dichiarazione device nel file di configurazione (.CNF) ====
  
 Nel file di configurazione (.CNF), la sezione BUS deve essere dichiarata in modo tale che siano Nel file di configurazione (.CNF), la sezione BUS deve essere dichiarata in modo tale che siano
Linea 44: Linea 44:
 |IOutA|Indirizzo hardware del componente DAC dell'uscita analogica.| |IOutA|Indirizzo hardware del componente DAC dell'uscita analogica.|
  
-=== Esempio ===+=== Esempio ===
 <code QCL> <code QCL>
 ;--------------------------------- ;---------------------------------
Linea 54: Linea 54:
  
  
-===== Funzionamento =====+===== Funzionamento =====
  
-==== Rilevazione posizione ====+==== Rilevazione posizione ====
  
 Il device EPICPOS acquisisce la posizione dell’asse tramite i segnali di un trasduttore bidirezionale; Il device EPICPOS acquisisce la posizione dell’asse tramite i segnali di un trasduttore bidirezionale;
Linea 67: Linea 67:
 //cntratio// = (valore in um) x 10 <sup>cifre decimali</sup> / (impulsi trasduttore corrispondenti) x 100000 //cntratio// = (valore in um) x 10 <sup>cifre decimali</sup> / (impulsi trasduttore corrispondenti) x 100000
  
-=== Punto decimale ===+=== Punto decimale ===
 Se per l’unità di misura scelta é prevista anche la presenza di un punto decimale, le posizioni Se per l’unità di misura scelta é prevista anche la presenza di un punto decimale, le posizioni
 devono essere rappresentate sempre come valore intero e rappresentare lo spazio nell’unità di devono essere rappresentate sempre come valore intero e rappresentare lo spazio nell’unità di
Linea 74: Linea 74:
 visualizzatori in fase di rappresentazione del valore (es. come proprietà nel terminale operatore). visualizzatori in fase di rappresentazione del valore (es. come proprietà nel terminale operatore).
  
-=== Velocità ===+=== Velocità ===
 Le velocitá sono sempre espresse in unità di misura intere nell’unità di tempo scelta. Da questo Le velocitá sono sempre espresse in unità di misura intere nell’unità di tempo scelta. Da questo
 si ricava che il device deve comunque conoscere la posizione del punto decimale dell’unità di si ricava che il device deve comunque conoscere la posizione del punto decimale dell’unità di
 misura e questo viene fatto con il parametro //decpt//. Questo parametro può assumere valori 0÷3. misura e questo viene fatto con il parametro //decpt//. Questo parametro può assumere valori 0÷3.
  
-=== Esempio ===+=== Esempio ===
  
 ^:tip:^Per rendere attivo il device inviare il comando INIT.^ ^:tip:^Per rendere attivo il device inviare il comando INIT.^
Linea 100: Linea 100:
 //Asse:setvel// = 10 //Asse:setvel// = 10
  
-==== Calibrazione uscita analogica ====+==== Calibrazione uscita analogica ====
  
 ^:tip:^Prima di iniziare dei posizionamenti veri e propri è necessario verificare che collegamenti elettrici ed organi meccanici non siano causa di malfunzionamenti.^ ^:tip:^Prima di iniziare dei posizionamenti veri e propri è necessario verificare che collegamenti elettrici ed organi meccanici non siano causa di malfunzionamenti.^
Linea 108: Linea 108:
 con un valore costante con lo scopo di verificare collegamenti e funzionalità. con un valore costante con lo scopo di verificare collegamenti e funzionalità.
  
-=== Movimentazione preliminare ===+=== Movimentazione preliminare ===
   * Togliere la condizione di emergenza con il comando //RESUME//.   * Togliere la condizione di emergenza con il comando //RESUME//.
   * Lo stato //st_emrg// = 0   * Lo stato //st_emrg// = 0
Linea 120: Linea 120:
   * Lo stato //st_cal// = 0   * Lo stato //st_cal// = 0
  
-=== Parametrizzazione uscita ===+=== Parametrizzazione uscita ===
 Il device EPICPOS genera il valore di tensione dell’uscita analogica sulla base di una proporzione Il device EPICPOS genera il valore di tensione dell’uscita analogica sulla base di una proporzione
 tra la velocitá massima dell’asse e la massima tensione di uscita. La proporzionalità è ottenuta tra la velocitá massima dell’asse e la massima tensione di uscita. La proporzionalità è ottenuta
Linea 131: Linea 131:
 di tempo della velocità (Um/min oppure Um/s). di tempo della velocità (Um/min oppure Um/s).
  
-=== Metodo teorico per la determinazione della velocità massima ===+=== Metodo teorico per la determinazione della velocità massima ===
  
 Il metodo teorico é un calcolo eseguito sulla base della velocitá massima del motore. Una volta Il metodo teorico é un calcolo eseguito sulla base della velocitá massima del motore. Una volta
Linea 138: Linea 138:
 Introdurre il valore di velocitá massima calcolato nel parametro //maxvel//. Introdurre il valore di velocitá massima calcolato nel parametro //maxvel//.
  
-=== Metodo pratico per la determinazione della velocità massima ===+=== Metodo pratico per la determinazione della velocità massima ===
 Il metodo pratico si basa sulla lettura della velocitá rilevata dal device nel parametro //vel//, Il metodo pratico si basa sulla lettura della velocitá rilevata dal device nel parametro //vel//,
 fornendo all’azionamento una tensione nota. Per fornire la tensione all’azionamento il device fornendo all’azionamento una tensione nota. Per fornire la tensione all’azionamento il device
Linea 147: Linea 147:
 Introdurre il valore di velocitá massima trovato nel parametro //maxvel//. Introdurre il valore di velocitá massima trovato nel parametro //maxvel//.
  
-==== Movimentazione ====+==== Movimentazione ====
  
 ^:tip:^Prima di movimentare l'asse, verificare il corretto funzionamento dei dispositivi di emergenza e protezione.^ ^:tip:^Prima di movimentare l'asse, verificare il corretto funzionamento dei dispositivi di emergenza e protezione.^
Linea 167: Linea 167:
 retroazione di spazio questo errore scompare. retroazione di spazio questo errore scompare.
  
-==== Taratura PID+FF ====+==== Taratura PID+FF ====
  
 Il posizionamento eseguito nel paragrafo precedente é stato realizzato senza considerare eventuali Il posizionamento eseguito nel paragrafo precedente é stato realizzato senza considerare eventuali
Linea 185: Linea 185:
 {{ :software:devices:epicpos:epicpos_02.png?nolink600 |}} {{ :software:devices:epicpos:epicpos_02.png?nolink600 |}}
  
-=== Azione feed forward ===+=== Azione feed forward ===
 Il feed-forward contribuisce a rendere il sistema più pronto nei posizionamenti, fornendo all’uscita Il feed-forward contribuisce a rendere il sistema più pronto nei posizionamenti, fornendo all’uscita
 analogica un valore di tensione proporzionale alla velocitá teorica di posizionamento. In analogica un valore di tensione proporzionale alla velocitá teorica di posizionamento. In
Linea 195: Linea 195:
 {{ :software:devices:epicpos:epicpos_03.png?nolink600 |}} {{ :software:devices:epicpos:epicpos_03.png?nolink600 |}}
  
-=== Azione proporzionale ===+=== Azione proporzionale ===
 Questa azione fornisce un’uscita proporzionale all’errore di posizione istantaneo dell’asse. L’entità Questa azione fornisce un’uscita proporzionale all’errore di posizione istantaneo dell’asse. L’entità
 dell’azione proporzionale é definita dal parametro //pgain// che definisce la sensibilità del dell’azione proporzionale é definita dal parametro //pgain// che definisce la sensibilità del
Linea 206: Linea 206:
 {{ :software:devices:epicpos:epicpos_04.png?nolink600 |}} {{ :software:devices:epicpos:epicpos_04.png?nolink600 |}}
  
-=== Azione integrale ===+=== Azione integrale ===
 Integra l’errore di posizione del sistema nel tempo impostato nel parametro //integt// aggiornando Integra l’errore di posizione del sistema nel tempo impostato nel parametro //integt// aggiornando
 l’uscita finché l’errore non viene annullato.\\ l’uscita finché l’errore non viene annullato.\\
Linea 214: Linea 214:
 {{ :software:devices:epicpos:epicpos_05.png?nolink600 |}} {{ :software:devices:epicpos:epicpos_05.png?nolink600 |}}
  
-=== Azione derivativa ===+=== Azione derivativa ===
 Anticipa la variazione del moto del sistema tendendo ad eliminare gli overshoot del posizionamento. Anticipa la variazione del moto del sistema tendendo ad eliminare gli overshoot del posizionamento.
 L’entità della variazione viene calcolata nel tempo impostato nel parametro //derivt//.\\ L’entità della variazione viene calcolata nel tempo impostato nel parametro //derivt//.\\
Linea 223: Linea 223:
 {{ :software:devices:epicpos:epicpos_06.png?nolink600 |}} {{ :software:devices:epicpos:epicpos_06.png?nolink600 |}}
  
-==== Ricerca preset ====+==== Ricerca preset ====
  
 La ricerca di preset é una procedura atta a sincronizzare il conteggio (parametro //posit//) con la La ricerca di preset é una procedura atta a sincronizzare il conteggio (parametro //posit//) con la
Linea 229: Linea 229:
 //prsmode//. //prsmode//.
  
-=== Considerazioni preliminari ===+=== Considerazioni preliminari ===
   * Per poter eseguire una ricerca preset é necessario disporre di un ingresso (acquisito tramite il BUS QMOVE) che definiamo “abilitazione zero trasduttore”. Nella sua corsa, l’asse deve attivare questo ingresso in un punto prestabilito.   * Per poter eseguire una ricerca preset é necessario disporre di un ingresso (acquisito tramite il BUS QMOVE) che definiamo “abilitazione zero trasduttore”. Nella sua corsa, l’asse deve attivare questo ingresso in un punto prestabilito.
   * La procedura di ricerca di preset viene avviata con il comando //PRESET//; nella fase iniziale il conteggio acquisito da QMOVE può avere un qualsiasi valore e l’asse può trovarsi in qualsiasi punto.   * La procedura di ricerca di preset viene avviata con il comando //PRESET//; nella fase iniziale il conteggio acquisito da QMOVE può avere un qualsiasi valore e l’asse può trovarsi in qualsiasi punto.
Linea 241: Linea 241:
 A questo punto il comportamento dipende dal modo di caricamento selezionato (Modo 0 o Modo 1). A questo punto il comportamento dipende dal modo di caricamento selezionato (Modo 0 o Modo 1).
  
-=== Ricerca di preset - Modo 0 ===+=== Ricerca di preset - Modo 0 ===
  
 ^:info:^Questa procedura prevede la movimentazione dell'asse e l'utilizzo dell'ingresso di abilitazione impulso di zero trasduttore.^ ^:info:^Questa procedura prevede la movimentazione dell'asse e l'utilizzo dell'ingresso di abilitazione impulso di zero trasduttore.^
Linea 254: Linea 254:
 |{{ :software:devices:epicpos:epicpos_07.png?nolink500 |}}| |{{ :software:devices:epicpos:epicpos_07.png?nolink500 |}}|
  
-=== Ricerca di preset - Modo 1 ===+=== Ricerca di preset - Modo 1 ===
  
 ^:info:^Questa procedura prevede la movimentazione dell'asse e l'utilizzo degli ingressi impulso di zero ed abilitazione impulso di zero trasduttore.^ ^:info:^Questa procedura prevede la movimentazione dell'asse e l'utilizzo degli ingressi impulso di zero ed abilitazione impulso di zero trasduttore.^
Linea 273: Linea 273:
 |{{ :software:devices:epicpos:epicpos_08.png?nolink500 |}}| |{{ :software:devices:epicpos:epicpos_08.png?nolink500 |}}|
  
-=== Ricerca di preset "Modo 2" ===+=== Ricerca di preset "Modo 2" ===
  
 ^:info:^Questa procedura NON prevede la movimentazione dell'asse e l'utilizzo dell'ingresso di abilitazione impulso di zero trasduttore.^ ^:info:^Questa procedura NON prevede la movimentazione dell'asse e l'utilizzo dell'ingresso di abilitazione impulso di zero trasduttore.^
Linea 284: Linea 284:
  
  
-===== Funzioni speciali =====+===== Funzioni speciali =====
  
-==== Gestione multiasse ====+==== Gestione multiasse ====
  
 In alcune applicazioni viene richiesto di posizionare un numero elevato di assi movimentando un In alcune applicazioni viene richiesto di posizionare un numero elevato di assi movimentando un
Linea 304: Linea 304:
 valore di tensione definito prima del comando //REGOFF//. valore di tensione definito prima del comando //REGOFF//.
  
-==== Cambio quota e conteggio in movimento ====+==== Cambio quota e conteggio in movimento ====
  
 ^:tip:^Il cambio della quota viene accettato solamente se la nuova posizione é raggiungibile con la direzione in uso e se l'asse non é già in fase di decelerazione per raggiungere la quota precedentemente impostata.^ ^:tip:^Il cambio della quota viene accettato solamente se la nuova posizione é raggiungibile con la direzione in uso e se l'asse non é già in fase di decelerazione per raggiungere la quota precedentemente impostata.^
Linea 319: Linea 319:
 raggiungere la quota limite (//maxpos// o //minpos//). raggiungere la quota limite (//maxpos// o //minpos//).
  
-==== Cambio velocitá e tempo di rampa in movimento ====+==== Cambio velocitá e tempo di rampa in movimento ====
  
 Durante il posizionamento é possibile variare la velocitá dell’asse senza influenzare la posizione Durante il posizionamento é possibile variare la velocitá dell’asse senza influenzare la posizione
Linea 337: Linea 337:
 {{:software:devices:epicpos:epicpos_11.png?nolink500|}} {{:software:devices:epicpos:epicpos_11.png?nolink500|}}
  
-==== Delta conteggio ====+==== Delta conteggio ====
  
 ^:tip:^Il comando è inviabile solamente se l'asse è fermo, condizione di st_still = 1.^ ^:tip:^Il comando è inviabile solamente se l'asse è fermo, condizione di st_still = 1.^
Linea 360: Linea 360:
 Il comando di //DELCNT// può essere inviato solamente con asse fermo (//st_still//=1) Il comando di //DELCNT// può essere inviato solamente con asse fermo (//st_still//=1)
  
-=== Esempio ===+=== Esempio ===
 La lettura della posizione dell’asse risulta essere di 2 unità e si trova nel punto A. Si vuole La lettura della posizione dell’asse risulta essere di 2 unità e si trova nel punto A. Si vuole
 sommare al conteggio //posit// tre unità di misura.\\ sommare al conteggio //posit// tre unità di misura.\\
Linea 379: Linea 379:
 inviare comandi successivi senza interporre una istruzione di lettura su parametro device. inviare comandi successivi senza interporre una istruzione di lettura su parametro device.
  
-=== Esempio ===+=== Esempio ===
 //Asse:delta = 3//\\ //Asse:delta = 3//\\
 //DELCNT Asse//\\ //DELCNT Asse//\\
Linea 387: Linea 387:
  
  
-===== Tabella comandi e parametri =====+===== Tabella comandi e parametri =====
  
-==== Simbologia adottata ====+==== Simbologia adottata ====
  
 Il **nome** del parametro, stato o comando viene riportato alla sinistra della tabella. Il **nome** del parametro, stato o comando viene riportato alla sinistra della tabella.
Linea 412: Linea 412:
 S = Single Float S = Single Float
  
-=== Condizioni ===+=== Condizioni ===
 Vengono descritte tutte le **condizioni necessarie affinchè il parametro sia considerato corretto o perchè il comando venga accettat**o.\\ Vengono descritte tutte le **condizioni necessarie affinchè il parametro sia considerato corretto o perchè il comando venga accettat**o.\\
 In alcuni casi vengono specificati dei valori limite per l’accettazione del parametro: se vengono In alcuni casi vengono specificati dei valori limite per l’accettazione del parametro: se vengono
Linea 426: Linea 426:
 RW = Read / Write. RW = Read / Write.
  
-==== Comandi ====+==== Comandi ====
  
 I comandi sono stati ordinati con priorità decrescente. Ad esempio, in caso di contemporaneità dei comandi //INIT// ed //EMRG//, viene acquisito per primo il comando //INIT//. I comandi sono stati ordinati con priorità decrescente. Ad esempio, in caso di contemporaneità dei comandi //INIT// ed //EMRG//, viene acquisito per primo il comando //INIT//.
Linea 452: Linea 452:
 |DELCNT|st_init = 1\\ st_still = 1|**Delta counter**\\ Questo comando viene accettato solamente se l'asse è fermo; il conteggio (posizione dell'asse) viene modificato sommandogli algebricamente il valore specificato nella variabile delta.| |DELCNT|st_init = 1\\ st_still = 1|**Delta counter**\\ Questo comando viene accettato solamente se l'asse è fermo; il conteggio (posizione dell'asse) viene modificato sommandogli algebricamente il valore specificato nella variabile delta.|
  
-==== Parametri ====+==== Parametri ====
  
 ^Nome^D^R^A^Condizioni^Descrizione^ ^Nome^D^R^A^Condizioni^Descrizione^
Linea 494: Linea 494:
 |delta|L|R|R-W|Nessuna|**Delta counter**\\ È il valore che viene sommato al conteggio quando viene inviato un comando DELCNT. Valore espresso in unità di misura (Um).\\ Range valido: -999999 ÷ 999999| |delta|L|R|R-W|Nessuna|**Delta counter**\\ È il valore che viene sommato al conteggio quando viene inviato un comando DELCNT. Valore espresso in unità di misura (Um).\\ Range valido: -999999 ÷ 999999|
  
-==== Stati ====+==== Stati ====
  
  
Linea 513: Linea 513:
  
  
-===== Limitazioni =====+===== Limitazioni =====
  
   * Il parametro //setvel// può essere scritto solamente se l’asse é a velocitá costante   * Il parametro //setvel// può essere scritto solamente se l’asse é a velocitá costante
Linea 519: Linea 519:
  
  
-===== Esempio applicativo =====+===== Esempio applicativo =====
  
-==== File di configurazione ====+==== File di configurazione ====
  
 <code QCL> <code QCL>
Linea 599: Linea 599:
 </code> </code>
  
-==== Gestione EPICPOS ====+==== Gestione EPICPOS ====
  
 <code QCL> <code QCL>
  • Ultima modifica: 2020/07/13 15:11