Questa è una vecchia versione del documento!
Legenda grafica
La mancata osservanza del messaggio può compromettere l'integrità dello strumento e/o la riuscita dell'operazione.
Nota: informazione importante per un corretto uso dello strumento.
Per ulteriori informazioni vedere il manuale indicato nel messaggio.
Per ulteriori informazioni vedere la pagina indicata nel messaggio.
Attenzione: 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.
1. Funzionamento
1.1 Filtro antiglitch
Il blocco “filtro antiglitch” esegue un filtraggio digitale sul segnale d'ingresso per l'eliminazione dei disturbi. Esso campiona il segnale di ingresso ad intervalli di tempo regolari e determina lo stato di uscita verificando lo stato della maggioranza dei campioni. L'entità del filtro dipende da un parametro del sistema QMOVE (variabile di sistema “QMOVE:sys004”).
L'esistenza del blocco “antiglitch filter” e le sue caratteristiche dipendono dal prodotto che si sta utilizzando. Consultare la documentazione relativa al prodotto stesso per uteriori informazioni.
1.2 Edge detect
Il blocco “edge detect” cattura il fronte del segnale in uscita dal filtro antiglitch e misura il tempo tra due fronti consecutivi per ottenere la misura di frequenza. Il fronte di salita o di discesa è selezionato tramite il parametro capture. Il parametro frqmin determina il tempo massimo oltre il quale il valore di uscita dal blocco diventa zero.
1.3 Edge counter
Il blocco “Edge counter” realizza un contatore dei fronti catturati dal blocco “edge detect”.
1.4 Upper limiter
Il blocco “Upper limiter”, come dice la parola stessa, limita i valori di uscita del blocco “edge detect” fino a frqmax.
1.5 Scaling
Il blocco “scaling” esegue operazioni matematiche di moltiplicazione, divisione e somma, del valore di uscita dal blocco “upper limiter” con i parametri scaleA, scaleB e scaleC per ottenere il valore misurato (outUm) nell'entità voluta.
La formula per ottenere il valore misurato è:
outUm = (outbit * scaleA / scaleB) + scaleC
1.6 Low pass filter
Il blocco “Low pass filter” esegue un filtro digitale del 1° ordine (tipo il classico filtro RC) sul valore misurato. La costante di tempo del filtro è impostabile tramite il parametro tfilter.
1.6.1 Note sul funzionamento del device
-
Il filtro antiglitch ha la caratteristica di eliminare eventuali disturbi sul segnale di ingresso ma ha ha lo svantaggio di introdurre un “rumore” sul segnale di uscita. Tale rumore è più evidente quando la frequenza di ingresso è superiore a 10KHz. In questi casi è possibile ridurre il rumore in maniera notevole, fino ad annullarlo, semplicemente aumentando il tempo di campionamento del device. Se l'applicazione lo permette, si consiglia di utilizzare tempi di campionamento uguali o superiori a 20ms.
-
Il device non può funzionare contemporaneamente come misuratore di frequenza e rilevatore di duty cycle perciò, quando il parametro capture è impostato a 5, il valore di uscita del blocco “edge detect” rappresenta il duty cycle espresso in parti per 10000 (5000 significa quindi duty del 50.00%). Il valore di uscita del blocco “edge detect” va direttamente sul parametro outfrq bypassando il blocco “upper limiter”; il blocco “scaling” producono delle uscite che potrebbero perdere di significato. Per utilizzare il filtro del primo ordine con il duty cycle in maniera corretta è necessario che i parametri scaleA e scaleB siano uguali a 1 ed il parametro scaleC sia uguale a zero. L'utilizzo del rilevatore del duty cycle funziona correttamente per segnali di frequenza bassa (inferiori a circa 150 Hz).
2. Tabella parametri
Nome | Dimensione | Valore di default | Tipo di accesso | Unità di misura | Range valido | Condizioni di scrittura | Descrizione |
---|---|---|---|---|---|---|---|
frqmax | Long | Ritentivo | RW | Hz/100 oppure Hz/1000 | 0÷2147483647 | - | Frequenza massima È il massimo valore che può assumere outfrq. Per segnali di frequenza superiore a frqmax, outfrq viene posto pari a frqmax. |
frqmin | Long | Ritentivo | RW | Hz/100 oppure Hz/1000 | 0÷2147483647 | - | Frequenza minima È il valore minimo di frequenza rilevabile dal device. Per frequenze inferiori, l'uscita del blocco “edge detect” vale zero. frqmin influenza anche il tempo massimo oltre il quale viene rilevata l'assenza di segnale in ingresso; infatti, ad esempio, impostando frqmin pari a 1Hz, il device rileva l'assenza di segnale e quindi pone a zero outfrq dopo 1 sec. Impostando, invece, frqmin pari a 0.01 Hz l'assenza di segnale verrà rilevata dopo 100 sec. Impostando frqmin uguale a 0 è come impostare 0.01Hz se outfrq è espresso in centesimi di hertz oppure 0.001Hz se outfrq è espresso in millesimi di hertz |
capture | Byte | Ritentivo | RW | - | 0÷5 | - | Modalità cattura segnale e risoluzione misura frequenza Definisce le modalità di cattura del segnale (fronte e frequenza/duty) e la risoluzione della misura di frequenza (centesimi o millesimi di hertz). 0 i blocchi “edge detect” e “edge counter” sono disabilitati quindi il device fornisce il valore di outfrq sempre uguale a zero mentre outcnt non si incrementa più. 1 il blocco “edge detect” cattura il fronte di discesa del segnale di ingresso ed il valore di outfrq è espresso in centesimi di Hertz. Il blocco “edge counter”, altresì, incrementa il suo valore di uscita outcnt sul fronte di discesa del segnale di ingresso. 2 il blocco “edge detect” cattura il fronte di salita del segnale di ingresso ed il valore di outfrq è espresso in centesimi di Hertz. Il blocco “edge counter”, altresì, incrementa il suo valore di uscita outcnt sul fronte di salita del segnale di ingresso. 3 il blocco “edge detect” cattura il fronte di discesa del segnale di ingresso ed il valore di outfrq è espresso in millesimi di Hertz. Il blocco “edge counter”, altresì, incrementa il suo valore di uscita outcnt sul fronte di discesa del segnale di ingresso. 4 il blocco “edge detect” cattura il fronte di salita del segnale di ingresso ed il valore di outfrq è espresso in millesimi di Hertz. Il blocco “edge counter”, altresì, incrementa il suo valore di uscita outcnt sul fronte di salita del segnale di ingresso. 5 il blocco “edge detect” cattura entrambi i fronti del segnale di ingresso e fornisce sul parametro outfrq il valore del duty cycle in parti per 10000 (es: 5000 indica il 50.00 %). |
scaleA | Long | Ritentivo | RW | - | -2147483648÷2147483647 | - | Coefficiente A nella funzione di scaling È il parametro per il quale viene moltiplicato il valore della frequenza rilevato dal blocco “edge detect” nella funzione di scaling. Impostando il parametro a 0 il valore misurato avrà sempre valore 0. |
scaleB | Long | Ritentivo | RW | - | -2147483648÷2147483647 | - | Coefficiente B nella funzione di scaling È il parametro per il quale viene diviso il valore della frequenza rilevato dal blocco “edge detect” nella funzione di scaling. Impostando il parametro a 0 il valore misurato avrà sempre valore 0. |
scaleC | Long | Ritentivo | RW | - | -2147483648÷2147483647 | - | Coefficiente C nella funzione di scaling È il parametro che viene sommato al risultato ottenuto moltiplicando il valore valore della frequenza rilevata dal blocco “edge detect” moltiplicato per il rapporto tra i parametri scaleA e scaleB della funzione di scaling. |
tfilter | Word | Ritentivo | RW | ms | 0÷32767 | - | Costante di tempo del filtro Costante di tempo. nel caso in cui tfilter sia minore o uguale del tempo di campionamento del device viene disattivato il filtro ed il parametro outUmF viene aggiornato con lo stesso valore di outUm. |
par01 | Long | Ritentivo | RW | - | -2147483648÷2147483647 | - | Parametro generico Parametro disponibile per future implementazioni. |
par02 | Long | Ritentivo | RW | - | -2147483648÷2147483647 | - | Parametro generico Parametro disponibile per future implementazioni. |
outfrq | Long | - | R | Hz/100 oppure Hz/1000 | 0÷frqmax | - | Frequenza rilevata È il valore di uscita del blocco “edge detect”. |
outUm | Long | - | R | - | - | - | Valore misurato È il valore della misura cioè il valore di frequenza rilevata passato per la funzione di scaling. |
outUmF | Long | - | R | - | - | - | Valore misurato filtrato È il valore della misura dopo l'applicazione del filtro digitale passa basso. |
outcnt | Long | - | RW | - | - | - | Contatore impulsi È il valore di uscita del blocco “edge counter” e cioè il numero di fronti di salita o discesa (a seconda del parametro capture) rilevati dal blocco “edge detect”. |
outvar | Long | - | RW | - | - | - | Variabile generica Parametro attualmente non implementato. |
errcode | Byte | 0 | R | - | -128÷127 | - | Codice di identificazione errore Indica il tipo di errore intervenuto nel device. Il codice è valido solo se st_error = 1. Per ulteriori informazioni consultare il capitolo dedicato |
errvalue | Byte | 0 | R | - | -128÷127 | - | Codice di identificazione della causa dell'errore Indica la causa dell'errore intervenuto nel device. Il codice è valido solo se st_error = 1. Per ulteriori informazioni consultare il capitolo dedicato |
wrncode | Byte | 0 | R | - | -128÷127 | - | Codice di identificazione warning Indica il tipo di warning intervenuto nel device. Il codice è valido solo se st_warning = 1. Per ulteriori informazioni consultare il capitolo dedicato |
wrnvalue | Byte | 0 | R | - | -128÷127 | - | Codice di identificazione della causa del warning Indica la causa del warning intervenuto nel device. Il codice è valido solo se st_warning = 1. Per ulteriori informazioni consultare il capitolo dedicato |
3. Tabella stati
Nome | Valore di default | Descrizione |
---|---|---|
st_01 | 0 | Stato input Stato dell'ingresso sorgente (linea d'interrupt o numero frequenzimetro). |
st_02 | 0 | Stato generico Parametro disponibile per future implementazioni. |
st_error | 0 | Presenza di un errore Indica lo stato di errore del device, per riconoscere il tipo di errore si deve far riferimento alle variabili errcode ed errvalue: 0: errore non presente, 1: errore presente |
st_warning | 0 | Presenza di un warning Indica lo stato di warning del device, per riconoscere il tipo di warning si deve far riferimento alle variabili wrncode e wrnalue: 0: warning non presente, 1: warning presente |
4. Tabella comandi
Nome | Condizione | Descrizione |
---|---|---|
CMD01 | - | Comando generico Comando disponibile per future implementazioni. |
CMD02 | - | Comando generico Comando disponibile per future implementazioni. |
RSERR | - | Reset dello stato di errore Azzera lo stato st_error. |
RSWRN | - | Reset dello stato di warning Azzera lo stato st_warning. |
5. Errori e allarmi
5.1 Errori
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 | linea di interrupt associata all'ingresso digitale non supportata dall'hardware |
Per mezzo del parametro errvalue è possibile ottenere informazioni più dettagliate riguardo l'errore.
La seguente tabella specifica i valori assunti da errvalue:
errvalue | Descrizione |
---|---|
0 | nessuna informazione riguardo l'errore |
5.2 Allarmi
Quando i parametri del device vengono programmati con valori fuori range essi non vengono accettati e mantengono il loro valore precedente. Il device segnala questa condizione tramite l'attivazione dello stato st_warning. Il device, inoltre, rende disponibili, tramite i valori sui parametri wrncode ed 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 |
Per mezzo del parametro wrnvalue è possibile ottenere informazioni più dettagliate riguardo il warning.
La seguente tabella specifica i valori assunti da wrnvalue:
wrnvalue | Descrizione |
---|---|
0 | nessuna informazione riguardo il warning |