Experimental Physics and
| |||||||||||||||
|
I need to implement a function for insertion device like this: I did something very similar a few years back. I used lookup tables (breakpoint tables) as a feed forward for non-linear tune compensation for an insertion device (wiggler). The feed forwards, based on wiggler 'K', drove 9 quad families (about two dozen power supplies including series main coils and trims) to compensate for the non-linear betatron tune shifts from the wiggler. (With another feed forward implemented in a similar manner to compensate for orbit shifts.) The ai and ao records included in base support a breakpoint table facility which may be adequate for your needs. But this conversion is to/from RVAL (which is an int) and VAL (which is a double). I hacked a bpt record (based on the ai record) which used the break point table functions included in base to do double to double conversions for my needs. In this way, everything was done in the EPICS database (no sequencer, no subroutine records, etc). Note that in base >= 3.14.9, breakpoint tables must be monotonic by default. There is a flag to over-ride this requirement which must be used when using the breakpoint table in this type of compensation which likely needs a non-monotonic lookup table. -- Steven Hartman [email protected] || 865-466-6473
| ||||||||||||||
ANJ, 21 Oct 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |