Baustein Verwendung

Eine effektivere Auswertung der empfangenen Daten können Sie mit folgenden Anweisungen erreichen:

Deklarationen:

fbRFIDReader        : FB_RFIDReader     := (eManufacturer       := eRFRM_Balluff);
sTranspSerialNumber     : STRING;

bBusy           : BOOL;
bError          : BOOL;
iErrorID            : UINT;
iErrCodeRcv         : UINT;

stTranspInfo        : ST_RFID_TranspInfo;

eErrorID            : E_RFID_ErrID;
eErrCodeRcv         : E_RFID_ErrCodeRcv_Balluff;

fbTriggerResponse           : R_TRIG;
arrRspRcv               : ARRAY[0..99] OF BYTE;

Programmablauf:

fbRFIDReader(
    bExecute        := FALSE,

    RxBuffer        := RxBuffer,
    TxBuffer        := TxBuffer,

    bBusy       => bBusy,
    bError      => bError,
    iErrorID        => iErrorID,
    iErrCodeRcv     => iErrCodeRcv
);
(* convert Error Codes *)
eErrorID        := UINT_TO_INT(iErrorID);
eErrCodeRcv     := UINT_TO_INT(iErrCodeRcv);

fbTriggerResponse(CLK := fbRFIDReader.bResponseRcv);
IF (fbTriggerResponse.Q)  THEN
    stTranspInfo        := fbRFIDReader.stTranspInfo;
    sTranspSerialNumber     := stTranspInfo.sSerialNumber;      (* detected RFID Tag Serial Number *)

    MEMSET(ADR(arrRspRcv), 0 , SIZEOF(arrRspRcv) );
    MEMCPY(ADR(arrRspRcv), fbRFIDReader.stRawData.pReceivedRsp, MIN(fbRFIDReader.stRawData.iReceivedRspLen, SIZEOF(arrRspRcv)) );
END_IF


Empfangene Fehlercodes können online als Enumeratonswert dargestellt werden, indem die Integer Variablen iErrorID und iErrCodeRcv direkt zugewiesen werden.
Mit Hilfe eines Triggers werden weitere Daten nur ausgewertet, falls eine neue Nachricht empfangenen wird.
Ihre String Variable sTranspSerialNumber gibt nun immer die Seriennummer des zuletzt detektierten Transponders wieder. Diese ist in diesem Fall ebenso am Funktionsbausteinausgang fbRFIDReader.stTranspInfo.sSerialNumber zu sehen.
Weitere Informationen können je nach Anwendung von den Ausgängen des Funktionsbausteines übernommen werden.

Um eine empfangene Nachricht als komplette Bytefolge anzuzeigen, nutzen Sie beispielsweise die MEMCPY Funktion und kopieren die Rohdaten in ihr deklariertes Bytearray.

Jede Meldung Ihres RFID Readers wird nun empfangen und in obiger Weise ausgewertet.

nächste Tutorial-Seite