EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: RE: Adding readback zeroing to an asyn analog input
From: "Mark Rivers" <[email protected]>
To: "Angus Gratton" <[email protected]>, "tech-talk" <[email protected]>
Date: Sun, 31 Oct 2010 20:56:59 -0500
Hi Angus,
 
Yes, the motor record will do it.  
 
But you can also do it pretty easily with your existing driver.  
 
- You make a bo record zeroing the position.  It does 2 things:
 
1) Sends a messsage to your driver through the standard asynInt32 device support for bo.  Your driver flips the register bit, which sets the hardware position registers to 0.
 
2) Forward links to soft ao record that writes 0 to your ao position record.  That write will not actually move the motor, because the hardware registers are already 0.
 
Mark
 

________________________________

From: [email protected] on behalf of Angus Gratton
Sent: Sun 10/31/2010 8:22 PM
To: tech-talk
Subject: Adding readback zeroing to an asyn analog input



I'm writing to request some advice. I have an asyn port driver for a
"Group 3 Type G" stepper motor controller.

The controller board has a simple register-based interface, which suits
us because we don't have any complex motor positioning requirements. One
register is written for "desired position" and another register is read
back for "current position" (in steps).

So, until now I've gone with simple asynInt32 support for the steppers,
instead of a motor record.  I was just modelling the desired position as
an ao record and the current position as an equivalent ai record, using
the generic asyn device support for both.

However, there has been a request for "zeroing" the position values - ie
resetting both the current and desired positions to zero without moving
the motor.

This is supported trivially in the controller, I just need to flip a
register bit to send a "zero value" command and the hardware registers
will reset to zero on their own.

I can't think of a simple (and non-hacky) way to implement this support
in the asyn port driver, and then all the way up to the database layer.

Does anyone have any suggestions? Will the motor record support this, if
I write asyn motor record support instead? (I looked at the motor record
documentation and wasn't sure.)

Thanks in advance (yet again!)

Regards,


Angus





Replies:
RE: Adding readback zeroing to an asyn analog input Angus Gratton
References:
Adding readback zeroing to an asyn analog input Angus Gratton

Navigate by Date:
Prev: Adding readback zeroing to an asyn analog input Angus Gratton
Next: RE: Adding readback zeroing to an asyn analog input Angus Gratton
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Adding readback zeroing to an asyn analog input Angus Gratton
Next: RE: Adding readback zeroing to an asyn analog input Angus Gratton
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Oct 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·