StrainGaugeAcq, strain gauge acquisition

List

Questa pagina fa parte del Manuale Programmazione IEC 61131-3. Vai all indice.

Questo blocco funzione gestisce l’acquisizione da dispositivi strain gauge, all’interno viene gestito l’FB di acquisizione analogica SysGetAnInp per acquisire l’ingresso analogico di lettura strain gauge. In Address e Channel vanno definiti indirizzo ed il canale del modulo analogico di acquisizione. In Mode occorre definire il modo di acquisizione approppriato allo strain gauge da acquisire.

E’ importante effettuare la taratura della acquisizione (I valori di taratura sono memorizzati nelle variabili OfsCalibration e FSCalibration). Per la taratura dell’offset collegare lo strain gauge e senza nessun peso applicato attivare per un loop DoOfsCalibration. Per la taratura del fondo scala applicare allo strain gauge un peso il più possibile prossimo al valore di fondo scala. Il valore del peso applicato va definito in FSReference, dopo un tempo di stabilizzazione lettura peso attivare per un loop DoFSCalibration.

In Mode occorre scegliere un guadagno il più alto possibile, ma facendo in modo che: (SGaugeRatio x Power x Mode) < Power dove Power è la tensione di alimentazione dello strain gauge. Esempio: strain gauge alimentato a 5V e con SGaugeRatio = 2mV/V. Scegliendo Mode = AD_VIN_VREF_G_128 si avrà (2mV/V * 5V * 128) = 1280mV quindi ben sotto i 5V e quindi ok.

In FilterCf è possibile definire un coefficente di filtro sulla acquisizione del peso, più il valore è grande e più il valore di peso è filtrato. Con 0, non c’è filtro lasciando la possibilità di inserire un proprio filtro personalizzato esterno.

Information Circle

Blocco funzione

CODESYS: Non disponibile

LogicLab: eLLabUtyLib

Descrizione

Enable (BOOL) Abilitazione blocco funzione.
DoFSCalibration (BOOL) Comando calibrazione fondo scala.
Address (USINT) Occorre specificare l’indirizzo di modulo da cui eseguire l’acquisizione dello strain gauge (Range da 0 a 15). Il valore 0 indica il primo modulo di estensione, 1 il secondo e così di seguito.
Channel (USINT) Occorre specificare l’indirizzo del canale sul modulo (Range da 0x00 a 0x0F).
Mode (AI_MODE) Occorre specificare il modo di acquisizione analogica (Definizione). Sono utilizzabili solo i modi AD_VIN_VREF_G_x.
FilterCf (REAL) Valore del coefficiente di filtro acquisizione (Nr).
FSReference (REAL) Valore riferimento utilizzato per la taratura del fondo scala dello strain gauge (Nr).
SGaugeFullScale (REAL) Valore di fondo scala dello strain gauge (Caratteristica dello strain gauge) (Nr).
SGaugeRatio (REAL) Valore del rapporto mv/V dello strain gauge (Caratteristica dello strain gauge) (Nr).
OfsCalibration (@REAL) Indirizzo variabile di appoggio valore di calibrazione offset (Deve essere RETAIN).
FSCalibration (@REAL) Indirizzo variabile di appoggio valore di calibrazione fondo scala (Deve essere RETAIN).
Enabled (BOOL) Blocco funzione abilitato.
Done (BOOL) Dato acquisito, viene attivato al termine della acquisizione strain gauge.
Fault (BOOL) Errore di acquisizione, viene attivato in caso di errore nella sequenza di acquisizione.
Value (REAL) Ritorna il valore di acquisizione espresso nella unità utilizzata per definire FSReference e SGaugeFullScale.

Immagine FB StrainGaugeAcq
Collegamento StrainGauge su PCB126

Gli ingressi a cui è collegato lo strain gauge devono essere configurati per acquisizione 0-1V come da schema a lato. Il FB utilizza il modo di acquisizione VIn/VRef, l’ingresso Ai03 è specializzato per l’acquisizione di VRef, deve essere configurato per acquisizione 0-1V e connesso all’alimentazione dello strain gauge (Non può essere utilizzato per altre acquisizioni). L’ingresso di VRef è unico per tutti i canali, quindi se sono acquisiti più strain gauges devono avere tutti la stessa alimentazione.

Connessioni StrainGauge su PCB126

L’ingresso utilizzato dal FB per l’acquisizione dello strain gauge (Acquisizione VIn/VRef) e l’ingresso Ai03, anche se configurati per acquisizione 0-1V possono acquisire tensioni fino a 5V. I canali non utilizzati per l’acquisizione dello strain gauge possono essere configurati ed utilizzati per tuti gli altri tipi di acquisizione.

Errori

In caso di errore eseguendo immediatamente dopo la funzione SysGetLastError è possibile rilevare il codice di errore.

Esempi

Come utilizzare gli esempi.
Viene acquisita una cella di carico con fondo scala da 20 Kg e 1.956 mv/V. La cella viene tarata con un peso di riferimento da 400 grammi. Per la calibrazione agire da debug sui segnali DoOfsCalibration e DoFSCalibration attenzione alla definizione delle variabili OfsCalibration e FSCalibration che devono essere definite RETAIN (Nell’esempio per semplicità non lo sono). In Value viene ritornato il peso acquisito, avendo definito SGaugeFullScale in Kg il peso verrà ritornato in Kg.

LogicLab (Ptp114)
PROGRAM FBD_StrainGaugeAcq
VAR
     SGAcq : StrainGaugeAcq; (* Strain gauge acqisition *)
     OfsCalibration : REAL; (* Offset calibration buffer *)
     FSCalibration : REAL; (* Full scale calibration buffer *)
END_VAR 
Immagine POU FBD StrainGaugeAcq
Was this article helpful?