Lectura RFiDMWD7xTAGRd, Netronix MW-D7x RFiD TAG

Lista

Esta página es parte del Manual de programación IEC 61131-3. Ir al índice.

Este bloque de funciones de ejecutar en tarea Atrás utilizable con modelo de cascada, le permite administrar el jugador RFID Netronix MW-D7x conectado en serie RS23 o RS485. Al activar Enable el lector con la dirección indicada en Address, se envían los comandos indicados en la matriz RSSourceen PButton se devuelve el estado de la clave. Si el lector adquiere un RFiD TAG, se activa para un bucle TAGAcq y en TAGCode se devuelve el código leído.

Si el TAG permanece en el área de lectura del lector, la salida se activa cíclicamente TAGAcq. En caso de error de ejecución, la salida se activa para un bucle de programa. Fault y aumentó el valor en Errors.

Círculo de información

Función de bloqueo

CÓDIGOS: indisponible

Laboratorio lógico: elLAbIDAuthLib

Descripción

Enable (BOOL) Habilitación del bloqueo de funciones. Para volver a ejecutar el comando, deshabilite y luego vuelva a habilitar esta entrada.
SpyOn (BOOL) Si está activo, te permite espiar el funcionamiento del FB (Ver artículo).
RSSource (BOOL[4]) Conjunto de comandos que se pueden implementar en el lector.
RSSource[0]: Comanda la salida lógica del hardware.
RSSource[1]: Manda el encendido del LED verde.
RSSource[2]: Ordena el encendido del LED azul.
RSSource[3]: Controla el zumbador.
Fp (eFILEP) Flujo de conexión del flujo de datos al lector.
Done (BOOL) Se activa al final de la ejecución del comando y permanece activo hasta que se deshabilita Enable.
Fault (BOOL) Activo para un bucle si hay un error de ejecución del comando.
PButton (BOOL) Estado del botón en el lector.
TAGAcq (BOOL) Activo para un bucle si se adquiere RFiD TAG.
TAGCode (LWORD) Código leído de la ETIQUETA RFiD.
OKCounter (UDINT) Contador de ejecuciones exitosas.
Errors (UDINT) Contador de errores de ejecución.

Imagen FB RFiDMWD7xTAGRd

Disparador espía

Se SpyOn active se puede utilizar para utilizar la consola de espionaje para comprobar el funcionamiento del FB. Hay varios niveles de factores desencadenantes.

Niveles de activación
DesencadenarDescripción
16 00000001 #Tx: Marco enviado al lector
16 00000002 #Rx: Fotograma recibido por el lector.
16 10000000 #Lg: Información de registro
16 40000000 #Er: Error de ejecución

Ejemplos

Cómo utilizar los ejemplos..
Se gestiona un lector de TAG conectado al puerto serie definido.

Laboratorio lógico (Ptp202, ST_RFiDMWD7xTAGRd)
PROGRAM ST_RFiDMWD7xTAGRd
VAR
    TagReaded : BOOL; (* TAG has been readed *)
    TimeBf : ARRAY[0..1] OF UDINT; (* Time buffer (mS) *)
    Sp : SysSerialPort; (* Serial port management *)
    Reader : RFiDMWD7xTAGRd; (* RFiD reader *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_RFiDMWD7xTAGRd"
// *****************************************************************************
// This program manages a TAG reader connected to serial port.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // INITIALIZATION
    // -------------------------------------------------------------------------

    IF (SysFirstLoop) THEN

        // Serial port settings.

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

        // Reader settings.

        Reader.SpyOn:=TRUE; //Spy On
        Reader.Address:=1; //Module address
        Reader.Delay:=T#100ms; //Delay time
    END_IF;

    // -------------------------------------------------------------------------
    // TAG READER MANAGEMENT
    // -------------------------------------------------------------------------
    // Is managed the TAG reader.

    Sp(Open:=TRUE); //Serial port management
    Reader.Enable:=Sp.Opened AND NOT(Reader.Done); //FB enable
    Reader(Fp:=Sp.File); //File pointer

    // When TAG is readed the code is stored and buzzer ring.
    // Please note when buzzer rings the reader still return the code read even
    // if the TAG is not present.  To overtake this behaviour two timers have
    // been used.

    IF (Reader.TAGAcq) THEN
        TimeBf[0]:=SysTimeGetMs(); //Time buffer (mS)
        TimeBf[1]:=SysTimeGetMs(); //Time buffer (mS)

        IF NOT(TagReaded) THEN TagReaded:=TRUE; Reader.RSSource[3]:=TRUE; END_IF;
    END_IF;

    // After a time stop the buzzer and reset readed flag.

    IF ((SysTimeGetMs()-TimeBf[0]) > TO_UDINT(T#100ms)) THEN Reader.RSSource[3]:=FALSE; END_IF;
    IF ((SysTimeGetMs()-TimeBf[1]) > TO_UDINT(T#500ms)) THEN TagReaded:=FALSE; END_IF;

// [End of File]
¿Le resultó útil este artículo?