How to Switch the Coordinate System¶
The PCS coordinate system allows to move the group in relation to a certain product workspace and not just in relation to the machines coordinates. It is also possible to follow a moving product by utilizing the PCS coordinate system. And move it continuously.
Function Block | Step | Activation time | Used data format | Dynamic | From ➙ To |
---|---|---|---|---|---|
MCA_SetCoordinateTransformation | Step 1 | Enable | Matrix | Yes | MCS ➙ PCS |
MC_SetCoordinateTransform | Step 1 | Execute | Matrix | While Execute=true | MCS ➙ PCS |
MCA_SetDynamicFollower | Step 2 | Enable | Translation/Rotation | Yes | PCS ➙ PCS’ |
MC_SetCartesianTransform | Step 2 | Execute | Translation/Rotation | While Execute=true | PCS ➙ PCS’ |
Activation time
The Function Blocks with input Enable will be activated immediately with Enable=TRUE. The Function Blocks with “Execute” will be enabled with the next movement after Execute=TRUE. The Function Blocks with “Enable” will be deactivated with Enable=FALSE. The Function Blocks with “Execute” will be deactivated when an other transformation is activated.
Step
Any step 2 transformation can just be active while a step 1 transformation is in place. The step 1 transformation Function Blocks will allow dynamic transformation while Execute=TRUE. “Frozen” values will be used with Execute=FALSE after once activated.
It is possible to do the transformation in 2 steps.
Step 1 is a precondition for any of the step 2 Funciton Blocks. The matrix used in step 1 is a more complete way to setup a PCS coordinate system, as it would also allow modifying the scaling for any axis in addition to translation and rotation. The forward and inverse matrix can be gained by using the COMC_TeachCartesianTransformation Function Block.
It is also possible to use the matrix in a dynamic way, e.g. modifying the values on the fly, but as usually the dynamic requirement is restricted to a specific translation or rotation, a step 2 Function Block can be used for this, once the PCS system has been set up.
The step 2 Function Blocks allow to use translation vectors in X, Y, Z direction and rotation angles for a rotation around X, Y, Z coordinate axis.
This transformation would modify the actual position as follows, when it is applied to the group in StandStill with the given parameter.
PCS, PCS’ | PCS, PCS’ | |
---|---|---|
X | 0, 0 | 0, -18 |
Y | 0, 0 | 0, 10 |
Z | 0, 0 | 0, 0 |
A group-movement to position 0,0,0 will move the group to the origin of the new PCS coordinate system.
When the Function Block MCA_SetDynamicFollower is enabled with TransX=0 and TransY=0 and the values are applied to the activated Function Block, the group will keep its PCS position constant and follow the translation. This will result in a real movement and modify the ACS and MCS positions.
PCS, PCS’ | PCS, PCS’ | |
---|---|---|
X | 0, 0 | 18, 0 |
Y | 0, 0 | -10, 0 |
Z | 0, 0 | 0, 0 |
When an additional rotation is applied (in this case RotAngleZ), this rotation is done with respect to the original PCS coordinate system. When a rotation should be done related to the “new” PCS’ system, the translation vector has to be applied to the matrix which builds the PCS system.
In the forward matrix, the values a,b,c match –TransX, -TransY and –TransZ. In the inverse matrix, the values a,b,c match TransX,TransY and TransZ.