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
software:devices:abscnt [2016/09/22 17:22] – [2. Dichiarazione] qem103software:devices:abscnt [2019/08/29 17:01] (versione attuale) – modifica esterna 127.0.0.1
Linea 1: Linea 1:
 +====== DEVICE ABSCNT ======
 +
 +
 +====== - Introduzione ======
 +
 +Il device interno ABSCNT gestisce l'acquisizione e la manipolazione della posizione proveniente da sensori di tipo assoluto. Questi sensori sono tipicamente encoder assoluti con varie tipologie di interfaccia di uscita ( parallela, protocollo SSI, ecc.). 
 +Le principali caratteristiche del device sono:
 +
 +  *controllo della bontà del dato acquisito dal trasduttore
 +  *supporto della codifica binaria o gray del dato
 +  *rappresentazione sessagesimale del dato letto (angoli in gradi e primi)
 +  *azzeramento interno della posizione assoluta
 +  *generazione di un conteggio incrementale virtuale per essere utilizzato da altri device
 +
 +<html><pagebreak /></html>
 +
 +====== - Dichiarazione ======
 +
 +Per poter usufruire del device è necessario eseguirne la dichiarazione nell'apposita sezione INTDEVICE della unit di configurazione.
 +
 +<code QCL>
 +;--------------------------------- 
 +; Dichiarazione device interni 
 +;--------------------------------- 
 +INTDEVICE 
 +...
 +<nome>  ABSCNT  TCamp  IAbsCont  ICont
 +
 +</code>
 +
 +Dove:
 +
 +^Nome campo ^ Descrizione ^ Esempio ^ Note ^
 +| <nome> | Nome assegnato al device | Axe | - |
 +| ANPOS2 | Parola chiave che identifica il device ABSCNT | - | - |
 +| TCamp | Tempo di campionamento del device espresso in millisecondi | 4 | - | 
 +| IAbsCont | numero del contatore assoluto (verificare la documentazione HW \\ del prodotto per stabilire il corretto valore da impostare)| 1 | |
 +| ICont | indirizzo contatore incrementale virtuale generato dal device(sempre 1.CNTx)| 1.CNT01 | Inserendo il valore X.X il campo viene ignorato |
 +
 +^: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.^
 +
 +~~REFNOTES~~
 +====== - Funzionamento ======
 +
 +Il funzionamento del device è illustrato dal seguente schema a blocchi:
 +
 +{{software:devices:abscnt:abscnt_001.png?800&direct}}
 +
 +
 +===== - Communication configuration =====
 +Il blocco "Communication configuration" configura opportunamente i blocchi del protocollo in accordo con il numero di bit da acquisire, con il numero di bit da "scartare", con la modalità di acquisizione, ecc..
 +
 +===== - SSI protocol interface =====
 +Il blocco "SSI protocol interface" esegue l'acquisizione del dato da un trasduttore con protocollo di comunicazione SSI. Il dato letto deve successivamente essere manipolato per ottenere l'informazione di posizione assoluta.
 +
 +===== - Communication error control =====
 +Il blocco "Communication error control" esegue le operazioni di controllo della "bontà" del dato acquisito dal trasduttore. I controlli possono essere la parità e/o, per i trasduttori che lo prevedono, la verifica di alcuni bit di errore presenti nel frame SSI.
 +
 +===== - Speed checking =====
 +Il blocco "Speed checking" esegue il controllo della velocità  di rotazione in RPM rispetto al valore massimo e ne segnala l'eventuale superamento. Il suo compito non è tanto quello di verificare che non venga superata una certa velocità quanto quello di rilevare eventuali errori nell'acquisizione del dato.
 +
 +===== - Reversing =====
 +Il blocco "Reversing" gestisce l'inversione della direzione di rotazione che causa l'incremento della posizione determinata dallo stato //st_cntdir//.
 +
 +===== - Module =====
 +Il blocco "Module" si occupa di manipolare opportunamente il dato di posizione acquisito e sottratto all'offset per riportarlo all'interno del range 0÷(//pulserev //x //revnum//) quando //signenab// vale 0 ed all'interno del range -(//pulserev// x //revnum//)/2 ÷ (//pulserev// x //revnum//)/2 quando //signenab// vale 1.
 +
 +===== - Position conversion =====
 +Il blocco "Position conversion" esegue la conversione dal valore di posizione in bit al valore di posizione in unità di misura. Il dato ottenuto (//posit//) può avere rappresentazione decimale o sessagesimale a seconda dell'impostazione del parametro //posittype//.
 +====== - Note sul funzionamento del device ======
 +  *E' possibile utilizzare il device per la generazione di un contatore virtuale impostando l'indirizzo ICont nella dichiarazione device; poichè è un contatore "virtuale" si troverà sempre nello slot 1 (identificativo della CPU). Questa funzionalità rende possibile l'utilizzo di un traduttore di tipo assoluto con i device di conteggio e posizionamento che utilizzano solamente traduttori di tipo incrementale (risorsa hardware CNTxx). E' importante puntualizzare che il contatore "virtuale" verrà aggiornato ad ogni campionamento del device o ogni 1ms a seconda dell'impostazione del valore del parametro //updatemode//.
 +
 +  *Quando si imposta la rappresentazione sessagesimale le due cifre meno significative del parametro //posit// indicano i 'primi', le altre indicano i 'gradi'. Con la rappresentazione sessagesimale, inoltre, è necessario impostare opportunamente i parametri //pulse// e //measure// in particolare su //measure// il valore impostato deve essere in 'primi'. Ad esempio se avessimo un encoder da 10000 posizioni/giro e volessimo ottenere la posizione angolare in 'gradi' e 'primi' dovremmo impostare //pulse//=10000 e //measure//=360x60=21600.
 +  
 +  
 +<html><pagebreak /></html>
 +
 +====== - Elenco Parametri ======
 +
 +===== - prot =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Tipo di protocollo|
 +|dim=Byte|
 +|default=Ritentivo|
 +|accesstype=Read - Write|
 +|um=-|
 +|id=-|
 +|range=0÷0|
 +|wrcond= st_updenab = 0 |
 +|longdescr=Definisce il tipo di protocollo utilizzato per la acquisizione della posizione dal trasduttore:
 +
 +0= SSI \\}}
 +---- 
 +<html><pagebreak /></html>
 +
 +===== - framebits=====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Numero bits frame SSI|
 +|dim=Byte|
 +|default=Ritentivo|
 +|accesstype=Read - Write|
 +|um=-|
 +|range=1÷63|
 +|id=-|
 +|wrcond= st_updenab = 0 |
 +|longdescr=E' il numero totale di bits di cui è composto il frame SSI.}}
 +
 +----
 +<html><pagebreak /></html>
 +
 +===== - leadingbits=====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Numero bits non significativi in testa al frame SSI|
 +|dim=Byte|
 +|default=Ritentivo|
 +|accesstype=Read - Write|
 +|um=-|
 +|id=-|
 +|range=1÷15||
 +|wrcond= st_updenab = 0 |
 +|longdescr=E' il numero di bits, a partire dal MSbit, che non sono significativi per la ricostruzione del dato di posizione acquisito dal trasduttore.}}
 +----
 +<html><pagebreak /></html>
 +===== - trailingbits=====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Numero bits non significativi in coda al frame SSI|
 +|dim=Byte|
 +|default=Ritentivo|
 +|accesstype=Read - Write|
 +|um=-|
 +|id=-|
 +|range=1÷15||
 +|wrcond= st_updenab = 0 |
 +|longdescr=E' il numero di bits, a partire dal LSbit, che non sono significativi per la ricostruzione del dato di posizione acquisito dal trasduttore.}}
 +----
 +<html><pagebreak /></html>
 +===== - codetype=====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Codice del dato |
 +|dim=Byte|
 +|default=Ritentivo|
 +|accesstype=Read - Write|
 +|um=-|
 +|id=-|
 +|range=0÷1||
 +|wrcond= st_updenab = 0 |
 +|longdescr=E' il tipo di codifica del dato di posizione acquisito dal trasduttore:
 +
 +0: Codice binario \\
 +1: Codice gray \\}}
 +
 +----
 +<html><pagebreak /></html>
 +===== - datalogic =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Tipo di logica del dato |
 +|dim= Byte |
 +|default= Ritentivo |
 +|accesstype= Read |
 +|um= - |
 +|id=- |
 +|range= 0÷1 |
 +|wrcond= st_updenab = 0 |
 +|longdescr=Indica il tipo di logica del dato di posizione acquisito dal trasduttore:
 +
 +0: normale \\
 +1: inversa \\}}
 +----
 +<html><pagebreak /></html>
 +===== - par =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Controllo di parità |
 +|dim= Byte |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=- |
 +|id=- |
 +|range= 0÷2 |
 +|wrcond= st_updenab = 0 |
 +|longdescr=Indica il tipo di controllo di parità sul dato SSI:
 +
 +0: disabilitato \\
 +1: parità dispari \\
 +2: parità pari \\}}
 +----
 +<html><pagebreak /></html>
 +===== - parbitpos =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Posizione bit parità |
 +|dim= Byte |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=- |
 +|id=- |
 +|range= 0÷31 |
 +|wrcond= st_updenab = 0 |
 +|longdescr=Posizione del bit di parità all'interno del frame SSI. Questo parametro è significativo solo se //par// > 0.}}
 +----
 +<html><pagebreak /></html>
 +===== - err1pos =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Posizione bit errore 1 |
 +|dim= Byte |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=- |
 +|id=- |
 +|range= 0÷31 |
 +|wrcond= st_updenab = 0 |
 +|longdescr=Posizione del bit errore 1 all'interno del frame SSI. Parametro attualmente non implementato.}}
 +----
 +
 +<html><pagebreak /></html>
 +===== - err2pos =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Posizione bit errore 2 |
 +|dim= Byte |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=- |
 +|id=- |
 +|range= 0÷31 |
 +|wrcond= st_updenab = 0 |
 +|longdescr=Posizione del bit errore 1 all'interno del frame SSI. Parametro attualmente non implementato.}}
 +
 +----
 +<html><pagebreak /></html>
 +===== - updatemode =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Modalità acquisizione dato|
 +|dim= Byte |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=- |
 +|id=- |
 +|range= 0÷1 |
 +|wrcond= st_updenab = 0 |
 +|longdescr=E' la modalità temporale di acquisizione del dato dal trasduttore:
 +
 +0: ogni tempo di campionamento device ABSCNT \\
 +1: continuo \\
 +}}
 +
 +----
 +<html><pagebreak /></html>
 +===== - clockrate ====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Frequenza di clock utilizzata nel protocollo SSI|
 +|dim= Byte |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=-|
 +|id=- |
 +|range= 0÷3|
 +|wrcond= st_updenab = 0 |
 +|longdescr=Seleziona la frequenza di clock utilizzata nel protocollo SSI:
 +
 +0: 1MHz \\
 +1: 500KHz \\
 +2: 250KHz \\
 +3: 125KHz \\ }}
 +----
 +<html><pagebreak /></html>
 +===== - monofloptime =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Tempo monoflop|
 +|dim= Byte |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um= uS (microsecondi)|
 +|id=- |
 +|range= 0÷127|
 +|wrcond= st_updenab = 0 |
 +|longdescr=Indica il tempo in microsecondi di monoflop. Questo è il tempo che viene atteso tra due acquisizioni con protocollo SSI, quando l'aggiornamento del dato è di tipo continuo(//updatemode// = 1). Il valore impostato sarà approssimato per eccesso ad un multiplo del periodo della frequenza di clock (inverso di //clockrate//). Se il valore impostato non è ottenibile dal device perchè troppo grande viene segnalato un warning.
 +}}
 +
 +----
 +<html><pagebreak /></html>
 +===== - pulserev =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Numero delle posizioni/giro|
 +|dim= Long |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=-|
 +|id=- |
 +|range= 1÷999999|
 +|wrcond= st_updenab = 0 |
 +|longdescr=Numero delle posizioni per giro del trasduttore (dato di targa).}}
 +
 +----
 +<html><pagebreak /></html>
 +===== - revnum =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Numero giri|
 +|dim = Word |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=- |
 +|id=- |
 +|range= 1÷999999 |
 +|wrcond= st_updenab = 0 |
 +|longdescr=E' il numero di giri gestiti dal trasduttore riportati sui dati di targa. Il valore è significativo quando si utilizzano trasduttori multigiro, per i trasduttori monogiro impostare il valore 1.}}
 +----
 +<html><pagebreak /></html>
 +===== - signenab =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Abilitazione segno|
 +|dim = Byte |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=- |
 +|id=- |
 +|range= 0÷1|
 +|wrcond= st_updenab = 0 |
 +|longdescr=Abilita l'interpretazione del dato acquisito dal trasduttore con il segno.
 +
 +0: posizione acquisita solo positiva \\
 +1: posizione acquisita solo positiva e negativa \\}}
 +----
 +<html><pagebreak /></html>
 +===== - posittype =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Tipo di rappresentazione parametro posit|
 +|dim = Byte |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=-|
 +|id=-|
 +|range= 0÷1 |
 +|wrcond= st_updenab = 0 |
 +|longdescr=Definisce il tipo di rappresentazione del valore di posizione acquisita sul parametro //posit//:
 +
 +0: decimale \\
 +1: sessagesimale (gradi e primi) \\}}
 +----
 +<html><pagebreak /></html>
 +
 +===== - measure =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Misura di riferimento per il calcolo del position factor|
 +|dim=Long|
 +|default=Ritentivo|
 +|accesstype=Read - Write|
 +|um=Um|
 +|id=-|
 +|range=1÷999999|
 +|wrcond= |
 +|longdescr=Indica lo spazio, in unità di misura, percorso dall'asse per ottenere gli impulsi primari impostati nel parametro pulse. Questo parametro è utilizzato per il calcolo del fattore di conversione tra impulsi primari ed unità di misura.\\
 +
 +posit = (encoder ⋅ measure) / pulse\\
 +
 +
 +
 +Il rapporto measure/pulse deve avere un valore compreso tra 0.00935 e 1.}}
 +
 +---- 
 +<html><pagebreak /></html>
 +
 +===== - pulse =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Numero di impulsi primari per il calcolo del position factor|
 +|dim=Long|
 +|default=Ritentivo|
 +|accesstype=Read - Write|
 +|um=-|
 +|range=1÷999999|
 +|id=-|
 +|wrcond= - |
 +|longdescr=Indica il numero di impulsi primari (1 impulso encoder = 4 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 \\
 +
 +Il rapporto measure/pulse deve avere un valore compreso tra 0.00935 e 1.}}
 +
 +----
 +<html><pagebreak /></html>
 +
 +===== - maxvel =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Velocità massima|
 +|dim = Word |
 +|default=Ritentivo|
 +|accesstype= Read - Write |
 +|um= RPM |
 +|id=- |
 +|range= 0÷32767 |
 +|wrcond= st_updenab = 0 |
 +|longdescr=Indica la velocità massima espressa in giri al minuto(RPM) dove per giro si intende il valore di posizione in unità di misura corrispondente agli impulsi definiti in //pulserev//. Questo parametro viene utilizzato per controllare la bontà del valore acquisito dal trasduttore; in pratica il device verifica che tra due valori consecutivi di posizione acquisiti vi sia una variazione "coerente" con le velocità e che tale variazione non superi quella che si otterrebbe quando il trasduttore ruota al valore impostato sul parametro. Impostando valore 0 si disabilita il controllo.}}
 +
 +----
 +<html><pagebreak /></html>
 +===== - encoder =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Valore in bit posizione assoluta|
 +|dim = Long |
 +|default= 0 |
 +|accesstype= Read - Write |
 +|um=- |
 +|id=- |
 +|range=- |
 +|wrcond= - |
 +|longdescr=E' il valore espresso in bit ( posizioni encoder) della posizione assoluta del trasduttore. Il valore assunto da questo parametro va da 0 a (//pulserev// · //revnum//) quando //signenab// vale 0 e va da -(//pulserev//· //revnum//)/2 a (//pulserev// · //revnum//)/2 quando //signenab// vale 1.}}
 +
 +----
 +<html><pagebreak /></html>
 +
 +
 +===== - posit =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Valore in UM posizione assoluta|
 +|dim = Long |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um= Um |
 +|id= |
 +|range= |
 +|wrcond= - |
 +|longdescr=E' il valore espresso in Unità di misura della posizione assoluta del trasduttore. Si ottiene dalla seguente formula: //encoder// · //measure// / //pulse//.}}
 +
 +----
 +<html><pagebreak /></html>
 +
 +===== - par01 =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=parametro 01|
 +|dim = Long |
 +|default= 0 |
 +|accesstype= Read - Write |
 +|um=-|
 +|id=-|
 +|range= |
 +|wrcond= - |
 +|longdescr=Parametro 01. Non utilizzato, riservato per usi futuri.}}
 +
 +----
 +<html><pagebreak /></html>
 +
 +===== - par02 =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=parametro 02|
 +|dim = Long |
 +|default= 0 |
 +|accesstype= Read - Write |
 +|um=-|
 +|id=-|
 +|range= |
 +|wrcond= - |
 +|longdescr=Parametro 02. Non utilizzato, riservato per usi futuri.}}
 +
 +----
 +<html><pagebreak /></html>
 +
 +===== - par03 =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=parametro 03|
 +|dim = Long |
 +|default= 0 |
 +|accesstype= Read - Write |
 +|um=-|
 +|id=-|
 +|range= |
 +|wrcond= - |
 +|longdescr=Parametro 03. Non utilizzato, riservato per usi futuri.}}
 +
 +----
 +<html><pagebreak /></html>
 +
 +===== - par04 =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=parametro 04|
 +|dim = Long |
 +|default= 0 |
 +|accesstype= Read - Write |
 +|um=-|
 +|id=-|
 +|range= |
 +|wrcond= - |
 +|longdescr=Parametro 04. Non utilizzato, riservato per usi futuri.}}
 +
 +----
 +<html><pagebreak /></html>
 +
 +===== - ret01 =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=parametro ritentivo 01|
 +|dim = Long |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=-|
 +|id=-|
 +|range= |
 +|wrcond= - |
 +|longdescr=Parametro ritentivo 01. Non utilizzato, riservato per usi futuri.}}
 +
 +----
 +<html><pagebreak /></html>
 +
 +===== - ret02 =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=parametro ritentivo 02|
 +|dim = Long |
 +|default= Ritentivo |
 +|accesstype= Read - Write |
 +|um=-|
 +|id=-|
 +|range= |
 +|wrcond= - |
 +|longdescr=Parametro ritentivo 02. Non utilizzato, riservato per usi futuri.}}
 +
 +----
 +<html><pagebreak /></html>
 +
 +===== - errcode =====
 +
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Codice di identificazione dell'errore.|
 +|dim = Byte |
 +|default= 0 |
 +|accesstype= Read |
 +|um= - |
 +|id=-|
 +|range= - |
 +|wrcond= - |
 +|longdescr=Indica il tipo di errore rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.}}
 +----
 +<html><pagebreak /></html>
 +
 +
 +===== - errvalue =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Codice di identificazione della causa dell'errore |
 +|dim = Byte |
 +|default= 0 |
 +|accesstype= Read |
 +|um= - |
 +|id= -|
 +|range= - |
 +|wrcond= - |
 +|longdescr= Indica il tipo di causa dell'errore rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato. }}
 +----
 +<html><pagebreak /></html>
 +
 +
 +===== - wrncode =====
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Codice di identificazione warning|
 +|dim = Byte |
 +|default= 0 |
 +|accesstype= Read |
 +|um= - |
 +|id= -|
 +|range= |
 +|wrcond= - |
 +|longdescr=Indica il tipo di warning rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.}}
 +
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - wrnvalue =====
 +
 +{{template>lib:tpl:tpl-s-tapardev-010
 +|shortdescr=Codice di identificazione della causa del warning|
 +|dim = Byte |
 +|default= 0 |
 +|accesstype= Read |
 +|um= - |
 +|id= |
 +|range= - |
 +|wrcond= - |
 +|longdescr=Indica la causa del warning rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.}}
 +
 +----
 +
 +<html><pagebreak /></html>
 +
 +
 +====== - Elenco Stati ======
 +
 +===== - st_updenab =====
 +{{template>lib:tpl:tpl-s-statedev-010
 +|shortdescr=Stato abilitazione aggiornamento|
 +|default= 0|
 +|id=- |
 +|longdescr=Indica che l'acquisizione del dato di posizione dal trasduttore è abilitata e regolata dal parametro //updatemode//.
 +
 +0 = acquisizione disabilitata.\\
 +1 = acquisizione abilitata.\\
 +}}
 +----
 +<html><pagebreak /></html>
 +
 +===== - st_cntrev =====
 +{{template>lib:tpl:tpl-s-statedev-010
 +|shortdescr=Stato di direzione antioraria per l'incremento del conteggio.|
 +|default= Ritentivo|
 +|id=- |
 +|longdescr=Indica la direzione di rotazione che causa l'incremento del conteggio.
 +
 +0 = orario.\\
 +1 = antiorario.\\
 +
 +}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +
 +===== - st_warning =====
 +{{template>lib:tpl:tpl-s-statedev-010
 +|shortdescr=Presenza di un warning.|
 +|default= 0|
 +|id=- |
 +|longdescr=Indica lo stato di warning del device, per riconoscere il tipo di warning si deve fare riferimento alle variabili //wrncode// e //wrnvalue//.
 +
 +0 = warning non presente.\\
 +1 = warning presente.\\
 +
 +}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - st_error =====
 +{{template>lib:tpl:tpl-s-statedev-010
 +|shortdescr=Presenza di un errore.|
 +|default= 0|
 +|id= |
 +|longdescr=Indica lo stato di errore del device, per riconoscere il tipo di errore si deve far riferimento alle variabili //errcode// e //errvalue//.
 +
 +0 = errore non presente.\\
 +1 = errore presente.\\
 +
 +}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - st_01 =====
 +{{template>lib:tpl:tpl-s-statedev-010
 +|shortdescr=Stato Stato 1 generico|
 +|default= 0|
 +|id=- |
 +|longdescr=Stato disponibile per future implementazioni.}}
 +----
 +
 +===== - st_02 =====
 +{{template>lib:tpl:tpl-s-statedev-010
 +|shortdescr=Stato Stato 2 generico|
 +|default= 0|
 +|id=- |
 +|longdescr=Stato disponibile per future implementazioni.}}
 +----
 +
 +===== - st_03 =====
 +{{template>lib:tpl:tpl-s-statedev-010
 +|shortdescr=Stato Stato 3 generico|
 +|default= 0|
 +|id=- |
 +|longdescr=Stato disponibile per future implementazioni.}}
 +----
 +
 +===== - st_04 =====
 +{{template>lib:tpl:tpl-s-statedev-010
 +|shortdescr=Stato Stato 4 generico|
 +|default= 0|
 +|id=- |
 +|longdescr=Stato disponibile per future implementazioni.}}
 +----
 +<html><pagebreak /></html>
 +
 +
 +====== - Elenco Comandi ======
 +
 +===== - UPDENAB =====
 +{{template>lib:tpl:tpl-s-cmddevice-010
 +|cond=st_updenab = 0 |
 +|shortdescr=Abilitazione aggiornamento conteggio.|
 +|id=-|
 +|longdescr=Abilita l'acquisizione del dato di posizione dal trasduttore in accordo con il parametro //updatemode//.}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - UPDDISAB =====
 +{{template>lib:tpl:tpl-s-cmddevice-010
 +|cond=st_updenab = 1 |
 +|shortdescr=Disabilitazione aggiornamento conteggio.|
 +|id=-|
 +|longdescr=Disabilita l'acquisizione del dato di posizione dal trasduttore.Con l'aggiornamento disabilitato è possibile modificare i parametri di comunicazione.}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - CNTREV =====
 +{{template>lib:tpl:tpl-s-cmddevice-010
 +|cond=st_updenab = 0 |
 +|shortdescr=Direzione incremento conteggio antiorario.|
 +|id=-|
 +|longdescr=Imposta la direzione di incremento del conteggio ad antiorario.}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - CNTDIR =====
 +{{template>lib:tpl:tpl-s-cmddevice-010
 +|cond=st_updenab = 0 |
 +|shortdescr=Direzione incremento conteggio orario.|
 +|id=-|
 +|longdescr=Imposta la direzione di incremento del conteggio ad orario.}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - RSERR =====
 +{{template>lib:tpl:tpl-s-cmddevice-010
 +|cond= st_error = 1 |
 +|shortdescr= Reset dello stato di errore.|
 +|id=-|
 +|longdescr=Azzera lo stato di errore (//st_error//) nel caso non sia più presente la condizione di errore.}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - RSWRN =====
 +{{template>lib:tpl:tpl-s-cmddevice-010
 +|cond= st_warning = 1 |
 +|shortdescr= Reset dello stato di warning.|
 +|id=-|
 +|longdescr=Azzera lo stato //st_warning//. }}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - CMD01 =====
 +{{template>lib:tpl:tpl-s-cmddevice-010
 +|cond= - |
 +|shortdescr= Comando generico 1.|
 +|id=-|
 +|longdescr=Comando disponibile per future implementazioni.}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - CMD02 =====
 +{{template>lib:tpl:tpl-s-cmddevice-010
 +|cond= - |
 +|shortdescr= Comando generico 2.|
 +|id=-|
 +|longdescr=Comando disponibile per future implementazioni.}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - CMD03 =====
 +{{template>lib:tpl:tpl-s-cmddevice-010
 +|cond= - |
 +|shortdescr= Comando generico 3.|
 +|id=-|
 +|longdescr=Comando disponibile per future implementazioni.}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +===== - CMD04 =====
 +{{template>lib:tpl:tpl-s-cmddevice-010
 +|cond= - |
 +|shortdescr= Comando generico 4.|
 +|id=-|
 +|longdescr=Comando disponibile per future implementazioni.}}
 +----
 +
 +<html><pagebreak /></html>
 +
 +
 +====== - Errori e Warnings ======
 +
 +===== - Errors =====
 +Quando il device non riesce ad eseguire le operazioni derivanti da una non corretta programmazione da parte dell'utente segnala questa condizione tramite l'attivazione dello stato //st_error//. Il device, inoltre, rende disponibili, tramite i valori sui parametri //errcode// ed //errvalue//, alcune informazioni per meglio comprendere il tipo di errore e quale condizione l'ha generato. Tali informazioni e lo stato di errore //st_error//, permangono finché non viene eseguito l'apposito comando //RSERR// che li cancella.\\
 +La seguente tabella specifica i valori assunti da //errcode//:\\
 +^//errcode// ^Descrizione ^
 +|0|Nessun errore.|
 +|1|Errore generico|
 +|2|Errore hardware: l'hardware non supporta dispositivi di conteggio assoluto.|
 +
 +Per mezzo del parametro //errvalue// è possibile ottenere informazioni più dettagliate riguardo l'errore.\\
 +Attualmente il parametro //errvalue// non è utilizzato e vale sempre 0.
 +
 +
 +===== - Warnings =====
 +Quando l'impostazione di un parametro del device non viene accettata o quando non è possibile eseguire un comando il device segnala questa condizione tramite l'attivazione dello stato //st_warning//.
 +Il device, inoltre, rende disponibili, tramite i valori sui parametri //wrncode// e //wrnvalue//, alcune informazioni per meglio comprendere il tipo di warning e quale condizione l'ha generato. 
 +Tali  informazioni e lo stato di warning //st_warning//, permangono finché non viene eseguito l'apposito comando //RSWRN// che li cancella.\\
 +La seguente tabella specifica i valori assunti da //wrncode//:\\
 +
 +^//wrncode// ^Descrizione ^
 +|0|Nessun warning.|
 +|1|parametro non accettato: la scrittura su un parametro non è andata a buon fine.|
 +|2|comando non eseguito.|
 +|3|velocità troppo alta.|
 +|4|errore di parità.|
 +
 +Per mezzo del parametro //wrnvalue// è possibile ottenere informazioni più dettagliate riguardo il warning.\\
 +^//wrnvalue// ^Descrizione ^
 +|0|nessuna informazione aggiuntiva riguardo il warning.|
 +|1|operazione non abilitata.|
 +|2|dato fuori range.|