g+
g+ Communities
Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  Index 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014 
<== Date ==> <== Thread ==>

Subject: Re: Python/CA
From: Noboru Yamamoto <noboru.yamamoto@kek.jp>
Cc: tech-talk@aps.anl.gov
Date: Mon, 24 Jan 2000 10:58:22 +0900
Janousch Markus wrote:
> 
>     Dear Noboru Yamamoto,
> 
>  recently you posted a message to tech-talk about "NULL record name on
> IOC" in which you mentioned Python/CA
> > ...
> > Python/CA, which I used to write a client, does not check it also.
> >
> 
>  Now, I am under the impression that you have some code that interfaces
> channel access to Python. Is this correct? If so, is the software
> publicly available? What are your experiences with Python in general and
> Python/CA in particular?
>
Yes, we developed Python/CA interface and are using it for about two
years. you can get  the pack of source code at:

http://www-acc.kek.jp/WWW-ACC-exp/KEKB/control/Activity/Python/CaPython.tar.gz

We have reported the use of Python in the KEKB control system in the paper
submitted to ICALEPCS99 at Triest, Italy. Please visit:

http://nessuno.elettra.trieste.it:80/sites/icalepcs99/2nd_ann/proceedings.html

or

http://nessuno.elettra.trieste.it:80/sites/icalepcs99/proceedings/papers/mc1p36.pdf

for the electronic copy of the paper.
Generally speaking, We are happy with the combination of Python/EPICS
CA/Tkinter. Many applications were written in Python and used in the
daily operation
of KEKB accelerators. 

We recently ported Python/CA on VxWorks(ie. IOC).  So you can run a python
script including CA on IOC. It does not support threading yet, so you
can 
run ONLY ONE python interpreter on IOC at same time. It is a large limitation
to utilize it on IOC, we are investigating if(or how) we can overcome
this limitation.

I also wrote a SWIG interface definition to access EPICS dbStatic
library from  
python (very premitive). It also availble on our Web site:

http://www-acc.kek.jp/WWW-ACC-exp/KEKB/control/Activity/Python/src/dbStaticLib.i

I started to write a wrapper library which allow user to access EPICS
database file easily from the Pytho using this interface, but have not
finished yet.

I also should mention that
 
       Matthieu Bec <mdcb@ing.iac.es>

at Isaac Newton Group in Spain  developed his Python/CA interface.
He uses Python to write a script to test a device or IOC software through
CA. ( We use it with Tkinter mainly, ie. GUI. However it does not
mean you cannot write simple script for testing a device.)

>  The reason I am asking is that we at the Swiss Light Source (SLS) think
> of getting involved into Python, especially for the beam lines.
> 
For the people who already know the Tcl or Perl, Python is just another 
scripting language. They may not wants to use one more another language
for them.

For other people, Python is much easier to laern and allow them to write 
much cleaner program than other languages, I believe. 
(Unfortunately I don't have quantitative proof on it, though.)

Performance can be an issue to use Python in a control system. 
It greatly depend on the way you use Tcl/Tk widgets in your application.
One of our application reads beam currents of 5120 bunches in the ring
every 5 second or so. And disply it as a bar graph. Because of limit in
the size of EPIC CA packet, we use eight sub array records to recieve
data. Another application
monitors status of IOCs or power supplies  in the system. These applications
monitors several hundres of records. These applications are used in the 
KEKB operation daily.

Hope this helps.
Noboru Yamamoto,
KEKB control group
KEK,  JAPAN

>
>    Thanks for your time,
> 
>                     Markus
> +---------------------------+--------------------------------+
> | Markus Janousch           | e-mail: markus.janousch@psi.ch |
> | Computing & Controls, SLS |                                |
> | Paul Scherrer Institute   |    Tel: +41-56-310 3275        |
> | CH-5232 Villigen-PSI      |    Fax: +41-56-310 4413        |
> +---------------------------+--------------------------------+


Navigate by Date:
Prev: Re: Data Fanouts Russell Page
Next: using vxWorks td() to shutdown CA clients and sequence tasks Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014 
Navigate by Thread:
Prev: Re: Data Fanouts Russell Page
Next: Re: Python/CA Noboru Yamamoto
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·