InvtGD20EU, INVT GD20-EU inverter manager

List

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

La serie GD20-EU comprende inverter vettoriali fino a 110kW per usi generali. Questi dispositivi adottano algoritmi di controllo vettoriale sensorless con funzione di tuning statico o dinamico che permette di gestire al meglio anche applicazioni particolarmente gravose.

Questo blocco funzione da eseguire in task Back utilizzabile con modello a cascata, permette di eseguire la gestione dell’inverter GD20-EU tramite connessione Modbus in RS485, è possibile gestire i comandi di marcia ed il set point di frequenza. Vengono ritornate le informazioni di stato dell’inverter.

Panoramica inverter INVT GD20

In MMdb occorre passare l’indirizzo del FB di gestione protocollo Modbus, in Node definire l’indirizzo di nodo assegnato all’inverter. Attivando Enable Se inverter connesso si attiva DReady ed in uscita si avranno i dati acquisiti. Per gestire l’inverter via Modbus dal FB occorre impostare opportunamente alcuni parametri, vedi capitolo Comando da Modbus in questo articolo.

Upgrade list

InvtGD20EU_v1

Utilizza il nuovo blocco funzione ModbusMaster_v2, tutti gli altri parametri rimangono inalterati.

InvtGD20EU_v2

Utilizza il nuovo blocco funzione ModbusMaster_v3, inserito uscita Fault.

InvtGD20EU_v3

Inserito parametri in ingresso:
AOutput (ARRAY[0..1] OF REAL) Impostazione valore analogico in uscita (%)

Inserito parametri in uscita:
OFrequency (REAL) Frequenza in uscita (Hz).
BUSVoltage (REAL) Tensione BUS in continua (V).
OVoltage (REAL) Tensione in uscita (V).
AInput (ARRAY[0..3] OF REAL) Valore analogico in ingresso (%).

Information Circle

Blocco funzione

CODESYS: Non disponibile

LogicLab: eLLabMdbDevsLib

Descrizione

Enable (BOOL) Comando abilitazione gestione.
SpyOn (BOOL) Se attivo permette di spiare il funzionamento del FB (Vedi articolo).
MMdb (@ModbusMaster_v3) Indirizzo istanza FB ModbusMaster per gestione protocollo Modbus.
Node (USINT) Nodo Modbus assegnato al dispositivo. Vedere parametro P14.00 inverter.
CFwD (BOOL) Comando rotazione avanti motore. Occorre avere parametro inverter P00.01=2.
CBkD (BOOL) Comando rotazione indietro motore. Occorre avere parametro inverter P00.01=2.
SFrequency (REAL) Impostazione frequenza di uscita (Hz). Occorre avere parametro inverter P00.06=8.
STorque (REAL) Impostazione limite di coppia su motore (%). Il valore 100% corrisponde alla coppia nominale del motore, il limite massimo è 300%. Per l’utilizzo del limite di coppia vedi descrizione sotto.
AOutput (ARRAY[0..1] OF REAL) Impostazione valore analogico in uscita (%). Verificare parametri inverter P06.14 e P06.15.
Done (BOOL) Esecuzione terminata, rimane attivo fino alla disabilitazione di Enable.
Fault (BOOL) Attiva per un loop di programma se errore esecuzione.
DReady (BOOL) Attivo se comunicazione attiva con driver.
DFault (BOOL) Attivo se inverter in fault (Registro inverter 2100=4).
FwRun (BOOL) Attivo se motore in rotazione avanti.
BkRun (BOOL) Attivo se motore in rotazione indietro.
OFrequency (REAL) Frequenza in uscita (Hz).
BUSVoltage (REAL) Tensione BUS in continua (V).
OCurrent (REAL) Corrente erogata al motore (A).
OVoltage (REAL) Tensione in uscita (V).
MSpeed (REAL) Velocità rotazione motore (RPM).
OPower (REAL) Percentuale di potenza erogata (%).
AInput (ARRAY[0..3] OF REAL) Valore analogico in ingresso (%).
FType (STRING[4]) Tipo di errore, consultare tabella Fault instruction sul manuale.
Errors (UDINT) Numero errori di comunicazione con driver.

Immagine FB InvtGD20EU_v3
Utilizzo inverter con limite di coppia

Impostazione velocità con limite di coppia

