F_VN_ReadBarcode
Detect and interpret a 1d barcode within the provided image. Can be canceled by Watchdog.
Syntax
Definition:
FUNCTION F_VN_ReadBarcode : HRESULT
VAR_INPUT
ipSrcImage : ITcVnImage;
ipDecodedData : Reference To ITcVnContainer;
eBarcodeType : UDINT;
hrPrev : HRESULT;
END_VAR
Inputs
Name |
Type |
Description |
---|---|---|
ipSrcImage |
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) |
eBarcodeType |
UDINT |
Types of barcode to search for (ETcVnBarcodeType) |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
Weiterführende Informationen
Die Funktion F_VN_ReadBarcode
erkennt einen Barcode im Bild und liest diesen.
Algorithmus
Die Funktion sucht zunächst nach horizontal ausgerichteten Codes und anschließend nach vertikal ausgerichteten Codes im Bild.
Parameter
Eingangsbild
Das Eingangsbild ipSrcImage
muss ein 1-kanaliges oder 3-kanaliges Bild mit Element-Typ USINT
(8 Bit) sein. 3-kanalige Bilder werden als RGB interpretiert und intern in ein Grauwertbild konvertiert.
Gelesene Daten
Die aus dem Code gelesenen Daten werden als String in dem Container ipDecodedData
zurückgegeben. Der Container ist dabei vom Typ ContainerType_Vector_String_SINT
.
Barcode-Typ
Der Parameter eBarcodeType
definiert Barcode-Typen, nach denen im Bild gesucht werden soll. Alle Barcode-Typen im Enum ETcVnBarcodeType werden unterstützt. Die Auswahl von mehreren Typen ist möglich. Es wird empfohlen, die Auswahl auf die in der Endanwendung tatsächlich vorkommenden Typen zu beschränken, um die Laufzeit zu verbessern.
eBarcodeType := TCVN_BT_EAN13 + TCVN_BT_CODE128;
Um nach allen verfügbaren Barcode-Typen zu suchen, verwenden Sie TCVN_BT_ANY
.
Expert-Parameter
Die Expert-Variante F_VN_ReadBarcodeExp enthält zusätzliche Parameter.
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);
Required License
TC3 Vision Code Reading
System Requirements
Development environment | Target platform | PLC libraries to include |
---|---|---|
TwinCAT V3.1.4024.59 or later | PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU | Tc3_Vision |