IF_RobotConfigurationAdvanced - AdditionalTransformationTCP (Method)

Overview

Type:

Method

Available as of:

V2.6.1.0

This chapter provides information on:

oTask

oDescription

oInterface

oDiagnostic Messages

oExample

Task

Configuration of an additional transformation for the TCP.

Description

With the method AdditionalTransformationTCP(...), you can configure and define the transformation for the TCP (Tool Center Point), which is calculated before respectively after the actual transformation.

In case a Schneider Electric robot is configured, the verification of the work envelope is disabled for the move command.

Interface

Input

Data type

Description

i_ifTransformation

IF_AdditionalTransformationTCP

Interface with the implementation for calculating the direct and inverse transformation.

Refer to:

oIF_AdditionalTransformationTCP - Direct()

oIF_AdditionalTransformationTCP - Inverse()

oIF_AdditionalTransformationTCP - Change()

Output

Data type

Description

q_etDiag

GD.ET_Diag

General library-independent statement on the diagnostic.

A value not equal to ET_Diag.Ok corresponds to a diagnostic message.

q_etDiagExt

ET_DiagExt

POU-specific output on the diagnostic.

q_etDiag = ET_Diag.Ok -> Status message

q_etDiag <> ET_Diag.Ok -> Diagnostic message

q_sMsg

STRING[80]

Event-triggered message that gives additional information on the diagnostic state.

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

Ok

0

Ok

ExecutionAborted

ConfigurationAlreadyCompleted

105

The configuration is already completed.

ExecutionAborted

TransformationAlreadyConfigured

106

The transformation is already configured.

ExecutionAborted

AdditionalTransformationInvalid

193

The additional transformation is invalid.

AdditionalTransformationInvalid

Enumeration name:

AdditionalTransformationInvalid

Enumeration value:

193

Description:

The additional transformation is invalid.

Issue

Cause

Solution

The configuration of the additional transformation TCP was not successful.

The interface transferred at the input i_ifTransformation is invalid.

Verify that a valid interface is transferred at the input i_ifTransformation.

Ensure that the instance implementing the interface IF_AdditionalTransformationTCP is also extending the function block FB_AdditionalTransformationTCP.

ConfigurationAlreadyCompleted

Enumeration name:

ConfigurationAlreadyCompleted

Enumeration value:

105

Description:

The configuration is already completed.

Issue

Cause

Solution

The configuration of the additional transformation TCP was not successful.

The configuration of the robot is already completed. The method ConfigDone(...) is already called up successfully.

Verify that AdditionalTransformationTCP(…) is called before the configuration is completed.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

The configuration of the additional transformation TCP was successful.

TransformationAlreadyConfigured

Enumeration name:

TransformationAlreadyConfigured

Enumeration value:

106

Description:

The transformation is already configured.

Issue

Cause

Solution

The configuration of the additional transformation TCP was not successful.

The configuration of the additional transformation is already completed successfully.

Verify that a configuration for a transformation is only called once.

 

 

 

 

Example Implementation of Method AdditionalTransformationTCP()

Declaration:

VAR
    fbRobot                           : FB_Robot;
    fbDemoAdditionalTransformationTCP : FB_DemoAdditionalTransformationTCP
                                        // Must be implemented by user
    etDiag                            : GD.ET_Diag;
    etDiagExt                         : ROB.ET_DiagExt;
    sMsg                              : STRING[80];
END_VAR

Implementation:

// Configure AdditionalTransformation
fbRobot.ifRobotConfigurationAdvanced.AdditionalTransformationTCP
(i_ifTransformation        := fbDemoAdditionalTransformationTCP,
                q_etDiag    => etDiag,
                q_etDiagExt => etDiagExt,
                q_sMsg      => sMsg);