Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente | ||
software:devices:aninp [2017/01/18 16:38] – [7.4. Configurazione] qem103 | software:devices:aninp [2020/07/13 15:01] (versione attuale) – qem103 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | ====== DEVICE ANINP ====== | ||
+ | |||
+ | |||
+ | ====== - 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. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ^: | ||
+ | |||
+ | ===== - Installazione ===== | ||
+ | |||
+ | ==== - Dichiarazione device nella unit di configurazione ==== | ||
+ | |||
+ | Nella unit di configurazione, | ||
+ | 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: | ||
+ | <code QCL> | ||
+ | ; | ||
+ | ; Dichiarazione devices | ||
+ | ; | ||
+ | INTDEVICE | ||
+ | ... | ||
+ | <nome device> | ||
+ | </ | ||
+ | dove: | ||
+ | |<nome 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)| | ||
+ | |||
+ | ^: | ||
+ | |||
+ | ==== - Esempio ==== | ||
+ | |||
+ | <code QCL> | ||
+ | ; | ||
+ | ; Dichiarazione devices | ||
+ | ; | ||
+ | INTDEVICE | ||
+ | AnSensor | ||
+ | </ | ||
+ | |||
+ | ===== - 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, | ||
+ | stato // | ||
+ | La conversione del dato in uscita dal device (// | ||
+ | viene eseguita ricorrendo a dei fattori di scala (// | ||
+ | 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). | ||
+ | |||
+ | ^: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== - Configurazione ==== | ||
+ | |||
+ | Una singolo ingresso può essere gestito da più device ANINP contemporaneamente, | ||
+ | |||
+ | ===== - Comandi e parametri ===== | ||
+ | |||
+ | ==== - 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 | ||
+ | |||
+ | === - 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; | ||
+ | |||
+ | **A**\\ | ||
+ | Indica la modalità di accesso.\\ | ||
+ | R = Read (lettura).\\ | ||
+ | W = Write (scrittura).\\ | ||
+ | RW = Read / Write. | ||
+ | |||
+ | ===== - 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|W|R|RW|Nessuna|**Offset compensation**\\ Offset uscita DAC in bit. Definisce il valore in bit della correzione relativa all' | ||
+ | |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| | ||
+ | |||
+ | ===== - Tabella stati ===== | ||
+ | |||
+ | ^NOME^D^R^A^Condizioni^Descrizione^ | ||
+ | |st_errcfg|F|-|R|Nessuna|**Configuration error**\\ Segnala che è stato rilevato un errore nella configurazione dell' | ||
+ | |||
+ | ===== - Limitazioni ===== | ||
+ | |||
+ | ==== - Scaling ==== | ||
+ | |||
+ | //ScaleB// deve essere impostato diverso da zero, in caso contrario //OutUm// viene forzato a 0. | ||
+ | |||
+ | ==== - 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//. | ||
+ | |||
+ | ==== - Offset ==== | ||
+ | |||
+ | Il parametro //offset// viene sommato allingresso analogico acquisito (// | ||
+ | il controllo sulloverflow della somma. | ||
+ | |||
+ | ==== - Configurazione ==== | ||
+ | |||
+ | ^:info:^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' | ||
+ | |||
+ | Una singola risorsa hardware (ogni singolo ingresso) può essere gestita da più device ANINP | ||
+ | contemporaneamente, | ||
+ | nella dichiarazione del device (file di configurazione), | ||
+ | analogico viene configurato come l' | ||
+ | |||
+ | ===== - Esempio applicativo ===== | ||
+ | |||
+ | ==== - Unit di configurazione ==== | ||
+ | |||
+ | <code QCL> | ||
+ | ; | ||
+ | ; Nome Modulo: Ex_Aninp.CNF | ||
+ | ; Autore: QEM srl Data : 01/05/99 | ||
+ | ; Sistema: QMove1 / QCL3 Libreria: 1LIB3B04 | ||
+ | ; Funzionalità: | ||
+ | ; | ||
+ | ; [1] - Applicativo di esempio per utilizzo device ANINP | ||
+ | ; | ||
+ | ; | ||
+ | ; Definizione Costanti | ||
+ | ; | ||
+ | CONST | ||
+ | ; | ||
+ | ; Definizione Variabili SYSTEM | ||
+ | ; | ||
+ | SYSTEM | ||
+ | slSet1 | ||
+ | slSet2 | ||
+ | ; | ||
+ | ; Definizione Variabili GLOBAL | ||
+ | ; | ||
+ | GLOBAL | ||
+ | ; | ||
+ | ; Definizione Variabili TIMER | ||
+ | ; | ||
+ | TIMER | ||
+ | ; | ||
+ | ; Definizione DATAGROUP | ||
+ | ; | ||
+ | DATAGROUP | ||
+ | |||
+ | ; | ||
+ | | ||
+ | ; | ||
+ | BUS | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | 4 . | ||
+ | | ||
+ | ; | ||
+ | ; Definizione Variabili INPUT | ||
+ | ; | ||
+ | INPUT | ||
+ | |||
+ | ; | ||
+ | ; Definizione Variabili OUTPUT | ||
+ | ; | ||
+ | OUTPUT | ||
+ | ofGTSet1 | ||
+ | ofLTSet2 | ||
+ | |||
+ | ; | ||
+ | ; Dichiarazione device interni | ||
+ | ; | ||
+ | INTDEVICE | ||
+ | ;Nome | ||
+ | Asse ANINP 0004 2.AI01 2 | ||
+ | |||
+ | END | ||
+ | </ | ||
+ | |||
+ | ==== - Gestione ANINP ==== | ||
+ | |||
+ | <code QCL> | ||
+ | ; | ||
+ | ; Nome File: TASK_00.MOD | ||
+ | ; Progetto: EX_ANINP | ||
+ | ; Descrizione: | ||
+ | ; | ||
+ | |||
+ | ; | ||
+ | ; 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: | ||
+ | |||
+ | IF slSet1 EQ 0 | ||
+ | | ||
+ | ENDIF | ||
+ | IF slSet2 EQ 0 | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ; Comparazioni sull' | ||
+ | ; | ||
+ | ; 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 | ||
+ | SETOUT ofGTSet1 | ||
+ | ELSE | ||
+ | RESOUT ofGTSet1 | ||
+ | ENDIF | ||
+ | | ||
+ | IF Asse:outUmF LT slSet2 | ||
+ | SETOUT ofLTSet2 | ||
+ | ELSE | ||
+ | RESOUT ofLTSet2 | ||
+ | ENDIF | ||
+ | |||
+ | WAIT 1 | ||
+ | JUMP MAIN | ||
+ | |||
+ | END | ||
+ | </ | ||
+ | |||