software:devices:counter3

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
Prossima revisione
Revisione precedente
Prossima revisioneEntrambe le parti successive la revisione
software:devices:counter3 [2015/06/26 16:24] – [7.1. st_intenbl] qem207software:devices:counter3 [2017/01/19 14:53] – [10. Esempio applicativo] qem103
Linea 36: Linea 36:
 </code> </code>
  
-<WRAP center round important 60%> +^:important:^Tutti i campi della dichiarazione sono obbligatori e devono essere presenti sulla stessa linea. Impostare "X.X" oppure "X" nel caso una risorsa non sia disponibile o non venga utilizzata. Disabilitare una risorsa significa disabilitare tutte le funzionalità del device che la utilizzano.^
-Tutti i campi della dichiarazione sono obbligatori e devono essere presenti sulla stessa linea. Impostare "X.X" oppure "X" nel caso una risorsa non sia disponibile o non venga utilizzata. Disabilitare una risorsa significa disabilitare tutte le funzionalità del device che la utilizzano. +
-</WRAP>+
  
  
Linea 70: Linea 68:
   *    * 
 === - Delta posizione attuale === === - Delta posizione attuale ===
-Il device visualizza sempre la posizione assoluta dell’asse; il cambio di conteggio può essere eseguito anche con una scrittura diretta nel nuovo valore nel parametro //posit//.\\+ 
 +Il device visualizza sempre la posizione assoluta dell'asse; il cambio di conteggio può essere eseguito anche con una scrittura diretta nel nuovo valore nel parametro //posit//.\\
 Volendo sottrarre 100 unità di misura al conteggio è possibile:\\ Volendo sottrarre 100 unità di misura al conteggio è possibile:\\
 <code QCL > <code QCL >
   Count.posit = Count.posit - 100   Count.posit = Count.posit - 100
 </code> </code>
-Questa operazione introduce un errore perché impone la posizione “//posit// = -100”, quando l’asse poteva avere una posizione intermedia tra una unità di misura e la successiva (es. 100.3). Questa frazione (0.3) viene persa ed il ripetersi di queste operazioni provocano l’accumularsi di un errore non trascurabile.\\+Questa operazione introduce un errore perché impone la posizione "//posit// = -100", quando l'asse poteva avere una posizione intermedia tra una unità di misura e la successiva (es. 100.3). Questa frazione (0.3) viene persa ed il ripetersi di queste operazioni provocano l'accumularsi di un errore non trascurabile.\\
 A tale scopo esiste invece il comando DELCNT che permette di modificare il posit di un valore impostabile tramite il parametro //delta//.\\ A tale scopo esiste invece il comando DELCNT che permette di modificare il posit di un valore impostabile tramite il parametro //delta//.\\
 Per esempio supponiamo di aver configurato //pulse// e //measure// in modo che la posizione sia espressa in decimi di grado. Se //posit// esprime la posizione angolare e vogliamo che questa sia sempre compresa tra zero e 360 gradi dovremmo aggiungere il seguente codice: Per esempio supponiamo di aver configurato //pulse// e //measure// in modo che la posizione sia espressa in decimi di grado. Se //posit// esprime la posizione angolare e vogliamo che questa sia sempre compresa tra zero e 360 gradi dovremmo aggiungere il seguente codice:
Linea 105: Linea 104:
 {{:software:devices:counter3:counter3_02.png?nolink450|}} {{:software:devices:counter3:counter3_02.png?nolink450|}}
  
