Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: RE: Frame grabber and Portable channel access
From: johill@lanl.gov (Jeff Hill)
To: "'Miroslaw Dach'" <dach@psi.ch>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Thu, 5 Nov 1998 18:52:45 -0700
> 	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.

Jeff


Navigate by Date:
Prev: FW: CA Server doesn't work on Linux/Intel ?? Jeff Hill
Next: Keck portable CA server usage William Lupton
Index: 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: Re: Frame grabber and Portable channel access Brian Tieman
Next: SNL request Ned Arnold
Index: 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019 
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 ·