StrainGaugeAcq, strain gauge acquisition

  1. Home
  2. Knowledge Base
  3. Manualistica
  4. Programmazione IEC 61131-3
  5. Gestione periferiche
  6. StrainGaugeAcq, strain gauge acquisition

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.

Function block
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

Enable (BOOL) Abilitazione blocco funzione.

DoOfsCalibration (BOOL) Comando calibrazione offset.

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

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.

Errori

In caso di errore eseguendo immediatamente dopo la funzione SysGetLastError è possibile rilevare il codice di errore. Fare riferimento alla tabella seguente per la descrizione.

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

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 23 Settembre 2019