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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Use sscan with transform record coordinate motion |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>, Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo> |
Date: | Wed, 20 Sep 2023 12:23:25 +0000 |
Hi Abdalla,
I think the best way to do what you are doing is with the soft motor record capability in the motor module. This involves 2 steps:
file "$(MOTOR)/db/pseudoMotor.db"
{
pattern
{P, M, DINP, OUT, RDBL, STOO, DESC, EGU, DIR, VELO,
VBAS, ACCL, BDST, BVEL, BACC, MRES, RRES, PREC, DHLM, DLLM}
{13BMD:, pm5, "13BMD:KBH:Done NPP NMS", "13BMD:pm5DVAL.VAL PP MS", "13BMD:KBH:Readback.G NPP NMS", "13BMD:KBH:Stop PP MS", "Curvature", mm, Pos,
1, .1, .1, 0, 1, .1, .1, 1.0, 1, 10000, -10000}
{13BMD:, pm6, "13BMD:KBH:Done NPP NMS", "13BMD:pm6DVAL.VAL PP MS", "13BMD:KBH:Readback.H NPP NMS", "13BMD:KBH:Stop PP MS", "Ellipticity", mm, Pos,
1, .1, .1, 0, 1, .1, .1, 1.0, 1, 10000, -10000}
}
file "$(MOTOR)/db/sumDiff2D.db"
{
pattern
{P, T, SUM, DIFF, M1DRV, M1RBV, M2DRV, M2RBV, M1STOP, M1DONE, M2STOP, M2DONE, PREC}
{13BMD:, KBH:, pm5, pm6, m47.VAL, m47.RBV, m48.VAL, m48.RBV, m47.STOP, m47.DMOV, m48.STOP, m48.DMOV, 1}
}
The above example is actually for a mirror bender where the SUM pseudomotor bends both ends of the mirror in the same direction (curvature) and the second pseudomotor bends them opposite (ellipticity).
But it can be used for a slit or many other mechanical systems with 2 motors.
The nice things about using the soft motor record:
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Abdalla Ahmad via Tech-talk <tech-talk at aps.anl.gov>
Sent: Wednesday, September 20, 2023 4:26 AM To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov> Subject: Use sscan with transform record coordinate motion Hi
We want to use the sscan module to scan a coordinate motion for a slit system. The slit’s gap and center are calculated using two transform records, forward and reverse (COPT = Always). When starting a scan, if the scan’s start point is far from the current position, the scan goes quickly through the scan points and does not wait for the target set point unlike when using a motor record where the scan waits for a callback indicating the positioner is done moving. If we relatively increase the positioners’ settling time, the scan goes through all scan points.
I would like to ask, is there a way to tell the scan record from the transform record that the positioner is done moving and go to the next step of the scan?
Abdalla Al-Dalleh Control Engineer SESAME (Synchrotron-light for Experimental Science and Applications in the Middle East) Fax: +96253511423 abdalla.ahmad at sesame.org.jo
|