> I want to use a frame grabber on a PC running LINUX. To link such
> a system to an EPICS world I have to write a portable channel access.
> Does anybody have some experience with a portable channel access for LINUX
> or for Unix (which I can use as a template).
There have been problems (bugs in LINUX) reported concerning certain versions of
LINUX and the ca server. See the message I just forwarded to this list.
There are example server implementations in the EPICS base distribution under
"base/src/cas/example/simple". Many sites have based their initial implementation
on the "base/src/cas/example/simple" example which is probably more complex than is
needed in many situations.
There is some somewhat out of date documentation on the web at LANL for
the CA server, and at APS for GDD.
Joan Sage here at LANL has created a CA server for a Kodak video camera
that runs on windows NT. A 2nd implementation for another video system
(I think that the Princeton Instruments CCD camera is a front runner)
is also possible here in the next few months.
There are many other sites that have CA server work in progress I will post a summary
in a few days.
On Tuesday, November 03, 1998 7:38 AM, Mark Rivers [SMTP:RIVERS@cars3.uchicago.edu] wrote:
> > I want to use a frame grabber on a PC running LINUX. To link such
> > a system to an EPICS world I have to write a portable channel access.
> You may not need to use the portable channel access server for your task, you
> may be able to simply use the channel access client. It really depends what
> you want to do.
> For example, I have a CCD camera controller in a PC running Windows NT. I
> need to take a frame with this camera and save it to the local PC disk during
> a scan which is controlled by EPICS in an IOC. The way I do this is just to
> have a soft binary record in the IOC. The EPICS system in the IOC sets this
> flag to 1 when it wants a CCD frame taken, and waits for the flag to go back
> to 0 before continuing. A very simple Visual Basic task in the PC just waits
> for that flag to go to 1; when it does it calls the CCD software to take a
> frame, and once the frame is safely on disk sets the flag back to 0. This is
> all done using channel access client rather than channel access server.
Mark is correct that this approach will work well in carefully selected situations.
Here are some situations where interfacing a workstation based application
to EPICS indirectly through an IOC can be problematic:
1) If two EPICS clients are controlling the same workstation based application
with the same IOC based control process variables (PVs) at the same time the
application (or the operators) may become confused. A similar situation might occur
for application output variables routed through the IOC to multiple clients. Also,
race conditions are perhaps more likely to occur when going through an intermediate
IOC? With the CA server approach it is possible to start a server that is dedicated to
a particular operator screen.
2) The IOC isn't running but we must still provide the workstation based applications
service to the EPICS clients
3) We need to upgrade the PV interface that communicates between
the EPICS clients and the workstation based application, but the IOC cant be rebooted. Typically
this would be required because the number PVs or the data types of the PVs interfacing
with the workstation based application has changed.
5) We don't want to burden the IOC with workstation generated traffic that it does not originate
6) The PVs names available change on-the-fly while the workstation based application is running
7) It must be easy to start or stop several independent but similar workstation based servers.
BTW: If you go with a "soft" IOC implementation of the approach that Mark describes
above, the low cost option might be to use the WRS PC486 BSP on a generic PC for
the dedicated "soft" IOC.
- Navigate by Date:
FW: CA Server doesn't work on Linux/Intel ?? Jeff Hill
Keck portable CA server usage William Lupton
- Navigate by Thread:
Re: Frame grabber and Portable channel access Brian Tieman
SNL request Ned Arnold