-<WRAP center round info 60%> +^:info:^Se si devono inviare comandi //DELCNT// in successione, è conveniente calcolare la grandezza da sommare ed inviare una sola volta il comando. Se ciò non fosse possibile bisogna prestare attenzione a non inviare comandi successivi senza interporre una istruzione di lettura su parametro device.\\ Esempio:\\ <code QCL> 
-Se si devono inviare comandi //DELCNT// in successione, è conveniente calcolare la grandezza da sommare ed inviare una sola volta il comando. Se ciò non fosse possibile bisogna prestare attenzione a non inviare comandi successivi senza interporre una istruzione di lettura su parametro device. +Count.delta = 3 
-Esempio: +Count.DELCNT 
-<code QCL> +WAIT Count.delta 
-  Count.delta = 3 +Count.delta = 40 
-  Count.DELCNT +Count.DELCNT 
-  WAIT Count.delta +</code>^
-  Count.delta = 40 +
-  Count.DELCNT +
-</code> +
-</WRAP>+
  
  
Linea 121: Linea 116:
  
 La presenza di un errore nel device viene segnalato dallo stato //st_error//.\\ La presenza di un errore nel device viene segnalato dallo stato //st_error//.\\
-Quando st_error è uguale a 1, troviamo presente sulla variabile //errcode// il tipo di errore intervenuto (vedi tabella) e nella variabile //errvalue// una indicazione sulla causa dell’errore.\\+Quando //st_error// è uguale a 1, troviamo presente sulla variabile //errcode// il tipo di errore intervenuto (vedi tabella) e nella variabile //errvalue// una indicazione sulla causa dell’errore.\\
 Se il device va in errore, per poter riprendere la lavorazione bisogna cancellare lo stato //st_error// attraverso il comando //RSERR//. Se il device va in errore, per poter riprendere la lavorazione bisogna cancellare lo stato //st_error// attraverso il comando //RSERR//.
  
Linea 164: Linea 159:
 |wrcond=-| |wrcond=-|
 |longdescr=Indica il numero di impulsi primari che genererà il trasduttore bidirezionale per ottenere un movimento pari a measure. Questo parametro è utilizzato per il calcolo del fattore di conversione tra impulsi primari ed unità di misura.\\ |longdescr=Indica il numero di impulsi primari che genererà il trasduttore bidirezionale per ottenere un movimento pari a measure. Questo parametro è utilizzato per il calcolo del fattore di conversione tra impulsi primari ed unità di misura.\\
-//posit = //encoder// * //measure// / //pulse// \\+//posit// = //encoder// * //measure// / //pulse// \\
 Il rapporto  //measure// / //pulse// deve avere un valore compreso tra 0.00935 e 1.}} Il rapporto  //measure// / //pulse// deve avere un valore compreso tra 0.00935 e 1.}}
  
Linea 422: Linea 417:
 |wrcond=-| |wrcond=-|
 |longdescr=Indica il tipo di warning intervenuto nel sistema. Lo stato //st_warning// indica un evento non grave che garantisce comunque il funzionamento del device. |longdescr=Indica il tipo di warning intervenuto nel sistema. Lo stato //st_warning// indica un evento non grave che garantisce comunque il funzionamento del device.
-Quando //st_warning// è uguale a 1, troviamo presente nella variabile //wrncode// il tipo di warning intervenuto (vedi tabella) e nella variabile //wrnvalue/ una indicazione sulla causa che ha provocato il warning. Per cancellare lo stato //st_warning// bisogna inviare il comando //RSWRN//.)}}+Quando //st_warning// è uguale a 1, troviamo presente nella variabile //wrncode// il tipo di warning intervenuto (vedi tabella) e nella variabile //wrnvalue// una indicazione sulla causa che ha provocato il warning. Per cancellare lo stato //st_warning// bisogna inviare il comando //RSWRN//.)}}
  
 ^Codice^Priorità^Descrizione^ ^Codice^Priorità^Descrizione^
Linea 654: Linea 649:
  
 ===== - Esempio applicativo ===== ===== - Esempio applicativo =====
-<WRAP center round info 60%> + 
-Questo esempio è compilabile nell'ambiente QView 6.0 o superiori. +^:info:^Questo esempio è compilabile nell'ambiente QView 6.0 o superiori.^
-</WRAP>+
  
 ==== - Unit di configurazione ==== ==== - Unit di configurazione ====
  • Ultima modifica: 2020/07/13 15:06