Experimental Physics and Industrial Control System (EPICS) Overview

Slides:



Advertisements
Similar presentations
Make This work with EPICS! 2006
Advertisements

1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
EPICS Architecture Version 3 Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS)
EPICS Noboru Yaamamoto Jan 27, 2009 for EPICS seminar at RRCAT, Indore Installing EPICS.
Technical Architectures
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.
OPC Overview OPC Device Support (PLC Gateway for 3.14) Ralph Lange – EPICS Collaboration Meeting at SLAC, April 2005.
Agenda Adaptation of existing open-source control systems from compact accelerators to large scale facilities.
Experimental Physics and Industrial Control System (EPICS) Overview Bob Dalesio, Dec, 2002.
Single Board Computers and Industrial PC Hardware at the CLS
1 1999/Ph 514: EPICS Overview EPICS Experimental Physics and Industrial Control System (EPICS) Overview Bob Dalesio LANL.
Berliner Elektronenspeicherringgesellschaft für Synchrotronstrahlung mbH (BESSY) Accelerator and Experiment Control and Monitor Systems Ralph Lange BESSY,
SCADA. 3-Oct-15 Contents.. Introduction Hardware Architecture Software Architecture Functionality Conclusion References.
Experimental Physics and Industrial Control System (EPICS) Database Bob Dalesio, June 27,2001.
CLS: Control System E. Matias, R. Berg, G. Wright, T. Wilson, T. Johnson, R. Tanner and H. Zhang Canadian Light Source University of Saskatchewan Invited.
Ralph Lange: OPC Gateway (Device Support) OPC Gateway (Device Support) Ralph Lange – EPICS Collaboration Meeting March SSRF.
Experimental Physics and Industrial Control System (EPICS) Overview Bob Dalesio, June 24, 2001.
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.
SNS Integrated Control System EPICS Recent Applications and Future Directions Bob Dalesio June 12, 2001.
Introduction to EPICS (Ned Arnold, John Maclean).
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Dec 8-10, 2004EPICS Collaboration Meeting – Tokai, Japan MicroIOC: A Simple Robust Platform for Integrating Devices Mark Pleško
EPICS Direction to Support Large Projects and Incorporate New Technology Leo R. Dalesio 09/21/99.
Experimental Physics and Industrial Control System (EPICS) Overview Bob Dalesio, May 11, 2000.
1/15 G. Manduchi EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 INTEGRATION OF EPICS AND MDSplus G. Manduchi, A. Luchetta, C. Taliercio, R.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
1 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Channel Access Concepts Kazuro Furukawa, KEK, ( ) (Bob Dalesio, LANL,
March 2008EPICS Meeting in Shanghai1 KEKB Control System Status Mar Tatsuro NAKAMURA KEKB Control Group, KEK.
Experience Running Embedded EPICS on NI CompactRIO Eric Björklund Dolores Baros Scott Baily.
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.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Online Software 8-July-98 Commissioning Working Group DØ Workshop S. Fuess Objective: Define for you, the customers of the Online system, the products.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Fast Fault Finder A Machine Protection Component.
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.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
Controls & Monitoring Overview J. Leaver 03/06/2009.
EDM collaboration meeting WBS 9.0: Slow controls, Simulations, DAQ/data analysis Chris Gould- North Carolina State University and Triangle Universities.
ICALEPCS 2007 The Evolution of the Elettra Control System The evolution of the Elettra Control Sytem C. Scafuri, L. Pivetta.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays Channel access priorities Portable server replacement of rsrv.
Connecting LabVIEW to EPICS network
Stanford Linear Accelerator Center Ron Chestnut EPICS Collaboration Mtg May 21-23, SLAC EPICS Projects Yesteryear, Today, and Tomorrow.
Jefferson Lab Report Karen S. White 11/14/00. Overview  Status of Jefferson Lab Control System  Work In Progress  Transitioning to Operations.
B. Dalesio, N. Arnold, M. Kraimer, E. Norum, A. Johnson EPICS Collaboration Meeting December 8-10, 2004 Roadmap for IOC.
EPICS Noboru Yaamamoto July 11, 2006 for EPICS seminar at VECC,Kolkata Installing EPICS.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
An Introduction to Epics/Tango Steve Hunt Alceli EPICS Meeting 2008 INFN Legnaro 15 Oct 17:15.
Using COTS Hardware with EPICS Through LabVIEW – A Status Report EPICS Collaboration Meeting Fall 2011.
EPIC S Noboru Yaamamoto July 11, 2006 for EPICS seminar at VECC,Kolkata Installing EPICS.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Computer System Structures
Business System Development
Overview of TANGO Control system
Netscape Application Server
Laboratorio per dottorandi 2017 Particle Accelerators Control System
ATF/ATF2 Control System
by Prasad Mane (05IT6012) School of Information Technology
Why PC Based Control ?.
Ch > 28.4.
Oracle Architecture Overview
Tango in a Nutshell 31/12/2018.
AIMS Equipment & Automation monitoring solution
Writing a Channel Access Client in EPICS
Channel Access Concepts
EPICS: Experimental Physics and Industrial Control System
Outline Operating System Organization Operating System Examples
Instructor: Mort Anvari
Channel Access Concepts
STATEL an easy way to transfer data
Presentation transcript:

Experimental Physics and Industrial Control System (EPICS) Overview Bob Dalesio, Dec, 2002

Outline Introduction: What is EPICS IOC Core Conclusions The Collaboration Architecture Tool-Kit IOC Core Channel Access Process Database Conclusions

What is EPICS? A collaboration of the controls groups of many research organizations that use the EPICS tool-kit. A distributed architecture that supports a wide range of solutions from small test stands to large integrated facilities. A set of tools that reduces software application and maintenance costs by providing: Configuration tools in place of programming A large installed base of tested software A modular design that supports incremental upgrades Well defined interfaces for extensions at every level

What is EPICS? The Collaboration Over 100 independent projects in North America, Europe and Asia Applications in particle physics, astronomy, and industrial control Distribute software over the network Independent development, co-development and incremental development of code done by members Problem reporting and resolution via e-mail exploders Documentation available on WWW sites Large collaboration meetings to report new work, discuss future directions, explore new applications, and explore new requirements for existing codes Small design groups from multiple labs meet to discuss design issues on significant codes: Channel Access, Archiving and MMI

What is EPICS? Partial List of Collaboration Members Fermilab D0 Experiment Oakridge National Laboratory Institute of High Energy Physics (Beijing) Stanford Linear Accelerator Center Deutches Elektronen- Synchrotron Lawrence Berkeley National Laboratory Los Alamos National Laboratory Argonne National Laboratory Commissariat a l’Energie Atomique (SACLAY) KEK (Koh ehnerugii Kencuesho) Berliner Elekronenspeicherring- Gesellschaft fur Synchrontronsrahlung Jefferson Laboratory Paul Scherrer Institut Gemini Telescope W. M. Keck Observatory Shanghai Syncrotron Radiation Facility RIKEN Budker Institute of Nuclear Physics

EPICS Is Suitable for a Large Range of Applications PVs I/O Controllers K Advanced Photon Source 300K 170 E KEK B 240K 94 CCEBAF 180K 98 BBESSY II 150K 110 SSwiss Light Source 90K 160 DD0 (FNL) 60K 124 PPEP II RF and Longitudinal Control 19K 21 LLow Energy Demonstrator Accelerator 15K 18 CCompass 1K 1 KKeck II 2K 2 GGemini Telescope 35K 17 *Next Linear Collider Test Accelerator 3K 2 **Diamond 50K 180 **Japanese Hadron Facility ~50K ~100 **PF-AR ~25K ~50 **Spallation Neutron Source 150K 150 *Planned or under construction

What is EPICS? Distributed Architecture EPICS is physically a flat architecture of front-end controllers and operator workstations that communicate via TCP/IP and UDP System scales through the addition of new computers Physical hierarchy is made through bridges, routers, or a gateway Network bandwidth is the primary limiting factor EPICS software architecture is client/server based - with independent data stores providing read/write access directly between any two points Local name services mean automatic integration of new components Point-to-point communication supports automation

EPICS Supports a Standard Control System Architecture Workstations: Sun Hp DEC/Alpha Silicon Graphics PC OS: Unix, Some Windows Site LAN/WAN I/O Controllers: VME,VXI PCI, Workstations OS: vxWorks, Unix, Windows RTEMS, RTLinux, L4 linux Remote and Local I/O Buses: Control Net, PCI, CAN-Bus, Industry Pack, VME, VXI, PCI, ISA, CAMAC, GPIB, Profibus, Bitbus, Serial, Allen-Bradley, Modbus, Yokogawa, G-3, Ethernet/IP Field I/O Field I/O Field I/O Field I/O

EPICS Architecture Is based on the channel access protocol Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS)

