DEVICE ANINP
1. Introduzione
-
Il device gestisce la lettura ed elaborazione di un ingresso analogico.
-
Il dato letto è una word a 16 bit con segno alla quale è possibile sommare un offset, inserire un fattore di scala ed attivare un filtro software passa basso del tipo RC.
-
Le specifiche di risoluzione dellingresso vengono riportate nel fascicolo hardware della scheda.
I cablaggi e collegamenti dellapparecchiatura descritta nel presente manuale, devono rispettare la Normativa Europea EN60204-1.
Nota: Le specifiche di risoluzione dell'ingresso sono riportare nel fascicolo con la descrizione hardware della scheda (o dello strumento) che si sta utilizzando. |
---|
1.1 Installazione
1.1.1 Dichiarazione device nella unit di configurazione
Nella unit di configurazione, la sezione BUS deve essere dichiarata in modo tale che siano
presenti le risorse hardware necessarie allimplementazione del device ANINP. Deve essere presente
almeno un ingresso analogico con risoluzione massima di 16 bit.
Nella sezione INTDEVICE della unit di configurazione deve essere aggiunta la seguente definizione:
;--------------------------------- ; Dichiarazione devices ;--------------------------------- INTDEVICE ... <nome device> ANINP Tcamp IChn Type
dove:
<nome device> | Nome assegnato al device |
NINP | Parola chiave che identifica il device ingresso analogico |
Tcamp | Tempo campionamento device (1÷255 ms) |
IChn | indirizzo ingresso ADC |
Type | Numero indentificativo tipo di ingresso (fare riferimento alla scheda tecnica hardware) |
Attenzione: è necessario che tutte le voci di definizione siano presenti sulla stessa linea. |
---|
1.1.2 Esempio
;--------------------------------- ; Dichiarazione devices ;--------------------------------- INTDEVICE AnSensor ANINP 2 2.AI01 1
1.2 Funzionamento
Allaccensione del sistema, il device controlla la corretta dichiarazione del tipo di ingresso da utilizzare, definito nella unit di configurazione (Type). Se la diagnostica del canale si conclude con successo, viene eseguito laggiornamento dei dati sulla base del tempo di campionamento. Nel caso vengano riscontrati errori o imprecisioni, lo stato st_errcfg viene impostato a uno ed il valore della variabile outbit viene forzato a zero. La conversione del dato in uscita dal device (outbit), nellunità di misura necessaria per lapplicazione, viene eseguita ricorrendo a dei fattori di scala (scaleA, scaleB e scaleC) secondo la formula:
outUm = (scaleA x outbit / scaleB) + scaleC
Oltre a questa uscita aggiornata sulla base del tempo di campionamento del device, è disponibile luscita outUmF, filtrata con un tempo di carica tfilter programmabile (espresso in ms).
Questa funzionalità permette di filtrare eventuali disturbi e fluttuazioni sovrapposte al segnale utile con la possibilità di personalizzare il tempo di carica del filtro (tfilter). |
---|
1.2.1 Configurazione
Una singolo ingresso può essere gestito da più device ANINP contemporaneamente, a condizione che il numero identificativo dell'ingresso Type, inserito nella dichiarazione del device, sia uguale; in caso contrario l'ingresso analogico viene configurato come l'ultimo device dichiarato nel file di configurazione.
1.3 Comandi e parametri
1.3.1 Simbologia adottata
Il nome del parametro, stato o comando viene riportato alla sinistra della tabella.
R
Indica se il relativo parametro o stato è ritentivo (al momento dellinizializzazione del device
mantiene lo stato precedentemente definito), oppure lo stato che assume al momento
dellinizializzazione del device.
Se il device non necessita di inizializzazione il campo R indica il valore che il parametro o stato
assume allaccensione della scheda.
R = Ritentivo
0 = Al momento dellinizializzazione del device il valore viene forzato a zero.
1 = Al momento dellinizializzazione del device il valore viene forzato a uno.
- = Al momento dellinizializzazione del device viene presentato il valore significativo.
D
Indica la dimensione del parametro.
F = Flag
B = Byte
W = Word
L = Long
S = Single Float
1.3.1.1 Condizioni
Vengono descritte tutte le condizioni necessarie affinché il parametro sia considerato corretto
o perché il comando venga accettato.
In alcuni casi vengono specificati dei valori limite per laccettazione del parametro: se vengono
introdotti dei valori esterni ai limiti impostati, il dato viene comunque accettato; pertanto devono
essere previsti opportuni controlli dellapplicativo tali da garantire il corretto funzionamento.
Per lesecuzione di un comando, tutte le relative condizioni devono necessariamente essere
soddisfatte; in caso contrario il comando non viene eseguito.
A
Indica la modalità di accesso.
R = Read (lettura).
W = Write (scrittura).
RW = Read / Write.
1.4 Tabella parametri
NOME | D | R | A | Condizioni | Descrizione |
---|---|---|---|---|---|
outbit | W | - | R | Nessuna | Output measure in bits Valore letto dal canale di ingresso compensato dell'Offset. Range valido: 0 ÷ 32767 |
offset | W | R | RW | Nessuna | Offset compensation Offset uscita DAC in bit. Definisce il valore in bit della correzione relativa all'ingresso analogico in modo da compensare l'eventuale deriva del sistema. Range valido: -32768 ÷ 32767 |
scaleA | W | R | RW | Nessuna | Scale A Valore intero parametro A formula di scaling. Range valido: -32768 ÷ 32767 |
scaleB | W | R | RW | Nessuna | Scale B Valore parametro B utilizzato nella formula di scaling. Deve essere necessariamente diverso da zero. Range valido: -32768 ÷ 32767 |
scaleC | W | R | RW | Nessuna | Scale C Valore parametro C utilizzzato nella formula di scaling. Range valido: -32768 ÷ 32767 |
outUm | L | - | R | Nessuna | Output measure in unity Uscita derivata dalla formula di scaling. Range valido: -32768 ÷ 32767 |
tfilter | W | R | RW | Nessuna | Filter time Tempo di carica del filtro RC. Se tfilter < = Tcamp device, il filtro è disattivato. Valore espresso in unità ms. Range valido: 0 ÷ 32767 |
outUmF | L | - | R | Nessuna | Filtered output in unity of measure Uscita in unità di misura, filtrata. Range valido: -32768 ÷ 32767 |
1.5 Tabella stati
NOME | D | R | A | Condizioni | Descrizione |
---|---|---|---|---|---|
st_errcfg | F | - | R | Nessuna | Configuration error Segnala che è stato rilevato un errore nella configurazione dell'ingresso. 0 = Non è stato rilevato nessun errore. 1 = È stato rilevato un errore. |
1.6 Limitazioni
1.6.1 Scaling
ScaleB deve essere impostato diverso da zero, in caso contrario OutUm viene forzato a 0.
1.6.2 Filtro
Il tempo di carica del filtro RC tfilter deve essere impostato maggiore o uguale al tempo di campionamento del device (Tcamp), in caso contrario viene disattivato il filtro ed il parametro OutUmF viene aggiornata con lo stesso valore di OutUm.
1.6.3 Offset
Il parametro offset viene sommato allingresso analogico acquisito (outbit), non viene eseguito il controllo sulloverflow della somma.
1.6.4 Configurazione
Nel caso che un singolo canale venga gestito da più device ANINP aventi Type diversi, il compilatore non rileva errori e il canale viene impostato con l'ultimo Type dichiarato. |
---|
Una singola risorsa hardware (ogni singolo ingresso) può essere gestita da più device ANINP contemporaneamente, a condizione che il numero identificativo dell'ingresso (Type), inserito nella dichiarazione del device (file di configurazione), sia uguale; in caso contrario l'ingresso analogico viene configurato come l'ultimo device dichiarato nel file di configurazione.
1.7 Esempio applicativo
1.7.1 Unit di configurazione
;************************************************************************************* ; Nome Modulo: Ex_Aninp.CNF Progetto: Ex_ANINP ; Autore: QEM srl Data : 01/05/99 ; Sistema: QMove1 / QCL3 Libreria: 1LIB3B04 ; Funzionalità: Esempio gestione ANINP Release: 0 ;------------------------------------- Note ------------------------------------------ ; [1] - Applicativo di esempio per utilizzo device ANINP ;************************************************************************************* ;------------------------------------------------------------------------------------- ; Definizione Costanti ;------------------------------------------------------------------------------------- CONST ;------------------------------------------------------------------------------------- ; Definizione Variabili SYSTEM ;------------------------------------------------------------------------------------- SYSTEM slSet1 L ;Setpoint 1 slSet2 L ;Setpoint 2 ;------------------------------------------------------------------------------------- ; Definizione Variabili GLOBAL ;------------------------------------------------------------------------------------- GLOBAL ;------------------------------------------------------------------------------------- ; Definizione Variabili TIMER ;------------------------------------------------------------------------------------- TIMER ;------------------------------------------------------------------------------------- ; Definizione DATAGROUP ;------------------------------------------------------------------------------------- DATAGROUP ;-------------------------------------------------------------------------------------; Configurazione Bus ;------------------------------------------------------------------------------------- BUS 1 1CPUB 02 2 1AI8B 00 3 1MIXA 00 4 . ;------------------------------------------------------------------------------------- ; Definizione Variabili INPUT ;------------------------------------------------------------------------------------- INPUT ;------------------------------------------------------------------------------------- ; Definizione Variabili OUTPUT ;------------------------------------------------------------------------------------- OUTPUT ofGTSet1 F 3.OUT01 ;Segnalazione superamento setpoint 1-> ofLTSet2 F 3.OUT02 ;Segnalazione superamento setpoint 2<- ;------------------------------------------------------------------------------------- ; Dichiarazione device interni ;------------------------------------------------------------------------------------- INTDEVICE ;Nome Tipo TCamp Contatore Type Asse ANINP 0004 2.AI01 2 END
1.7.2 Gestione ANINP
;************************************************************************************* ; Nome File: TASK_00.MOD ; Progetto: EX_ANINP ; Descrizione: Gestione Posizionamento ;************************************************************************************* ;------------------------------------------------------------------------------------- ; Operazioni di Inizializzazione Asse ;------------------------------------------------------------------------------------- Asse:offset = 0 ;Tensione di offset ;------------------------------------------------------------------------------------- ; Fattore di scala: (scaleA * outbit / scaleB) + scaleC ; outUm minima = (4 * 0 / 8 ) + 3 = 3 ; outUm massima = (4 * 4095 / 8) + 3 = 2050 ;------------------------------------------------------------------------------------- Asse:scaleA = 4 ;Fattore di scala A Asse:scaleB = 8 ;Fattore di scala B Asse:scaleC = 3 ;Fattore di scala C Asse:tfilter = 10 ;Tempo del filtro di acquisizione IF slSet1 EQ 0 slSet1 = 1500 ENDIF IF slSet2 EQ 0 slSet2 = 300 ENDIF ;------------------------------------------------------------------------------------- ; Comparazioni sull'ingresso analogico ;------------------------------------------------------------------------------------- ; Variabili utilizzate ; slSet1 : Quota di comparazione per uscita ofGTSet1 (da impostare con Qview) ; slSet2 : Quota di comparazione per uscita ofLTSet2 (da impostare con Qview) ;------------------------------------------------------------------------------------- MAIN: IF Asse:outUmF GT slSet1 ;Se l'ingresso analogico è > del setpoint 1 SETOUT ofGTSet1 ;Attiva l'uscita ofGTSet1 ELSE RESOUT ofGTSet1 ;Disattiva l'uscita ofGTSet1 ENDIF IF Asse:outUmF LT slSet2 ;Se l'ingresso analogico è < del setpoint 2 SETOUT ofLTSet2 ;Attiva l'uscita ofLTSet2 ELSE RESOUT ofLTSet2 ;Disattiva l'uscita ofLTSet2 ENDIF WAIT 1 JUMP MAIN END