Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: use VxWorks task to load databases
From: Johnny Tang <tang@cebaf.gov>
Date: Thu, 6 Apr 95 14:12:16 EDT
=============================================================
Johnny Tang     Voice: (804)249-7239  E-Mail: tang@cebaf.gov
Continous Electron Beam Accelerator Facility
12000 Jefferson Avernue, MS 85A
Newport News, Va 23606
=============================================================
Mailer: Elm [revision: 70.85]



  Have you thought about using a VxWorks task to load databases
to ioc ? So that only one startup file is needed for all the iocs.
Also it will load what ever in the specified production tree so that
it will not be impacted by changes of products in the production
tree.  It can be called "Dynamic Shared Directory Loading".

  Say, I have a production tree like this:

  <prod> ---- <ioc1> --- <app1> --- app1db1.database 
           |          |             app1db2.database
           |          |             app1.o
           |          |- <app2> --- app2db1.database 
           |                        app2db2.database
           |                        app2.o
           |              . . .
           |
           |- <ioc2> --- <app1> --- app1db1.database 
                      |             app1db2.database
                      |             app1.o
                      |- <app3> --- app3db1.database 
                                    app3db2.database
                                    app3.o
                          . . .
         . . . . . .

  And a startup like this:

  # startup file for all the iocs 
  ld  < epics/iocCore
  ld  < epics/drvSup
  ld  < epics/recSup
  ld  < epics/devSup
  ld  < epics/seq
  ld  < appDbLoadTask.o
  sp appDbLdTask



  The appDbLoadTask will do the following:

  1. Read from Env Variable get the <prod> dir into $ProdDir
  2. Get Ioc name and set to $CurrentIOCName
  3. cd $(ProdDir)/$(CurrentIOCName)
  4. For every <app> do
         load all the *.database files and *.o file
     Note: Wildcard may be configurable
  5. do iocInit "resource.def"
  6. do <app> record initial valus settings (dbpf)
  7. taskdelete(taskIdSelf())

  Note: one suggestion is step 4,5,6 can be implemented
  as shell callable subroutine.

  Let me know how do you think about this.

  Regards,

  Johnny Tang
  CEBAF

Navigate by Date:
Prev: University pricing of VxWorks for Alpha/OSF-1 415
Next: Re: use VxWorks task to load databases Jeff Hill
Index: 1994  <19951996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020 
Navigate by Thread:
Prev: University pricing of VxWorks for Alpha/OSF-1 415
Next: Re: use VxWorks task to load databases Jeff Hill
Index: 1994  <19951996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020 
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 ·