ExecuteNeuralNetwork (MISO)

Execute a neural network with multiple inputs and single output (MISO) using the provided images. Ensure all model input names are listed in sInputNames and that the images and names are in the same order. The result of the specified output layer is returned. The function doesn't perform any pre-processing or transformation.
Can use available TwinCAT Job Tasks for executing parallel code regions.

Syntax

Definition:

HRESULT ExecuteNeuralNetwork(
    HRESULT             hrPrev,
    ITcVnNeuralNetwork* ipNeuralNetwork,
    PVOID               pSrcImages,
    USHORT              nSrcArraySize,
    PCCH                sInputNames,
    ITcVnImage*&        ipDestImage,
    PCCH                sOutputName
)

Parameters

Name

Type

Description

hrPrev

HRESULT

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

ipNeuralNetwork

ITcVnNeuralNetwork*

Neural network model

pSrcImages

PVOID

Pointer to an array of source input images

nSrcArraySize

USHORT

The size of the array referenced by pSrcImages. pSrcImages must reference an array with a size equal to the number of model inputs.

sInputNames

PCCH

Input names separated by ";"

ipDestImage

ITcVnImage*&

Destination image (An appropriate destination image based on the output layer is created. To process the destination image, use e.g. F_VN_ConvertDataLayout or F_VN_ReshapeImage if necessary.

sOutputName

PCCH

Specify the name of the layer for which the output is required. If empty, the output of one output layer is provided.

 Return value

HRESULT

Required License

TC3 Neural Network Realtime Inference

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1.4024.59 or later

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

Tc3_Vision