EPICS Architecture Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) DB Engine Types With a process database engine that interfaces to I/O Device Support Driver Support I/O Controller

EPICS Architecture User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager A set of channel access clients for viewing and Modifying data available from channel access servers Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) DB Engine Types Device Support Driver Support I/O Controller

EPICS Architecture User Tools Channel Access Client (CAC) DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local A plug-in for name resolution to a name server Connection Data Transfers Channel Access Server (CAS) DB Engine Types Device Support Driver Support I/O Controller

EPICS Architecture Archive Viewing Archive Analysis User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) A data archiver with web based management and a suite of viewing and analysis capabilities DB Engine Types Device Support Driver Support I/O Controller

EPICS Architecture Archive Viewing Archive Analysis Program Interfaces C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic XAL/ SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Programming interfaces for creating new channel access clients through standard language interfaces, scripting languages, specialized languages for state transition implementations, mathematical and modeling languages, and specialized accelerator analysis and control platforms DB Engine Types Device Support Driver Support I/O Controller

EPICS Architecture Archive Viewing Archive Analysis Program Interfaces C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) DB Engine Types Device Support A portable channel access server that supports the addition of any new data sources into the EPICS environment that is used to integrate many different platforms Driver Support I/O Controller

EPICS Architecture Archive Viewing Archive Analysis Program Interfaces C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) DB Engine Types Generic Data Descriptor Including a gateway that isolates network traffic between portions of the control network Device Support Driver Support Channel Access Client I/O Controller Gateway

