Average, value average

Home / Knowledge Base / Manualistica / Programmazione IEC 61131-3 / Libreria utilità generale / Average, value average

Questo blocco funzione esegue la media su di un valore. L'azione di media è definita da un parametro Coefficient, maggiore è il valore del parametro e maggiore sarà l'azione di media di Value sull'uscita Average.

Function
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

Value (REAL) Valore su cui effettuare l'azione di media.

Coefficent (REAL) Valore del coefficiente di media.

Average (REAL) Valore mediato in uscita.

Esempi

Come utilizzare gli esempi.
Viene eseguita una acquisizione analogica da un ingresso di un modulo CPU con range da 0 a 10 volts. Il valore acquisito è appoggiato nella variabile IValue, il valore viene poi passato al FB VAverage che ne esegue la media con un coefficente di 50. Il valore in uscita dopo la media è appoggiato nella variabile RValue. Come si vede nella foto a lato i due valori sono stati trascinati nella finestra oscillosopio di LogicLab.

LogicLab (Ptp114)
PROGRAM ST_Average
VAR
    AInp : SysGetAnInp; (* Analog input acquisition *)
    VAverage : Average; (* Voltage average *)
    IValue : REAL; (* Input value *)
    RValue : REAL; (* Result value *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_Average"
// *****************************************************************************
// Acquires a voltage from A/D converter and average the acquired value.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // INITIALIZATION
    // -------------------------------------------------------------------------
    // Configure the analog input acquisition.

    IF (SysFirstLoop) THEN
        AInp.Address:=255; //Module address
        AInp.Channel:=0; //Module channel
        AInp.Mode:=AD_VOLT_0_10_COMMON; //Acquisition mode

        VAverage.Coefficient:=50.0; //Average coefficent
    END_IF;

    // -------------------------------------------------------------------------
    // VOLTAGE ACQUISITION
    // -------------------------------------------------------------------------
    // Acquires the voltage and calculates average on it.

    AInp(); //Analog input acquisition
    VAverage(Value:=AInp.Value); //Voltage average
    IValue:=AInp.Value; //Input value
    RValue:=VAverage.Average; //Result value

// [End of file]

Ti è stato utile questo articolo ?