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

Subject: pv.read() after pv.write() returns old value instead of new value using org.phoebus.pv.PV
From: "Wang, Lin via Tech-talk" <tech-talk at aps.anl.gov>
To: tech-talk at aps.anl.gov
Date: Mon, 27 May 2024 15:42:17 +0800 (GMT+08:00)

Dear all,


I have two questions when using pv.read() and pv.write() as shown in the following code snippet,


import org.epics.vtype.VType;
import org.phoebus.pv.PV;
import org.phoebus.pv.PVPool;

public class WriteTest
{
    public void pvWrite() throws IOException, Exception
    {
        PV pv = PVPool.getPV("calcExample");
        Thread.sleep(2000); // Delay for PV connection
        VType oldValue = pv.read();
        pv.write(100);
        Thread.sleep(2000); // Delay for PV writing
        VType newValue = pv.read();
       
        System.out.println("Old value: " + oldValue);
        System.out.println("New value: " + newValue);
    }
}


1. pv.read() after pv.write() always returns the old value instead of the new value without a delay, what is the proper way other than sleep() to get the updated value after pv.write()?


2. Another delay is also needed after PVPool.getPV() to wait for PV connection, is there any elegent way like pendIO stuff to wait other than sleep()?



Thanks,

Lin


Replies:
Re: [EXTERNAL] pv.read() after pv.write() returns old value instead of new value using org.phoebus.pv.PV Kasemir, Kay via Tech-talk

Navigate by Date:
Prev: Re: CryoTel GT Cooler: different startup and shutdown StreamDevice protocols Zimoch Dirk via Tech-talk
Next: Re: [EXTERNAL] pv.read() after pv.write() returns old value instead of new value using org.phoebus.pv.PV Kasemir, Kay via Tech-talk
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: Re: PyDevice support VAL field remains 1 Vishnu Patel via Tech-talk
Next: Re: [EXTERNAL] pv.read() after pv.write() returns old value instead of new value using org.phoebus.pv.PV Kasemir, Kay via Tech-talk
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
ANJ, 11 Sep 2024 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·