Next to the use of default kinematics, user-specific kinematics can be defined by using the User3Ax(…) method.
The calculation of the direct and inverse transformation must be realized in a user POU that implements the IF_UserTransformation3Ax interface.
Kinematics with up to three axes and up to three degrees of freedom are possible.
A transformation for up to three axes can be parameterized. If a uniaxial transformation has to be parameterized, then the i_ifDriveA input must be allocated. For a biaxial transformation, the i_ifDriveA and i_ifDriveB inputs and for a triaxial transformation the i_ifDriveA, i_ifDriveB, and i_ifDriveC inputs.
Input |
Data type |
Description |
---|---|---|
i_ifDriveA |
SystemConfigurationItf.IF_Drive For Modicon M262 Motion Controllers, the data type is CMI.IF_AxisIdentification. |
Drive of axis A. |
i_ifDriveB |
SystemConfigurationItf.IF_Drive For Modicon M262 Motion Controllers, the data type is CMI.IF_AxisIdentification. |
Drive of axis B. |
i_ifDriveC |
SystemConfigurationItf.IF_Drive For Modicon M262 Motion Controllers, the data type is CMI.IF_AxisIdentification. |
Drive of axis C. |
i_ifTransformation |
Interface with the implementation for calculating the direct and inverse transformation. |
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 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. |
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. |
InputParameterInvalid |
DriveAAlreadyInUse |
36 |
The drive A is already in use. |
InputParameterInvalid |
DriveAInvalid |
48 |
The drive A is invalid. |
InputParameterInvalid |
DriveAMissing |
110 |
The drive A is unavailable. |
InputParameterInvalid |
DriveBAlreadyInUse |
37 |
The drive B is already in use. |
InputParameterInvalid |
DriveBInvalid |
49 |
The drive B is invalid. |
InputParameterInvalid |
DriveBMissing |
109 |
The drive B is unavailable. |
InputParameterInvalid |
DriveCAlreadyInUse |
38 |
The drive C is already in use. |
InputParameterInvalid |
DriveCInvalid |
50 |
The drive C is invalid. |
InputParameterInvalid |
UserTransformation3AxInvalid |
108 |
The user-configured transformation 3Ax is invalid. |
Enumeration name: |
ConfigurationAlreadyCompleted |
Enumeration value: |
105 |
Description: |
The configuration is already completed. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
The configuration of the robot has already been completed. The method ConfigDone(...) has already been called up successfully. |
Ensure that no transformation configuration method, for example Delta3Ax(...) or AddAuxAx(...), is called after the configuration has been completed. |
Enumeration name: |
DriveAAlreadyInUse |
Enumeration value: |
36 |
Description: |
The drive A is already in use. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
The drive transferred at the input i_ifDriveA is already configured in the robot and cannot be used again. |
Ensure that no drive is assigned to the robot more than once, and correct if necessary. |
Enumeration name: |
DriveAInvalid |
Enumeration value: |
48 |
Description: |
The drive A is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
The drive transferred at the input i_ifDriveA is invalid. |
At the input i_ifDriveA, a valid drive must be transferred. |
Enumeration name: |
DriveAMissing |
Enumeration value: |
110 |
Description: |
The drive A is unavailable. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
A drive was transferred at the input i_ifDriveB or i_ifDriveC. |
Ensure that a valid drive has been transferred at the input i_ifDriveA. |
Enumeration name: |
DriveBAlreadyInUse |
Enumeration value: |
37 |
Description: |
The drive B is already in use. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
The drive transferred at the input i_ifDriveB is already configured in the robot and cannot be used again. |
Ensure that no drive is assigned to the robot more than once, and correct if necessary. |
Enumeration name: |
DriveBInvalid |
Enumeration value: |
49 |
Description: |
The drive B is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
The drive transferred at the input i_ifDriveB is invalid. |
At the input i_ifDriveB, a valid drive must be transferred. |
Enumeration name: |
DriveBMissing |
Enumeration value: |
109 |
Description: |
The drive B is unavailable. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
A drive was transferred at the input i_ifDriveC input. |
Ensure that a valid drive has been transferred at the input i_ifDriveB. |
Enumeration name: |
DriveCAlreadyInUse |
Enumeration value: |
38 |
Description: |
The drive C is already in use. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
The drive transferred at the input i_ifDriveC is already configured in the robot and cannot be used again. |
Ensure that no drive is assigned to the robot more than once, and correct if necessary. |
Enumeration name: |
DriveCInvalid |
Enumeration value: |
50 |
Description: |
The drive C is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
The drive transferred at the input i_ifDriveC is invalid. |
At the input i_ifDriveC, a valid drive must be transferred. |
Enumeration name: |
Ok |
Enumeration value: |
0 |
Description: |
Ok |
The configuration of the robot transformation was successful.
Enumeration name: |
TransformationAlreadyConfigured |
Enumeration value: |
106 |
Description: |
The transformation is already configured. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
The configuration of the robot transformation has already been completed successfully. |
Ensure that a configuration for a transformation is only called once. |
Enumeration name: |
UserTransformation3AxInvalid |
Enumeration value: |
108 |
Description: |
The user-configured transformation 3Ax is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The configuration of the robot transformation was not successful. |
The interface transferred at the input i_ifTransformation is invalid. |
Ensure that a valid interface has been transferred at the input i_ifTransformation. |