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  <20162017  2018  2019  2020  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020 
<== Date ==> <== Thread ==>

Subject: Re: Can I override record definition twice in an IOC
From: Ralph Lange <ralph.lange@gmx.de>
To: EPICS Tech-Talk <tech-talk@aps.anl.gov>
Cc: John.Holt@tessella.com
Date: Fri, 8 Jan 2016 14:20:40 +0100
That is correct.

However:
You shouldn't change the type of the record when overloading it. Changing DTYP will work in newer versions of Base, and cause trouble in older ones.

Also be careful about where things are being loaded. If you change your setup and split a database onto two IOCs without splitting the overloading DBs correctly, the once overloaded single record will be created as two records on the two IOCs, with an identical name and some of the intended fields in each of the instances. Interesting to debug.

The general behavior is documented (AppDevGuide: 6.3.8 "Multiple Definitions" inside 6.3 "General Rules for Database Definition"), so it won't be changed or completely go away without good reason and proper notification.

Cheers,
~Ralph


On 08/01/2016 13:55, bob dalesio wrote:
If you are loading multiple instances of the same record into the same IOC, the second one will just overwrite the fields that were defined in the first one to be loaded, with those that are defined in the second instance. 

On Fri, Jan 8, 2016 at 7:40 AM, <John.Holt@tessella.com> wrote:
I have implemented a record in two separate files which I then use substitutions to combine into a single db file. I am unsure I am allowed to do this after talking to a colleague; he is worried that this will create 2 PVs with identical names. My DB file contains (after make):


record(ai, "NAME") {
  field(DESC, "A PV")
  field(EGU, "Gauss")
}

...

record(ai, "NAME") {
  field(FLNK, "ANOTHER_RECORD")
}

Does this do what I am expecting, which is to create a single PV:


record(ai, "NAME") {
  field(DESC, "A PV")
  field(EGU, "Gauss")
  field(FLNK, "ANOTHER_RECORD")
}

Thank you.

John
This message is commercial in confidence and may be privileged.  It is intended for the
addressee(s) only.  Access to this message by anyone else is unauthorized and strictly prohibited.
If you have received this message in error, please inform the sender immediately.  Please note that
messages sent or received by the Tessella e-mail system may be monitored and stored in an
information retrieval system.






Replies:
Re: Can I override record definition twice in an IOC Kasemir, Kay
References:
Can I override record definition twice in an IOC John . Holt
Re: Can I override record definition twice in an IOC bob dalesio

Navigate by Date:
Prev: Re: Can I override record definition twice in an IOC bob dalesio
Next: Re: Can I override record definition twice in an IOC Kasemir, Kay
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020 
Navigate by Thread:
Prev: Re: Can I override record definition twice in an IOC bob dalesio
Next: Re: Can I override record definition twice in an IOC Kasemir, Kay
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020 
ANJ, 15 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·