Experimental Physics and
| |||||||||||||||||
|
Hi Emmanuel, It's probably even much simpler than that. As you found out, dbpf() is part of the *runtime database access library*, which works only at runtime (properly locking the record to avoid interfering with the regular processing of records). As the locks are set up during IOCinit, using dbpf() at database load time will fail. If you want to change field values of records before IOCinit, nothing keeps you from setting the additional fields in the plain regular fashion from a db file that gets instantiated in a later call to dbLoadRecords(). It is perfectly legal to have the same record appear in more than one instantiation step. (It might not be explicitly mentioned in the doc that this is legal, but I learned that many installations use this feature.) Let me give you an example: You may load a record in first.db like this: record(ai,"record1") { field(DOL,".5") } and then overwrite/add fields in second.db (which is loaded further down): record(ai,"record2") { ... } record(ai,"record1") { field(DOL,"300") field(FLNK,"record2") } Most simple, obvious, straightforward, exactly what you want. On-line adding and deleting records (after IOCinit) is not an easy thing to do and not supported at the moment. It has been on wish lists for a while and might get implemented in the next major version of EPICS. Call again in two years ... ;-) Cheers, Ralph Allison, Stephanie wrote: Hi,
| ||||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |