IF_Configuration - SCARA4AxCoupling (Method)

Overview

Type:

Method

Available as of:

V2.20.3.0

Versions:

Current version

This chapter provides information on:

Task

Configures a SCARA with four axes which has a coupling on the motors that perform the Z and OrientationZ motion.

Description

With the method SCARA4AxCoupling(…), the robot can be configured as a SCARA with four axes which uses a coupling for Z (translation movement along the mechanical Z axis) and OrientationZ (rotation about the mechanical Z axis).

The axes A and B move the robot in the XY-Plane, axis C moves the TCP in the Z direction and compensates the movements of axis D. Axis D turns the TCP about Z and compensates the movements of the axes A and B.

The axes A, B and D must be configured for a scaling in degrees (FeedConstant = 360) while axis C must be scaled in millimeters (FeedConstant = mm/revolution).

Coupling in transformation is defined as:

D = OrientationZ - A - B

C = Z - (D/360 * i_lrSlope)

Interface

Input

Data type

Description

i_ifDriveA

SystemConfigurationItf.IF_Drive

NOTE: For Modicon M262 Motion Controllers, the data type is CMI.IF_AxisIdentification.

Drive for axis A.

i_ifDriveB

SystemConfigurationItf.IF_Drive

NOTE: For Modicon M262 Motion Controllers, the data type is CMI.IF_AxisIdentification.

Drive for axis B.

i_ifDriveC

SystemConfigurationItf.IF_Drive

NOTE: For Modicon M262 Motion Controllers, the data type is CMI.IF_AxisIdentification.

Drive for axis C.

i_ifDriveD

SystemConfigurationItf.IF_Drive

NOTE: For Modicon M262 Motion Controllers, the data type is CMI.IF_AxisIdentification.

Drive for axis D.

i_lrLengthA

LREAL

Length of the arm mounted on axis A.

Value range: i_lrLengthA > 0

Unit: [mm]

i_lrLengthB

LREAL

Length of the arm mounted on axis B.

Value range: i_lrLengthB > 0

Unit: [mm]

i_lrSlope

LREAL

Slope of the lift mechanic.

Value range: i_lrSlope > 0

Unit: [mm]/[rev]

Output

Data type

Description

q_etDiag

GD.ET_Diag

General, library-independent statement on the diagnostic.

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

q_etDiagExt

ET_DiagExt

POU-specific output for 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

154

The configuration is already completed.

ExecutionAborted

TransformationAlreadyConfigured

171

The transformation is already configured.

InputParameterInvalid

DriveAAlreadyInUse

164

The drive A is already in use.

InputParameterInvalid

DriveAInvalid

167

The drive A is invalid.

InputParameterInvalid

DriveBAlreadyInUse

165

The drive B is already in use.

InputParameterInvalid

DriveBInvalid

168

The drive B is invalid.

InputParameterInvalid

DriveCAlreadyInUse

166

The drive C is already in use.

InputParameterInvalid

DriveCInvalid

169

The drive C is invalid.

InputParameterInvalid

DriveDAlreadyInUse

351

The drive D is already in use.

InputParameterInvalid

DriveDInvalid

333

The drive D is invalid.

InputParameterInvalid

LengthARange

262

The LengthA is out of range.

InputParameterInvalid

LengthBRange

263

The LengthB is out of range.

InputParameterInvalid

SlopeRange

408

The slope value is out of range.

ConfigurationAlreadyCompleted

Enumeration name:

ConfigurationAlreadyCompleted

Enumeration value:

154

Description:

The configuration is already completed.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The configuration is already completed.

Call the method SCARA4AxCoupling before calling of the method ConfigDone.

DriveAAlreadyInUse

Enumeration name:

DriveAAlreadyInUse

Enumeration value:

164

Description:

The drive A is already in use.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The drive transferred at the input i_ifDriveA is already configured in the robot and cannot be used again.

Do not assign a drive to the robot more than once.

DriveAInvalid

Enumeration name:

DriveAInvalid

Enumeration value:

167

Description:

The drive A is invalid.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The drive transferred at the input i_ifDriveA is invalid.

Transfer a valid drive to the input i_ifDriveA.

DriveBAlreadyInUse

Enumeration name:

DriveBAlreadyInUse

Enumeration value:

165

Description:

The drive B is already in use.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The drive transferred at the input i_ifDriveB is already configured in the robot and cannot be used again.

Do not assign a drive to the robot more than once.

DriveBInvalid

Enumeration name:

DriveBInvalid

Enumeration value:

168

Description:

The drive B is invalid.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The drive transferred at the input i_ifDriveB is invalid.

Transfer a valid drive to the input i_ifDriveB.

DriveCAlreadyInUse

Enumeration name:

DriveCAlreadyInUse

Enumeration value:

166

Description:

The drive C is already in use.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The drive transferred at the input i_ifDriveC is already configured in the robot and cannot be used again.

Do not assign a drive to the robot more than once.

DriveCInvalid

Enumeration name:

DriveCInvalid

Enumeration value:

169

Description:

The drive C is invalid.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The drive transferred at the input i_ifDriveC is invalid.

Transfer a valid drive to the input i_ifDriveC.

DriveDAlreadyInUse

Enumeration name:

DriveDAlreadyInUse

Enumeration value:

351

Description:

The drive D is already in use.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The drive transferred at the input i_ifDriveD is already configured in the robot and cannot be used again.

Do not assign a drive to the robot more than once.

DriveDInvalid

Enumeration name:

DriveDInvalid

Enumeration value:

333

Description:

The drive D is invalid.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The drive transferred at the input i_ifDriveD is invalid.

Transfer a valid drive to the input i_ifDriveD.

LengthARange

Enumeration name:

LengthARange

Enumeration value:

262

Description:

The LengthA is out of range.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The value transferred at the input i_lrLengthA is not within a valid range.

Transfer a valid value at the input i_lrLenghtA.

Valid values are i_lrLenghtA > 0.

Unit: [mm].

LengthBRange

Enumeration name:

LengthBRange

Enumeration value:

263

Description:

The LengthB is out of range.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The value transferred at the input i_lrLengthB is not within a valid range.

Transfer a valid value at the input i_lrLenghtB.

Valid values are i_lrLenghtB > 0.

Unit: [mm].

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

The configuration of the robot was successful.

SlopeRange

Enumeration name:

SlopeRange

Enumeration value:

408

Description:

The slope value is out of range.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The value transferred at the input i_lrSlope is not within the valid range.

Transfer a valid value at the input i_lrSlope.

Valid values are i_lrSlope > 0.

Unit: [mm]/[revolution]

TransformationAlreadyConfigured

Enumeration name:

TransformationAlreadyConfigured

Enumeration value:

171

Description:

The transformation is already configured.

Issue

Cause

Solution

The configuration of the transformation was not successful.

The configuration of the robot transformation is already completed successfully.

Call the configuration for a transformation only once.