EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Stops in the motor record
From: [email protected] (Janet Tvedt)
To: [email protected]
Date: Fri, 27 Mar 1998 08:44:37 -0700
----- Begin Included Message -----

>From [email protected] Thu Mar 26 15:04:08 1998
Date: Thu, 26 Mar 1998 16:03:46 -0600
From: [email protected] (Ronald L. Sluiter)
To: [email protected]
Subject: Re: Stops in the motor record
Cc: [email protected]
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-MD5: UNxWqAf1TNBEizI9Wb2JkA==

That code fragment was changed by Tim Mooney with release 3.13.0.beta7 to
the following:

 * .33  05-29-97 tmm  v3.2 Watchdog callback for encoder-settling time delay.
 *                    Added DLY field to implement delay.
 *                    Split postProcess() and maybeRetry() out of process().
 *                    Fix problem of first call to process() looking like a
 *                    device-support callback (first move command fails).
 *                    Don't do mid-course checks if using encoder or readback
 *                    device.  (We don't know how badly they might behave while
 *                    the motor's moving.)  Set .res field in init_record().
 *                    Set retry deadband according to .mres, .eres, and .bdst.

	/*
	 * Are we going in the wrong direction?  (Don't be
	 * fooled by a backlash correction into saying "yes".
	 * 'Jog*' and 'Hom*' motions don't get midcourse
	 * corrections since we don't know their
	 * destinations.)
	 * v3.2: Don't do this check with an encoder or readback device.
	 */
	Debug(10, "process: rvel = %dn", pmr->rvel);
	if (!pmr->ueip && !pmr->urip &&
		(fabs(pmr->diff) > 2 * (fabs(pmr->bdst) + pmr->rdbd)) &&
		/* should work both with relative and absolute moves */
	    ((pmr->rdif > 0) != (pmr->tdir == 1)) &&
	    (pmr->rvel != 0) && (MARKED(M_RRBV)) &&
	    ((pmr->mip == MIP_MOVE) || (pmr->mip == MIP_RETRY))) {

		/* We're going in the wrong direction. Readback problem? */
		Debug(2, "process: wrong direction, diff = %f", pmr->diff);
		printf("%s:tdir = %dn", pmr->name, pmr->tdir);
		INIT_MSG();
		WRITE_MSG(STOP_AXIS, NULL);
		SEND_MSG();
		pmr->mip |= MIP_STOP;
		MARK(M_MIP);
	}


----- End Included Message -----


Navigate by Date:
Prev: EPICS listserver archives phrase finder Bill McDowell
Next: Re: Stops in the motor record Joseph P. Sullivan
Index: 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Stops in the motor record Graham Waters
Next: Re: Stops in the motor record Joseph P. Sullivan
Index: 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·