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: Simulated limit switches on motorSim motor |
From: | "Nariyoshi, Pedro via Tech-talk" <tech-talk at aps.anl.gov> |
To: | Torsten Bögershausen <Torsten.Bogershausen at ess.eu>, Kevin Peterson <kmpeters at anl.gov>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Tue, 28 Nov 2023 16:22:34 +0000 |
Hi Torsten,
I do have the most current motorsim motor. The simulated individual arm "motors" are using the motorsim module (DTYP=asynMotor), but I have the gap and center "motors" (with DTYP=Soft Channel using RDBL/DINP/etc) that are used to control the individual motors via a network of calc records.
The longer story is that our goal is to eventually plug this IOC into a real pair of slit arms. The arms are designed in a way that does not prevent collisions, so we are using the gap/center controls to prevent damage to the slit arms. I originally had
the center/gap controls as simple ao records, but it was desired that if the motors stopped (via STOP field or limit switch) that the set points update (copying the readback to the setpoint, similar to what the SYNC field does). I had tried to use auxilary
records to sync these up, but I often ended with a infinite loop of write to set point -> motor tries to move -> limit switch is hit -> update set-point -> motor tries to move -> etc. This is why I
decided to try to use virtual motors.
Pedro Nariyoshi Software Controls Engineer Facility for Rare Isotope Beams Michigan State University 640 South Shaw Lane East Lansing, MI 48824, USA Tel. 517-908-7352 Email: nariyosh at frib.msu.edu |
|
Hej Pedro,
That depends. There may be an easy way to do what you want –
on the driver level.
Are you using a model 3 driver ?
/Torsten
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of "Nariyoshi, Pedro via Tech-talk" <tech-talk at aps.anl.gov>
Reply to: "Nariyoshi, Pedro" <nariyosh at frib.msu.edu>
Date: Tuesday, 28 November 2023 at 16:36
To: Kevin Peterson <kmpeters at anl.gov>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Subject: Re: Simulated limit switches on motorSim motor
Hi Kevin,
I figured I could try to remove the SPC_NOMOD from the dbd (and a bo/calcout record to write to it), but it feels too hackish. What I was really trying to figure out is if there was a field I could put a link in
to set the limit switch fields (similar to RDBL/DINP/etc).
From: Kevin Peterson <kmpeters at anl.gov>
Sent: Tuesday, November 28, 2023 10:18:13 AM
To: Nariyoshi, Pedro; tech-talk at aps.anl.gov
Subject: Re: Simulated limit switches on motorSim motor
[EXTERNAL] This email originated from outside of FRIB
Pedro,
The HLS/LLS/RHLS/RLLS fields are read-only.
Kevin
On 11/21/23 12:24, Nariyoshi, Pedro via Tech-talk wrote:
> Hi,
>
>
> I am working on creating virtual motors to control some slits. One
> problem I have is that I couldn't find a way to set the
> HLS/LLS/RHLS/RLLS fields. Is there a way to control these (whether
> having an input link to these values or a writing them directly with a
> calcout or bo record)?
>
>
> Thank you very much
>
>
> *Pedro Nariyoshi*
>
>
>