Some options:
Use the hardware capability in the OMS card -
Requires modification to driver, device support and record support.
Perhaps write an undulator record that accesses this synchronized move
in the modified driver.
Modify the driver support to wakeup the database on each readback. The
driver reads the motor position at 30 Hz. If there was analog input
device support that posted this event, database logic could be used to
wake up at 30 Hz while the motor is moving and verify that the
difference in the gaps is constant or within tolerance. A stop to the
motors if they are starting to diverge would occur within 40 msec. This
would be a minimal change to the device support and driver and may still
meet the requirements.
Bob
On Fri, 12 Dec 2003 13:38:17 +0100
Rok Sabjan <[email protected]> wrote:
Hello everyone!
I'm trying to prepare a proposal for ID control system at Diamond.
During that time I have been asking some people some questions how
this is currently managed in EPICS. To my surprise I found out that
there was no clear way to solve this problem. I had a discussion with
Tim Mooney and we were thinking of some possible solutions for the
biggest problem - synchronous motor movement under EPICS. We have
developed some suggestions, but I think it is time to broaden the
discussion to tech-talk. There may be more people interested in such
solutions and there are probably some people with some experience on
the matter.
First let me remind everyone on the problem. We have two (or more)
motors which we would like to move synchronously. This means to
guarantee the movement will start and end at the same time. This is
extremely important when changing the gap of an insertion device.
One may suggest that we should just wire the signal lines together
(hardware solution) and use one signal line to control multiple
motors, but we also want to move these motors independently. We may
implement some logic (using FPGA or some other programmable logic) to
multiplex this one signal line in one operation mode and use multiple
signals for different motors in some other mode.
The OMS VME58 card, which is normally used in EPICS for motion
control, supports such synchronized moves, but this is (to my
knowledge and experience) not supported via EPICS motor record and
device support. We should also provide some kind of sync record, which
would take control of correspondent motor records (when instructed to
do so) and would then perform the synchronized moves. Needless to say,
there are a lot of design choices to identify and make on the
behaviour of this record.
This mail is intended to identify people who have common interest for
such a development in EPICS community. Definitely, we will have to
make some modifications to the existing motor software if we decide to
go through with any of these ideas. The idea is to make a general
EPICS solution for such situations.
Cheers,
Rok
Bob Dalesio
[email protected]
410 557 0297 Maryland
505 667 5643 Los Alamos (New Number)
505 699 1632 Cell Phone
505 667 6087 Our Secretary (Lisa Marie)