Modify Coordinate System

 

Modify Coordinate System

Overview

SchneiderElectricRobotics adapts the origin of the coordinate system automatically, so that the zero-position (0/0/0) fits to the coordinate system described in the chapter Overview drawings of the Lexium P Robot Operating Manual and Lexium T Robot Operating Manual.

To modify the coordinate system, proceed as follows:

1 Read the default values set by SchneiderElectricRobotics:

// Read the coordinate-system, automatically set by SER
stRobotInterface.iq_ifConfiguration.ifAdvanced.GetCoordinateSystem(i_etName                     := ROB.ET-_CoordinateSystem.CSR,
        q_etDiag         => etDiag,
        q_etDiagExt      => etDiagExtRM,
        q_sMsg           => sMsgBuffer,
        q_stOffset       => stOffsetSER,
        q_stOrientation  => stOrientationSER,
        q_xInvertDirectionX => ,
        q_xInvertDirectionY => ,
        q_xInvertDirectionZ => );

2 Add user-offset and user-orientation to the default SchneiderElectricRobotics parameters:

//add your user Offset
stOffsetNew.lrX    := stOffsetSER.lrX + stOffsetUser.lrX;
stOffsetNew.lrY    := stOffsetSER.lrY + stOffsetUser.lrY;
stOffsetNew.lrZ    := stOffsetSER.lrZ + stOffsetUser.lrZ;

3 Modify the coordinate system with the new offset and the new orientation:

// Modify the coordinate system with the new Offset and Orientation
stRobotInterface.iq_ifConfiguration.ifAdvanced.ModifyCoordinateSystem( i_etName                    := ROB.ET-_CoordinateSystem.CSR,
        q_stOffset       := stOffsetNew,
        q_stOrientation  := stOrientationNew,
        q_xInvertDirectionX := FALSE,
        q_xInvertDirectionY := FALSE,
        q_xInvertDirectionZ := FALSE,
        q_etDiag         => etDiag,
        q_etDiagExt      => etDiagExtRM,
        q_sMsg           => sMsgBuffer);

i_xInvertDirectionX, i_xInvertDirectionY, or i_xInvertDirectionZ is not set by SchneiderElectricRobotics and can also be adapted.