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

Experimental Physics and Industrial Control System (EPICS) Overview

  • Upload
    garvey

  • View
    38

  • Download
    0

Embed Size (px)

DESCRIPTION

Experimental Physics and Industrial Control System (EPICS) Overview. Bob Dalesio, Dec, 2002. Outline. Introduction: What is EPICS The Collaboration Architecture Tool-Kit IOC Core Channel Access Process Database Conclusions. What is EPICS?. - PowerPoint PPT Presentation

Citation preview

Page 1: Experimental Physics and Industrial Control System (EPICS) Overview

Experimental Physics and Industrial Control System (EPICS)Overview

Bob Dalesio, Dec, 2002

Page 2: Experimental Physics and Industrial Control System (EPICS) Overview

Outline

• Introduction: What is EPICS– The Collaboration– Architecture– Tool-Kit

• IOC Core– Channel Access– Process Database

• Conclusions

Page 3: Experimental Physics and Industrial Control System (EPICS) Overview

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 programmingA large installed base of tested softwareA modular design that supports incremental upgradesWell defined interfaces for extensions at every level

Page 4: Experimental Physics and Industrial Control System (EPICS) Overview

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

Page 5: Experimental Physics and Industrial Control System (EPICS) Overview

What is EPICS? Partial List of Collaboration Members

Argonne NationalLaboratory

Los Alamos NationalLaboratory

Jefferson Laboratory

Berliner Elekronenspeicherring-

Gesellschaft furSynchrontronsrahlung

W. M. KeckObservatory

Stanford Linear Accelerator Center

KEK (Koh ehnerugiiKencuesho)

Commissariat a l’EnergieAtomique (SACLAY)

Deutches Elektronen-Synchrotron

Lawrence Berkeley National

Laboratory

Paul Scherrer Institut

GeminiTelescope

Shanghai SyncrotronRadiation Facility RIKEN

Oakridge NationalLaboratory

Institute of High EnergyPhysics (Beijing)

Fermilab D0Experiment

Budker Institute of NuclearPhysics

Page 6: Experimental Physics and Industrial Control System (EPICS) Overview

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

Page 7: Experimental Physics and Industrial Control System (EPICS) Overview

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 computersPhysical hierarchy is made through bridges, routers, or a gatewayNetwork 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 componentsPoint-to-point communication supports automation

Page 8: Experimental Physics and Industrial Control System (EPICS) Overview

EPICS Supports a Standard Control System EPICS Supports a Standard Control System ArchitectureArchitecture

Workstations: Sun Hp DEC/Alpha Silicon Graphics PCOS: Unix, Some Windows

I/O Controllers: VME,VXI PCI, WorkstationsOS: vxWorks, Unix, Windows RTEMS, RTLinux, L4 linux

Field I/ORemote 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

Site LAN/WAN

Field I/O

Page 9: Experimental Physics and Industrial Control System (EPICS) Overview

Channel Access Client (CAC)Connection Data Transfers

WAN/LAN/Local

Connection Data TransfersChannel Access Server (CAS)

EPICS ArchitectureEPICS Architecture

Is based on the channel access protocol

Page 10: Experimental Physics and Industrial Control System (EPICS) Overview

Channel Access Client (CAC)Connection Data Transfers

WAN/LAN/Local

Connection Data TransfersChannel Access Server (CAS)

DB Engine

Device Support

Driver SupportI/O Controller

Types

EPICS ArchitectureEPICS Architecture

With a process database engine that interfaces to I/O

Page 11: Experimental Physics and Industrial Control System (EPICS) Overview

Channel Access Client (CAC)Connection Data Transfers

WAN/LAN/Local

Connection Data TransfersChannel Access Server (CAS)

DB Engine

Device Support

Driver SupportI/O Controller

User ToolsDM/MEDM/DM2K/EDM/JDMAlarm Handler / stripTool/knobManager

Types

EPICS ArchitectureEPICS Architecture

A set of channel access clients for viewing andModifying data available from channel access servers

Page 12: Experimental Physics and Industrial Control System (EPICS) Overview

Channel Access Client (CAC)Connection Data Transfers

WAN/LAN/Local

Connection Data TransfersChannel Access Server (CAS)

DB Engine

Device Support

Driver SupportI/O Controller

User ToolsDM/MEDM/DM2K/EDM/JDMAlarm Handler / stripTool/knobManager

Types

Connection Server

EPICS ArchitectureEPICS Architecture

A plug-in for name resolution to a name server

Page 13: Experimental Physics and Industrial Control System (EPICS) Overview

Channel Access Client (CAC)Connection Data Transfers

WAN/LAN/Local

Connection Data TransfersChannel Access Server (CAS)

DB Engine

Device Support

Driver SupportI/O Controller

Archiving

Archive Access

Archive Viewing Archive AnalysisUser ToolsDM/MEDM/DM2K/EDM/JDMAlarm Handler / stripTool/knobManager

Types

Connection Server

EPICS ArchitectureEPICS Architecture

A data archiver with web based management and a suite of viewing and analysis capabilities

Page 14: Experimental Physics and Industrial Control System (EPICS) Overview

Channel Access Client (CAC)Connection Data Transfers

WAN/LAN/Local

Connection Data TransfersChannel Access Server (CAS)

DB Engine

Device Support

Driver SupportI/O Controller

Archiving

Archive Access

Archive Viewing Archive AnalysisUser ToolsDM/MEDM/DM2K/EDM/JDMAlarm Handler / stripTool/knobManager

Types

Connection Server

Program InterfacesC, C++, Fortran, JAVAIDL / Matlab / MathematicaActiveX / DDE / VisBasicXAL/ SDDS / SAD / tcl / PERL / PythonState Notation Lang / FSQT

EPICS ArchitectureEPICS Architecture

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

Page 15: Experimental Physics and Industrial Control System (EPICS) Overview

Channel Access Client (CAC)Connection Data Transfers

WAN/LAN/Local

Connection Data TransfersChannel Access Server (CAS)

DB Engine

Device Support

Driver SupportI/O Controller

Archiving

Archive Access

Archive Viewing Archive AnalysisUser ToolsDM/MEDM/DM2K/EDM/JDMAlarm Handler / stripTool/knobManager

Connection Data TransfersPortable Channel Access Server (CAS)

Types

Connection Server

Program InterfacesC, C++, Fortran, JAVAIDL / Matlab / MathematicaActiveX / DDE / VisBasicSDDS / SAD / tcl / PERL / PythonState Notation Lang / FSQT

EPICS ArchitectureEPICS Architecture

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

Page 16: Experimental Physics and Industrial Control System (EPICS) Overview

Channel Access Client (CAC)Connection Data Transfers

WAN/LAN/Local

Connection Data TransfersChannel Access Server (CAS)

DB Engine

Device Support

Driver Support

Generic Data Descriptor

Channel Access ClientI/O Controller Gateway

Archiving

Archive Access

Archive Viewing Archive AnalysisUser ToolsDM/MEDM/DM2K/EDM/JDMAlarm Handler / stripTool/knobManager

Connection Data TransfersPortable Channel Access Server (CAS)

Types

Connection Server

Program InterfacesC, C++, Fortran, JAVAIDL / Matlab / MathematicaActiveX / DDE / VisBasicSDDS / SAD / tcl / PERL / PythonState Notation Lang / FSQT

EPICS ArchitectureEPICS Architecture

Including a gateway that isolates network traffic between portions of the control network

Page 17: Experimental Physics and Industrial Control System (EPICS) Overview

Channel Access Client (CAC)Connection Data Transfers

WAN/LAN/Local

Connection Data TransfersChannel Access Server (CAS)

DB Engine

Device Support

Driver Support

Generic Data Descriptor

Channel Access Client

Active X

Labview / Excel..

Access Lib

Any Data Store

I/O Controller Gateway Portable CAS PCAS - Windows

Archiving

Archive Access

Archive Viewing Archive AnalysisUser ToolsDM/MEDM/DM2K/EDM/JDMAlarm Handler / stripTool/knobManager

Connection Data TransfersPortable Channel Access Server (CAS)

Types

Connection Server

