Type: |
Method |
Available as of: |
V2.20.3.0 |
Versions: |
Current version |
This chapter provides information on:
Configures a SCARA with four axes which has a coupling on the motors that perform the Z and OrientationZ motion.
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)
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 |
General, library-independent statement on the diagnostic. A value not equal to GD.ET_Diag.Ok corresponds to a diagnostic message. |
|
q_etDiagExt |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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]. |
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]. |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
The configuration of the robot was successful.
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] |
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. |