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: | Abdalla Ahmad via Tech-talk <tech-talk at aps.anl.gov> |
To: | Mark Rivers <rivers at cars.uchicago.edu>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Tue, 3 Oct 2023 06:46:40 +0000 |
Hello Mark Thanks for the feedback. The setup is working, will test it with sscan soon. I have a question, what is “grecord” in sumDiff2D.db? is it different from standard
“record”? Best Regards, Abdalla. From: Mark Rivers <rivers at cars.uchicago.edu>
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> 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 |