A Review of EPICS tools for Scientists and Engineers Brian Martlew 24th September 2014
A brief history of EPICS Review of architecture EPICS Extensions Choosing the right option
EPICS Timeline Late 1980s Ground Test Accelerator – LANL Early 1990s LANL + APS form collaboration January 1994 First official release Mid 1990s CEBAF converts to EPICS DESY & BESSY becomes first European users 1995-2005 Widely adopted (100 licenses in 2004) 2002 Cross platform support V3.14 2004 Becomes an open source project 2010- EPICS V4
EPICS Overview EDM Archiver Python Client Client EDM Channel Access 7/22/2018 EPICS Overview EDM Archiver Python Client Client EDM Channel Access Server IOC IOC IOC Meter Power Supply Camera
EPICS Architecture
EDM
Channel Archiver
Strip Tool
Control System Studio
Sequencer Implements Finite State Machines Runs in IOC program level_check float v; assign v to "Input_voltage"; monitor v; short light; assign light to "Indicator_light"; ss volt_check { state light_off { when (v > 5.0) { /* turn light on */ light = TRUE; pvPut(light); } state light_on } state light_on { when (v < 5.0) { /* turn light off */ light = FALSE; } state light_off Implements Finite State Machines Runs in IOC Tightly integrated with I/O State Notation Language Needs detailed knowledge of IOC configuration
CA_Lab Developed by BESSY II Client only Lightweight High performance
NI Support Requires DSC Module Client and server Server has limited functionality Limited support
OpenXAL Developed by SNS Written in Java Online Accelerator Physics Modelling
Also… .NET Developed by Graham Cox C#, C++, VB.NET Full CA functionality Intelligent widgets
Choosing the Right Option EPICS philosophy is that all control logic and operation takes place in the IOC. Clients are only used for UI, complex processing and long-term storage. Which OS? Will the application have to be installed on a different machine? Licensing? Supported? Compatibility? Can we agree on a small sub-set of extensions?