FB_VN_ReadContainer

FB_VN_ReadContainer 1:

This FB reads a container from an xml file on the target pc.

Syntax

Definition:

FUNCTION_BLOCK FB_VN_ReadContainer
VAR_INPUT
    sFilePath       : STRING;
    ipDestContainer : Reference To ITcVnContainer;
    nDestTypeGuid   : GUID;
    bRead           : BOOL;
    nTimeout        : TIME;
END_VAR
VAR_OUTPUT
    bBusy           : BOOL;
    bError          : BOOL;
    nErrorId        : UDINT;
END_VAR

FB_VN_ReadContainer 2: Inputs

Name

Type

Default

Description

sFilePath

STRING

 

Full path of the file or relative path to the default directory on the target pc

ipDestContainer

Reference To ITcVnContainer

 

Returns a container with the loaded content

nDestTypeGuid

GUID

 

The type id of the container to return. If this parameter is not set, a suitable container type will be determined automatically (except for csv files).

bRead

BOOL

 

Reading the file is triggered by a rising edge at this input.

nTimeout

TIME

VISION_ADS_TIMEOUT

Indicates the time before the function is cancelled.

FB_VN_ReadContainer 3: 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.

Further information

The function block FB_VN_ReadContainer loads a container from a file asynchronously into the PLC.

FB_VN_ReadContainer 4:

Loading of modified containers.

When loading containers, the vision service caches the data internally. Loading changed containers is therefore not possible in the standard system. To do this, adjust the cache settings or see the example Serial loading of images into the PLC for an alternative.

Parameter

Some parameters are described centrally in the section File Access Parameters.

Container type

The container type of the container to be loaded can optionally be specified.

Loaded container (return value)

The loaded container is reachable via the interface pointer ipDestContainer following successful reading.

Application

Loading a container with explicit type specification ContainerType_Vector_TcVnPoint2_DINT from the path C:\TcVision\Container.xml looks like this, for example:

fbReadContainer(
    sFilePath       := 'C:\TcVision\Container.xml',
    ipDestContainer := ipContainer,
    nDestTypeGuid   := ContainerType_Vector_TcVnPoint2_DINT,
    bRead           := TRUE,
    nTimeout        := T#500MS);

IF NOT fbReadContainer.bBusy AND NOT fbReadContainer.bError THEN
    // container is accessible in ipContainer
END_IF

Related function block: FB_VN_WriteContainer.

Required License

TC3 Vision Base

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1.4024.54 or later

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

Tc3_Vision