HWgHTemp485, HWgroup HTemp-485 acquisition

Home / Knowledge Base / Manualistica / Programmazione IEC 61131-3 / Libreria utilità generale / HWgHTemp485, HWgroup HTemp-485 acquisition

Questo blocco funzione gestisce la lettura dei sensori di temperatura ed umidità HTemp-485 della HW group con il protocollo seriale RS485. Occorre passare alla FB in File il puntatore allo stream di comunicazione con il dispositivo.

Attivando l'ingresso Enable viene effettuata la lettura dei valori di temperatura ed umidità dal dispositivo indirizzato in Address, terminata l'esecuzione si attiva l'uscita Done. Se il comando ha avuto esito positivo si attiva l'uscita Ok, in caso contrario si attiva l'uscita Fault. Per eseguire nuovamente il comando occorre disabilitare e riabilitare l'ingresso Enable. L'ingresso SpyOn se attivo permette di spiare il funzionamento della FB.

Il blocco funzione è realizzato per permetterne la connessione in cascata, è possibile connettere al Done di un FB l'Enable di un'altro e così di seguito condividendo lo stesso stream di comunicazione.

Function block
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

Enable (BOOL) Comando abilitazione acquisizione sensore. Per rieseguire il comando disabilitare e poi riabilitare questo ingresso.

SpyOn (BOOL) Se attivo permette di spiare il funzionamento della FB (Vedi articolo).

File (eFILEP) Flusso dati stream da utilizzare per la comunicazione.

Address (STRING[1]) Indirizzo sensore, è posibile acquisire in multidrop fino a 25 sensori con indirizzo da A a Z escluso T.

Delay (REAL) Tempo di pausa dopo l'esecuzione del comando espresso in S.

Done (BOOL) Si attiva al termine della esecuzione comando e rimane attiva fino alla disabilitazione di Enable.

Ok (BOOL) Attivo per un loop se esecuzione comando corretta.

Fault (BOOL) Attivo per un loop se errore esecuzione comando.

Errors (UDINT) Numero di errori, incrementato ad ogni nuovo errore, raggiunto valore massimo riparte da 0.

Temperature (REAL) Valore di temperatura (°C).

Humidity (REAL) Valore umidità (%).

Trigger di spy

Se SpyOn attivo  è possibile utilizzare la console di spionaggio per verificare il funzionamento della FB. Sono previsti vari livelli di triggers.

Esempi

Come utilizzare gli esempi.
Nell'esempio è gestita l'acquisizione di un sensore HTem-485 con indirizzo "E" (Indirizzo di default), connesso alla porta seriale RS485.

LogicLab (Ptp114)
PROGRAM ST_HWgHTemp485
VAR
    Sp : SysSerialPort; (* Serial port *)
    Sensor : HWgHTemp485; (* HTemp sensor *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_HWgHTemp485"
// *****************************************************************************
// A HWgroup HTemp-485 sensor connected to the COM2 serial port is acquired.
// -----------------------------------------------------------------------------

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

    IF (SysFirstLoop) THEN

        // Serial port settings.

        Sp.COM:=ADR('COM2'); //COM port definition
        Sp.Baudrate:=9600; //Baudrate
        Sp.Parity:='N'; //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

        // HTemp sensor settings.

        Sensor.SpyOn:=TRUE; //Spy On    
        Sensor.Address:='E'; //Sensor address    
        Sensor.Delay:=1.0; //Delay time (S)    
    END_IF;

    // -------------------------------------------------------------------------
    // SENSOR ACQUISITION
    // -------------------------------------------------------------------------
    // Sensor acquisition.

    Sp(Open:=TRUE); //Serial port management
    Sensor.File:=Sp.File; //File pointer    
    Sensor(); //HTemp sensor
    Sensor.Enable:=Sp.Opened AND NOT(Sensor.Done); //Acquisition enable    

// [End of file]

Ti è stato utile questo articolo ?