F Fermilab Python Channel Access Interface (CaChannel) Geoff Savage EPICS Collaboration Meeting 16 November 2000.

Slides:



Advertisements
Similar presentations
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
Advertisements

COURSE: COMPUTER PLATFORMS
EPICS Architecture Version 3 Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS)
LINUX-WINDOWS INTERACTION. One software allowing interaction between Linux and Windows is WINE. Wine allows Linux users to load Windows programs while.
JCA 2.0 Eric. Boucher – APS EPICS Collaboration Meeting - June 18-20, 2003.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Pete Owens MICE Controls & Monitoring Workshop 25th September 2006 MICE Control and Monitoring: General Architecture Subsystem Integration User Interface.
WSN Simulation Template for OMNeT++
Enhancing open-source localization By Farzana Forhad Farzana Forhad May 20, 2010 Advisor: Dr. Chris Pollett Committee members: Dr. Robert Chun & Professor.
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.
Lucretia - Floodland Flight Simulator for ATF2 Glen White SLAC ATF2 Project Meeting Dec 2007.
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
SAD and Python with EPICS at IHEP,Beijing, Noboru Yamamoto KEK, JAPAN.
SNS Integrated Control System EPICS IOCs – Relational DB Connectivity Bridge A. Liyu, A. Zhukov.
EPICS Meeting 29 th April - 3 rd May© 2013 Helmholtz-Zentrum BerlinCarsten Winkler.
SC84, Epics C# Library Written by Christoph Seiler Presented by Dirk Zimoch.
Imperial College Tracker Slow Control & Monitoring.
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
Debby Quock November 13, 2012 IRMIS at CLS. IRMIS Currently at CLS PV Crawler –Perl modules that parse EPICS IOC st.cmd, db, and dbd files. Information.
The IRE Project Interactive Robot Environment Spring 2004.
LOGO 2 nd Project Design for Library Programs Supervised By Dr: Mohammed Mikii.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
EPICS Direction to Support Large Projects and Incorporate New Technology Leo R. Dalesio 09/21/99.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
10/20/2015J-PARC1 Control Room Accelerator Physics Channel Access – Connection to Hardware Through EPICS Getting Information directly from the Control.
FLUKA GUI Status FLUKA Meeting CERN, 10/7/2006.
Wir schaffen Wissen – heute für morgen Gateway (Redux) PSI - GFA Controls IT Alain Bertrand Renata Krempaska, Hubert Lutz, Matteo Provenzano, Dirk Zimoch.
PVSSProxy The first piece of the MACS procedure framework (ProShell) Angela Brett.
Accelerator Physics SNS EPICS Integration with Web-based Technologies Presentation by Madhan Sundaram.
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.
March 2008EPICS Meeting in Shanghai1 KEKB Control System Status Mar Tatsuro NAKAMURA KEKB Control Group, KEK.
(Java) CA Client Libraries Status Matej Šekoranja
3.14 Work List IOC Core Channel Access. Changes to IOC Core Online add/delete of record instances Tool to support online add/delete OS independent layer.
C463 / B551 Artificial Intelligence Dana Vrajitoru Python.
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
1.Login from pub3 to olserver13 using one single interface (authentication with ActiveDirectory and through the firewall) 2.A possible changing of strategy.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
Writing EPICS Channel Access Clients in Python Geoff Savage March 2003.
Greenstone Internals How to Build a Digital Library Ian H. Witten and David Bainbridge.
1 1999/Ph 514: Flow of Control EPICS Flow of Control Marty Kraimer APS.
Scientific Programmes Committee Centre for Aerospace Systems Design & Engineering Amitay Isaacs Department of Aerospace Engineering Indian Institute of.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
Python Applications for Beamline Control Mark Rivers.
Controls & Monitoring Overview J. Leaver 03/06/2009.
Services Security A. Casajus R. Graciani. 12/12/ Overview DIRAC Security Infrastructure HSGE Transport Authentication Authorization DIRAC Authorization.
Connecting LabVIEW to EPICS network
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.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Types of Software Chapter 2.
EPICS and LabVIEW Tony Vento, National Instruments
Python Dr. Maury Eggen Fall Introduction #!/usr/bin/python python is interpreted python is not strongly typed python allows multiple assignments.
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.
Updates to CaPython/CaChannel John Hammonds Beamline Controls and Data Acquisition Group APS Engineering Support Division EPICS Collaboration Meeting INFN.
5. CSA data mining: Alpha version Only key datasets Some combined Time periods returned Combined with time CSA profiles All data used will be downloadable.
Python PVA Prototype Siniša Veseli Software Engineer AES / Software Services Group EPICS v4 Group Meeting November 19, 2013.
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.
Using COTS Hardware with EPICS Through LabVIEW – A Status Report EPICS Collaboration Meeting Fall 2011.
Applications Active Web Documents Active Web Documents.
Pixy Python API Charlotte Weaver.
Laboratorio per dottorandi 2017 Particle Accelerators Control System
PHP / MySQL Introduction
Channel Archiver Kay-Uwe Kasemir, LANL
Presentation transcript:

f Fermilab Python Channel Access Interface (CaChannel) Geoff Savage EPICS Collaboration Meeting 16 November 2000

11/16/00Python/CA2 Why Python?  “Python is an interpreted, interactive, object-oriented programming language”  Fermilab experience u Reduced development time u Portable (Linux, NT, OSF1) u Graphics (Tcl/Tk) u Powerful extension library u Easy to extend (SWIG) u Short learning curve 

11/16/00Python/CA3 Introduction  Implement channel access in a Python class for use in control system applications  First the channel access library must be wrapped u Each Python function wraps a CA “C” function u Additional C functions are needed to complete the wrap  Internal functions –callbacks –file descriptor manager  Helper functions –ca macros –db macros

11/16/00Python/CA4 Software Layers EPICS channel access C library  C functions  Macros  Data structures  Constants caPython  Python wrapper around the C library  Collection of python functions  Software wrapper and interface generator (SWIG) CaChannel  Python class  Implemented using caPython functions and SWIG pointer library

11/16/00Python/CA5 Examples Interactive >>> from CaChannel import * >>> ch = CaChannel() >>> ch.searchw('catest') >>> ch.putw( ) >>> ch.getw() Script from CaChannel import * def main(): try: catest = CaChannel() catest.searchw('catest') catest.putw( ) print catest.getw() except CaChannelException, status: print ca.message(status) main()

11/16/00Python/CA6 CaChannel Methods  Connection to a process variable (PV) u search_and_connect u clear_channel  Write to a PV u array_put u array_put_callback  Read from a PV u array_get u array_get_callback  Monitoring a PV u add_masked_array_event u clear_event

11/16/00Python/CA7 CaChannel Methods  Send the requests (search, get, put) to an IOC (server) u pend_io, pend_event, flush_io  PV information u field_type, element_count, name, state, host_name, read_access, write_access  Convenient PV access u Added by us to make PV access easier u searchw = search + pend_io u putw = array_put + pend_io u getw = array_get + pend_io

11/16/00Python/CA8 Callbacks  Users write callback functions in Python  The standard set of EPICS callbacks is supported u Connection u Put u Get  Value, Status, Time, Graphic, Control u Monitors  Value, Log, Alarm u Internal functions move data from C to Python

11/16/00Python/CA9 Monitor Callback def eventCb(epics_args, user_args): print ca.message(epics_args['status']) print "new value = ",epics_args['pv_value'] print ca.alarmSeverityString( epics_args['pv_severity']) print ca.alarmStatusString( epics_args['pv_status']) try: ch = CaChannel() ch.searchw('catest') ch.add_masked_array_event( ca.dbf_type_to_DBR_STS(ch.field_type()), None, ca.DBE_VALUE | ca.DBE_ALARM, eventCb) ch.pend_io() except CaChannelException, status: print ca.message(status)

11/16/00Python/CA10 CA Functions Not Wrapped  ca_change_connection_event u use ca_search_and_connect  ca_add_exception_event  ca_replace_printf_handler  ca_replace_access_rights_e vent  ca_puser macro u not used  ca_test_event

11/16/00Python/CA11 Issues and Plans  Issues u Scan groups included but not tested u fd manager implementation appears to have a memory leak (Janousch Markus)  Plans u Complete the wrap u Suitability of next CA version for use in Python

11/16/00Python/CA12 Summary  Extensive experience using CaChannel u CaChannel used in all control and monitoring GUIs at DZero  Easy for novices to use Python and CaChannel

11/16/00Python/CA13 Downloading CaChannel ->host software->CaPython