|
In many X-Y cutting, measurement systems, there is a need to keep a thrid axis in alignment with the current travel direction. Each combination of speeds in X and Y results in a Vector value which needs to be fed to a third axis controlling the rotation of the stylus. Examples of machines that require such a control are; glass cutting, knife blades, powered jig-saws and “pizza wheels”.
System requirements:
Tangential control requires the use of a “Look-Ahead” version of Motion
Coordinator system software. The feature is supported in version 1.65 or later. This version can be built for Euro205x, Euro209, MC206X, PCI208, MC224, MC464. It is not available for older generation products due to memory size
limitations.
Command reference:
MOVETANG
Type: Motion Command
Syntax: MOVETANG(absolute_position)
Description: Moves the axis to the required position using the programmed SPEED, ACCEL and DECEL for the axis. The direction of movement is determined by a calculation of the shortest path to the position assuming that the axis is rotating and that REP_DIST has been set to Π radians (180 degrees) and that REP_OPTION=0.
If a MOVETANG command is running and another MOVETANG is executed for the same axis, the original command will not stop, but the endpoint will become the new absolute position.
Parameters: absolute_position: The absolute position to be set as the endpoint of the move. Value must be within the range –PI to +PI.
Example: An X-Y positioning system has a stylus which must be turned so that it is facing in the same direction as it is travelling at all times. A tangential control routine is run in a separate process:
BASE(0,1)
WHILE TRUE
'
MOVETANG(TANG_DIRECTION) AXIS(2)
WA(1)
WEND
TANG_DIRECTION
Type: Axis Parameter
Description: When used with a 2 axis X-Y system, this parameter returns the angle in radians that represents the vector direction of the interpolated axes. The value returned is between –PI and +PI and is determined by the directions of the interpolated axes as follows:
X |
Y |
Value |
|
0 |
1 |
0 |
|
1 |
0 |
PI/2 |
|
0 |
-1 |
PI |
+PI or -PI |
-1 |
0 |
-PI/2 |
|
Example1:
'
UNITS AXIS(4)=scale_factor_x
UNITS AXIS(5)=scale_factor_y
BASE(4,5)
MOVE(100,50)
angle = TANG_DIRECTION
Example2:
BASE(0,1)
angle_deg = 180 * TANG_DIRECTION / PI
Example:
An X-Y cutting table has a “pizza wheel” cutter which must be steered so that it is always aligned with the direction of travel. The main X and Y axes are controlled by Motion Coordinator axes 0 and 1, and the pizza wheel is turned by axis 2. Control of the Pizza Wheel is done in a separate program from the main X-Y motion program. In this example the steering program also does the axis initialisation.
Program TC_SETUP.BAS:
'
WDOG=OFF
BASE(0)
P_GAIN=0.9
VFF_GAIN=12.85
UNITS=50
SERVO=ON
BASE(1)
P_GAIN=0.9
VFF_GAIN=12.30
UNITS=50
SERVO=ON
BASE(2)
UNITS=1
REP_DIST=2000
REP_OPTION=0
UNITS=4000/(2*PI)
SERVO=ON
WDOG=ON
'
DATUM(1) AXIS(2)
WAIT IDLE
WA(10)
BASE(0,1)
WHILE TRUE
'
MOVETANG(TANG_DIRECTION) AXIS(2)
WA(1)
WEND
Program MOTION.BAS:
BASE(0,1)
MERGE=ON
SPEED=300
size=120
c=30
DEFPOS(0,0)
WAIT UNTIL OFFPOS=0
MOVEABS(10,10+c)
REPEAT
MOVE(0,size)
MOVECIRC(c,c,c,0,1)
MOVE(size,0)
MOVECIRC(c,-c,0,-c,1)
MOVE(0,-size)
MOVECIRC(-c,-c,-c,0,1)
MOVE(-size,0)
MOVECIRC(-c,c,0,c,1)
UNTIL FALSE
This is one of many new commands that has been added to the latest version of the manual. Click here to download the latest manual |