beautypg.com

Example: friction correction – Galil DMC-2X00 User Manual

Page 121

background image

SP512;

Set the speed

PR1000;

Prepare mode of motion

BGX; Begin

motion

#LOOP;JP#LOOP;

Keep thread zero alive for #POSERR to run in

REM When error occurs, the axis will stop due to OE1. In REM #POSERR, query
the status YS and the error QS, correct, REM and return to the main code.

#POSERR;

Automatic subroutine is called when YS=2

WT100;

Wait helps user see the correction

spsave=_SPX;

Save current speed setting

JP#RETURN,_YSX<>2; Return

to

thread zero if invalid error

SP64;

Set slow speed setting for correction

MG”ERROR= “,_QSX

YRX=_QSX;

Else, error is valid, use QS for correction

MCX;

Wait for motion to complete

MG”CORRECTED, ERROR NOW= “,_QSX
WT100;

Wait helps user see the correction

#RETURN

SPX=spsave;

Return the speed to previous setting

REO;

Return from #POSERR

Example: Friction Correction

The following example illustrates how the SPM mode can be useful in correcting for X axis friction
after each move when conducting a reciprocating motion. The drive is a 1/64

th

microstepping drive

with a 1.8

o

step motor and 4000 count/rev encoder.

#SETUP;

Set the profiler to continue upon error

KS16;

Set step smoothing

MT-2,-2,-2,-2;

Motor type set to stepper

YA64;

Step resolution of the microstepping drive

YB200;

Motor resolution (full steps per revolution)

YC4000;

Encoder resolution (counts per revolution)

SHX; Enable

axis

WT50;

Allow slight settle time

YS1;

Enable SPM mode

#MOTION;

Perform motion

DMC-2X00

Chapter 6 Programming Motion

y 111