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: | Re: EDM |
From: | Zenon Szalata <[email protected]> |
To: | Andrew Johnson <[email protected]> |
Cc: | "[email protected]" <[email protected]> |
Date: | Fri, 10 May 2013 10:30:15 -0700 |
Hi Andrew,In fact that is exactly what I am doing. Here is a brief description what I am trying to do.
The hardware registers are read/write. When the IOC starts, the register has some value previously set. After IOC init, I issue a series of dbpf commands, one for each register. These trigger processing a record that reads the register.After the register is read, the read value is put into the output record with NPP. These are Beckhoff bus terminal records which are a bit complicated to read from and especially to write to. To have it work correctly, I need to insert a 0.2 second delay between dbpf commands. I decided to use NPP because the output record, although it is soft channel, when processed will result in the value being written back to the register, which should be harmless, but I wanted to avoid it, because significantly more delay would be needed.
If this is really the cause of my difficulty, I will think how to modify the records such that the target output record gets the value and gets processed and somehow writing back to the register will be suppressed. I was trying to avoid the extra complication.
Thanks Andrew, Zen On 05/10/13 09:31, Andrew Johnson wrote:
Hi Zenon, On 2013-05-10 Zenon Szalata wrote:zms@esaanal2 $ caput ESA:LO:SC:2531-21:CH1:MAXV-WR:DATA 100 Old : ESA:LO:SC:2531-21:CH1:MAXV-WR:DATA 50 New : ESA:LO:SC:2531-21:CH1:MAXV-WR:DATA 100 and the Text Control immediately showed the new value. From now on it will work just fine until the IOC is restarted. I suspect that part of the problem is how I am initializing these Text Control widgets. At this point I am still struggling with the fact that after the IOC is started, the PV in question has the correct value which comes from a register in the hardware and is represented incorrectly in the EDM Text Control widget.Is something writing this value directly to the record's VAL field after iocInit but without processing the record? Since the DTYP said "Soft Channel" it didn't occur to me that something else might be modifying the fields directly, which would explain the issue (it shouldn't be doing that). - Andrew