0% found this document useful (0 votes)
76 views25 pages

Experimental Physics and Industrial Control System (EPICS) : Bob Dalesio Lanl

Experimental Physics and Industrial Control System (EPICS) is a software framework used for building control systems for scientific instruments and industrial processes. It uses a distributed client-server architecture with the Channel Access protocol to connect process databases running on input-output controllers to operator interfaces. EPICS provides tools for configuration, visualization, and programming process control using records in the process database along with channel access clients.

Uploaded by

Mario Martin
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views25 pages

Experimental Physics and Industrial Control System (EPICS) : Bob Dalesio Lanl

Experimental Physics and Industrial Control System (EPICS) is a software framework used for building control systems for scientific instruments and industrial processes. It uses a distributed client-server architecture with the Channel Access protocol to connect process databases running on input-output controllers to operator interfaces. EPICS provides tools for configuration, visualization, and programming process control using records in the process database along with channel access clients.

Uploaded by

Mario Martin
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

EPICS

Experimental Physics and Industrial Control System (EPICS) Overview


Bob Dalesio LANL

1999/Ph 514: EPICS Overview

Outline
Introduction: What is EPICS The Collaboration Software / Hardware Architecture The Client/Server Model over the Channel Access Protocol A Look at the Principal Data Store - Process Database A Look at Some Channel Access Clients Display Managers (EDD/DM and MEDM) Alarm Handler State Notation Language Conclusions

EPICS

1999/Ph 514: EPICS Overview

Introduction: What is EPICS?

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

1999/Ph 514: EPICS Overview

The EPICS Collaboration

EPICS

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, CDEV, Archiving and MMI

1999/Ph 514: EPICS Overview

Accelerator Programs Using EPICS

EPICS

The Advanced Photon Source and Beamlines @ ANL The Thomas Jefferson National Accelerator Facility @ Newport News, Va. Proton Storage Ring @ LANSCE Injection Linac for KEKB Factory @ KEK Advanced Free Electron Laser @ LANL Duke Free Electron Laser and Mark III Laser @ Duke University Heavy Ion Fusion Test Stand @ LBL Intense Pulsed Neutron Source @ ANL HERA Cryogenic Plant and Tesla Test Facility @ DESY RF and Beamline Control for the B-Factory @ SLAC Bates Linear Accelerator @ Bates MIT Racetrack Microtron @ University of Athens BESSY II @ BESSY

1999/Ph 514: EPICS Overview

Astronomy Programs Using EPICS


Gemini 8 Meter Telescopes @ NOAO (Hawaii, Chile) Kitt Peak Observatory @ NOAO (Arizona) William Herschel Telescope @ La Palma (Canary Islands) United Kingdom Infrared Telescope @ JAC (Hawaii) LIGO @ Cal Tech GWFD @ Japanese National Large Telescope Keck II @ CARA (Hawaii)

EPICS

1999/Ph 514: EPICS Overview

Detector Programs Using EPICS


PHENIX Detector @ RHIC STAR Detector @ RHIC Detector Halls A, B & C @ TJNAF Gammasphere @ LBL Babar Detector @ PEP II D0 @ FNAL

EPICS

1999/Ph 514: EPICS Overview

Industrial Use of EPICS


GM Fuel Cell Test Stand @ LANL Agile Manufacturing Plant @ Allied Signal Plant Simulation @ Knolls Atomic Power Laboratory Flight Simulation @ Jet Propulsion Laboratory Liquefied Natural Gas Plant @ BG & E Western Lake Superior Waste Water Treatment Plant St. Louis County - Potable Water Distribution Network Bechtel-Parsons-Brinkerhoffs Fire Ventilation Test Facility The Advanced Micro Devices Wafer Fabrication - Clean Room Citgo Oil Product Storage and Movement Facility Saphania Oil Field Well Head and Extraction Las Vegas - Potable Water Distribution Network

EPICS

1999/Ph 514: EPICS Overview

Data Acquisition Commercial Applications


Pratt & Whitney Engine Test Facility Lockheed Martin NASA Langley Wind Tunnel United Technologies Engine Test Facility McDonnell Douglas Component Test Facility

EPICS

1999/Ph 514: EPICS Overview

Distributed Architecture

EPICS

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

1999/Ph 514: EPICS Overview

10

Distributed Hardware Configuration


Workstations:
Sun HP DEC/Alpha Silicon Graphics PC

EPICS

I/O Controllers:
VME, VXI, PCI, ISA

Remote I/O and Signal Conditioning:


CAN-Bus, Industry Pack VME, VXI, PCI, ISA CAMAC, GPIB Profibus, Bitbus, Serial Allen-Bradley, Modbus
1999/Ph 514: EPICS Overview

Field I/O

Field I/O

Field I/O

Field I/O

11

Standard Operating System Software Configurations


Workstations OS:
SunOS, Solaris HPUX DEC-UNIX SGIX Windows NT Linux

EPICS

I/O Controllers OS:


vxWorks RTEMS

Field I/O

Field I/O

Field I/O

Field I/O

1999/Ph 514: EPICS Overview

12

Distributed Software Architecture

EPICS

vxWorks, UNIX WindowsNT, VMS Linux vxWorks WindowsNT Solaris Linux RTEMS

VMS

ca-client

SLC Database

ca-server

ca-server process DB device sup

vxWorks only

1999/Ph 514: EPICS Overview

13

Many tools are available in the EPICS tool-kit

EPICS

EPICS tools are connected via the Channel Access client/server libraries Server Interfaces: Process Database Gateway (CA-Client - GDD Library - Portable server on Solaris) Client Interfaces Process Database Links Sequencer (programmed with State Notation Language) Data Visualization Packages Data Analysis Packages Modeling and Automation Packages

1999/Ph 514: EPICS Overview

14

Channel Access Client/Server Libraries


Operator Interface Channel Access Client LAN/WAN Channel Access Server EPICS Process Database Sequencer Channel Access Client Database Links

EPICS

Channel Access Client

TCP/IP & UDP

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 Services: Dynamic Channel Location, Get, Put, Monitor Access Control, Connection Monitoring, Automatic Reconnect Conversion to client types, Composite Data Structures Platforms: UNIX, vxWorks, VMS, Windows NT
1999/Ph 514: EPICS Overview 15

EPICS

Channel Access
Operator Interface Channel Access Client Sequencer Channel Access Client Database Links Channel Access Client

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

EPICS Process Database Provides Data Acquisition and Control


LAN

EPICS

ca-client

ca-server

process DB dev support

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

Record types are the basic elements: AI, AO, BI, BO, Motor, CALC, PID, SUB etc. Records consist of fields for: SCHEDULE, I/O, CONVERT, ALARM, MONITOR Fields hold runtime values: VALUE, TIMESTAMP, ALARM CONDITION, etc. New record types are easily added Configured using CAPFAST, GDCT, VDCT, Relational DB, Text Editor at the workstation Loaded as ASCII records into vxWorks (or virtual IOC) at boot time Most fields can be read/written through the channel access client interface during operation
1999/Ph 514: EPICS Overview 17

EPICS Process Database


LAN

EPICS

ca-client

ca-server

process DB dev support


Record execution time varies from record type to record type AI on a 68060 is ~12,000/second (50% idle) AI on a 68040 is ~6,000/second (50% idle) Fastest periodic scan rate is dependent on vxWorks clock tick (typically 60 Hz) Interrupt scanning is limited by the CPU bandwidth (interrupt delay ~33usec) Name resolution - 10,000/second - runs at the lowest priority 2,500 records use around 1 Megabyte of memory Assignment to particular physical I/O is distinct from process logic - ASCII device type
1999/Ph 514: EPICS Overview 18

Channel Access Client Codes Provide a Variety of Functionality

