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
<2018>
2019
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
<2018>
2019
2020
2021
2022
2023
2024
|