FB_VN_WriteRegisters_UDINT
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_VARInputs
|
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.
![]() | 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:

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:

Ein Big Endian wird dabei durch nEndian := 0 und ein Small Endian durch nEndian := 1 dargestellt. Big Endian ist Standard.
![]() | 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 |
