FB_VN_WriteRegisters_UDINT

FB_VN_WriteRegisters_UDINT 1:

This FB writes multiple UDINT registers on the camera. Requires the same endianness for the specified registers and an open control channel (e.g. by calling FB_VN_GevCameraControl.OpenCamera() before).

Syntax

Definition:

FUNCTION_BLOCK FB_VN_WriteRegisters_UDINT
VAR_INPUT
    pAddressValuePairs       : Pointer To GVCP_ADDRESS_VALUE_PAIR;
    nArraySize               : UINT;
    nEndian                  : UINT;
    bWrite                   : BOOL;
    nTimeout                 : TIME;
END_VAR
VAR_OUTPUT
    bBusy                    : BOOL;
    bError                   : BOOL;
    nErrorId                 : UDINT;
END_VAR
VAR
    oidITcVnGevImageProvider : OTCID;
END_VAR

 Inputs

Name

Type

Default

Description

pAddressValuePairs

Pointer To GVCP_ADDRESS_VALUE_PAIR

An array containing address/value pairs of the registers that should be written

nArraySize

UINT

Number of address/value pairs in pAddressValuePairs

nEndian

UINT

OPTIONAL: The endianness of the registers. 0 = Big, 1 = Little. Default: 0

bWrite

BOOL

Writing the registers is triggered by a rising edge at this input.

nTimeout

TIME

VISION_ADS_TIMEOUT

Indicates the time before the function is cancelled.

 Outputs

Name

Type

Description

bBusy

BOOL

This output remains TRUE until the function block has executed a command, but at the longest for the duration supplied to the 'nTimeout' input. While bBusy = TRUE, no new command will be accepted at the inputs.

bError

BOOL

This output is switched to TRUE as soon as an error occurs during the execution of a command. The command-specific error code is contained in ‘nErrorId’. If the function block has a timeout error, 'bError' is TRUE and 'nErrorId' is 1861 (hexadecimal 0x745). Is reset to FALSE by the execution of a command at the inputs.

nErrorId

UDINT

Contains the ADS error code or the command-specific error code of the last executed command. Is reset to 0 by the execution of a command at the inputs.

Weiterführende Informationen

FB_VN_WriteRegisters_UDINT schreibt mehrere UDINT-Register der Kamera in einem einzigen Aufruf.

FB_VN_WriteRegisters_UDINT 2:

Offener Kamera-Control-Channel nötig!

Um diesen Funktionsblock benutzen zu können, muss der Control Channel der GigE Vision Kamera offen sein. Zudem können einige Kamera-Parameter nur geändert werden, wenn die Bild-Akquisition gestoppt ist. Daher wird empfohlen, die Kamera zuvor in den State TCVN_CS_OPENED zu bringen.

Parameter

pAddressValuePairs

Die zu schreibenden Register werden als Array vom Typ GVCP_ADDRESS_VALUE_PAIR übergeben. Jedes Element des Arrays enthält die Registeradresse (GVCP_REGISTER_ADDRESS) sowie den zugehörigen Schreibwert (GVCP_REGISTER_VALUE). Der Pointer auf das Array wird über den Eingang pAddressValuePairs übergeben.

Die Register-Adresse identifiziert das zu adressierende Register der Kamera. Sie ist vom Typ GVCP_REGISTER_ADDRESS, welcher ein Alias auf den Typ UDINT ist. Damit haben alle Register-Adressen eine Größe von 4 Bytes. Die Register-Adresse eines Kamera-Parameters können Sie an entsprechender Stelle im Konfigurationsbaum der GigE Vision Kamera Instanz nachsehen:

FB_VN_WriteRegisters_UDINT 3:

nArraySize

Gibt die Anzahl der Adress-Wert-Paare im Array pAddressValuePairs an.

nEndian

Die Endianess beschreibt die Reihenfolge, in der die Bytes eines Kamera-Registers angeordnet werden. Der Wert kann als Eigenschaft des jeweiligen Parameters aus dem Konfigurationsbaum der GigE Vision Kamera-Instanz entnommen werden:

FB_VN_WriteRegisters_UDINT 4:

Ein Big Endian wird dabei durch nEndian := 0 und ein Small Endian durch nEndian := 1 dargestellt. Big Endian ist Standard.

FB_VN_WriteRegisters_UDINT 5:

Gleiche Endianness aller Register erforderlich

Alle Adress-Wert-Paare im übergebenen Array müssen dieselbe Endianness verwenden. Sollen Register mit unterschiedlicher Endianness geschrieben werden, sind separate Aufrufe mit entsprechend getrennten Arrays erforderlich.

Required License

TC3 Vision Base

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1.4026 or later

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

Tc3_Vision