FB_VN_WriteCalibrationResult

FB_VN_WriteCalibrationResult 1:

This FB writes calibration results as a json file to the hard drive.

Syntax

Definition:

FUNCTION_BLOCK FB_VN_WriteCalibrationResult
VAR_INPUT
    sFilePath               : STRING;
    aCameraMatrix           : Reference To TcVnMatrix3x3_LREAL;
    aDistortionCoefficients : Reference To TcVnArray8_LREAL;
    aRotationMatrix         : Reference To TcVnMatrix3x3_LREAL;
    aTranslationVector      : Reference To TcVnVector3_LREAL;
    bWrite                  : BOOL;
    nTimeout                : TIME;
END_VAR
VAR_OUTPUT
    bBusy                   : BOOL;
    bError                  : BOOL;
    nErrorId                : UDINT;
END_VAR

FB_VN_WriteCalibrationResult 2: Inputs

Name

Type

Default

Description

sFilePath

STRING

 

Full path of the file or relative path to the default directory on the target pc (e.g. only a file name). If the string is empty, a file name will be generated (containing the current time).

aCameraMatrix

Reference To TcVnMatrix3x3_LREAL

 

Returns the camera matrix

aDistortionCoefficients

Reference To TcVnArray8_LREAL

 

Returns the distortion coefficients

aRotationMatrix

Reference To TcVnMatrix3x3_LREAL

 

Returns the rotation matrix

aTranslationVector

Reference To TcVnVector3_LREAL

 

Returns the translation vector

bWrite

BOOL

 

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

nTimeout

TIME

VISION_ADS_TIMEOUT

Indicates the time before the function is cancelled.

FB_VN_WriteCalibrationResult 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.

Weiterführende Informationen

Der Funktionsblock FB_VN_WriteCalibrationResult speichert die Kalibration-Ergebnisse aus der SPS asynchron in einer Datei.

Parameter

Einige Parameter sind zentral im Kapitel File Access Parameter beschrieben.

Kalibration-Ergebnisse

Die folgenden Ergebnisse der Kalibrationsfunktionen werden unter dem angegebenen Dateipfad im JSON-Format gespeichert.

// Calibration results
aCameraMatrix            : TcVnMatrix3x3_LREAL;
aDistortionCoefficients  : TcVnArray8_LREAL;
aRotationMatrix          : TcVnMatrix3x3_LREAL;
aTranslationVector       : TcVnVector3_LREAL;

Dateipfad und Format

Wenn sFilePath leer ist, wird ein Dateiname mit der aktuellen Zeit generiert und die Endung json verwendet.

Anwendung

Das Speichern der Kalibration-Ergebnisse in die Datei C:\TcVision\CalibrationResult.json sieht z. B. so aus:

fbWriteCalibrationResult(
    sFilePath               := 'C:\TcVision\CalibrationResult.json',
    aCameraMatrix           := aCameraMatrix,
    aDistortionCoefficients := aDistortionCoefficients,
    aRotationMatrix         := aRotationMatrix,
    aTranslationVector      := aTranslationVector,
    bWrite                  := TRUE,
    nTimeout                := T#500MS);

IF NOT fbWriteCalibrationResult.bBusy AND NOT fbWriteCalibrationResult.bError THEN
    // Calibration result was written successfully to file
END_IF

Verwandter Funktionsblock: FB_VN_ReadCalibrationResult.

Required License

TC3 Vision Base

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1. 4024.44 or later

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

Tc3_Vision