Wir schaffen Wissen – heute für morgen PSI,2. Oktober 2016 Paul Scherrer Institut Portable Channel Access Server in Python Xiaoqiang Wang Controls Talk.

Slides:



Advertisements
Similar presentations
Wir schaffen Wissen – heute für morgen A.C.Mezger, Paul Scherrer Institut, Switzerland caQtDM, an EPICS display manager with Qt Paul Scherrer Institut.
Advertisements

Paul Chu FRIB Controls Group Leader (Acting) Service-Oriented Architecture for High-level Applications.
CLS Process Variable Database By: Diony Medrano. CLS PV Database - Topics Background Design Constraints Design and Implementation Benefits and Future.
Channel Access Enhancements J. Hill. R3.14 Enhancements Large array support in the portable server –nearly complete –a priority for SNS Port syntax for.
1 Portable CA Server – EPICS Training – K.Furukawa – Mar EPICS Portable Channel Access Server Kazuro Furukawa, KEK, ( ) (Marty Kraimer, APS,
Controls Group New Channel Access Nameserver Joan Sage 12/4/01.
Wir schaffen Wissen – heute für morgen June 11, 2015PSI,June 11, 2015PSI, Paul Scherrer Institut Modular High Bandwidth Data Acquisition System With Gigabit.
9-12 Oct 2000PCaPAC 2000, DESY Hamburg Epics to TINE translator Matthias Clausen, DESY Hamburg Phil Duval, DESY Hamburg Zoltan Kakucs, DESY Hamburg.
16 - Nov. 2000EPICS Workshop Oak Ridge1 Epics to TINE translator Matthias Clausen, DESY Hamburg Phil Duval, DESY Hamburg Zoltan Kakucs, DESY Hamburg.
Wir schaffen Wissen – heute für morgen caQtDM: a Qt-based EPICS display manager, status report Helge Brands, Anton Mezger, Paul Scherrer Institut At the.
–Streamline / organize Improve readability of code Decrease code volume/line count Simplify mechanisms Improve maintainability & clarity Decrease development.
Lucretia - Floodland Flight Simulator for ATF2 Glen White SLAC ATF2 Project Meeting Dec 2007.
Wir schaffen Wissen – heute für morgen 24. August 2015PSI,24. August 2015PSI, Paul Scherrer Institut Embedded PREEMPT_RT Linux for IOxOS VME IOC Damir.
Data Center Infrastructure
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.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
Imperial College Tracker Slow Control & Monitoring.
1 1999/Ph 514: Portable CA Server EPICS Portable Channel Access Server Marty Kraimer.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Wir schaffen Wissen – heute für morgen Gateway (Redux) PSI - GFA Controls IT Alain Bertrand Renata Krempaska, Hubert Lutz, Matteo Provenzano, Dirk Zimoch.
Accelerator Physics SNS EPICS Integration with Web-based Technologies Presentation by Madhan Sundaram.
Wir schaffen Wissen – heute für morgen PSI,30. Oktober 2015 Paul Scherrer Institut Python Channel Access Client/Server Extension Xiaoqiang Wang EPICS Spring.
Wir schaffen Wissen – heute für morgen Paul Scherrer Institut EPICS V4 Archiver Service and Matlab client Timo Korhonen.
Wir schaffen Wissen – heute für morgen Paul Scherrer Institut Windows-based camera IOC with a SMB branch Helge Brands.
Integrating EPICS and LabVIEW on Windows using DCOM Freddie Akeroyd ISIS Computing Group.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to.
BROOKHAVEN SCIENCE ASSOCIATES Advanced Monitor/Subscription Mechanisms Ralph Lange EPICS Collaboration Meeting October 11, 2009.
Wir schaffen Wissen – heute für morgen Electronic Logbooks Revisited Paul Scherrer Institute Andreas Lüdeke Presented at the ARW 2011.
EPICS to TANGO Translator Rok Šabjan on behalf of Rok Štefanič Presented at ICALEPCS, Knoxville, October.
THE DIGITAL REVOLUTION. Wir schaffen Wissen – heute für morgen 15. Apr. 2013PSI, Paul Scherrer Institut The fully digital PSI accelerator control room.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
Institute for the Protection and Security of the Citizen HAZAS – Hazard Assessment ECCAIRS Technical Course Provided by the Joint Research Centre - Ispra.
Wir schaffen Wissen – heute für morgen Babak Kalantari, PSI MRF workshop, Prague, Eli Beamlines Paul Scherrer Institut Synchronous DAQ using.
F Fermilab Python Channel Access Interface (CaChannel) Geoff Savage EPICS Collaboration Meeting 16 November 2000.
R. Krempaska, October, 2013 Wir schaffen Wissen – heute für morgen Controls Security at PSI Current Status R. Krempaska, A. Bertrand, C. Higgs, R. Kapeller,
Wir schaffen Wissen – heute für morgen Paul Scherrer Institut Timo Korhonen Improvements to Indexing Tool (Channel Archiver) ‏ EPICS Meeting, BNL 2010.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
Controls Group New Channel Access Nameserver Presented by Karen White for Joan Sage.
Lab 301 Populating Template Data from a Third Party Data Source Justin Pava, Software Release Manager Andrew Schoonmaker, Software QA Engineer.
Wir schaffen Wissen – heute für morgen 30. Mai 2016PSI,30. Mai 2016PSI, Paul Scherrer Institut The PSI web interface to the EPICS channel archiver Gaudenz.
Using COTS Hardware with EPICS Through LabVIEW – A Status Report EPICS Collaboration Meeting Fall 2011.
Managed by UT-Battelle for the Department of Energy LabVIEW Channel Access Implementaion Alexander Zhukov SNS.
WIR SCHAFFEN WISSEN – HEUTE FÜR MORGEN caQtDM: future use of a display manager Helge Brands, Anton Mezger :: Paul Scherrer Institut, Switzerland Spring.
WIR SCHAFFEN WISSEN – HEUTE FÜR MORGEN Overview high-level applications and code management Didier Voulot :: Paul Scherrer Institut … with a lot of input.
umbrellaID: Shibboleth 3 and Attribute Authority
CALIPSOplus JRA2 Kickoff: Task 6 – Authentication + Identity
Laboratorio per dottorandi 2017 Particle Accelerators Control System
GFA Controls IT Alain Bertrand
Accelerator Network Safety at PSI
GFA Controls IT Alain Bertrand
Analysis Software for Neutron Imaging
Mirjam van Daalen, (Stephan Egli, Derek Feichtinger) :: Paul Scherrer Institut Status Report PSI PaNDaaS2 meeting Grenoble 6 – 7 July 2016.
caQtDM: future use of a display manager
Portable Channel Access Server
Björn Erik Abt :: Paul Scherrer Institut
Server-Side Plugins Andrew Johnson, Ralph Lange
Portable Channel Access Server
Mirjam van Daalen, (Stephan Egli, Derek Feichtinger) :: Paul Scherrer Institut Status Report PSI PaNDaaS2 meeting Grenoble 12 – 13 December 2016.
Channel Access Concepts
NICOS – IBEX Interactions
Portable Channel Access Server
umbrellaID: OpenIRIS & Umbrella
regDev Simple access to register based devices
The Lua Chunk Vault, an enhancement to epics base
EPICS at Diamond Mark Heron Head of Controls Group
SLC-Aware IOC Magnet Functional Requirements
TANGO from an EPICS perspective
Presentation transcript:

Wir schaffen Wissen – heute für morgen PSI,2. Oktober 2016 Paul Scherrer Institut Portable Channel Access Server in Python Xiaoqiang Wang Controls Talk

Motivation Device/Experiment integration during beamline support Device driver and PCAS in C++ are not mastered by every developer Python –has an (arguably) elegant syntax, easy to learn and maintain –has rich built-in modules –has extensive 3 rd party modules –plays well with others through extensions

Portable Channel Access Server C++ portable channel access server library – EPICSBASE /src/cas –caServer, casPV, casChannel to interact with PCAS applications. CA Clients PCAS Library PCAS Application caServer casPV casChannel asLib

PCASpy PCAS in Python –Single Driver interface. –PV attributes are configured in Python dict. –Access security control configurable as in EPICS IOC. CA Clients PCAS Library PCASpy Application Driver PCASpy Library

PCASpy Driver –Methods to override: – read(reason): user requests the value of PV with base name reason – write(reason, value): user puts value to PV with base name reason – Helper methods: –setParam(reason, value): store the value –getParam(reason): get the value –updatePVs(): inform server about value changes –callbackPV(reason): infor server about asynchronous completion SimpleServer – createPV(prefix, pvdb) – process(secs) – initAccessSecurityFile(filename, **subst)

WinSpec CCD Driver Example – WinSpec Class WinSpec/32 COM interface NEW 0.4+

WinSpec CCD Driver Example – PV Database PV database Access security file “access.as” More on database fields:

WinSpec CCD Driver Example - Driver Driver - read

WinSpec CCD Driver Example - Driver Driver - write

WinSpec CCD Driver Example - Driver Driver – poll thread

WinSpec CCD Driver Example – Run and Test C:\epics>caput –c –w 10 MTEST:Acquire 1 Old : MTEST:Acquire Stop New : MTEST:Acquire Stop C:\epics>caput -S MTEST:FileName "C:\\Temp\\test.tif" Old : MTEST:FileName test.TIF New : MTEST:FileName C:\\Temp\\test.tif C:\epics>caput MTEST:WriteFile 1 Old : MTEST:WriteFile None New : MTEST:WriteFile Save C:\epics>caget -#10 MTEST:ArrayData MTEST:ArrayData

Random Notes More tutorials: Advices – Don’t block read/write methods – Protect your code with try…catch… when interface with external libraries – Write modular code – No abuse Share – EPICS 3.15 and V4?

References PCAS: PCASpy:

Portable Channel Access Server Example application EPICSBASE /makeBaseApp/top/caServerApp –exServer, subclass caServer –pvExistTest – respond to CA search request –pvAttach – give the PV object –exPV, subclass casPV –read/write – respond to CA read/write request –Asynchronouse? exAsyncPV –Array data? exVectorPV –casChannel, subclass casChannel –readAccess/writeAccess – read/write access control Connection to data source depends on specific applications.