DEVICE ABSCNT

1. 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

2. Dichiarazione

Per poter usufruire del device è necessario eseguirne la dichiarazione nell'apposita sezione INTDEVICE della unit di configurazione.

;--------------------------------- 
; Dichiarazione device interni 
;--------------------------------- 
INTDEVICE 
...
<nome>  ABSCNT  TCamp  IAbsCont  ICont

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.

3. Funzionamento

Il funzionamento del device è illustrato dal seguente schema a blocchi:

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..

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.

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.

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.

Il blocco “Reversing” gestisce l'inversione della direzione di rotazione che causa l'incremento della posizione determinata dallo stato st_cntdir.

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.

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.

4. 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=360×60=21600.

5. Elenco Parametri

Breve descrizione Tipo di protocollo
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 0÷0
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

Definisce il tipo di protocollo utilizzato per la acquisizione della posizione dal trasduttore:

0= SSI


Breve descrizione Numero bits frame SSI
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 1÷63
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

E' il numero totale di bits di cui è composto il frame SSI.


Breve descrizione Numero bits non significativi in testa al frame SSI
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 1÷15
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

E' il numero di bits, a partire dal MSbit, che non sono significativi per la ricostruzione del dato di posizione acquisito dal trasduttore.


Breve descrizione Numero bits non significativi in coda al frame SSI
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 1÷15
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

E' il numero di bits, a partire dal LSbit, che non sono significativi per la ricostruzione del dato di posizione acquisito dal trasduttore.


Breve descrizione Codice del dato
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 0÷1
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

E' il tipo di codifica del dato di posizione acquisito dal trasduttore:

0: Codice binario
1: Codice gray


Breve descrizione Tipo di logica del dato
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read
Unità di misura -
Range valido 0÷1
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

Indica il tipo di logica del dato di posizione acquisito dal trasduttore:

0: normale
1: inversa


Breve descrizione Controllo di parità
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 0÷2
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

Indica il tipo di controllo di parità sul dato SSI:

0: disabilitato
1: parità dispari
2: parità pari


Breve descrizione Posizione bit parità
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 0÷31
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

Posizione del bit di parità all'interno del frame SSI. Questo parametro è significativo solo se par > 0.


Breve descrizione Posizione bit errore 1
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 0÷31
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

Posizione del bit errore 1 all'interno del frame SSI. Parametro attualmente non implementato.


Breve descrizione Posizione bit errore 2
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 0÷31
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

Posizione del bit errore 1 all'interno del frame SSI. Parametro attualmente non implementato.


Breve descrizione Modalità acquisizione dato
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 0÷1
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

E' la modalità temporale di acquisizione del dato dal trasduttore:

0: ogni tempo di campionamento device ABSCNT
1: continuo


Breve descrizione Frequenza di clock utilizzata nel protocollo SSI
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 0÷3
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

Seleziona la frequenza di clock utilizzata nel protocollo SSI:

0: 1MHz
1: 500KHz
2: 250KHz
3: 125KHz


Breve descrizione Tempo monoflop
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura uS (microsecondi)
Range valido 0÷127
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

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.


Breve descrizione Numero delle posizioni/giro
Dimensione Long
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 1÷999999
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

Numero delle posizioni per giro del trasduttore (dato di targa).


Breve descrizione Numero giri
Dimensione Word
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 1÷999999
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

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.


Breve descrizione Abilitazione segno
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 0÷1
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

Abilita l'interpretazione del dato acquisito dal trasduttore con il segno.

0: posizione acquisita solo positiva
1: posizione acquisita solo positiva e negativa


Breve descrizione Tipo di rappresentazione parametro posit
Dimensione Byte
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 0÷1
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

Definisce il tipo di rappresentazione del valore di posizione acquisita sul parametro posit:

0: decimale
1: sessagesimale (gradi e primi)


Breve descrizione Misura di riferimento per il calcolo del position factor
Dimensione Long
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura Um
Range valido 1÷999999
ID parametro -
Condizioni di scrittura

Descrizione:

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.


Breve descrizione Numero di impulsi primari per il calcolo del position factor
Dimensione Long
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido 1÷999999
ID parametro -
Condizioni di scrittura -

Descrizione:

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.


Breve descrizione Velocità massima
Dimensione Word
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura RPM
Range valido 0÷32767
ID parametro -
Condizioni di scrittura st_updenab = 0

Descrizione:

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.


Breve descrizione Valore in bit posizione assoluta
Dimensione Long
Valore di default 0
Tipo di accesso Read - Write
Unità di misura -
Range valido -
ID parametro -
Condizioni di scrittura -

Descrizione:

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.


Breve descrizione Valore in UM posizione assoluta
Dimensione Long
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura Um
Range valido
ID parametro
Condizioni di scrittura -

Descrizione:

E' il valore espresso in Unità di misura della posizione assoluta del trasduttore. Si ottiene dalla seguente formula: encoder · measure / pulse.


Breve descrizione parametro 01
Dimensione Long
Valore di default 0
Tipo di accesso Read - Write
Unità di misura -
Range valido
ID parametro -
Condizioni di scrittura -

Descrizione:

Parametro 01. Non utilizzato, riservato per usi futuri.


Breve descrizione parametro 02
Dimensione Long
Valore di default 0
Tipo di accesso Read - Write
Unità di misura -
Range valido
ID parametro -
Condizioni di scrittura -

Descrizione:

Parametro 02. Non utilizzato, riservato per usi futuri.


Breve descrizione parametro 03
Dimensione Long
Valore di default 0
Tipo di accesso Read - Write
Unità di misura -
Range valido
ID parametro -
Condizioni di scrittura -

