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  <20132014  2015  2016  2017  2018  2019  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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: help setting up XY table control with EPICS StreamerClass
From: Tim Mooney <[email protected]>
To: Christian Pauly <[email protected]>
Cc: EPICS Tech Talk <[email protected]>
Date: Fri, 21 Jun 2013 10:13:20 -0500 (CDT)
One way to do this would be to separate your protocol into a write
protocol and a read protocol.  Then you could have, say, XY:moveu
start a motion and forward link to set a "moving" indicator to true.
The moving indicator could wait for the "OK" message.

protocol:
ReplyTimeout = 10000;
move {
    out "\$1%d\r";
}
checkdone {
    in "%s\r\n";
}

database:
record(longout, "XY:moveu") {
    field(SDIS, "XY:moving")
    field(DISV, "1")
    field(DESC, "Move XY-Table up")
    field(DTYP, "stream")
    field(OUT,  "@devXYtableSupport.proto move(u) $(PORT) $(A)")
    field(FLNK, "XY:setMoving")
}
record(bo, "XY:setMoving") {
    field(DOL, "1")
    field(OUT, "XY:moving PP")
}
record(bi, "XY:moving") {
    field(ZNAM, "OK")
    field(ONAM, "MOVING")
    field(DTYP, "stream")
    field(OUT,  "@devXYtableSupport.proto checkdone $(PORT) $(A)")
}

As I read the stream docs, "XY:moving" will be set to zero when the "OK"
message is received.  I haven't tried this, and I've probably made some
stupid error that I hope someone will notice and fix.

Tim

----- Original Message -----
> From: "Christian Pauly" <[email protected]>
> To: "EPICS Tech Talk" <[email protected]>
> Sent: Friday, June 21, 2013 4:52:24 AM
> Subject: Re: help setting up XY table control with EPICS StreamerClass
> 
> Ok, i see.
> 
> But still:
> How can i get then information if the motors are running at the
> moment,
> or not. Without doing periodic scans on the PACT fields ??
> 
> 
> On 06/21/2013 11:39 AM, Ralph Lange wrote:
> > Hi Christian,
> >
> > On Fri Jun 21 2013 11:07:38 GMT+0200 (CEST), Christian Pauly
> > <[email protected]>  wrote:
> >> No, only one motor can move at a time.
> >> But i thought it is "bad style" to do this synchronous with such
> >> large
> >> delays ? ( I had to define huge timeouts in the protocol to get it
> >> work...)
> >
> > This rule of not doing synchronous device support for devices with
> > long
> > delays applies to writing device support.
> >
> > If you are using StreamDevice (which I assume), your device support
> > is
> > not synchronous - StreamDevice and ASYN support below are working
> > asynchronously and take care of the gory details for you.
> >
> > The port that you are communicating with will be locked while a
> > protocol
> > (like your move command) is running. But that is fine if the device
> > can
> > only use one motor at a time.
> >
> > Cheers,
> > ~Ralph
> 
> 
> --
> Dr. Christian Pauly
> Bergische Universität Wuppertal
> Fachbereich C - Physik
> Gaußstraße 20, D-42119 Wuppertal
> Tel: +49 (0)202 439-2632,
> Fax: +49 (0)202 439-2662
> 
> 
>


References:
Re: help setting up XY table control with EPICS StreamerClass Christian Pauly

Navigate by Date:
Prev: Re: Using all the cores available on modern processors Keith Thorne
Next: Re: Problem in errlogRemoveListener Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: help setting up XY table control with EPICS StreamerClass Pearson, Matthew R.
Next: Re: help setting up XY table control with EPICS StreamerClass Zenon Szalata
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·