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:
We have reported the use of Python in the KEKB control system in the paper
submitted to ICALEPCS99 at Triest, Italy. Please visit:
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
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
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
I also wrote a SWIG interface definition to access EPICS dbStatic
python (very premitive). It also availble on our Web site:
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
I also should mention that
Matthieu Bec <firstname.lastname@example.org>
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 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.
KEKB control group
> Thanks for your time,
> | Markus Janousch | e-mail: email@example.com |
> | Computing & Controls, SLS | |
> | Paul Scherrer Institute | Tel: +41-56-310 3275 |
> | CH-5232 Villigen-PSI | Fax: +41-56-310 4413 |
- Navigate by Date:
Re: Data Fanouts Russell Page
using vxWorks td() to shutdown CA clients and sequence tasks Jeff Hill
- Navigate by Thread:
Re: Data Fanouts Russell Page
Re: Python/CA Noboru Yamamoto