EPICS Provides Interfaces at All Levels Archive Viewing Archive Analysis Program Interfaces C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) DB Engine Types Generic Data Descriptor Active X Access Lib Device Support Any Data Store Driver Support Channel Access Client Labview / Excel.. I/O Controller Gateway Portable CAS PCAS - Windows

Support For This Extensive Code Base is Divided into Core and Extensions Archive Viewing Archive Analysis Program Interfaces C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) DB Engine Types Generic Data Descriptor Active X Access Lib Device Support Any Data Store Driver Support Channel Access Client Labview / Excel.. I/O Controller Gateway Portable CAS PCAS - Windows

IOC Core: Process Database LAN ca-client ca-server A Channel Access server provides connection, get, put, and monitor services to this database A Channel Access client provides access to process DBs in other IOCs process DB dev support Process Blocks are the basic elements: AI, AO, BI, BO, Motor, CALC, PID, SUB, etc.… Process Blocks consist of fields for: SCHEDULE, I/O, CONVERT, ALARM, MONITOR They hold runtime values: VALUE, TIMESTAMP, ALARM CONDITION, etc.… New process block are easily added Configured using CAPFAST, GDCT, Relational DB, Text Editor at the workstation Loaded as ASCII records into vxWorks at boot time All fields can be read/written through the channel access client interface during operation

