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

Subject: RE: epicsQt
From: Andrew Rhyder <[email protected]>
To: "Szalata, Zenon M." <[email protected]>, Andrew Johnson <[email protected]>, "[email protected]" <[email protected]>
Date: Mon, 18 Apr 2011 15:00:36 +1000
It's definitely a bug in epicsqt. When a connection is restored the code should have initialized some internals to ensure any half baked operation in progress when the connection was lost is cleared down. Instead it  actually initiated a write. It's a simple fix and I hope to have it up on source forge with some other changes relating to how epicsqt handles arrays in the next few days.

There is only one button that is epics aware, but it can write values on pressed, released, clicked, or a combination of these. So a momentary action which may be suitable can be achieved by giving it a pressed and released value to write.
(Other buttons available launch an application, and open another epicsqt gui.)

Regards
Andrew
________________________________________
From: Szalata, Zenon M. [[email protected]]
Sent: Saturday, 16 April 2011 6:38 AM
To: Andrew Johnson; [email protected]
Cc: Andrew Rhyder
Subject: RE: epicsQt

Hi Andrew,
Thank you for your input.
With TPRO set to 1, I get:

epics> CAS-client: Process TEST:AO:TEST
CAS-client: Process TEST:AI:TEST

when the button is clicked, and

epics> CAS-client: Process TEST:AO:TEST
CAS-client: Process TEST:AI:TEST

when the IOC is restarted.

Only one button is available, which is EPICS "aware". It can write different values on press, relase

Thanks again,
Zen

> -----Original Message-----
> From: Andrew Johnson [mailto:[email protected]]
> Sent: Friday, April 15, 2011 1:27 PM
> To: [email protected]
> Cc: Szalata, Zenon M.; Andrew Rhyder
> Subject: Re: epicsQt
>
> Hi Zen,
>
> On Friday 15 April 2011 15:03:43 Szalata, Zenon M. wrote:
> >
> > I start camonitor TEST:AI:TEST, then the IOC, then the GUI.  All seem well.
> > camonitor reports value 0.
> > I restart the IOC, camonitor reports PV disconnected, then it connects and
> >  shows value 0. So far so good.
> > Now I click the push button, camonitor reports value 1.75 as it should.
> > I restart the IOC, camonitor reports PV disconnected, then it connects and
> >  shows value 1.75!
> >
> > From now on, after restarting the IOC, the ai record ends up with
> > value=1.75, even though I am not clicking the push button.  Appears that
> > the ao record is getting processed when the push button connects to the
> > PV when the IOC starts up.  This continues as long as the QT GUI is up.
> > When I stop the QT GUI and restart the IOC, then restarting the IOC does
> > not get the value transferred from the ao to the ai record.
>
> This sounds like it has to be an epicsQt issue.  Try setting the TPRO field of
> your TEST:AO:TEST record in the .db file; that results in a message being
> printed on the IOC console whenever the record processes, and it tells you
> which thread is causing the processing on restarting the IOC.  I'm going to
> bet that you'll see it coming from the same CA thread as when you first push
> the button.
>
> > Am I doing something wrong configuring the epicsQt push button or is there
> >  a bug in the epicsQt CA part of the software?  I am assuming that this
> >  behavior is not built in intentionally.
>
> Does epicsQt have more than one kind of push button?  I would like for
> something like a momentary action button if there is an alternative you can
> use.  It sounds like the one you're using is designed to restore the last
> value it sent when the IOC reconnects, which isn't what you actually want it
> to do.
>
> HTH,
>
> - Andrew
> --
> An error is only a mistake if you don't learn from it.
> When you learn something from it, it becomes a lesson.
<br>This message and any attachments may contain proprietary or confidential information. If you are not the intended recipient or you received the message in error, you must not use, copy or distribute the message. Please notify the sender immediately and destroy the original message. Thank you.

Replies:
RE: epicsQt Szalata, Zenon M.
References:
epicsQt Szalata, Zenon M.
Re: epicsQt Andrew Johnson
RE: epicsQt Szalata, Zenon M.

Navigate by Date:
Prev: RE: Any upcoming EPICS training Paul Martin
Next: Re: Does EPICS Base support multi-thread on vxWorks 6.3? lorna . zhang
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: epicsQt Szalata, Zenon M.
Next: RE: epicsQt Szalata, Zenon M.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·