1994 1995 1996 1997 1998 1999 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 1998 1999 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: Motor record with encoders |
From: | Mark Rivers <[email protected]> |
To: | "'Henrique Almeida'" <[email protected]> |
Cc: | "[email protected] Talk" <[email protected]> |
Date: | Thu, 18 Feb 2016 20:03:05 +0000 |
Hi Henrique, Ø
I have browsed ACRMotorDriver.cpp and MCB4Driver.cpp and it looks like they have almost everything I need. I was unable to find out how to deal with MRES/SREV, ERES and UEIP, however. Is there a specific file where I should look
? Your driver should normally not need to know about MRES/SREV. Your driver will always be sent a position in steps from the record. If your controller communicates in engineering units and not steps, then you need to back convert from
steps to engineering units in your driver. For an example, I do that in the NewportSrc/XPS driver. The conversion factor is given in the XPSConfigAxis command. Note that motor record engineering units and the controller engineering units do not need to
be the same. UEIP is something the motor record uses. Your poll() function will read both the theoretical position and the encoder position and pass them both back to the record. The record decides whether or not to use the encoder reading based on
UEIP. Mark From: Henrique Almeida [mailto:[email protected]]
2016-02-18 17:37 GMT-02:00 Mark Rivers <[email protected]>: Hi Henrique, There is no online tutorial on model 3 drivers. That needs to be done ... I have created Doxygen documentation for the Model 3 classes. Here is a link: http://cars.uchicago.edu/software/epics/motorDoxygenHTML/classasyn_motor_controller.html I gave a talk on asynMotor at the MOCRAF workshop at the ICALEPCS conference in San Francisco. It is posted online here: I have also attached a talk I gave that describes the Model 3 architecture. There are a number of drivers you can use as examples: - ACS-MCB4B. This is a simple driver. The motorApp/AcsSrc directory contains both an old Model 1 driver (devMCB4B.cc, drvMCB4B.cc) and a new Model 3 driver (MCB4BDriver.cpp).
You should use the latter. - Parker ACR controller (motorApp/ACRSrc/ACRMotorDriver.cpp. This is also a simple driver. I have browsed ACRMotorDriver.cpp and MCB4Driver.cpp and it looks like they have almost everything I need. I was unable to find out how to deal with MRES/SREV, ERES and UEIP, however. Is there a specific file where I should look ?
|