Updates to CaPython/CaChannel John Hammonds Beamline Controls and Data Acquisition Group APS Engineering Support Division EPICS Collaboration Meeting INFN.

Slides:



Advertisements
Similar presentations
EPICS Base R and beyond Andrew Johnson Computer Scientist, AES Controls Group.
Advertisements

Binding python to other languages (Fortran and C).
JCA 2.0 Eric. Boucher – APS EPICS Collaboration Meeting - June 18-20, 2003.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
7 th ACS Workshop 2010 Antofagasta, Chile ACS Project Lifecycle Matias Mora (based on presentation by G. Chiozzi and J. Ibsen)
Connecting AreaDetector to GDA John Hammonds Software Services Group Advanced Photon Source The submitted manuscript has been created by UChicago Argonne,
Investigating the Use of Control System Studio at APS Beamlines An Eclipse Plug-in Perspective John Hammonds, Ken Evans, Brian Tieman Advanced Photon Source.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
DØ Channel Archiver Tutorial V.Sirotenko, 4/4/2001.
Control System Studio (CSS)‏ Kunal Shroff EPICS Training Meeting 07/10/2010.
Scan System Kay Kasemir, Xihui Chen Jan Managed by UT-Battelle for the U.S. Department of Energy Automated Experiment Control “Scan” should be.
Scan System: Experiment Automation Kay Kasemir, Xihui Chen RAL EPICS Meeting, May 2013.
OpenAlea An OpenSource platform for plant modeling C. Pradal, S. Dufour-Kowalski, F. Boudon, C. Fournier, C. Godin.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Introduction to .NET Framework
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
Kazuro Furukawa, KEK, Jul Jacva and JCA / CAJ EPICS Workshop 2006, VECC, India 1 Java and JCA / CAJ Kenneth Evans, Jr. October 12, 2004 Part of the.
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 1 Introduction to Computer Science.
Obsydian OLE Automation Ranjit Sahota Chief Architect Obsydian Development Ranjit Sahota Chief Architect Obsydian Development.
SC84, Epics C# Library Written by Christoph Seiler Presented by Dirk Zimoch.
Introduction to Python By Neil Cook Twitter: njcuk Slides/Notes:
©Xiaoying Gao, Peter Andreae First Java Program COMP 102 #2 2014T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
First Java Program COMP 102 #2 2015T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
Presented By: Muhammad Tariq Software Engineer Android Training course.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
BROOKHAVEN SCIENCE ASSOCIATES High level applications and EPICS control GUOBAO SHEN NSLS-II, Control Group May 4 th, 2009.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
10/20/2015J-PARC1 Control Room Accelerator Physics Channel Access – Connection to Hardware Through EPICS Getting Information directly from the Control.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
The european ITM Task Force data structure F. Imbeaux.
Accelerator Physics SNS EPICS Integration with Web-based Technologies Presentation by Madhan Sundaram.
MASAR Server & Application Guobao Shen Photon Sciences Department Brookhaven National Laboratory Collaboration Working Group Oct 02, 2013.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS Jan Control System Studio, CSS Overview.
Final Review of ITER PBS 45 CODAC – PART 1 – 14 th, 15 th and 16 th of January CadarachePage 1 FINAL DESIGN REVIEW OF ITER PBS 45 CODAC – PART 1.
Wir schaffen Wissen – heute für morgen PSI,30. Oktober 2015 Paul Scherrer Institut Python Channel Access Client/Server Extension Xiaoqiang Wang EPICS Spring.
EPICS Access from Python Geoff Savage DØ Workshop Thursday June 22, 2000.
(Java) CA Client Libraries Status Matej Šekoranja
Introduction to Programming Workshop 6 PHYS1101 Discovery Skills in Physics Dr. Nigel Dipper Room 125d
Python/Tango Client Binding Swig ( Vs Boost (
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
Component 4: Introduction to Information and Computer Science Unit 5: Overview of Programming Languages, Including Basic Programming Concepts Lecture 2.
Project Database Handler The Project Database Handler is a brokering application that mediates interactions between the project database and the external.
ESMF Code Generation with Cupid Update and Demo October 2009 Rocky Dunlap Spencer Rugaber Leo Mark Georgia Tech College of Computing.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
Writing EPICS Channel Access Clients in Python Geoff Savage March 2003.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS April 2013 Control System Studio, CSS Overview.
Python Applications for Beamline Control Mark Rivers.
Channel Access Client Coding 2006
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Chapter 3 JSP Overview. The Problem with Servlets processing the request and generating the response are both handled by a single servlet class Java programming.
PvaPy: Python API for EPICS PV Access Siniša Veseli Scientific Software Engineering & Data Management Advanced Photon Source EPICS Meeting October 2015.
Controls Zheqiao Geng Oct. 12, Autosave Additions/Upgrades and Experiences at SLAC Zheqiao Geng Controls Department SLAC National Accelerator Laboratory.
EPICS and LabVIEW Tony Vento, National Instruments
F Fermilab Python Channel Access Interface (CaChannel) Geoff Savage EPICS Collaboration Meeting 16 November 2000.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
16th Oct 08 Tom Cobb - Python at DLS 1 Uses of Python at Diamond Light Source.
OPERATING SYSTEMS DO YOU REQUIRE AN OPERATING SYSTEM IN YOUR SYSTEM?
Pyragen A PYTHON WRAPPER GENERATOR TO APPLICATION CORE LIBRARIES Fernando PEREIRA, Christian THEIS - HSE/RP EDMS tech note:
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
This material is based upon work supported by the U.S. Department of Energy Office of Science under Cooperative Agreement DE-SC , the State of Michigan.
A Web Based Job Submission System for a Physics Computing Cluster David Jones IOP Particle Physics 2004 Birmingham 1.
Pixy Python API Charlotte Weaver.
EPICS MCA and Canberra Support
Brief Intro to Python for Statistics
Overview of My Experience With C++
Presentation transcript:

Updates to CaPython/CaChannel John Hammonds Beamline Controls and Data Acquisition Group APS Engineering Support Division EPICS Collaboration Meeting INFN Legnaro, Italy Oct 15-17, 2008

2 Introduction Looking for a scripting language for use on the beamlines at APS. Many of the beamline scientists are not comfortable with Java due to the jump to object-oriented programming. CaChannel/CaPython written by Geoff Savage at Fermilab. –CaPython is a Python wrapper around channel access C libraries. –Some use at APS already. Latest version was written using SWIG 1.1, Python 2.2 and channel access Could not get this to compile on standard APS machines with SWIG 1.3, Python 2.4 and channel access 3.14.

3 SWIG Simplified Wrapper and Interface Generator (SWIG) – Presents the allure of providing your header files and automatically wrapping your code. Unfortunately, Channel Access is more than just simple C code (pointers, callbacks, multi-platform support). Since Geoff did the initial version, SWIG has moved from version 1.1 to 1.3, which changed many of the things used in the interface file. Compile problems were mostly due to changes in this library. After installing SWIG 1.1, I was able to compile Geoff’s ca_wrap.c but was not able to use SWIG to regenerate it. This meant updates would not be possible. Have now modified the SWIG interface files so that compiling with SWIG 1.3 is possible. This now opens up future developments like adding 3.14 functions.

4 Current Status Have been able to compile and do basic testing on Solaris-sparc, Linux and Solaris-x86 using Python 2.4. I was able to write a script for testing that monitored a channel and changed the contents of a 20,000 element array based on that value. We are trying to work towards a standard set of Python tools (wxPython, numpy, matplotlib, …) for use on the beamlines. Moving to Python 2.5.

5 Performance CaPython Performance2.0 GHz Pentium 4 Processor From catimeMbpscatime jph:userCalc CMy CaPythonGeoff's CaPython Connect test Float Test put get wait Double put get wait String put get wait0.7 Int put get wait

6 Extensions/Uses ca_util – Tim Mooney – thin layer above CaChannel to provide one line caget, caput, camonitor, … epicsPV – Mark Rivers - Interface to EPICS channel access, enhancements to CaChannel. Used to build MCA display. Not used much now. Sector 11 – Brian Toby – Various programs for alignment of beamline components, automation of scans. Sector 33 & 34 – Pete Jemian – Populate round-robin database (see RRDTools) to produce web plots of EPICS data.

7 RRDTools (Round-Robin Database)

8 More Round-Robin Database

9 Goals Fold this work back in as a real update to CaChannel/CaPython. Coordinate with Geoff. Add in 3.14 support including multithreading. Create a standard way of doing things at APS. Create a standard set of widgets to simplify connection to channels. Applications – Our group will be comparing possibilities in Python and Java.

10 Demo

11 Acknowledgments Geoff Savage (FNAL) - for producing the original version of CaPython/CaChannel. U.S. Department of Energy – work is supported by the Office of Science, Office of Basic Energy Sciences, under Contract No. DE-AC02- 06CH11357.