F_VN_ReadQRCode

F_VN_ReadQRCode 1:

Detect and interpret a QR code within the provided image. Can be canceled by Watchdog.

Syntax

Definition:

FUNCTION F_VN_ReadQRCode : HRESULT
VAR_INPUT
    ipSrcImage    : ITcVnImage;
    ipDecodedData : Reference To ITcVnContainer;
    hrPrev        : HRESULT;
END_VAR

F_VN_ReadQRCode 2: Inputs

Name

Type

Description

ipSrcImage

ITcVnImage

Source image (USINT elements, 1 channel or 3 channel (3 channel input is expected to be RGB and internally converted to Gray))

ipDecodedData

Reference To ITcVnContainer

Returns the decoded code (ContainerType_Vector_String_SINT)

hrPrev

HRESULT

HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.)

F_VN_ReadQRCode 3: Return value

HRESULT

Weiterführende Informationen

Der QR-Code (Quick-Response-Code) nach IEC 18004 ist ein 2D-Code, welcher in Deutschland besonders im Bereich des Mobile Tagging verbreitet ist. Durch die Möglichkeit Kanji/Kana-Zeichen zu codieren, hat sich der QR-Code im asiatischen Raum auch in der Industrie etabliert.

Die Funktion F_VN_ReadQRCode kann diesen Codetyp im Bild erkennen und dekodieren. Dabei wird von einem Code pro Bild ausgegangen.

QR-Code Aufbau

F_VN_ReadQRCode 4:

1.

F_VN_ReadQRCode 5:

Positionsmarkierungen

2.

F_VN_ReadQRCode 6:

Ausrichtungsmarkierung

3.

F_VN_ReadQRCode 7:

Synchronisationsreihen

4.

F_VN_ReadQRCode 8:

Versionsinformationen

5.

F_VN_ReadQRCode 9:

Datenformat

6.

F_VN_ReadQRCode 10:

Datenfeld

7.

 

Ruhezone, mind. 4 Zellen breit

Störungen / Beschädigungen können eine Detektion und Dekodierung verhindern.

Codesuche

Die Funktion F_VN_ReadQRCode sucht von oben links nach unten rechts zeilenweise nach einem QR Code im Bild.

Daten aus Container lesen

Wurde der Code erfolgreich gefunden und decodiert, wird der Codeinhalt im Container ipDecodedData zurückgegeben und kann über die Funktion F_VN_ExportSubContainer_String in einen String exportiert werden.

hr := F_VN_ExportSubContainer_String( ipDecodedData, 0, sText, nMaxLength, hr);

HRESULT

Wie alle TwinCAT Vision API-Funktionen gibt auch diese Funktion ein HRESULT zurück, um anzugeben, ob die Ausführung erfolgreich war oder fehlgeschlagen ist. Im Erfolgsfall kann bei der nachfolgenden Ergebnisbehandlung zwischen folgenden Success-Codes unterschieden werden. Um zwischen diesen Fällen zu unterscheiden, kann die HRESULT-Variable direkt mit S_OK oder S_FALSE verglichen werden.

Code

Name

Beschreibung

16#000

S_OK

Die Funktion wurde erfolgreich ausgeführt.
Die angegebene Anzahl an Codes wurde im Bild gefunden.

16#001

S_FALSE

Die Funktion wurde erfolgreich ausgeführt.
Es wurden weniger Codes als angegeben im Bild gefunden.

16#256

S_WATCHDOGTIMEOUT

Die Funktion wurde vom Watchdog abgebrochen.

Beispiele

Verwandte Funktionen

Required License

TC3 Vision Code Reading

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1. 4024.44 or later

PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU

Tc3_Vision