EPICS

Operator Interface Channel Access Client LAN

Visualization: EDD/DM, MEDM, Dataviews, SL-GMS,


tcl/TK, Visual Basic, Visual C++, Labview, IDL, SAMMI JAVA

Alarm Handler: ALH State Programming: SNL Other Clients: PV-Wave, Mathmatica, Matlab, Probe, Orbit Lock,
Correlation Plots, Striptool, X-Orbit, SAD, CNLS-net SDDS, ARTEMIS, Archivers, Save/Restore
1999/Ph 514: EPICS Overview 19

EDD/DM An Interactive Display Editor and High Performance Display Manager


Operator Interface Channel Access Client LAN

EPICS

The Channel Access Client provides name resolution, monitors and puts to any data stores with a CA server

EDD is an interactive display editor for creating operator screens DM is a display manager to activate screens created using EDD Connections are made to channels - typically record-name<.field-name> EDM is the new SNS-supported display manager ASCII display formats can be read/written for version upgrades/text editing

1999/Ph 514: EPICS Overview

20

EDD/DM An Interactive Display Editor and High Performance Display Manager


Operator Interface Channel Access Client LAN

EPICS

The Channel Access Client provides name resolution, monitors and puts to any data stores with a CA server

Static objects include: text, line, box, oval Monitor objects include: text, bars, meters, indicators Control objects include: text, slider, menu, buttons Plot objects include: strip chart, Cartesian plots, smith charts Related display call-up includes parameter passing Color Rules are available for all objects independent of dynamic channel Visibility modifiers are available for static objects DM does 2,000 updates per second on a SPARC IPC 2 second display call-up for 100 dynamic and 1000 static elements
1999/Ph 514: EPICS Overview 21

The Alarm Handler Alarm Viewing, Logging and Annunciation

EPICS

Operator Interface Channel Access Client LAN

The Channel Access Client provides name resolution, monitors alarm changes, writes group alarm status

Alarms are detected in the data stores - most commonly the process database Alarms are configured into an alarm hierarchy Logging, annunciation, acknowledgment and collection is configured for each group All lower levels of the hierarchy inherit the disable status from above Operator logging tracks alarm disable, alarm acknowledge and silence commands 500 Alarm condition changes per second can be handled on a SPARC IPC

1999/Ph 514: EPICS Overview

22

State Notation Language A State Machine Implementation in EPICS

EPICS

Operator Interface Channel Access Client LAN

The Channel Access Client provides name resolution, monitors and writes to state programs

SNL is preprocessed to be converted to C code Constructs are provided for easy channel access interface Construct are provided to define state programs, state sets and transitions SNL implements the Mealy Model - actions are only taken on transition SNL runs in all environments Events are supported for synchronizing state sets within a state program SNL does not have a server The process database is used for variables to be exported
1999/Ph 514: EPICS Overview 23

New Developments

EPICS

New developments take advantage of changes in technology and improve functionality, ease of use, and performance while reducing cost Support large user facilities with real-time data to hundreds of workstations through the development of a gateway (ANL/LANL) Provide the ability to add/delete records in the process database during operation to support continuous operations (KEK/LANL/ANL) Support a single computer solution for small experiments and small portions of larger installations (DESY/LANL) Provide native windows NT capabilities to lower cost and provide data to every desktop (LANL) Create a modern JAVA based MMI attempting to maintain the performance while increasing the functionality and ease of use (LANL L-12) Provide a distributed archiving/archive retrieval capability to better support analysis and operations (TJNAF/LANL/DESY)

1999/Ph 514: EPICS Overview

24

EPICS Collaboration : Cooperative Development of a Scaleable, Flexible Tool-kit

EPICS

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 Cooperative collaboration gives members laboratories a larger pool of talent to support their controls Continual improvements allow members to expand functionality, performance, reliability and function while taking advantage of latest technology

1999/Ph 514: EPICS Overview

25

You might also like