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 <[email protected]>
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: [email protected] |
> | 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
<2000>
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Data Fanouts Russell Page
- Next:
Re: Python/CA Noboru Yamamoto
- Index:
1994
1995
1996
1997
1998
1999
<2000>
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|