Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: Re: dynamical record loading/unloading and normal database
From: Andrew Johnson <anj@aps.anl.gov>
To: "Liyu, Andrei" <liyua@ornl.gov>
Cc: tech-talk@aps.anl.gov
Date: Thu, 04 Dec 2003 11:45:10 -0600
Liyu, Andrei wrote:
- at beginning, st.cmd load records by dbLoadRecords function. - after all dbLoadRecords st.cmd calls IocInit(). But I didn't meet in IOC and didn't read in manuals that IOC can load
and unload record during its work (after initialization).

That is correct, the current design for the database code does not permit records to be loaded after iocInit() had been called, nor can you delete records after iocInit(). To add this functionality will require quite a lot of work, and none of the EPICS users have wanted it sufficiently badly to put in the manpower necessary to implement it yet.


If I am right maybe these items will appear soon?

No, nobody is currently working on this, and doing so while remaining backwards comptibility with existing device support would be impossible. There might also need to be changes made to the Channel Access protocol to implement record deletion.


There are several ways to work around this problem: The simplest is to load all of the records for all the functionality you will need in this run into the IOC, but disable (SDIS field) those parts of the database which are currently not operational or not required - records that are not processed only take up IOC memory space, not CPU time. Alternatively (if your network bandwidth allows this) you could implement just the I/O records in a vxWorks IOC and perform all of the control tasks in a soft IOC, which can easily and quickly be stopped and restarted with a different set of records. If network bandwidth would be a problem then you could of course just have several alternate startup scripts for the same vxWorks IOC and reboot it using a different script to change the functionality it provides. This would require that you be able to perform bumpless reboot on that IOC, but that is generally a solved problem.

- Andrew
--
There are 10 types of people in the world:
Those who understand binary, and those who don't.


Replies:
RE: dynamical record loading/unloading and normal database Jeff Hill
References:
dynamical record loading/unloading and normal database Liyu, Andrei

Navigate by Date:
Prev: dynamical record loading/unloading and normal database Liyu, Andrei
Next: Re: process function of record waveform and CA (caput, caget) Marty Kraimer
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: dynamical record loading/unloading and normal database Liyu, Andrei
Next: RE: dynamical record loading/unloading and normal database Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·