RFiDMWD7xTAGRd, Netronix MW-D7x RFiD TAG read

Home / Knowledge Base / Manualistica / Programmazione IEC 61131-3 / Gestione sentenze NMEA / RFiDMWD7xTAGRd, Netronix MW-D7x RFiD TAG read

Questo blocco funzione permette di gestire il lettore RFiD Netronix MW-D7x connesso in seriale RS485. Attivando Enable è gestito il lettore con indirizzo indicato in Address, sono inviati i comandi indicati nell'array RSSource, in PButton viene ritornato lo stato del tasto. Se un TAG RFiD viene acquisito dl lettore si attiva per un loop TAGAcq ed in TAGCode viene ritornato il codice letto.

Se il TAG rimane nella zona di lettura del lettore viene ciclicamente attivata l'uscita TAGAcq. In caso di errore esecuzione viene attivata per un loop di programma l'uscita Fault ed incrementato il valore in Errors.

Function block
CODESYS: Non disponibile
LogicLab: eLLabIDAuthLib

Enable (BOOL) Abilitazione blocco funzione. Per rieseguire il comando disabilitare e poi riabilitare questo ingresso.

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

RSSource (BOOL[4]) Array di comandi attuabili sul lettore.
RSSource[0]: Comanda l'uscita logica hardware.
RSSource[1]: Comanda l'accensione del LED verde.
RSSource[2]: Comanda l'Accensione del LED blù.
RSSource[3]: Comanda il buzzer.

Fp (eFILEP) Flusso dati stream di connessione al lettore.

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

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

PButton (BOOL) Stato del tasto sul lettore.

TAGAcq (BOOL) Attivo per un loop se TAG RFiD acquisito.

TAGCode (LWORD) Codice letto dal TAG RFiD.

Errors (UDINT) Contatore errori esecuzione.

Trigger di spy

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

Errori

In caso di errore si attiva l'uscita Fault, 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 gestita la ricezione di sentenze NMEA da un dispositivo GPS collegato alla porta seriale di uno SlimLine.

LogicLab (Ptp123)
PROGRAM ST_NMEASInterface
VAR
    Serial : SysSerialPort; (* Serial port management *)
    NMEA : NMEASInterface; (* NMEA sentence interface *)
    GLL : NMEAGLLSentence; (* NMEA GLL sentence decoding *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_NMEASInterface"
// *****************************************************************************
// The program connects to a serial NMEA receiver and receives and decodes the
// NMEA sentences.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // INITIALIZATION
    // -------------------------------------------------------------------------
    // First program execution loop initializations.

    IF (SysFirstLoop) THEN
        Serial.COM:=ADR('COM0'); (* COM port definition *)
        Serial.Baudrate:=9600; (* Baudrate *)
        Serial.Parity:='N'; (* Parity *)
        Serial.DataBits:=8; (* Data bits *)
        Serial.StopBits:=1; (* Stop bits *)
        Serial.DTRManagement:=DTR_AUTO_WO_TIMES; (* DTR management *)
        Serial.DTRComplement:=FALSE; (* DTR complement *)
        Serial.EchoFlush:=FALSE; (* Received echo flush *)
        Serial.DTROnTime:=0; (* DTR On time delay (mS) *)
        Serial.DTROffTime:=0; (* DTR Off time delay (mS) *)
        Serial.FlushTm:=0; (* Flush time (mS) *)
        Serial.RxSize:=0; (* Rx buffer size *)
        Serial.TxSize:=0; (* Tx buffer size *)

        NMEA.SpyOn:=TRUE; //Spy On
        GLL.SpyOn:=TRUE; //Spy On
    END_IF;

    // -------------------------------------------------------------------------
    // NMEA SENTENCE MANAGEMENT
    // -------------------------------------------------------------------------
    // Connect to the NMEA device.

    Serial(Open:=TRUE); //Serial port management

    // Sentence reception.

    NMEA.Enable:=SysFIsOpen(Serial.File); //Enable
    NMEA(File:=Serial.File); //NMEA sentence interface
    GLL(NMEASInterface:=ADR(NMEA)); //NMEA GLL sentence decoding

// [End of file]

Ti è stato utile questo articolo ?