IOC Core: Process Database LAN ca-client ca-server process DB dev support Process Block execution time varies from block type to block type AI on a PowerPC ~100,000/second (50% idle) AI on a 68060 is ~18,000/second (50% idle) AI on a 68040 is ~6,000/second (50% idle) Fastest periodic scan rate is dependent on vxWorks clock tick - 60 Hz Interrupt scanning is limited by the CPU bandwidth (interrupt delay ~33usec) Name resolution - 10,000/second – on an 040 - runs at the lowest priority 2,500 Process blocks use around 1 Megabyte of memory Support to particular physical I/O is distinct from process logic - ASCII device type

IOC Core: Channel Access Client/Server Libraries Operator Interface Sequencer Database Links Channel Access Client Channel Access Client Channel Access Client LAN/WAN TCP/IP & UDP Channel Access Server EPICS Process Database Client: Provides read/write connections to any subsystem on the network with a channel access server Server: Provides read/write connections to information in this node to any client on the network through channel access client calls. The data resides here! Services: Dynamic Channel Location, Get, Put, Monitor Access Control, Connection Monitoring, Automatic Reconnect Conversion to client types, Composite Data Structures Platforms: UNIX, vxWorks, VMS (Client only), Windows NT, RTEMS, rtLinux

IOC Core: Channel Access Services Operator Interface Sequencer Database Links Channel Access Client Channel Access Client Channel Access Client TCP/IP & UDP LAN/WAN Performance: 68040 over 10 Mbit Ethernet Gets Propagation Delay 2 mS Throughput 7.8K /sec Puts Propagation Delay 1 mS Throughput 17K /sec Monitors Propagation Delay Dependent Throughput 15K / sec (Typically 10% channels have monitors) (memory use in IOC - 2 Meg / 60 connections) (30% network load for 15K monitors / second) Increase bandwidth with Routers, Bridges, Higher speed networks and EPICS gateway Channel Access Server EPICS Process Database

IOC Core: Mapping Records to Channels Channel Access Client: Connect to “Name” Add Event to alarm change monitor change archive change Make data type request Value Status & Severity Time Stamp Display and Control Information Channel Access Client: Connect to “AI<.VAL>” AI.VAL AI.STAT AI.SEVR AI.TS AI.HOPR AI.LOPR AI.EGU Connect to AI.SCAN AI.SCAN # Choices List of choices AI: Name SCAN VAL STAT ACK SEVR ACKT HOPR EGU LOPR HIHI HHSV HIGH HSV LOW LSV LOLO LLSV

The Learning Curve for EPICS is difficult Installing EPICS Setting up the application environment to automatically build databases Setting up the IOC to boot from the workstation Installing the new drivers Knowledge of how to debug the application - is needed by everyone Learning to use the process database Choosing and learning which client tools to use This learning curve can be eased by receiving training from other laboratories, having one of your employees work and train at an EPICS site, or reading the documents and using the software support document to determine the collaboration member supporting your platform.

New Developments Take Advantage of Changes in Technology and Improve Functionality, Ease of Use, and Performance While Reducing Cost Upgrade channel access to support an improved protocol, new monitor options, OO interfaces, and an optimized server for both the database and other data stores (LANL/ANL/SLAC) Provide a distributed archiving/archive retrieval capability to better support analysis and operations using RDBs and CORBA (LANL/JLAB/DESY/BESSY/SLAC) Develop new database configuration tools (APS/Cosy Lab/Diamond) Support for IOC core and hardware drivers under new operating systems (SSRL/CLS/KEK) New High Level Physics Application Platform (ORNL/LANL/CosyLab/BNL)

Conclusions: EPICS Continues to Meet the Needs of Its Members Through Cooperative Development of a Scaleable, Flexible Tool-kit The fundamental performance and functionality is scaleable and easily configured. Clean interfaces for clients, new record types, data stores and hardware promote independent development, support ease of reintegration, and protect against obsolescence. Open software development supports cooperative collaboration and gives members laboratories a larger pool of talent to support their controls requirements. Continual improvements allow members to expand functionality, performance, reliability and function while taking advantage of latest technology.