MC_MoveCircularRelative¶
MC_MoveCircularRelative
This Function Block commands an interpolated circular movement on an axes group from the actual position of the TCP. The end point as well as the auxiliary point (meaning depending on applied mode, see below) are defined in the specified coordinate system relatively to the starting point.
Note
This Function Block applies to the MCS or PCS System, depending which is activated and also follows the dynamic transformation when activated.
This Function Block is only supported for PLC-based central Motion Control with Coordinated Motion structures.
CircMode = BORDER
The user defines the end point and a border point (= input ‘AuxPoint’) on the sector of the circle, which shall be cruised by the machine. Both points are defined relatively to the starting point.
Advantages of this mode:
- The border point usually can be reached by the machine, i.e. it can be teached.
Inconvenience of this mode:
- Restriction to angles <2π in one single command.
CircMode = CENTER
The user defines the end point and the center point (= input ‘AuxPoint’) of the circle. Both points are defined relatively to the starting point When using this mode, the input ‘PathChoice’ defines, if the short or the long sector has to be cruised by the machine.
Inconveniencies of this mode:
- Restriction to angles < 2π and ≠π in one single command,
- Overdetermination of circle equation,
- The center point usually cannot be teached-in due to collisions with obstacles.
CircMode = RADIUS
The user defines the end point and the perpendicular vector of the circle plane according to the rule of right thumb (see figure below). The length of the vector corresponds to the radius of the circle. The spearhead point of the vector is defined relatively to the starting point at the input signal ‘AuxPoint’. If the diameter is larger than the distance between starting and end point, two different circles have to be considered. When using this mode, the input ‘PathChoice’ defines, if the circle with the short sector or the circle with the long sector to reach the end point has to be cruised by the machine. With positive radius value the shortest possible circle is determined, and with negative radius value the largest possible circle
Inconvenience of this mode:
- Restriction to angles <2π in one single command,
- The perpendicular vector has to be computed,
- Overdetermination of circle equation.
Example:
AuxPoint = (starting_point[0], starting_point[1] - 30, starting_point[2]) ® Circle in plane parallel to x-z plane with radius 30 and rotation around axis parallel to y-axis contrariwise the rule of right thumb (CoordSystem = MCS).
With CircMode=MC_RADIUS, Endpoint is a point at the circle and Auxpoint a vector which is perpendicular of the circle plane according to the rule of right thumb. The radius of the circle is the length of Auxpoint. The moving direction is always positive (counterclockwise), PathChoice determines if the long or short distance is moved.
MC_RADIUS
MC_RADIUS | PathChoice | Auxpoint | Endpoint |
---|---|---|---|
1 | FALSE (short) | 0,0,200 | 200,200,0 |
2 | TRUE (long) | 0,0,200 | 200,200,0 |
3 | FALSE (short) | 0,0,-200 | 200,200,0 |
4 | TRUE (long) | 0,0,-200 | 200,200,0 |
MC_CENTER
With CircMode=MC_CENTER, Endpoint is a point at the circle where the movement stops and Auxpoint is the center point. Both are relative to the start point. The circle plane is defined by Auxpoint x Endpoint. Restriction to angles <2π and ≠πas the definition is not unique otherwise.
MC_CENTER | PathChoice | Auxpoint | Endpoint |
---|---|---|---|
1 | FALSE (short) | 0,200,0 | 200,200,0 |
2 | FALSE (short) | 200,0,0 | 200,200,0 |
3 | TRUE (long) | 0,200,0 | 200,200,0 |
4 | TRUE (long) | 200,0,0 | 200,200,0 |
MC_BORDER
With CircMode=MC_BORDER, Endpoint is a point at the circle where the movement stops and Auxpoint is a point on the circle. Both are relative to the start point.
MC_RADIUS | PathChoice | Auxpoint | Endpoint |
---|---|---|---|
1 | - | 0,400,0 | 200,200,0 |
2 | - | 400,0,0 | 200,200,0 |
3 | - | 141,59,0 | 200,200,0 |
4 | - | 59,141,0 | 200,200,0 |