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  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  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  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Which record is the best to use?
From: "Pearson, Matthew R." <[email protected]>
To: "Ivashkevych, Oksana" <[email protected]>
Cc: Tech-talk <[email protected]>
Date: Wed, 11 Apr 2018 13:55:26 +0000
Hi,

> I would like to automate phasing of servomotors in Delta Tau.
> 1.      Send phasing command via asyn, wait

How is the phasing command sent to the controller? The driver should probably support this, and be able to read back the successful/unsuccessful status. 

> 2.      If Phasing successful(bit x is set), ->DONE
> 3.      If Phasing error(bit y is set),  do 1 again.
>  
> I would like to do it in the database, and not via sequencer, because it will give me a luxury of using a substitution file and repeating the same for 9 motors and looks much easier. It would be interesting to see how Delta Tau will handle several simultaneous phasing requests. 
>  

If you only want to retry a few times before giving up, then a seq or sseq record will work, something like:

record(sseq, “PhaseAndRetry”)
{
  field(DLY1, “0”)
  field(DOL1, “1”)
  field(LNK1, “DoThePhase.PROC PP”)
  field(DLY2, “1”) #Wait 1s
  field(DOL2, “1”)
  field(LNK2, “CheckThePhase.PROC PP”)
  field(DLY3, “0”)
  field(DOL3, “1”)
  field(LNK3, “DoThePhase.PROC PP”)
  field(DLY4, “1”)  #Wait 1s
  field(DOL4, “1”)
  field(LNK4, “CheckThePhase.PROC PP”)
  etc...
}


The CheckThePhase can process the ABORT field in the sseq if the phase was successful.

Alternatively, if this is a common task, the driver could handle the retries as well as sending the command and reading the status.

Cheers,
Matt



References:
Which record is the best to use? Ivashkevych, Oksana

Navigate by Date:
Prev: Which record is the best to use? Ivashkevych, Oksana
Next: Re: Which record is the best to use? Mooney, Tim M.
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Which record is the best to use? Ivashkevych, Oksana
Next: Re: Which record is the best to use? Mooney, Tim M.
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  <20182019  2020  2021  2022  2023  2024 
ANJ, 11 Apr 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·