Installation guide

Mintâ„¢ v4 Advanced Programming Guide
124 MN1270 02.2002
The SPLINE keyword sets up a spline move using the arrays specified with the SPLINETABLE keyword.
The functionality of the spline is controlled with the mode parameter. Once started with the
GO
keyword, the spline executes in the background. It will continue until the spline comes to a natural end
or the move is terminated by the user with
STOP, CANCEL or RESET or by an error condition. The axis
must be idle before calling
SPLINE and no further moves may be loaded.
SPLINE accepts the following bit pattern:
Bit Meaning
0 Use the positions specified in the position array as being absolute within each
spline. If this bit is not set, the positions will be taken as relative movements.
1 Use the positions specified in the position array as being absolute to true motor
positions. Bit 0 must be set for this to occur.
2 Continuously cycle through the spline. When the end segment is reached, the cycle
starts from the start segment.
3 Perform a Spline 2 profile. If this bit is not set then the spline will be a Spline 1
profile.
If the SPLINETABLE keyword specifies a velocity array, then the SPLINE will be a PVT profile,
regardless of the setting of bit 3.
There are a number of Mint constants relating to splines, these are:
Mint Constant Description Value
_spSPLINE_1
Perform a Spline 1 profile. 0
_spABSOLUTE
Use the positions specified in the position array as being
absolute within each spline.
1
_spT_ABSOLUTE
Use the positions specified in the position array as being
absolute to true motor positions.
2
_spCONTINUOUS
Continuously cycle through the spline. When the end segment
is reached, the cycle starts from the start segment.
4
_spSPLINE_2
Perform a Spline 2 profile. 8
A spline move may be stopped by the
STOP keyword, a stop switch input, an error condition or paused
using a stop switch input or the
SUSPEND keyword. In these situations, the spline will ramp to a
controlled stop over a duration specified with the
SPLINESUSPENDTIME keyword. This is particularly
useful in situations where short segments are running at high velocity since the axis would not be able to
decelerate in a controlled manner in that duration.
If the axis is allowed to resume from a pause situation, the axis will travel to the current segment end
position over the
SPLINESUSPENDTIME duration.
Example:
REM Input 3 is the stop switch input. The axis should pause if active
STOPINPUT.4 = 3 : REM Assign input
STOPMODE.4 = 1 : REM Pause if switch active
SPLINESUSPENDTIME.4 = 2000 : REM Ramp to halt over 2000 ms.
..
REM Load spline...
Reading the SPLINE keyword will return the mode of the currently executing move. It is often
desirable to load a continuous spline and then stop it at the end segment after a number of cycles. To
make a continuous spline non-continuous, the
SPLINE keyword is written to with the same value but
without bit 2 set.
Example:
REM Stop a spline from being continuous
IF SPLINE.0 & _spCONTINUOUS DO : REM Check is continuous
REM Bitwise AND SPLINE with !bit 2
SPLINE.0 = SPLINE.0 & ~_spCONTINUOUS
ENDIF