Descrizione:

Parametro 03. Non utilizzato, riservato per usi futuri.


Breve descrizione parametro 04
Dimensione Long
Valore di default 0
Tipo di accesso Read - Write
Unità di misura -
Range valido
ID parametro -
Condizioni di scrittura -

Descrizione:

Parametro 04. Non utilizzato, riservato per usi futuri.


Breve descrizione parametro ritentivo 01
Dimensione Long
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido
ID parametro -
Condizioni di scrittura -

Descrizione:

Parametro ritentivo 01. Non utilizzato, riservato per usi futuri.


Breve descrizione parametro ritentivo 02
Dimensione Long
Valore di default Ritentivo
Tipo di accesso Read - Write
Unità di misura -
Range valido
ID parametro -
Condizioni di scrittura -

Descrizione:

Parametro ritentivo 02. Non utilizzato, riservato per usi futuri.


Breve descrizione Codice di identificazione dell'errore.
Dimensione Byte
Valore di default 0
Tipo di accesso Read
Unità di misura -
Range valido -
ID parametro -
Condizioni di scrittura -

Descrizione:

Indica il tipo di errore rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.


Breve descrizione Codice di identificazione della causa dell'errore
Dimensione Byte
Valore di default 0
Tipo di accesso Read
Unità di misura -
Range valido -
ID parametro -
Condizioni di scrittura -

Descrizione:

Indica il tipo di causa dell'errore rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.


Breve descrizione Codice di identificazione warning
Dimensione Byte
Valore di default 0
Tipo di accesso Read
Unità di misura -
Range valido
ID parametro -
Condizioni di scrittura -

Descrizione:

Indica il tipo di warning rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.


Breve descrizione Codice di identificazione della causa del warning
Dimensione Byte
Valore di default 0
Tipo di accesso Read
Unità di misura -
Range valido -
ID parametro
Condizioni di scrittura -

Descrizione:

Indica la causa del warning rilevato dal device. Per ulteriori informazioni consultare il capitolo dedicato.


6. Elenco Stati

Breve descrizione Stato abilitazione aggiornamento
Valore di default 0
ID stato -

Descrizione:

Indica che l'acquisizione del dato di posizione dal trasduttore è abilitata e regolata dal parametro updatemode.

0 = acquisizione disabilitata.
1 = acquisizione abilitata.


Breve descrizione Stato di direzione antioraria per l'incremento del conteggio.
Valore di default Ritentivo
ID stato -

Descrizione:

Indica la direzione di rotazione che causa l'incremento del conteggio.

0 = orario.
1 = antiorario.


Breve descrizione Presenza di un warning.
Valore di default 0
ID stato -

Descrizione:

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.


Breve descrizione Presenza di un errore.
Valore di default 0
ID stato

Descrizione:

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.


Breve descrizione Stato Stato 1 generico
Valore di default 0
ID stato -

Descrizione:

Stato disponibile per future implementazioni.


Breve descrizione Stato Stato 2 generico
Valore di default 0
ID stato -

Descrizione:

Stato disponibile per future implementazioni.


Breve descrizione Stato Stato 3 generico
Valore di default 0
ID stato -

Descrizione:

Stato disponibile per future implementazioni.


Breve descrizione Stato Stato 4 generico
Valore di default 0
ID stato -

Descrizione:

Stato disponibile per future implementazioni.


7. Elenco Comandi

Breve descrizione Abilitazione aggiornamento conteggio.
Condizione st_updenab = 0
ID comando -

Descrizione:

Abilita l'acquisizione del dato di posizione dal trasduttore in accordo con il parametro updatemode.


Breve descrizione Disabilitazione aggiornamento conteggio.
Condizione st_updenab = 1
ID comando -

Descrizione:

Disabilita l'acquisizione del dato di posizione dal trasduttore.Con l'aggiornamento disabilitato è possibile modificare i parametri di comunicazione.


Breve descrizione Direzione incremento conteggio antiorario.
Condizione st_updenab = 0
ID comando -

Descrizione:

Imposta la direzione di incremento del conteggio ad antiorario.


Breve descrizione Direzione incremento conteggio orario.
Condizione st_updenab = 0
ID comando -

Descrizione:

Imposta la direzione di incremento del conteggio ad orario.


Breve descrizione Reset dello stato di errore.
Condizione st_error = 1
ID comando -

Descrizione:

Azzera lo stato di errore (st_error) nel caso non sia più presente la condizione di errore.


Breve descrizione Reset dello stato di warning.
Condizione st_warning = 1
ID comando -

Descrizione:

Azzera lo stato st_warning.


Breve descrizione Comando generico 1.
Condizione -
ID comando -

Descrizione:

Comando disponibile per future implementazioni.


Breve descrizione Comando generico 2.
Condizione -
ID comando -

Descrizione:

Comando disponibile per future implementazioni.


Breve descrizione Comando generico 3.
Condizione -
ID comando -

Descrizione:

Comando disponibile per future implementazioni.


Breve descrizione Comando generico 4.
Condizione -
ID comando -

Descrizione:

Comando disponibile per future implementazioni.


8. Errori e Warnings

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
0Nessun errore.
1Errore generico
2Errore 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.

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
0Nessun warning.
1parametro non accettato: la scrittura su un parametro non è andata a buon fine.
2comando non eseguito.
3velocità troppo alta.
4errore di parità.

Per mezzo del parametro wrnvalue è possibile ottenere informazioni più dettagliate riguardo il warning.

wrnvalue Descrizione
0nessuna informazione aggiuntiva riguardo il warning.
1operazione non abilitata.
2dato fuori range.
  • Ultima modifica: 2019/08/29 17:01