In questa configurazione viene impostato il valore di velocità a cui il motore deve ruotare, fissando il limite di coppia erogabile dal motore. Raggiunto il valore impostato la coppia verrà mantenuta adeguando opportunamente la velocità di rotazione.

  • Impostare controllo vettoriale (SVC), P00.00=1.
  • Impostare comando frequenza B da Modbus, P00.06=8.
  • Disabilitare controllo di coppia, si controlla solo il limite, P03.11=0.
  • Impostare limite coppia da Modbus (Registro 16#2007, Il valore impostato non è visibile da tastierino), P03.18=5.
  • Per visualizzare la frequenza impostata da Modbus (Registro 16#2001), P17.00.
  • Per visualizzare frequenza in uscita attuale, P17.01.
  • Per visualizzare coppia attuale erogata dal motore, P17.09.

Impostazione coppia con limite di velocità

In questa configurazione viene impostato il valore di coppia che il motore deve erogare, fissando il limite di velocità di rotazione Orarria/Antioraria. Il motore ruoterà alla velocità necessaria ad erogare la copia impostata. Se non vi è sufficente coppia resistiva si raggiungerà il limite di velocità definito.

  • Impostare controllo vettoriale (SVC), P00.00=1.
  • Abilitare impostazione coppia da Modbus (Registro 16#2004), P03.11=7.
  • Impostare limite di frequenza direzione oraria da Modbus (Registro 16#2005 Il valore impostato non è visibile da tastierino), P03.14=6.
  • Impostare limite di frequenza direzione antioraria da Modbus (Registro 16#2006 Il valore impostato non è visibile da tastierino), P03.15=6.
  • Per visualizzare frequenza in uscita attuale, P17.01.
  • Per visualizzare la coppia impostata da Modbus (Registro 16#2004), P17.15.

Esempi

Come utilizzare gli esempi.
Sono gestiti 2 inverter INVT GD20EU connessi in Modbus. Come  si vede dal programma in FBD i vari FB sono eseguiti in cascata, in questo modo terminata l’esecuzione del primo, viene eseguito il successivo e così di seguito fino all’ultimo che disabilita il primo facendo ripartire la sequenza.

LogicLab (Ptp141, FBD_InvtGD20EU)
PROGRAM FBD_InvtGD20EU
VAR
    Sp : SysSerialPort; (* Serial port management *)
    MMDB : ModbusMaster_v3; (* Modbus master *)
    Driver1 : InvtGD20EU_v3; (* Inverter manager *)
    Driver2 : InvtGD20EU_v3; (* Inverter manager *)
END_VAR
Immagine FBD InvtGD20EU
LogicLab (Ptp141, ST_InvtGD20EU)
PROGRAM ST_InvtGD20EU
VAR
    i : UDINT; (* Auxiliary variable *)
    Sp : SysSerialPort; (* Serial port management *)
    MMdb : ModbusMaster_v3; (* Modbus master *)
    Driver1 : InvtGD20EU_v3; (* Inverter manager *)
    Driver2 : InvtGD20EU_v3;    (* Inverter manager *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_InvtGD20EU"
// *****************************************************************************
// This program.shows the "InvtGD20EU" FB use.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // INITIALIZATION
    // -------------------------------------------------------------------------
    // Program initializations.

    IF (SysFirstLoop) THEN

        // Serial port settings.

        Sp.COM:=ADR('COM2'); //COM port definition
        Sp.Baudrate:=19200; //Baudrate
        Sp.Parity:='E'; //Parity
        Sp.DataBits:=8; //Data bits
        Sp.StopBits:=1; //Stop bits
        Sp.DTRManagement:=DTR_AUTO_WO_TIMES; //DTR management
        Sp.DTRComplement:=FALSE; //DTR complement
        Sp.EchoFlush:=FALSE; //Received echo flush
        Sp.DTROnTime:=0; //DTR On time delay (mS)
        Sp.DTROffTime:=0; //DTR Off time delay (mS)
        Sp.FlushTm:=0; //Flush time (mS)
        Sp.RxSize:=0; //Rx buffer size
        Sp.TxSize:=0; //Tx buffer size

        // Modbus master settings.

        MMdb.Type:=MODBUS_PROTOCOL#MDB_RTU; //Modbus protocol type
        MMdb.Timeout:=T#1s; //Timeout time
        MMdb.Delay:=T#100ms; //Delay time

        Driver1.Node:=1; //Inverter node    
        Driver1.MMdb:=ADR(MMdb); //ModbusMaster pointer

        Driver2.Node:=2; //Inverter node    
        Driver2.MMdb:=ADR(MMdb); //ModbusMaster pointer
    END_IF;

    // -------------------------------------------------------------------------
    // DRIVER MANAGEMENT
    // -------------------------------------------------------------------------
    // Manage the Modbus communication.

    Sp(Open:=TRUE); //Serial port management
    MMdb.File:=Sp.File; //File pointer    
    MMdb(); //Modbus master

    // Manages the drivers.

    Driver1(Enable:=NOT(Driver2.Done)); //Inverter
    Driver2(Enable:=(Driver1.Done)); //Inverter

// [End of file]
Was this article helpful?