RFiDMWD7xTAGRd, Netronix MW-D7x RFiD TAG gelesen

Liste

Diese Seite ist Teil der IEC 61131-3 Programmierhandbuch. Gehen Sie zum Index.

Dieser Funktionsbaustein aus Ausführen in Aufgabe Zurück nutzbar mit Wasserfall-Modell, ermöglicht Ihnen die Verwaltung des Players RFiD Netronix MW-D7x seriell RS23 oder RS485 angeschlossen. Durch Aktivierung Enable der Leser mit der in angegebenen Adresse Address, werden die im Array angegebenen Befehle gesendet RSSourcein PButton Der Schlüsselstatus wird zurückgegeben. Wenn ein RFiD-TAG vom Lesegerät erfasst wird, wird es für eine Schleife aktiviert TAGAcq ed in TAGCode Der gelesene Code wird zurückgegeben.

Bleibt der TAG im Lesebereich des Readers, wird der Ausgang zyklisch aktiviert TAGAcq. Im Falle eines Ausführungsfehlers wird der Ausgang für eine Programmschleife aktiviert Fault und erhöhte den Wert in Errors.

Informationskreis

Funktionssperre

CODESYS: nicht verfügbar

LogikLab: eLLabIDAuthLib

Beschreibung

Enable (BOOL) Funktionssperre aktivieren. Um den Befehl erneut auszuführen, deaktivieren Sie diesen Eingang und aktivieren Sie ihn erneut.
SpyOn (BOOL) Wenn aktiv, können Sie den Betrieb der FB ausspionieren (Siehe Artikel).
RSSource (BOOL[4]) Array von Befehlen, die auf dem Lesegerät implementiert werden können.
RSSource[0]: Steuert den Hardware-Logikausgang.
RSSource[1]: Steuert das Aufleuchten der grünen LED.
RSSource[2]: Befiehlt das Einschalten der blauen LED.
RSSource[3]: Den Summer steuern.
Fp (eFILEP) Datenstrom Verbindungsstrom zum Lesegerät.
Done (BOOL) Es wird am Ende der Befehlsausführung aktiviert und bleibt bis zur Deaktivierung von Enable.
Fault (BOOL) Aktiv für eine Schleife bei einem Fehler bei der Befehlsausführung.
PButton (BOOL) Status des Schlüssels am Leser.
TAGAcq (BOOL) Aktiv für eine Schleife, wenn RFiD-TAG erfasst wurde.
TAGCode (LWORD) Code vom RFiD-TAG gelesen.
OKCounter (UDINT) Zähler für erfolgreiche Ausführungen.
Errors (UDINT) Ausführungsfehlerzähler.

Bild FB RFiDMWD7xTAGRd

Auslöser ausspionieren

Se SpyOn Aktiv können Sie verwenden, um die Spionagekonsole zu verwenden, um die Funktion des FB zu überprüfen. Es gibt verschiedene Ebenen von Triggern.

Auslösepegel
AuslösenBeschreibung
16 # 00000001Tx: Frame an Leser gesendet
16 # 00000002Rx: Frame vom Reader empfangen.
16 # 10000000Lg: Protokollinformationen
16 # 40000000Er: Ausführungsfehler.

Beispiele

Verwendung der Beispiele.
Ein TAG-Lesegerät, das an die definierte serielle Schnittstelle angeschlossen ist, wird verwaltet.

LogicLab (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]
War dieser Artikel hilfreich?