Program InterfacesC, C++, Fortran, JAVAIDL / Matlab / MathematicaActiveX / DDE / VisBasicSDDS / SAD / tcl / PERL / PythonState Notation Lang / FSQT

EPICS Provides Interfaces at All LevelsEPICS Provides Interfaces at All Levels

Page 18: Experimental Physics and Industrial Control System (EPICS) Overview

Support For This Extensive Code Base is Support For This Extensive Code Base is Divided into Core and ExtensionsDivided into Core and Extensions

Channel Access Client (CAC)Connection Data Transfers

WAN/LAN/Local

Connection Data TransfersChannel Access Server (CAS)

DB Engine

Device Support

Driver Support

Generic Data Descriptor

Channel Access Client

Active X

Labview / Excel..

Access Lib

Any Data Store

I/O Controller Gateway Portable CAS PCAS - Windows

Archiving

Archive Access

Archive Viewing Archive AnalysisUser ToolsDM/MEDM/DM2K/EDM/JDMAlarm Handler / stripTool/knobManager

Connection Data TransfersPortable Channel Access Server (CAS)

Types

Connection Server

Program InterfacesC, C++, Fortran, JAVAIDL / Matlab / MathematicaActiveX / DDE / VisBasicSDDS / SAD / tcl / PERL / PythonState Notation Lang / FSQT

Page 19: Experimental Physics and Industrial Control System (EPICS) Overview

IOC Core: Process Database

ca-server

process DB

dev support

ca-client

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

LAN

A Channel Access server provides connection, get, put, and monitor services to this database

A Channel Access client provides access to process DBsin other IOCs

Page 20: Experimental Physics and Industrial Control System (EPICS) Overview

IOC Core: Process Database

ca-server

process DB

dev support

ca-client

Process Block execution time varies from block type to block typeAI 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 HzInterrupt scanning is limited by the CPU bandwidth (interrupt delay ~33usec)Name resolution - 10,000/second – on an 040 - runs at the lowest priority2,500 Process blocks use around 1 Megabyte of memorySupport to particular physical I/O is distinct from process logic - ASCII device type

LAN

Page 21: Experimental Physics and Industrial Control System (EPICS) Overview

IOC Core: Channel Access Client/Server Libraries

Sequencer

Channel Access Client

LAN/WAN

Operator Interface

Channel Access Client

Database Links

Channel Access Client

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 onthe network through channel access client calls. The data resides here!

Services: Dynamic Channel Location, Get, Put, MonitorAccess Control, Connection Monitoring, Automatic ReconnectConversion to client types, Composite Data Structures

Platforms: UNIX, vxWorks, VMS (Client only), Windows NT, RTEMS, rtLinux

TCP/IP & UDP

Page 22: Experimental Physics and Industrial Control System (EPICS) Overview

IOC Core: Channel Access Services

Sequencer

Channel Access Client

LAN/WAN

Operator Interface

Channel Access Client

Database Links

Channel Access Client

Channel Access Server

EPICS Process Database

Performance:68040 over 10 Mbit EthernetGets

Propagation Delay 2 mSThroughput 7.8K /sec

PutsPropagation Delay 1 mSThroughput 17K /sec

MonitorsPropagation 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

TCP/IP & UDP

Page 23: Experimental Physics and Industrial Control System (EPICS) Overview

IOC Core: Mapping Records to Channels

AI:NameSCANVALSTAT ACKSEVR ACKTHOPR EGULOPRHIHI HHSVHIGH HSVLOW LSVLOLO LLSV

Channel Access Client:Connect to “Name”Add Event to

alarm changemonitor changearchive change

Make data type requestValueStatus & SeverityTime StampDisplay and Control Information

Channel Access Client:Connect to “AI<.VAL>”

AI.VALAI.STATAI.SEVRAI.TSAI.HOPRAI.LOPRAI.EGU

Connect to AI.SCANAI.SCANAI.STATAI.SEVRAI.TS# ChoicesList of choices

Page 24: Experimental Physics and Industrial Control System (EPICS) Overview

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.

Page 25: Experimental Physics and Industrial Control System (EPICS) Overview

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)

Page 26: Experimental Physics and Industrial Control System (EPICS) Overview

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.